From 1bf4843dd6ff5c88f9c98027defa8dc6766b1cb9 Mon Sep 17 00:00:00 2001 From: theapache64 Date: Fri, 22 Mar 2024 03:15:22 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=A6=20update=20gh-pages?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- benchart.js | 2 +- benchart.js.map | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/benchart.js b/benchart.js index 63f476e..8ce2cc4 100644 --- a/benchart.js +++ b/benchart.js @@ -1,3 +1,3 @@ /*! For license information please see benchart.js.LICENSE.txt */ -!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.benchart=n():t.benchart=n()}(this,(()=>(()=>{var t={868:function(t,n,e){var r,i,o;i=[n,e(744)],void 0===(o="function"==typeof(r=function(t,n){"use strict";var e,r=n.$_$.ca,i=n.$_$.y8,o=n.$_$.gd;function s(){e=this,u.call(this)}function a(){return null==e&&new s,e}function u(){}function c(t){this.jo_1=t}function l(t){this.no_1=t}function h(t){this.ko_1=t}return s.prototype=Object.create(u.prototype),s.prototype.constructor=s,s.$metadata$=r("None",void 0,void 0,void 0,void 0,u.prototype),u.prototype.atomicfu$Trace$append$1=function(t){},u.prototype.atomicfu$Trace$append$2=function(t,n){},u.prototype.atomicfu$Trace$append$3=function(t,n,e){},u.prototype.atomicfu$Trace$append$4=function(t,n,e,r){},u.$metadata$=i("TraceBase"),c.prototype.lo=function(t){this.jo_1=t},c.prototype.mo=function(){return this.jo_1},c.prototype.atomicfu$compareAndSet=function(t,n){return this.jo_1===t&&(this.jo_1=n,!0)},c.prototype.atomicfu$getAndSet=function(t){var n=this.jo_1;return this.jo_1=t,n},c.prototype.toString=function(){return o(this.jo_1)},c.$metadata$=i("AtomicRef"),Object.defineProperty(c.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:c.prototype.mo,set:c.prototype.lo}),l.prototype.oo=function(t){this.no_1=t},l.prototype.mo=function(){return this.no_1},l.prototype.atomicfu$compareAndSet=function(t,n){return this.no_1===t&&(this.no_1=n,!0)},l.prototype.atomicfu$getAndSet=function(t){var n=this.no_1;return this.no_1=t,n},l.prototype.toString=function(){return this.no_1.toString()},l.$metadata$=i("AtomicBoolean"),Object.defineProperty(l.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:l.prototype.mo,set:l.prototype.oo}),h.prototype.po=function(t){this.ko_1=t},h.prototype.mo=function(){return this.ko_1},h.prototype.atomicfu$compareAndSet=function(t,n){return this.ko_1===t&&(this.ko_1=n,!0)},h.prototype.atomicfu$getAndSet=function(t){var n=this.ko_1;return this.ko_1=t,n},h.prototype.atomicfu$getAndIncrement=function(){var t=this.ko_1;return this.ko_1=t+1|0,t},h.prototype.atomicfu$getAndDecrement=function(){var t=this.ko_1;return this.ko_1=t-1|0,t},h.prototype.atomicfu$getAndAdd=function(t){var n=this.ko_1;return this.ko_1=this.ko_1+t|0,n},h.prototype.atomicfu$addAndGet=function(t){return this.ko_1=this.ko_1+t|0,this.ko_1},h.prototype.atomicfu$incrementAndGet=function(){var t=this;return t.ko_1=t.ko_1+1|0,t.ko_1},h.prototype.atomicfu$decrementAndGet=function(){var t=this;return t.ko_1=t.ko_1-1|0,t.ko_1},h.prototype.toString=function(){return this.ko_1.toString()},h.$metadata$=i("AtomicInt"),Object.defineProperty(h.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:h.prototype.mo,set:h.prototype.po}),i("ReentrantLock"),t.$_$=t.$_$||{},t.$_$.a=function(t){return function(t,n){return new l(t)}(t,a())},t.$_$.b=function(t){return function(t,n){return new c(t)}(t,a())},t.$_$.c=function(t){return function(t,n){return new h(t)}(t,a())},t})?r.apply(n,i):r)||(t.exports=o)},769:function(t,n,e){var r,i;r=[n,e(744),e(646)],void 0===(i=function(t,n,e){"use strict";var r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt,ht,pt,ft,_t,dt,vt,yt,mt,gt,$t=Math.imul,bt=n.$_$.j9,wt=n.$_$.p4,xt=n.$_$.ga,kt=n.$_$.y8,jt=n.$_$.s,zt=n.$_$.cc,Ct=n.$_$.u9,St=n.$_$.u1,qt=n.$_$.dd,Ot=n.$_$.ed,Pt=n.$_$.k4,Mt=n.$_$.i2,At=n.$_$.tc,Et=n.$_$.fd,It=n.$_$.y7,Dt=e.$_$.n,Tt=e.$_$.i,Bt=n.$_$.g8,Lt=n.$_$.f8,Nt=n.$_$.h8,Rt=n.$_$.k8,Ft=n.$_$.s9,Ht=n.$_$.a9,Ut=n.$_$.c1,Vt=n.$_$.j,Wt=n.$_$.v,Jt=n.$_$.h9,Kt=n.$_$.ub,Yt=n.$_$.g6,Gt=n.$_$.r7,Xt=n.$_$.j7,Zt=n.$_$.rb,Qt=n.$_$.r,tn=n.$_$.hd,nn=n.$_$.u7,en=n.$_$.ca,rn=n.$_$.r1,on=n.$_$.zc,sn=n.$_$.l6,an=n.$_$.z8,un=n.$_$.pa,cn=n.$_$.f9,ln=n.$_$.k9,hn=n.$_$.m5,pn=n.$_$.uc,fn=n.$_$.y,_n=n.$_$.c7,dn=e.$_$.k,vn=e.$_$.e,yn=e.$_$.f,mn=n.$_$.gd,gn=n.$_$.j8,$n=n.$_$.i8,bn=n.$_$.g9,wn=n.$_$.w4,xn=n.$_$.o5,kn=n.$_$.l8,jn=e.$_$.l,zn=n.$_$.w7,Cn=e.$_$.c,Sn=n.$_$.u,qn=n.$_$.o7,On=n.$_$.o6,Pn=e.$_$.h,Mn=n.$_$.g1,An=n.$_$.v7,En=n.$_$.pc,In=e.$_$.o,Dn=e.$_$.b,Tn=n.$_$.i,Bn=n.$_$.yb,Ln=e.$_$.g,Nn=e.$_$.m,Rn=n.$_$.a1,Fn=n.$_$.f7,Hn=(n.$_$.m8,n.$_$.n8,n.$_$.p5),Un=n.$_$.j6,Vn=n.$_$.c9,Wn=n.$_$.c4,Jn=n.$_$.a5,Kn=n.$_$.z4,Yn=n.$_$.m6,Gn=n.$_$.x6,Xn=n.$_$.m1,Zn=n.$_$.e6,Qn=n.$_$.d6,te=n.$_$.h5,ne=n.$_$.j5,ee=n.$_$.e5,re=n.$_$.g5,ie=n.$_$.x1,oe=n.$_$.d5,se=n.$_$.r4,ae=n.$_$.ia,ue=n.$_$.r8,ce=n.$_$.t4,le=n.$_$.t1,he=n.$_$.i5,pe=n.$_$.q6,fe=n.$_$.v6,_e=n.$_$.s4,de=n.$_$.f5,ve=n.$_$.u4,ye=n.$_$.q4,me=n.$_$.la,ge=n.$_$.ka,$e=n.$_$.rc,be=n.$_$.n1,we=n.$_$.w1,xe=n.$_$.l1,ke=n.$_$.x,je=n.$_$.qb,ze=n.$_$.o9,Ce=n.$_$.t5,Se=n.$_$.e,qe=n.$_$.i7,Oe=n.$_$.ra,Pe=n.$_$.i9,Me=n.$_$.j4,Ae=n.$_$.n7,Ee=n.$_$.ta,Ie=n.$_$.q8,De=n.$_$.s5,Te=n.$_$.a2,Be=n.$_$.g,Le=n.$_$.ob,Ne=n.$_$.d2,Re=n.$_$.h1;function Fe(){}function He(){}function Ue(){return Po()}function Ve(){}function We(t,n){this.i11_1=t,this.j11_1=n,this.k11_1=0}function Je(t){this.l11_1=t;var n;n=jt(),this.m11_1=n,this.n11_1=this.l11_1,this.o11_1=8}function Ke(t,n){this.r11_1=t,this.s11_1=n}function Ye(t){this.v11_1=t,this.w11_1=Va(),this.x11_1=null;var n;n=jt(),this.y11_1=n;var e;e=jt(),this.z11_1=e,this.a12_1=8}function Ge(){return Ji(),r}function Xe(){return Ji(),s}function Ze(){return Ji(),c}function Qe(){return Ji(),l}function tr(){}function nr(t,n){Ji();for(var e=t.h13();e.d();){var r=e.e(),i=r;if(null!=i&&Ft(i,xs))n.l12(r);else if(i instanceof To){var o=r.j13_1;null!=o&&(o.c14_1=!0,r.ot())}}t.k14()}function er(t){var n;t.r15_1=t.n14_1.t16(),ir(t,100),t.m14_1.v16(),t.f15_1=t.m14_1.w16(),t.i15_1.z16((n=t.h15_1,Ji(),n?1:0)),t.h15_1=t.j12(t.f15_1),t.v15_1=null,t.a15_1||(t.a15_1=t.m14_1.a17());var e=function(t,n,e){return function(t,n){return Ji(),t.u2(n instanceof vo?n:zt())}(e,n)?function(t,n){Ji();var e=t.a3(n instanceof vo?n:zt()),r=null==e?null:e.m2();return null==r||Ct(r)?r:zt()}(e,n):n.w17_1.m2()}(0,(Ah(),_t),t.f15_1);null==e||(e.a(t.n14_1),t.m14_1.b17(e),wt()),ir(t,t.m14_1.c17())}function rr(t){sr(t),t.m14_1.d17(),sr(t),function(t){t.d16_1&&(Mr(t,!1,Xe(),2),t.d16_1=!1)}(t),function(t){Ar(t),t.s14_1.h()||Oi(xt("Start/end imbalance")),t.f16_1.h()||Oi(xt("Missed recording an endGroup()")),Hr(t)}(t),t.r15_1.p17(),t.b15_1=!1}function ir(t,n){return lr(t,n,null,!1,null)}function or(t,n,e){return lr(t,n,e,!1,null)}function sr(t){return pr(t,!1)}function ar(t,n){if(null==n){var e=t.v15_1;if(null!=e)return e}if(t.y15_1&&t.u15_1)for(var r=t.t15_1.e13_1;r>0;){if(202===t.t15_1.u17(r)&&Ht(t.t15_1.t17(r),Qe())){var i=t.t15_1.s17(r),o=null!=i&&Ft(i,_u)?i:zt();return t.v15_1=o,o}r=t.t15_1.v17(r)}if(t.r15_1.f()>0)for(var s=n,a=null==s?t.r15_1.l17_1:s;a>0;){if(202===t.r15_1.u17(a)&&Ht(t.r15_1.t17(a),Qe())){var u,c=t.g15_1.a3(a);if(null==c){var l=t.r15_1.s17(a);u=null!=l&&Ft(l,_u)?l:zt()}else u=c;var h=u;return t.v15_1=h,h}a=t.r15_1.v17(a)}return t.v15_1=t.f15_1,t.f15_1}function ur(t){mi(t.t15_1.f13_1),t.s15_1=new ra;var n,e=t,r=t.s15_1.y17();r.p17(),n=r,e.t15_1=n}function cr(t,n,e){var r;n?t.r15_1.c18():(null!=e&&t.r15_1.a18()!==e&&Mr(t,!1,(r=e,function(t,n,e){return n.r1b(r),wt()}),2),t.r15_1.b18())}function lr(t,n,e,r,i){if(Cr(t),Jr(t,n,e,i),t.y15_1){t.r15_1.d18();var o=t.t15_1.d13_1;if(r)t.t15_1.g18(fi().h12_1);else if(null!=i){var s=e;t.t15_1.f18(n,null==s?fi().h12_1:s,i)}else{var a=e;t.t15_1.e18(n,null==a?fi().h12_1:a)}var u=t.t14_1;if(null==u);else{var c=new Ma(n,-1,_r(0,o),-1,0);u.n18(c,t.u14_1-u.i18_1|0),u.o18(c)}return hr(t,r,null),wt()}null==t.t14_1&&(t.r15_1.p18()===n&&Ht(e,t.r15_1.r18())?cr(t,r,i):t.t14_1=new ki(t.r15_1.q18(),t.u14_1));var l,h=t.t14_1,p=null;if(null!=h){var f=h.s18(n,e);if(null!=f){h.o18(f);var _=f.x18_1;t.u14_1=h.a19(f)+h.i18_1|0;var d=h.b19(f),v=d-h.j18_1|0;h.c19(d,h.j18_1),Rr(t,_),t.r15_1.d19(_),v>0&&Or(t,(l=v,function(t,n,e){return n.s1b(l),wt()})),cr(t,r,i)}else{t.r15_1.d18(),t.y15_1=!0,t.v15_1=null,function(t){t.t15_1.f13_1&&(t.t15_1=t.s15_1.y17(),t.t15_1.z17(),t.u15_1=!1,t.v15_1=null)}(t),t.t15_1.t18();var y=t.t15_1.d13_1;if(r)t.t15_1.g18(fi().h12_1);else if(null!=i){var m=e;t.t15_1.f18(n,null==m?fi().h12_1:m,i)}else{var g=e;t.t15_1.e18(n,null==g?fi().h12_1:g)}t.w15_1=t.t15_1.u18(y);var $=new Ma(n,-1,_r(0,y),-1,0);h.n18($,t.u14_1-h.i18_1|0),h.o18($),p=new ki(jt(),r?0:t.u14_1)}}hr(t,r,p)}function hr(t,n,e){t.s14_1.e19(t.t14_1),t.t14_1=e,t.v14_1.z16(t.u14_1),n&&(t.u14_1=0),t.x14_1.z16(t.w14_1),t.w14_1=0}function pr(t,n){if(t.y15_1){var e=t.t15_1.e13_1;Yr(t,t.t15_1.u17(e),t.t15_1.t17(e),t.t15_1.s17(e))}else{var r=t.r15_1.l17_1;Yr(t,t.r15_1.u17(r),t.r15_1.t17(r),t.r15_1.s17(r))}var i=t.w14_1,o=t.t14_1;if(null!=o&&o.h18_1.f()>0){for(var s=o.h18_1,a=o.g19(),u=function(t){var n=ke(t.f()),e=0,r=t.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.g(i);n.a(o)}while(e<=r);return n}(a),c=Ut(),l=0,h=a.f(),p=0,f=s.f(),_=0;p0&&(Rr(t,t.r15_1.l19()),t.r15_1.z17())}for(var g=t.u14_1;!t.r15_1.m19();){var $=t.r15_1.j17_1;Nr(t);var b=t.r15_1.r17();Ur(t,g,b),zi(t.d15_1,$,t.r15_1.j17_1)}var w=t.y15_1;if(w){n&&(function(t){t.x15_1.a(t.g16_1.f19())}(t),i=1),t.r15_1.o19();var x=t.t15_1.e13_1;if(t.t15_1.p19(),!t.r15_1.r19()){var k=_r(0,x);t.t15_1.q19(),t.t15_1.p17(),function(t,n){if(t.x15_1.h())Or(t,(r=t.s15_1,i=n,function(t,n,e){return n.t18(),n.m1c(r,i.l1c(r)),n.q19(),wt()}));else{var e=Gt(t.x15_1);t.x15_1.s7(),Ar(t),Ir(t),Or(t,function(t,n,e){return function(r,i,o){var s=t.y17();try{var a=0,u=n.f()-1|0;if(a<=u){do{var c=a;a=a+1|0,n.g(c)(r,s,o)}while(a<=u);wt()}}finally{s.p17()}return i.t18(),i.m1c(t,e.l1c(t)),i.q19(),wt()}}(t.s15_1,e,n))}var r,i}(t,t.w15_1),t.y15_1=!1,t.n14_1.du()||(mr(t,k,0),dr(t,k,i))}}else{n&&Tr(t),function(t){var n=t.r15_1.l17_1;t.f16_1.q1a(-1)<=n||Oi(xt("Missed recording an endGroup")),t.f16_1.q1a(-1)===n&&(t.f16_1.f19(),Mr(t,!1,Xe(),2))}(t);var j=t.r15_1.l17_1;i!==yr(t,j)&&dr(t,j,i),n&&(i=1),t.r15_1.n19(),Wr(t)}!function(t,n,e){var r=t.s14_1.f19();if(null!=r&&!e){var i=r,o=i.j18_1;i.j18_1=o+1|0}t.t14_1=r,t.u14_1=t.v14_1.f19()+n|0,t.w14_1=t.x14_1.f19()+n|0}(t,i,w)}function fr(t){var n=t.p15_1;t.p15_1=!0;for(var e=!1,r=t.r15_1.l17_1,i=r+t.r15_1.i19(r)|0,o=t.u14_1,s=t.z15_1,a=t.w14_1,u=r,c=Ci(t.d15_1,t.r15_1.j17_1,i);null!=c;){var l=c.t19_1;if(Si(t.d15_1,l),c.y19()){e=!0,t.r15_1.d19(l);var h=t.r15_1.j17_1;gr(t,u,h,r),u=h,t.u14_1=vr(t,l,h,r,o),t.z15_1=br(t,t.r15_1.v17(h),r,s),t.v15_1=null,c.s19_1.w19(t),t.v15_1=null,t.r15_1.x19(r)}else t.o15_1.e19(c.s19_1),c.s19_1.v19(),t.o15_1.f19();c=Ci(t.d15_1,t.r15_1.j17_1,i)}if(e){gr(t,u,r,r),t.r15_1.z17();var p=yr(t,r);t.u14_1=o+p|0,t.w14_1=a+p|0}else wr(t);t.z15_1=s,t.p15_1=n}function _r(t,n){return-2-n|0}function dr(t,n,e){var r=yr(t,n);if(r!==e){var i=e-r|0,o=n,s=t.s14_1.f()-1|0;t:for(;-1!==o;){var a=yr(t,o)+i|0;mr(t,o,a);var u=s;if(0<=u)n:do{var c=u;u=u+-1|0;var l=t.s14_1.z19(c);if(null!=l&&l.h19(o,a)){s=c-1|0;break n}}while(0<=u);if(o<0)o=t.r15_1.l17_1;else{if(t.r15_1.a1a(o))break t;o=t.r15_1.v17(o)}}}}function vr(t,n,e,r,i){for(var o=t.r15_1.v17(e);o!==r&&!t.r15_1.a1a(o);)o=t.r15_1.v17(o);var s=t.r15_1.a1a(o)?0:i;if(o===e)return s;var a=o,u=s+(yr(t,o)-t.r15_1.b1a(e)|0)|0;t:for(;s=0)return o}return t.r15_1.b1a(n)}function mr(t,n,e){if(yr(t,n)!==e)if(n<0){var r,i=t.z14_1;if(null==i){var o=Wt();t.z14_1=o,r=o}else r=i;r.v3(n,e)}else{var s,a=t.y14_1;if(null==a){var u=new Int32Array(t.r15_1.f());Vt(u,-1,0,0,6,null),t.y14_1=u,s=u}else s=a;s[n]=e}}function gr(t,n,e,r){for(var i=t.r15_1,o=function(t,n,e,r){if(Ji(),n===e)return n;if(n===r||e===r)return r;if(t.v17(n)===e)return e;if(t.v17(e)===n)return n;if(t.v17(n)===t.v17(e))return t.v17(n);var i=n,o=e,s=Di(t,n,r),a=Di(t,e,r),u=s-a|0,c=0;if(c0&&s!==o;)i.a1a(s)&&Tr(t),s=i.v17(s);$r(t,e,o)}function $r(t,n,e){var r,i;n>0&&n!==e&&($r(t,t.r15_1.v17(n),e),t.r15_1.a1a(n)&&Dr(t,(r=t.r15_1,i=n,r.n1a(i))))}function br(t,n,e,r){var i;if(n===e)i=r;else{var o,s=function(t,n,e){var r;if(t.c1a(e)){var i,o=t.t17(e);if(null==o)i=null;else{var s=o;i=s instanceof Kt?o.s1_1:s instanceof wi?Ao():Jt(o)}r=null==i?0:i}else{var a,u=t.u17(e);if(207===u){var c,l=t.s17(e);a=null==(c=null==l?null:Ht(l,fi().h12_1)?u:Jt(l))?u:c}else a=u;r=a}return r}(t.r15_1,0,n);if(s===Ao())o=s;else{var a=br(t,t.r15_1.v17(n),e,r);o=qt(a,3)^s}i=o}return i}function wr(t){t.w14_1=t.r15_1.d1a(),t.r15_1.z17()}function xr(t,n,e,r,i){t.h1a(Ao(),n),t.j12(r);var o=t.z15_1;t.z15_1=Ao(),t.y15_1&&t.t15_1.i1a(0,1,null);var s,a,u,c=!t.y15_1&&!Ht(t.r15_1.a18(),e);if(c){var l=t.g15_1,h=t.r15_1.j17_1;l.v3(h,e)}if(lr(t,202,Qe(),!1,e),t.y15_1&&!i){t.u15_1=!0,t.v15_1=null;var p=t.t15_1.u18(t.t15_1.v17(t.t15_1.e13_1)),f=t.s15_1,_=Yt(),d=new yi(n,r,t.r14_1,f,p,_,function(t,n,e,r){return 0!=(2&e)&&(n=null),ar(t,n)}(t,null,2));t.m14_1.j1a(d)}else{var v=t.h15_1;t.h15_1=c,Hh(t,(s=cl(1378964644,!0,(a=n,u=r,function(t,n){var e=t;return $i(e,"C2821@107760L18:Composer.kt#9igjgp"),2==(11&n)&&e.v1b()?(e.z17(),wt()):a.u1b_1(u,e,0),wt()})),function(t,n){return s.t1b(t,n)})),t.h15_1=v}sr(t),t.z15_1=o,t.k1a()}function kr(t,n,e,r,i,o){var s=t.e16_1,a=t.p15_1,u=t.u14_1;try{t.e16_1=!1,t.p15_1=!0,t.u14_1=0;var c,l=0,h=i.f()-1|0;if(l<=h)do{var p=l;l=l+1|0;var f=i.g(p),_=f.l4(),d=f.m4();if(null!=d)for(var v=d.c();v.d();){var y=v.e();t.l1a(_,y)}else t.l1a(_,null)}while(l<=h);if(null==n)c=null;else{var m=r;c=n.m1a(e,null==m?-1:m,o)}var g=c;return null==g?o():g}finally{t.e16_1=s,t.p15_1=a,t.u14_1=u}}function jr(t,n,e,r,i,o,s,a){return 0!=(2&s)&&(n=null),0!=(4&s)&&(e=null),0!=(8&s)&&(r=null),0!=(16&s)&&(i=Yt()),kr(t,n,e,r,i,o)}function zr(t){t.c15_1||Oi(xt("A call to createNode(), emitNode() or useNode() expected was not expected")),t.c15_1=!1}function Cr(t){!t.c15_1||Oi(xt("A call to createNode(), emitNode() or useNode() expected"))}function Sr(t,n){t.p14_1.a(n)}function qr(t,n){Ar(t),Ir(t),Sr(t,n)}function Or(t,n){(function(t,n,e,r){0!=(2&e)&&(n=!1),Br(t,n)})(t,!1,2),Fr(t),Sr(t,n)}function Pr(t,n,e){Br(t,n),Sr(t,e)}function Mr(t,n,e,r,i){return 0!=(2&r)&&(n=!1),Pr(t,n,e)}function Ar(t){var n,e=t.a16_1;e>0&&(t.a16_1=0,Sr(t,(n=e,function(t,e,r){var i=0;if(i=0||Oi(xt("Tried to seek backward")),i>0&&(Sr(t,(e=i,function(t,n,r){return n.k1c(e),wt()})),t.c16_1=r)}function Lr(t,n){t.x15_1.a(n)}function Nr(t){(function(t,n){ti(t,n,!1,0),Wr(t)})(t,t.r15_1.j17_1),Or(t,(Ji(),i));var n=t;n.c16_1=n.c16_1+t.r15_1.p1a()|0}function Rr(t,n){var e=t.r15_1.j17_1-t.c16_1|0;t.c16_1=n-e|0}function Fr(t){if(t.r15_1.f()>0){var n=t.r15_1,e=n.l17_1;if(t.f16_1.q1a(-1)!==e){!t.d16_1&&t.e16_1&&(Mr(t,!1,(Ji(),a),2),t.d16_1=!0);var r=n.u18(e);t.f16_1.z16(e),Mr(t,!1,(i=r,function(t,n,e){return n.n1c(i),wt()}),2)}}var i}function Hr(t){t.t14_1=null,t.u14_1=0,t.w14_1=0,t.c16_1=0,t.z15_1=0,t.c15_1=!1,t.d16_1=!1,t.f16_1.s7(),t.o15_1.s7(),function(t){t.y14_1=null,t.z14_1=null}(t)}function Ur(t,n,e){if(e>0)if(n>=0||Oi(xt("Invalid remove index "+n)),t.h16_1===n){var r=t;r.k16_1=r.k16_1+e|0}else Wr(t),t.h16_1=n,t.k16_1=e}function Vr(t,n,e,r){if(r>0)if(t.k16_1>0&&t.i16_1===(n-t.k16_1|0)&&t.j16_1===(e-t.k16_1|0)){var i=t;i.k16_1=i.k16_1+r|0}else Wr(t),t.i16_1=n,t.j16_1=e,t.k16_1=r}function Wr(t){var n,e,r=t.k16_1;if(t.k16_1=0,r>0)if(t.h16_1>=0){var i=t.h16_1;t.h16_1=-1,qr(t,(n=i,e=r,function(t,r,i){return t.g11(n,e),wt()}))}else{var o=t.i16_1;t.i16_1=-1;var s=t.j16_1;t.j16_1=-1,qr(t,function(t,n,e){return function(r,i,o){return r.h11(t,n,e),wt()}}(o,s,r))}}function Jr(t,n,e,r){null==e?null==r||207!==n||Ht(r,fi().h12_1)?Kr(t,n):Kr(t,Jt(r)):Kr(t,e instanceof Kt?e.s1_1:Jt(e))}function Kr(t,n){var e,r=t,i=t.z15_1;e=qt(i,3),r.z15_1=e^n}function Yr(t,n,e,r){null==e?null==r||207!==n||Ht(r,fi().h12_1)?Gr(t,n):Gr(t,Jt(r)):Gr(t,e instanceof Kt?e.s1_1:Jt(e))}function Gr(t,n){var e,r=t,i=t.z15_1^n;e=Ot(i,3),r.z15_1=e}function Xr(t,n,e){!t.p15_1||Oi(xt("Reentrant composition is not supported"));t:{var r=Fh().r1a("Compose:recompose");try{t.m15_1=Hl(),t.n15_1=t.m15_1.x1a(),t.g15_1.s7();var i=0,o=n.a1b_1;if(i1&&(_=new Zr(ci),Xt(d,_)),t.u14_1=0;var v=!1;t.p15_1=!0;try{er(t);var y=t.c1b();y!==e&&null!=e&&t.e1a(null==e||Ct(e)?e:zt()),function(t,n,e){bo();var r=go().ku();try{var i=go(),o=go().ku();i.q1h((null==o?gu():o).a(tn(t,n))),e()}finally{go().q1h(r)}}((m=t,function(t){var n=m,e=n.l15_1;return n.l15_1=e+1|0,wt()}),function(t){return function(n){var e=t,r=e.l15_1;return e.l15_1=r-1|0,wt()}}(t),function(t,n,e){return function(){return null!=t?(or(n,200,Ze()),Hh(n,t),sr(n),wt()):n.b15_1&&null!=e&&!Ht(e,fi().h12_1)?(or(n,200,Ze()),Hh(n,null!=e&&"function"==typeof e?e:zt()),sr(n),wt()):(n.o1c(),wt()),wt()}}(e,t,y)),rr(t),v=!0,wt()}finally{t.p15_1=!1,t.d15_1.s7(),v||function(t){Hr(t),t.s14_1.s7(),t.v14_1.s7(),t.x14_1.s7(),t.e15_1.s7(),t.i15_1.s7(),t.g15_1.s7(),t.r15_1.p17(),t.z15_1=0,t.l15_1=0,t.c15_1=!1,t.p15_1=!1,t.b15_1=!1}(t)}break t}finally{Fh().d1b(r)}}var m}function Zr(t){this.e1b_1=t}function Qr(t,n,e){for(;!t.f1b(e);)t.z17(),t.a1a(t.e13_1)&&n.d11(),t.p19()}function ti(t,n,e,r){var i;if(t.r15_1.n1b(n)){var o=t.r15_1.t17(n),s=o instanceof wi?o:zt(),a=t.r15_1.l1b(n,0),u=t.r15_1.u18(n),c=n+t.r15_1.i19(n)|0,l=function(t,n,e){Ji();var r=jt(),i=Ei(t,n);t:for(;i0&&Ur(t,r,$),y=0}else y=t.r15_1.b1a(n);i=y}else if(t.r15_1.k1b(n)){for(var b=n+t.r15_1.i19(n)|0,w=n+1|0,x=0;w=0&&!t.a1a(e);)e=t.v17(e);var r=0;for(e=e+1|0;e0?new We(e,t._v):e,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,n.g(u)(o,r,i)}while(s<=a);wt()}return wt()}}function ii(t,n){return function(e,r,i){var o=t._v,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var c=n.g(u);Ft(e,Ve)||zt(),e.f11(o+u|0,c),e.e11(o+u|0,c)}while(s<=a);wt()}return wt()}}function oi(t,n,e){return function(r,i,o){var s,a=t.m14_1.e1c(n);null==a?Oi("Could not resolve state for movable content"):s=a;var u=s,c=i.h1c(1,u.f1c_1,1);if(!c.h()){var l=e.y1b_1,h=l instanceof so?l:zt(),p=0,f=c.f()-1|0;if(p<=f){do{var _=p;p=p+1|0;var d=c.g(_),v=i.i1c(d,0),y=v instanceof To?v:null;null==y||y.j1c(h)}while(p<=f);wt()}}return wt()}}function si(t,n){return function(){return xr(t,n.w1b_1,n.c1c_1,n.x1b_1,!0),wt()}}function ai(t,n){return function(e,r,i){var o=t._v>0?new We(e,t._v):e,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,n.g(u)(o,r,i)}while(s<=a);wt()}return wt()}}function ui(t,n,e){return Ft(t,Ve)||zt(),Qr(n,t,0),n.p19(),wt()}function ci(t,n){var e,r=t.t19_1;return e=n.t19_1,nn(r,e)}function li(t,n,e,r,i,o,s){this.l14_1=t,this.m14_1=n,this.n14_1=e,this.o14_1=r,this.p14_1=i,this.q14_1=o,this.r14_1=s,this.s14_1=new Ha,this.t14_1=null,this.u14_1=0,this.v14_1=new Fa,this.w14_1=0,this.x14_1=new Fa,this.y14_1=null,this.z14_1=null,this.a15_1=!1,this.b15_1=!1,this.c15_1=!1;var a;a=jt(),this.d15_1=a,this.e15_1=new Fa,this.f15_1=mu(),this.g15_1=Wt(),this.h15_1=!1,this.i15_1=new Fa,this.j15_1=!1,this.k15_1=-1,this.l15_1=0,this.m15_1=Hl(),this.n15_1=0,this.o15_1=new Ha,this.p15_1=!1,this.q15_1=!1;var u,c=this.n14_1.t16();c.p17(),u=c,this.r15_1=u,this.s15_1=new ra;var l,h=this.s15_1.y17();h.p17(),l=h,this.t15_1=l,this.u15_1=!1,this.v15_1=null;var p,f,_=this.s15_1.t16();try{f=_.u18(0)}finally{_.p17()}p=f,this.w15_1=p;var d;d=jt(),this.x15_1=d,this.y15_1=!1,this.z15_1=0,this.a16_1=0,this.b16_1=new Ha,this.c16_1=0,this.d16_1=!1,this.e16_1=!0,this.f16_1=new Fa,this.g16_1=new Ha,this.h16_1=-1,this.i16_1=-1,this.j16_1=-1,this.k16_1=0}function hi(){}function pi(){h=this,this.h12_1=new hi}function fi(){return null==h&&new pi,h}function _i(){}function di(){if(v)return wt();v=!0,p=new vi("IGNORED",0),f=new vi("SCHEDULED",1),_=new vi("DEFERRED",2),d=new vi("IMMINENT",3)}function vi(t,n){Kt.call(this,t,n)}function yi(t,n,e,r,i,o,s){this.w1b_1=t,this.x1b_1=n,this.y1b_1=e,this.z1b_1=r,this.a1c_1=i,this.b1c_1=o,this.c1c_1=s,this.d1c_1=8}function mi(t){return Ji(),void(t||Oi(xt("Check failed")))}function gi(t){this.f1c_1=t,this.g1c_1=8}function $i(t,n){Ji(),t.t1d(n)}function bi(){}function wi(){}function xi(t){return function(){var n,e=(Ji(),Wt()),r=0,i=t.h18_1.f();if(r=0))throw rn(xt("Invalid start index"));var e;e=jt(),this.k18_1=e;var r,i=0,o=Wt(),s=0,a=this.h18_1.f();if(s=0?t.n4(e):null}function qi(t,n){Ji();var e=jt(),r=t.t16();try{Li(r,e,t.h1b(n)),wt()}finally{r.p17()}return e}function Oi(t){throw Ji(),St(xt("Compose Runtime internal error. Unexpected or incorrect use of the Compose internal runtime API ("+t+"). Please report to Google or use https://goo.gle/compose-feedback"))}function Pi(t,n,e){this.n1e_1=t,this.o1e_1=n,this.p1e_1=e}function Mi(t,n,e){Ji();var r,i=t.a3(n);if(null==i){var o=Ut();t.v3(n,o),r=o}else r=i;return r.a(e)}function Ai(t,n){Ji();var e,r=t.a3(n),i=null==r?null:sn(r);return null==i?e=null:(function(t,n,e){Ji();var r,i=t.a3(n);null==i?r=null:(i.jf(e),i.h()&&(t.og(n),wt()),r=wt())}(t,n,i),e=i),e}function Ei(t,n){Ji();var e=Ii(t,n);return e<0?0|-(e+1|0):e}function Ii(t,n){Ji();for(var e=0,r=t.f()-1|0;e<=r;){var i=(e+r|0)>>>1|0,o=t.g(i),s=an(o.t19_1,n);if(s<0)e=i+1|0;else{if(!(s>0))return i;r=i-1|0}}return 0|-(e+1|0)}function Di(t,n,e){Ji();for(var r=0,i=n;i>0&&i!==e;)i=t.v17(i),r=r+1|0;return r}function Ti(t){this.e1f_1=t}function Bi(t){this.f1f_1=t}function Li(t,n,e){if(t.a1a(e))n.a(t.n1a(e));else for(var r=e+1|0,i=e+t.i19(e)|0;r=0)for(var u=iu(s,a).c();u.d();)oo(t,e,r,u.e())}}if(e&&!t.w13_1.h()){var c=t.v13_1,l=0,h=0,p=c.p1f_1;if(h0){if(l!==f){var C=c.m1f_1[l];c.m1f_1[l]=_,c.m1f_1[f]=C}l=l+1|0}}while(h0){if(A!==D){var K=M.m1f_1[A];M.m1f_1[A]=T,M.m1f_1[D]=K}A=A+1|0}}while(E0){if(e!==o){var y=n.m1f_1[e];n.m1f_1[e]=s,n.m1f_1[o]=y}e=e+1|0}}while(r=0)for(var i=iu(e,r).c();i.d();){var o=i.e();o.l1f(n).equals(Wi())&&t.a14_1.s1f(n,o)}}function no(t,n){var e=new io(t.t13_1);try{if(n.h())return wt();t:{var r=Fh().r1a("Compose:applyChanges");try{t.q13_1.a11();var i=t.u13_1.y17();try{var o=t.q13_1,s=0,a=n.f()-1|0;if(s<=a)do{var u=s;s=s+1|0,n.g(u)(o,i,e)}while(s<=a);n.s7(),wt()}finally{i.p17()}t.q13_1.b11(),wt();break t}finally{Fh().d1b(r)}}if(e.x1f(),e.y1f(),t.c14_1)t:{var c=Fh().r1a("Compose:unobserve");try{t.c14_1=!1;var l=t.v13_1,h=0,p=0,f=l.p1f_1;if(p0){if(h!==_){var z=l.m1f_1[h];l.m1f_1[h]=d,l.m1f_1[_]=z}h=h+1|0}}while(p=0)for(var s=iu(i,o).c();s.d();){var a=s.e();if(!t.a14_1.i1g(r,a)&&!a.l1f(r).equals(Vi()))if(a.r1f()&&!n)t.w13_1.a(a);else{var u,c=e._v;if(null==c){var l=fn();e._v=l,u=l}else u=c;u.a(a)}}}function so(t,n,e){this.p13_1=t,this.q13_1=n,this.r13_1=new Eh(null),this.s13_1=Va(),this.t13_1=fn(),this.u13_1=new ra,this.v13_1=new au,this.w13_1=fn(),this.x13_1=new au;var r;r=jt(),this.y13_1=r;var i;i=jt(),this.z13_1=i,this.a14_1=new au,this.b14_1=Ga(0,1,null),this.c14_1=!1,this.d14_1=null,this.e14_1=0;var o,s=new li(this.q13_1,this.p13_1,this.u13_1,this.t13_1,this.y13_1,this.z13_1,this);this.p13_1.j1g(s),o=s,this.f14_1=o,this.g14_1=e;var a=this.p13_1;this.h14_1=a instanceof gs,this.i14_1=!1,this.j14_1=(null==g&&new lo,g).k1g_1}function ao(){}function uo(t,n){var e=t;return $i(e,"C:Composition.kt#9igjgp"),2==(11&n)&&e.v1b()&&e.z17(),wt()}function co(t,n){var e=t;return $i(e,"C:Composition.kt#9igjgp"),2==(11&n)&&e.v1b()&&e.z17(),wt()}function lo(){var t;g=this,this.k1g_1=(t=cl(954879418,!1,uo),function(n,e){return t.t1b(n,e)}),this.l1g_1=function(t){return function(n,e){return t.t1b(n,e)}}(cl(1918065384,!1,co))}function ho(){}function po(){$||($=!0,m=new Object)}function fo(){return w||(w=!0,b=mu()),b}function _o(){this.u16_1=0}function vo(t){this.w17_1=new Ja(t)}function yo(t){vo.call(this,t)}function mo(t){yo.call(this,t)}function go(){return bo(),x}function $o(){}function bo(){k||(k=!0,x=new Ih,new Ih)}function wo(t){this.r1h_1=t}function xo(){this.s1h_1=0}function ko(){}function jo(t,n){this.u1h_1=n,this.v1h_1=dn(t),this.w1h_1=null}function zo(t){this.x1h_1=t,this.y1h_1=null}function Co(){z||(z=!0,j=new xo)}function So(t,n){var e;if(n instanceof Kt)e=n.s1_1;else{var r=null==n?null:Jt(n);e=null==r?0:r}return e}function qo(t,n){this.z1h_1=t,this.a1i_1=n}function Oo(){C=this}function Po(){return null==C&&new Oo,C}function Mo(){}function Ao(){return S}function Eo(t){this.b1i_1=t}function Io(t,n){t.i13_1=n?32|t.i13_1:-33&t.i13_1}function Do(t,n){t.i13_1=n?16|t.i13_1:-17&t.i13_1}function To(t){this.i13_1=0,this.j13_1=t,this.k13_1=null,this.l13_1=null,this.m13_1=0,this.n13_1=null,this.o13_1=null}function Bo(){}function Lo(){if(I)return wt();I=!0,q=new Jo("ShutDown",0),O=new Jo("ShuttingDown",1),P=new Jo("Inactive",2),M=new Jo("InactivePendingWork",3),A=new Jo("Idle",4),E=new Jo("PendingWork",5)}function No(t,n){t:for(;;){var e=t.h1i_1.m2(),r=e.a(n);if(e===r||t.h1i_1.ky(e,r))break t}}function Ro(t,n){t:for(;;){var e=t.h1i_1.m2(),r=e.jf(n);if(e===r||t.h1i_1.ky(e,r))break t}}function Fo(t,n){t.s7(),n.n1i_1;var e=n.u1i_1,r=0,i=e.f()-1|0;if(r<=i)do{var o=r;r=r+1|0;var s=e.g(o);t.a(s)}while(r<=i);n.u1i_1.s7(),wt()}function Ho(t,n,e,r,i,o){return function(s){var a;if(t.k1i_1.b12())t:{var u=Fh().r1a("Recomposer:animation");try{t.k1i_1.c12(s),Ml().d1j(),wt();break t}finally{Fh().d1b(u)}}t:{var c=Fh().r1a("Recomposer:recompose");try{t.n1i_1,Xo(t);var l=t.s1i_1,h=0,p=l.f()-1|0;if(h<=p)do{var f=h;h=h+1|0;var _=l.g(f);n.a(_)}while(h<=p);t.s1i_1.s7(),wt();var d=new ru,v=new ru;n:for(;!n.h()||!e.h();){try{var y=0,m=n.f()-1|0;if(y<=m)do{var g=y;y=y+1|0;var $=n.g(g);v.w1e($);var b=ns(t,$,d);null==b||(r.a(b),wt())}while(y<=m)}finally{n.s7()}if(d.o1a()){t.n1i_1;var w=t.q1i_1,x=0,k=w.f()-1|0;if(x<=k){do{var j=x;x=x+1|0;var z=w.g(j);!v.l3(z)&&z.p1g(d)&&n.a(z)}while(x<=k);wt()}}if(n.h())for(Fo(e,t);!e.h();){var C=es(t,e,d);xn(i,C),Fo(e,t)}}if(!r.h()){var S=t,q=S.j1i_1;S.j1i_1=q.cn();try{xn(o,r);var O=0,P=r.f()-1|0;if(O<=P)do{var M=O;O=O+1|0,r.g(M).y1g()}while(O<=P)}finally{r.s7()}}if(!i.h())try{xn(o,i);for(var A=i.c();A.d();)A.e().z1g()}finally{i.s7()}if(!o.h())try{for(var E=o.c();E.d();)E.e().b1d()}finally{o.s7()}(function(t){var n;if(t.n1i_1,t.v1i_1.h())n=Yt();else{var e=On(t.v1i_1.c3());t.v1i_1.s7();var r=Qt(e.f()),i=0,o=e.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=e.g(s),u=tn(a,t.w1i_1.a3(a));r.a(u)}while(i<=o);var c=r;t.w1i_1.s7(),n=c}var l=n,h=0,p=l.f()-1|0;if(h<=p)do{var f=h;h=h+1|0;var _=l.g(f),d=_.l4(),v=_.m4();null!=v&&d.y1b_1.x1g(v)}while(h<=p)})(t),t.n1i_1,a=Ko(t);break t}finally{Fh().d1b(c)}}return a}}function Uo(t){return function(n,e){var r;t.n1i_1,t.a1j_1.m2().w1(vs())>=0?(t.r1i_1.a(n),r=Ko(t)):r=null;var i,o=r;return null==o||(Pt(),i=Mt(wt()),o.z4(i),wt()),wt()}}function Vo(t,n,e){this.m1j_1=t,this.n1j_1=n,kn.call(this,e)}function Wo(t,n,e){var r=new Vo(t,n,e),i=function(t,n){return r.p1j(t,n)};return i.$arity=1,i}function Jo(t,n){Kt.call(this,t,n)}function Ko(t){if(t.a1j_1.m2().w1(_s())<=0){t.q1i_1.s7(),t.r1i_1.s7(),t.s1i_1.s7(),t.t1i_1.s7(),t.u1i_1.s7();var n=t.x1i_1;return null==n||n.jr(null,1,null),t.x1i_1=null,null}var e;null==t.o1i_1?(t.r1i_1.s7(),t.s1i_1.s7(),e=t.k1i_1.b12()?(Lo(),M):ds()):e=!!(!!(!t.s1i_1.h()||!t.r1i_1.h())||!t.t1i_1.h())||!t.u1i_1.h()||t.y1i_1>0||t.k1i_1.b12()?ys():vs();var r,i=e;if(t.a1j_1.jy(i),i.equals(ys())){var o=t.x1i_1;t.x1i_1=null,r=o}else r=null;return r}function Yo(t){var n;if(t.n1i_1,t.z1i_1){var e;t:{for(var r=t.l1i_1.it().c();r.d();)if(r.e().xo()){e=!0;break t}e=!1}n=e}else n=!0;return n}function Go(t){this.r1j_1=t}function Xo(t){if(!t.r1i_1.h()){var n=t.r1i_1,e=0,r=n.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=n.g(i),s=t.q1i_1,a=0,u=s.f()-1|0;if(a<=u)do{var c=a;a=a+1|0,s.g(c).n1g(o)}while(a<=u)}while(e<=r);if(t.r1i_1.s7(),null!=Ko(t))throw St("called outside of runRecomposeAndApplyChanges")}}function Zo(t,n){t.n1i_1;var e=t.p1i_1;if(null!=e)throw e;if(t.a1j_1.m2().w1(_s())<=0)throw St("Recomposer shut down");if(null!=t.o1i_1)throw St("Recomposer already running");t.o1i_1=n,Ko(t)}function Qo(t){return t.n1i_1,!(t.r1i_1.h()&&t.s1i_1.h())||t.k1i_1.b12()}function ts(t,n,e){var r,i,o=function(t){var n=t.y7(Po());if(null==n)throw St(xt("A MonotonicFrameClock is not available in this CoroutineContext. Callers should supply an appropriate MonotonicFrameClock using withContext."));return n}(e.b5());return Cn(t.k1i_1,(r=new ps(t,n,o,null),i=function(t,n){return r.p1j(t,n)},i.$arity=1,i),e)}function ns(t,n,e){if(n.c1g()||n.m1g())return null;var r,i,o;t:{var s=Ml().e1k(rs(0,n),is(0,n,e));try{var a;n:{var u=s.f1k();try{!0===(null==e?null:e.o1a())&&n.v1d((i=e,o=n,function(){for(var t=i.c();t.d();){var n=t.e();o.u1g(n)}return wt()})),a=n.v1g();break n}finally{s.g1k(u)}}r=a;break t}finally{os(0,s)}}return r?n:null}function es(t,n,e){var r=Sn(n.f()),i=0,o=n.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a,u=n.g(s),c=u.y1b_1,l=r.a3(c);if(null==l){var h=jt();r.v3(c,h),a=h}else a=l;a.a(u)}while(i<=o);for(var p=r,f=p.u().c();f.d();){var _=f.e(),d=_.k2(),v=_.m2();mi(!d.c1g());t:{var y=Ml().e1k(rs(0,d),is(0,d,e));try{n:{var m=y.f1k();try{t.n1i_1;var g=Qt(v.f()),$=0,b=v.f()-1|0;if($<=b)do{var w=$;$=$+1|0;var x=v.g(w),k=tn(x,bs(t.v1i_1,x.w1b_1));g.a(k)}while($<=b);var j=g;d.w1g(j),wt();break n}finally{y.g1k(m)}}break t}finally{os(0,y)}}}return qn(p.b3())}function rs(t,n){return e=n,function(t){return e.q1g(t),wt()};var e}function is(t,n,e){return r=n,i=e,function(t){return r.u1g(t),null==i||i.w1e(t),wt()};var r,i}function os(t,n){try{if(n.u1k()instanceof Bl)throw St(xt("Unsupported concurrent change during composition. A state object was modified by composition as well as being modified outside composition."))}finally{n.js()}}function ss(t){return!t.s1i_1.h()||t.k1i_1.b12()}function as(){D=this,this.h1i_1=Pn(Zc().y1o())}function us(){return null==D&&new as,D}function cs(t,n,e){t.s7(),n.n1i_1;for(var r=n.u1i_1.c();r.d();){var i=r.e();Ht(i.y1b_1,e)&&(t.a(i),r.o4())}wt()}function ls(t){return function(n){var e=Mn("Recomposer effect job completed",n),r=null,i=(t.n1i_1,t.o1i_1);null!=i?(t.a1j_1.jy(_s()),t.z1i_1?null!=t.x1i_1&&(r=t.x1i_1):i.cq(e),t.x1i_1=null,i.xp(function(t,n){return function(e){t.n1i_1;var r,i,o=t,s=n;return null==s?r=null:(null==(i=null==e||e instanceof An?null:e)||(En(s,i),wt()),r=s),o.p1i_1=r,t.a1j_1.jy(fs()),wt(),wt()}}(t,n))):(t.p1i_1=e,t.a1j_1.jy(fs()),wt());var o,s=r;return null==s||(Pt(),o=Mt(wt()),s.z4(o),wt()),wt()}}function hs(t,n){this.d1l_1=t,kn.call(this,n)}function ps(t,n,e,r){this.w1l_1=t,this.x1l_1=n,this.y1l_1=e,kn.call(this,r)}function fs(){return Lo(),q}function _s(){return Lo(),O}function ds(){return Lo(),P}function vs(){return Lo(),A}function ys(){return Lo(),E}function ms(t,n){kn.call(this,n),this.a1k_1=t}function gs(t){var n;us(),_o.call(this),this.j1i_1=new Bn(0,0),this.k1i_1=new Ye((n=this,function(){n.n1i_1;var t=Ko(n);if(n.a1j_1.m2().w1(_s())<=0)throw Mn("Recomposer shutdown; frame clock awaiter will never resume",n.p1i_1);var e,r=t;return null==r||(Pt(),e=Mt(wt()),r.z4(e),wt()),wt()}));var e,r=Nn(t.y7(Ln()));r.xp(ls(this)),e=r,this.l1i_1=e,this.m1i_1=t.f8(this.k1i_1).f8(this.l1i_1),this.n1i_1=Va(),this.o1i_1=null,this.p1i_1=null;var i;i=jt(),this.q1i_1=i;var o;o=jt(),this.r1i_1=o;var s;s=jt(),this.s1i_1=s;var a;a=jt(),this.t1i_1=a;var u;u=jt(),this.u1i_1=u;var c;c=Rn(),this.v1i_1=c;var l;l=Rn(),this.w1i_1=l,this.x1i_1=null,this.y1i_1=0,this.z1i_1=!1,this.a1j_1=Pn(ds()),this.b1j_1=new Go(this),this.c1j_1=8}function $s(){}function bs(t,n){ws();var e,r=t.a3(n);if(null==r)e=null;else{var i=Fn(r);r.h()&&t.og(n),e=i}return e}function ws(){T||(T=!0,new Object,new Object)}function xs(){}function ks(t,n,e,r,i,o){var s=n.i19(e),a=e+s|0,u=Vs(n,e),c=Vs(n,a),l=c-u|0,h=function(t,n){return n>=0&&wa(t.n12_1,Fs(t,n))}(n,e);Ds(r,s),Ts(r,l,r.d13_1),n.q12_1=0;U&&(n.b18(),n.k1c(H-n.d13_1|0),n.b18()),n.k1c(e-n.d13_1|0);var V=n.k14();U&&(n.z17(),n.p19(),n.z17(),n.p19()),R=V}else{var W=Bs(n,e,s);Ls(n,u,l,e-1|0),R=W}!R||Oi(xt("Unexpectedly removed anchors"));var J=r;return J.z12_1=J.z12_1+(oa(p,f)?1:sa(p,f))|0,o&&(r.d13_1=f+s|0,r.t12_1=g+l|0),h&&qs(r,b),F}function js(t,n,e,r,i){var o=t.y12_1>0;t.c13_1.z16(t.z12_1);var s,a=t;if(o){Ds(t,1);var u=t.d13_1,c=Fs(t,u),l=!(e===fi().h12_1),h=!(r||i===fi().h12_1);(function(t,n,e,r,i,o,s,a){var u=r?1073741824:0,c=i?536870912:0,l=o?268435456:0,h=$t(n,5);t[h+0|0]=e,t[h+1|0]=u|c|l,t[h+2|0]=s,t[h+3|0]=0,t[h+4|0]=a})(t.n12_1,c,n,r,l,h,t.e13_1,t.t12_1),t.u12_1=t.t12_1;var p=((r?1:0)+(l?1:0)|0)+(h?1:0)|0;if(p>0){Ts(t,p,u);var f=t.o12_1,_=t.t12_1;if(r){var d=_;_=d+1|0,f[d]=i}if(l){var v=_;_=v+1|0,f[v]=e}if(h){var y=_;_=y+1|0,f[y]=i}t.t12_1=_}t.z12_1=0;var m=u+1|0;t.e13_1=u,t.d13_1=m,s=m}else{var g=t.e13_1;t.a13_1.z16(g),Ps(t);var $=t.d13_1,b=Fs(t,$);Ht(i,fi().h12_1)||(r?t.j1m(i):t.r1b(i)),t.t12_1=Js(t.n12_1,t,b),t.u12_1=Ws(t.n12_1,t,Fs(t,t.d13_1+1|0)),t.z12_1=sa(t.n12_1,b),t.e13_1=$,t.d13_1=$+1|0,s=$+la(t.n12_1,b)|0}a.s12_1=s}function zs(){B=this}function Cs(){return null==B&&new zs,B}function Ss(t){var n=t.g13_1;if(null==n);else{for(;n.o1a();)Os(t,n.l1m(),n);wt()}}function qs(t,n){if(n>=0){var e,r=t.g13_1;if(null==r){var i=function(t,n,e,r){var i;return 0!=(1&n)&&(i=jt(),wt(),t=i),_a.call(r,t),r}(null,1,0,Object.create(_a.prototype));t.g13_1=i,e=i}else e=r;e.m1m(n)}}function Os(t,n,e){var r,i,o,s=Fs(t,n),a=function(t,n){for(var e=n+1|0,r=n+t.i19(n)|0;e=0&&e.m1m(u)}}function Ps(t){t.b13_1.z16((Rs(t)-t.r12_1|0)-t.s12_1|0)}function Ms(t){var n=(Rs(t)-t.r12_1|0)-t.b13_1.f19()|0;return t.s12_1=n,n}function As(t,n,e,r){for(var i=Qs(t,n,t.q12_1),o=r;o=0))break t;c.b1b_1=0|-(i-l|0),u=u+1|0}}}(t,r,n),e>0){var i=t.n12_1,o=$t(n,5),s=$t(e,5),a=$t(r,5);n=0||Oi(xt("Unexpected anchor value, expected a positive anchor")),ya(t.n12_1,h,0|-(1+(l-_|0)|0)),(h=h+1|0)===f&&(h=h+t.r12_1|0)}else for(var d=Fs(t,o),v=Fs(t,c);d0){var e=t.d13_1;Es(t,e);var r=t.q12_1,i=t.r12_1,o=t.n12_1.length/5|0,s=o-i|0;if(i=r&&(t.s12_1=$+n|0),t.q12_1=r+n|0,t.r12_1=i-n|0;var b=Xs(0,s>0?Vs(t,e+n|0):0,t.x12_1=r&&(t.x12_1=j+n|0)}}function Ts(t,n,e){if(n>0){Is(t,t.t12_1,e);var r=t.v12_1,i=t.w12_1;if(i=r&&(t.u12_1=g+n|0),t.v12_1=r+n|0,t.w12_1=i-n|0}}function Bs(t,n,e){var r;if(e>0){var i=!1,o=t.p12_1;Es(t,n),!o.h()&&(i=function(t,n,e){var r=t.r12_1,i=n+e|0,o=Rs(t)-r|0,s=ma(t.p12_1,n+e|0,o),a=s>=t.p12_1.f()?s-1|0:s,u=0,c=a+1|0;t:for(;a>=0;){var l=t.p12_1.g(a),h=t.h1b(l);if(!(h>=n))break t;hn){var u,c=t,l=a-e|0;u=Math.max(n,l),c.x12_1=u}if(t.s12_1>=t.q12_1){var h=t;h.s12_1=h.s12_1-e|0}(function(t,n){return n>=0&&ba(t.n12_1,Fs(t,n))})(t,t.e13_1)&&qs(t,t.e13_1),r=i}else r=!1;return r}function Ls(t,n,e,r){if(e>0){var i=t.w12_1;Is(t,n+e|0,r),t.v12_1=n,t.w12_1=i+e|0,Un(t.o12_1,null,n,n+e|0);var o=t.u12_1;o>=n&&(t.u12_1=o-e|0)}}function Ns(t,n,e){var r=Fs(t,n);r=Rs(n)?n.o12_1.length-n.w12_1|0:Zs(0,ga(t,e),n.w12_1,n.o12_1.length)}function Js(t,n,e){return e>=Rs(n)?n.o12_1.length-n.w12_1|0:Zs(0,xa(t,e),n.w12_1,n.o12_1.length)}function Ks(t,n,e,r){ya(t,e,Xs(0,r,n.v12_1,n.w12_1,n.o12_1.length))}function Ys(t,n,e){return Ws(t,n,e)}function Gs(t,n,e){return Ws(t,n,e)+ka(function(t,n){return t[$t(n,5)+1|0]}(t,e)>>29)|0}function Xs(t,n,e,r,i){return n>e?0|-(1+((i-r|0)-n|0)|0):n}function Zs(t,n,e,r){return n<0?1+((r-e|0)+n|0)|0:n}function Qs(t,n,e){return n-2?n:(t.f()+n|0)- -2|0}function na(t,n,e){this.o1m_1=n,this.p1m_1=e,this.n1m_1=t}function ea(t){Cs(),this.m12_1=t,this.n12_1=this.m12_1.l16_1,this.o12_1=this.m12_1.n16_1,this.p12_1=this.m12_1.s16_1,this.q12_1=this.m12_1.m16_1,this.r12_1=(this.n12_1.length/5|0)-this.m12_1.m16_1|0,this.s12_1=this.m12_1.m16_1,this.t12_1=0,this.u12_1=0,this.v12_1=this.m12_1.o16_1,this.w12_1=this.o12_1.length-this.m12_1.o16_1|0,this.x12_1=this.m12_1.m16_1,this.y12_1=0,this.z12_1=0,this.a13_1=new Fa,this.b13_1=new Fa,this.c13_1=new Fa,this.d13_1=0,this.e13_1=-1,this.f13_1=!1,this.g13_1=null}function ra(){this.l16_1=new Int32Array(0),this.m16_1=0;for(var t=0,n=Vn(Array(0),null);t<0;){null,n[t]=null,t=t+1|0}this.n16_1=n,this.o16_1=0,this.p16_1=0,this.q16_1=!1,this.r16_1=0;var e;e=jt(),this.s16_1=e}function ia(t){this.b1b_1=t}function oa(t,n){return!(0==(1073741824&t[$t(n,5)+1|0]))}function sa(t,n){return 67108863&t[$t(n,5)+1|0]}function aa(t,n){return t[$t(n,5)]}function ua(t,n){return!(0==(536870912&t[$t(n,5)+1|0]))}function ca(t,n){var e=$t(n,5);return t[e+4|0]+ka(t[e+1|0]>>30)|0}function la(t,n){return t[$t(n,5)+3|0]}function ha(t,n){return!(0==(268435456&t[$t(n,5)+1|0]))}function pa(t,n,e){if(!(e>=0))throw rn(xt("Failed requirement."));t[$t(n,5)+3|0]=e}function fa(t,n,e){if(!(e>=0&&e<67108863))throw rn(xt("Failed requirement."));t[$t(n,5)+1|0]=-67108864&t[$t(n,5)+1|0]|e}function _a(t){this.k1m_1=t}function da(t,n,e){t[$t(n,5)+2|0]=e}function va(t,n){return t[$t(n,5)+2|0]}function ya(t,n,e){t[$t(n,5)+4|0]=e}function ma(t,n,e){var r=Aa(t,n,e);return r>=0?r:0|-(r+1|0)}function ga(t,n){return t[$t(n,5)+4|0]}function $a(t,n){return!(0==(134217728&t[$t(n,5)+1|0]))}function ba(t,n){return!(0==(67108864&t[$t(n,5)+1|0]))}function wa(t,n){return!(0==(201326592&t[$t(n,5)+1|0]))}function xa(t,n){var e=$t(n,5);return t[e+4|0]+ka(t[e+1|0]>>28)|0}function ka(t){switch(t){case 0:return 0;case 1:case 2:case 4:return 1;case 3:case 5:case 6:return 2;default:return 3}}function ja(t,n,e){return oa(t,e)?n.h17_1[function(t,n){return t[$t(n,5)+4|0]}(t,e)]:fi().h12_1}function za(t,n,e){return ha(t,e)?n.h17_1[function(t,n){var e=$t(n,5);return e>=t.length?t.length:t[e+4|0]+ka(t[e+1|0]>>29)|0}(t,e)]:fi().h12_1}function Ca(t,n,e){return ua(t,e)?n.h17_1[ca(t,e)]:null}function Sa(t){this.e17_1=t,this.f17_1=this.e17_1.l16_1,this.g17_1=this.e17_1.m16_1,this.h17_1=this.e17_1.n16_1,this.i17_1=this.e17_1.o16_1,this.j17_1=0,this.k17_1=this.g17_1,this.l17_1=-1,this.m17_1=0,this.n17_1=0,this.o17_1=0}function qa(t){if(t.f1n_1.r16_1!==t.i1n_1)throw Xn()}function Oa(t,n){this.j1n_1=t,this.k1n_1=n}function Pa(t,n,e){if(this.f1n_1=t,this.g1n_1=e,this.h1n_1=n,this.i1n_1=this.f1n_1.r16_1,this.f1n_1.q16_1)throw Xn()}function Ma(t,n,e,r,i){this.v18_1=t,this.w18_1=n,this.x18_1=e,this.y18_1=r,this.z18_1=i}function Aa(t,n,e){return function(t,n,e){for(var r=0,i=t.f()-1|0;r<=i;){var o=(r+i|0)>>>1|0,s=t.g(o).b1b_1,a=an(s<0?e+s|0:s,n);if(a<0)r=o+1|0;else{if(!(a>0))return o;i=o-1|0}}return 0|-(r+1|0)}(t,n,e)}function Ea(){}function Ia(){var t=(null==L&&new Da,L);return Ft(t,Ea)?t:zt()}function Da(){L=this}function Ta(){}function Ba(){}function La(t,n){return function(t,n){return Nh(),new Ra(t,n)}(t,n)}function Na(t){Rl.call(this),this.s1n_1=t}function Ra(t,n){this.a1o_1=n,this.b1o_1=new Na(t)}function Fa(){this.x16_1=new Int32Array(10),this.y16_1=0}function Ha(){this.q17_1=jt()}function Ua(){}function Va(){return new Ua}function Wa(t){return cn("current",1,un,(function(t){return Wa(t)}),null),t.x17_1.m2()}function Ja(t){this.x17_1=on(t)}function Ka(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.d1i_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.c1i_1;if(a>>1|0,s=t.y1a_1[o],a=Dh(s);if(ae))return n===s?o:Za(t,o,n,e);i=o-1|0}}return 0|-(r+1|0)}function Za(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.y1a_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.a1b_1;if(a>>1|0,s=t.g(o),a=Dh(s);if(ai))return s===n?o:nu(t,o,n,i);r=o-1|0}}return 0|-(e+1|0)}function nu(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.v1e_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.u1e_1;if(a>>1|0,s=pn(t.n1f_1[t.m1f_1[o]]),a=Dh(s);if(ae))return n===s?o:su(t,o,n,e);i=o-1|0}}return 0|-(r+1|0)}function su(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o,s=i;if(i=i+-1|0,(o=pn(t.n1f_1[t.m1f_1[s]]))===e)return s;if(Dh(o)!==r)break t}while(0<=i);var a=n+1|0,u=t.p1f_1;if(a>hc()>1<ac()))throw i="Trie-based persistent vector should have at least "+(ac()+1|0)+" elements, got "+this.j1p_1,rn(xt(i));this.j1p_1,lc(this.j1p_1),ae(this.i1p_1.length,ac())}function Au(t){return t.u1p_1<=ac()?0:lc(t.u1p_1)}function Eu(t){return n=t.u1p_1,n<=ac()?n:n-lc(n)|0;var n}function Iu(t,n){if(null==n)return Tu(t);if(function(t,n){return n.length===_c()&&n[_c()-1|0]===t.r1p_1}(t,n))return n;var e=Tu(t),r=ae(n.length,ac());return Hn(n,e,0,0,r),e}function Du(t,n){var e=_c(),r=Vn(Array(e),null);return r[0]=n,r[_c()-1|0]=t.r1p_1,r}function Tu(t){var n=_c(),e=Vn(Array(n),null);return e[_c()-1|0]=t.r1p_1,e}function Bu(t,n,e,r){var i;if(t.u1p_1>>hc()>1<=0))throw St(xt("Check failed."));if(0===r)return i.e();var o=Iu(t,n),s=pc(e,r),a=s,u=o[s];for(o[a]=Ru(t,null==u||ln(u)?u:zt(),e,r-hc()|0,i);(s=s+1|0)0){var r=(t.c1q_1-1|0)-(e/hc()|0)|0;ec(t,t.z1o_1,r+1|0)}}function ic(t){var n=t.z1o_1&cc(),e=t.d1q_1[t.c1q_1-1|0];return(null!=e&&ln(e)?e:zt())[n]}function oc(t,n,e,r){$u.call(this,n,e),this.c1q_1=r;var i,o=this.c1q_1;i=Vn(Array(o),null),this.d1q_1=i,this.e1q_1=n===e,this.d1q_1[0]=t,ec(this,n-(this.e1q_1?1:0)|0,1)}function sc(){return tc().m1q_1}function ac(){return R}function uc(t){var n=Vn(Array(32),null);return n[0]=t,n}function cc(){return F}function lc(t){return-32&(t-1|0)}function hc(){return H}function pc(t,n){return t>>n&31}function fc(t){this.l1p_1=t}function _c(){return U}function dc(){V=this,this.v1o_1=new yc(Vc().o1q_1,0)}function vc(){return null==V&&new dc,V}function yc(t,n){vc(),_e.call(this),this.r1q_1=t,this.s1q_1=n}function mc(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new wc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function gc(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new xc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function $c(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new Sc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function bc(){this.g1r_1=Vc().o1q_1.w1q_1,this.h1r_1=0,this.i1r_1=0}function wc(){bc.call(this)}function xc(){bc.call(this)}function kc(t,n){if(t.d1r_1[n].l1r())return n;if(t.d1r_1[n].m1r()){var e=t.d1r_1[n].n1r();return 6===n?t.d1r_1[n+1|0].k1r(e.w1q_1,e.w1q_1.length):t.d1r_1[n+1|0].k1r(e.w1q_1,$t(Jc(),e.v1r())),kc(t,n+1|0)}return-1}function jc(t){if(t.d1r_1[t.e1r_1].l1r())return wt();var n=t.e1r_1;if(0<=n)do{var e=n;n=n+-1|0;var r=kc(t,e);if(-1===r&&t.d1r_1[e].m1r()&&(t.d1r_1[e].o1r(),r=kc(t,e)),-1!==r)return t.e1r_1=r,wt();e>0&&t.d1r_1[e-1|0].o1r(),t.d1r_1[e].k1r(Vc().o1q_1.w1q_1,0)}while(0<=n);t.f1r_1=!1}function zc(t,n){this.d1r_1=n,this.e1r_1=0,this.f1r_1=!0,this.d1r_1[0].k1r(t.w1q_1,$t(Jc(),t.v1r())),this.e1r_1=0,jc(this)}function Cc(t,n){this.w1r_1=t,this.x1r_1=n}function Sc(){bc.call(this)}function qc(t){ve.call(this),this.b1s_1=t}function Oc(t){ye.call(this),this.c1s_1=t}function Pc(t){ve.call(this),this.d1s_1=t}function Mc(t,n,e){return function(t,n,e,r){return Wc.call(r,t,n,e,null),r}(t,n,e,Object.create(Wc.prototype))}function Ac(t,n){this.a1r_1=t,this.b1r_1=n}function Ec(t){return new Ac(t,1)}function Ic(t){return new Ac(t,0)}function Dc(t,n){return!(0==(t.u1q_1&n))}function Tc(t,n){var e=t.w1q_1[n];return null==e||Ct(e)?e:zt()}function Bc(t,n){var e=t.w1q_1[n+1|0];return null==e||Ct(e)?e:zt()}function Lc(t,n,e,r){var i=r.w1q_1;if(2===i.length&&0===r.u1q_1){if(1===t.w1q_1.length)return r.t1q_1=t.u1q_1,r;var o=t.i1s(e),s=function(t,n,e,r,i){var o=Qn(t,t.length+1|0),s=n+2|0,a=n+1|0,u=t.length;return Hn(o,o,s,a,u),Hn(o,o,e+2|0,e,n),o[e]=r,o[e+1|0]=i,o}(t.w1q_1,n,o,i[0],i[1]);return Mc(t.t1q_1^e,t.u1q_1^e,s)}var a=Qn(t.w1q_1,t.w1q_1.length);return a[n]=r,Mc(t.t1q_1,t.u1q_1,a)}function Nc(t,n,e){if(1===t.w1q_1.length)return null;var r=function(t,n){var e=t.length-1|0,r=Vn(Array(e),null);Hn(t,r,0,0,n);var i=n+1|0,o=t.length;return Hn(t,r,n,i,o),r}(t.w1q_1,n);return Mc(t.t1q_1,t.u1q_1^e,r)}function Rc(t,n,e,r,i,o,s,a){var u=Tc(t,n),c=null==u?null:Jt(u),l=Fc(t,null==c?0:c,u,Bc(t,n),r,i,o,s+5|0,a),h=t.j1s(e)+1|0;return function(t,n,e,r){var i=e-2|0,o=1+(t.length-2|0)|0,s=Vn(Array(o),null);Hn(t,s,0,0,n),Hn(t,s,n,n+2|0,e),s[i]=r;var a=i+1|0,u=t.length;return Hn(t,s,a,e,u),s}(t.w1q_1,n,h,l)}function Fc(t,n,e,r,i,o,s,a,u){if(a>30)return new Wc(0,0,[e,r,o,s],u);var c=Yc(n,a),l=Yc(i,a);return c!==l?new Wc(1<>n&31}function Gc(t,n){var e=t.length-2|0,r=Vn(Array(e),null);Hn(t,r,0,0,n);var i=n+2|0,o=t.length;return Hn(t,r,n,i,o),r}function Xc(){K=this,this.x1o_1=new Qc(ol(),ol(),vc().w1o())}function Zc(){return null==K&&new Xc,K}function Qc(t,n,e){Zc(),ve.call(this),this.m1s_1=t,this.n1s_1=n,this.o1s_1=e}function tl(){return t=Object.create(el.prototype),el.call(t,ol(),ol()),t;var t}function nl(t){return function(t,n){return el.call(n,t,ol()),n}(t,Object.create(el.prototype))}function el(t,n){this.p1s_1=t,this.q1s_1=n}function rl(t,n){this.v1s_1=t,this.w1s_1=n,this.x1s_1=0}function il(){Y=this}function ol(){return null==Y&&new il,Y}function sl(){G=this}function al(){return null==G&&new sl,G}function ul(){}function cl(t,n,e){var r=new Wh(t,n);return r.d1t(e),r}function ll(t,n){return null==t||!!(t instanceof To&&n instanceof To)&&(!(t.z1f()&&!Ht(t,n))||Ht(t.k13_1,n.k13_1))}function hl(t){return fl(2,t)}function pl(t){return fl(1,t)}function fl(t,n){return t<<($t(n%10|0,3)+1|0)}function _l(t,n,e,r,i,o,s){return function(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=0,l=t.f()-1|0;if(c<=l)t:do{var h=c;c=c+1|0;var p=t.g(h);if((u=u+1|0)>1&&n.b(e),!(o<0||u<=o))break t;dl(n,p,a)}while(c<=l);return o>=0&&u>o&&n.b(s),n.b(i),n}(t,xe(),n,e,r,i,o,s).toString()}function dl(t,n,e){null!=e?t.b(e(n)):null==n||ze(n)?t.b(n):n instanceof je?t.q9(n.k1_1):t.b(mn(n))}function vl(){return hh(),X}function yl(){return hh(),Z}function ml(){return hh(),Q}function gl(t){hh(),tt=t}function $l(){return hh(),tt}function bl(t){hh(),nt=t}function wl(){return hh(),nt}function xl(){return hh(),et}function kl(){return hh(),rt}function jl(){return hh(),it}function zl(){return hh(),ot}function Cl(){return hh(),st}function Sl(){}function ql(t){this.e1t_1=t}function Ol(t){this.f1t_1=t}function Pl(){at=this}function Ml(){return null==at&&new Pl,at}function Al(t,n){Ml(),this.s1a_1=n,this.t1a_1=t,this.u1a_1=!1,this.v1a_1=0!==t?function(t,n){hh();var e=n.r1v(t);return ml(),xl().x1v(e)}(t,this.j1t()):-1,this.w1a_1=8}function El(){}function Il(t,n,e,r){Al.call(this,t,n),this.m1k_1=e,this.n1k_1=r,this.o1k_1=null,this.p1k_1=vh().g1u_1,this.q1k_1=new Int32Array(0),this.r1k_1=1,this.s1k_1=!1,this.t1k_1=8}function Dl(){ut=this,Ll.call(this),this.x1u_1=0}function Tl(){return null==ut&&new Dl,ut}function Bl(t){Ll.call(this),this.z1u_1=t,this.a1v_1=8}function Ll(){this.b1v_1=0}function Nl(t,n){ml();var e,r,i,o=jl().h()?null:Gt(jl());if(null==o)r=null;else{var s=qe(o);r=null==s?(i=o,function(t){var n=0,e=i.f()-1|0;if(n<=e){do{var r=n;n=n+1|0,i.g(r)(t)}while(n<=e);wt()}return wt()}):s}e=r,Il.call(this,t,n,null,e)}function Rl(){this.v1n_1=Hl().x1a(),this.w1n_1=null,this.x1n_1=8}function Fl(t){hh(),xl().y1v(t)}function Hl(){hh();var t=yl().ku();return null==t?zl().ku():t}function Ul(t){hh();var n=zl().ku(),e=(ml(),Ql(n,t)),r=n.i1t();if(null!=r){ml();var i=Gt(kl()),o=0,s=i.f()-1|0;if(o<=s)do{var a=o;o=o+1|0,i.g(a)(r,n)}while(o<=s)}return e}function Vl(){return hh(),Ul(lh)}function Wl(t){t.n1w_1||(t.n1w_1=!0,t.m1w_1.l1u(t))}function Jl(t,n,e,r,i){Il.call(this,t,n,e,r),this.m1w_1=i,this.n1w_1=!1,this.m1w_1.m1u(this)}function Kl(t,n,e){hh();var r=t,i=n;if(i0;){var o=((i+1|0)>>1)-1|0;if(!(e[o]>r))break t;fh(t,o,i),i=o}}function fh(t,n,e){var r=t.t1v_1,i=t.u1v_1,o=t.v1v_1,s=r[n];r[n]=r[e],r[e]=s,s=i[n],i[n]=i[e],i[e]=s,o[i[n]]=n,o[i[e]]=e}function _h(){this.s1v_1=0,this.t1v_1=new Int32Array(16),this.u1v_1=new Int32Array(16);for(var t=0,n=new Int32Array(16);t<16;){var e;e=t+1|0,n[t]=e,t=t+1|0}this.v1v_1=n,this.w1v_1=0}function dh(){lt=this,this.g1u_1=new mh(new Bn(0,0),new Bn(0,0),0,null)}function vh(){return null==lt&&new dh,lt}function yh(t,n){this.y1w_1=t,kn.call(this,n)}function mh(t,n,e,r){vh(),this.x1t_1=t,this.y1t_1=n,this.z1t_1=e,this.a1u_1=r}function gh(t,n){for(var e=0,r=t.length-1|0;e<=r;){var i=(e+r|0)>>>1|0,o=t[i];if(n>o)e=i+1|0;else{if(!(n0||Oi(xt("OffsetApplier up called with no corresponding down"));var t=this.k11_1;this.k11_1=t-1|0,this.i11_1.d11()},We.prototype.e11=function(t,n){this.i11_1.e11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.f11=function(t,n){this.i11_1.f11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.g11=function(t,n){this.i11_1.g11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.h11=function(t,n,e){var r=0===this.k11_1?this.j11_1:0;this.i11_1.h11(t+r|0,n+r|0,e)},We.$metadata$=kt("OffsetApplier",[Ve]),Je.prototype.p11=function(t){this.n11_1=t},Je.prototype.z10=function(){return this.n11_1},Je.prototype.q11=function(t){this.m11_1.a(this.z10()),this.p11(t)},Je.prototype.c11=function(t){return this.q11(null==t||Ct(t)?t:zt())},Je.prototype.d11=function(){if(this.m11_1.h())throw St(xt("Check failed."));this.p11(this.m11_1.n4(this.m11_1.f()-1|0))},Je.$metadata$=kt("AbstractApplier",[Ve]),Ke.prototype.t11=function(){return this.r11_1},Ke.prototype.xy=function(){return this.s11_1},Ke.prototype.u11=function(t){var n,e;try{var r;Pt(),r=this.r11_1(t),e=Mt(r)}catch(t){if(!(t instanceof Error))throw t;Pt(),e=Mt(At(t))}n=e,this.s11_1.z4(n)},Ke.$metadata$=kt("FrameAwaiter"),Ye.prototype.b12=function(){return this.w11_1,!this.y11_1.h()},Ye.prototype.c12=function(t){this.w11_1;var n=this.y11_1;this.y11_1=this.z11_1,this.z11_1=n;var e=0,r=n.f();if(e0},li.prototype.t1c=function(){return this.s15_1},li.prototype.u1c=function(){return this.m14_1.v1c()},li.prototype.e12=function(t){return lr(this,t,null,!1,null)},li.prototype.i12=function(){return sr(this)},li.prototype.w1c=function(){return lr(this,-127,null,!1,null)},li.prototype.x1c=function(){sr(this);var t=this.y1c();null!=t&&t.g19()&&t.z1c(!0)},li.prototype.a1d=function(){var t;if(this.h15_1)t=!0;else{var n=this.y1c();t=!0===(null==n?null:n.a1d())}return t},li.prototype.h1a=function(t,n){return lr(this,t,n,!1,null)},li.prototype.k1a=function(){return sr(this)},li.prototype.b1d=function(){this.g15_1.s7()},li.prototype.c1d=function(){return this.y15_1},li.prototype.v1b=function(){var t;if(this.y15_1||this.j15_1||this.h15_1)t=!1;else{var n=this.y1c();t=!1===(null==n?null:n.d1d())}return!!t&&!this.b15_1},li.prototype.c18=function(){lr(this,this.y15_1?125:this.j15_1?125===this.r15_1.p18()?126:125:126===this.r15_1.p18()?126:125,null,!0,null),this.c15_1=!0},li.prototype.e1d=function(t){zr(this),this.y15_1||Oi(xt("createNode() can only be called when inserting"));var n,e,r,i,o,s=this.v14_1.f1d(),a=this.t15_1.u18(this.t15_1.e13_1),u=this.w14_1;this.w14_1=u+1|0,Lr(this,(r=t,i=a,o=s,function(t,n,e){var s=r();return n.o1b(i,s),(Ft(t,Ve)?t:zt()).e11(o,s),t.c11(s),wt()})),n=this,e=function(t,n){return function(e,r,i){var o=r.p1b(t);return e.d11(),(Ft(e,Ve)?e:zt()).f11(n,o),wt()}}(a,s),n.g16_1.e19(e)},li.prototype.g1d=function(){var t;zr(this),!this.y15_1||Oi(xt("useNode() called while inserting")),Dr(this,(t=this.r15_1).n1a(t.l17_1))},li.prototype.h1d=function(){return pr(this,!0)},li.prototype.i1d=function(t,n){var e,r,i=(e=n,r=t,function(t,n,i){var o=t.z10();return e(null==o||Ct(o)?o:zt(),r),wt()});this.y15_1?Lr(this,i):qr(this,i)},li.prototype.c1b=function(){var t;if(this.y15_1)Cr(this),t=fi().h12_1;else{var n=this.r15_1.e();t=this.j15_1?fi().h12_1:n}return t},li.prototype.j12=function(t){var n;return Ht(this.c1b(),t)?n=!1:(this.e1a(t),n=!0),n},li.prototype.j1d=function(t){var n=this.c1b();return(null==n||"boolean"!=typeof n||t!==n)&&(this.e1a(t),!0)},li.prototype.e1a=function(t){if(this.y15_1)this.t15_1.l1d(t),null!=t&&Ft(t,xs)&&(Sr(this,(e=t,function(t,n,r){return r.k12(e),wt()})),this.o14_1.a(t));else{var n=this.r15_1.k1d()-1|0;null!=t&&Ft(t,xs)&&this.o14_1.a(t),Pr(this,!0,function(t,n){return function(e,r,i){null!=t&&Ft(t,xs)&&(i.k12(t),wt());var o=r.q1b(n,t);if(null!=o&&Ft(o,xs))i.l12(o),wt();else if(o instanceof To){var s=o.j13_1;null!=s&&(o.ot(),s.c14_1=!0,wt())}return wt()}}(t,n))}var e},li.prototype.y1c=function(){var t=this.o15_1;return 0===this.l15_1&&t.o1a()?t.f1d():null},li.prototype.l1a=function(t,n){var e=t.k13_1;if(null==e)return!1;var r=e.l1c(this.n14_1);return!!(this.p15_1&&r>=this.r15_1.j17_1)&&(function(t,n,e,r){Ji();var i=Ii(t,n);if(i<0){var o,s=0|-(i+1|0),a=r;if(null==a)o=null;else{var u=new ru;u.w1e(a),o=u}t.yf(s,new ji(e,n,o))}else if(null==r)t.g(i).u19_1=null;else{var c=t.g(i).u19_1;null==c||c.w1e(r)}}(this.d15_1,r,t,n),!0)},li.prototype.o1c=function(){if(this.d15_1.h())(o=i=this).w14_1=o.w14_1+i.r15_1.r17()|0;else{var t=this.r15_1,n=t.p18(),e=t.r18(),r=t.a18();Jr(this,n,e,r),cr(this,t.i1b(),null),fr(this),t.n19(),Yr(this,n,e,r)}var i,o},li.prototype.z17=function(){0===this.w14_1||Oi(xt("No nodes can be emitted before calling skipAndEndGroup"));var t=this.y1c();null==t||t.m1d(),this.d15_1.h()?wr(this):fr(this)},li.prototype.n1d=function(t){return lr(this,t,null,!1,null),function(t){if(t.y15_1){var n=t.r14_1,e=new To(n instanceof so?n:zt());t.o15_1.e19(e),t.e1a(e),e.g1a(t.n15_1)}else{var r,i=Si(t.d15_1,t.r15_1.l17_1),o=t.r15_1.e();if(Ht(o,fi().h12_1)){var s=t.r14_1,a=new To(s instanceof so?s:zt());t.e1a(a),r=a}else r=o instanceof To?o:zt();var u=r;u.f1a(!(null==i)),t.o15_1.e19(u),u.g1a(t.n15_1)}}(this),this},li.prototype.o1d=function(){var t=this.o15_1.o1a()?this.o15_1.f19():null;null==t||t.f1a(!1);var n,e,r,i=null==t?null:t.p1d(this.n15_1);if(null==i||(Sr(this,(e=i,r=this,function(t,n,i){return e(r.r14_1),wt()})),wt()),null==t||t.r1d()||!t.g19()&&!this.a15_1)n=null;else{if(null==t.k13_1){var o,s=t;o=this.y15_1?this.t15_1.u18(this.t15_1.e13_1):this.r15_1.u18(this.r15_1.l17_1),s.k13_1=o}t.q1d(!1),n=t}var a=n;return pr(this,!1),a},li.prototype.s1d=function(t){t:{var n=this.q14_1,e=this.p14_1;try{this.p14_1=n,Sr(this,(Ji(),u));var r=0,i=t.f()-1|0;if(r<=i)do{var s=r;r=r+1|0;var a=t.g(s),c=a.l4(),l=a.m4(),h=c.a1c_1,p=c.z1b_1.h1b(h),f={_v:0};if(Ar(this),Sr(this,ni(f,h)),null==l){var _=c.z1b_1;Ht(_,this.s15_1)&&ur(this);var d=c.z1b_1.t16();try{d.d19(p),this.c16_1=p;var v=jt();jr(this,null,null,null,null,ei(this,v,d,c),30),!v.h()&&(Sr(this,ri(f,v)),wt())}finally{d.p17()}}else{var y=qi(l.z1b_1,l.a1c_1);if(!y.h()){Sr(this,ii(f,y));var m=this.n14_1.h1b(h);mr(this,m,yr(this,m)+y.f()|0)}Sr(this,oi(this,l,c));var g=l.z1b_1,$=g.t16();try{n:{var b=this.r15_1,w=this.y14_1;this.y14_1=null;try{this.r15_1=$;var x=g.h1b(l.a1c_1);$.d19(x),this.c16_1=x;var k,j=jt();e:{var z=this.p14_1;try{this.p14_1=j;var C=$.j17_1;kr(this,l.y1b_1,c.y1b_1,C,l.b1c_1,si(this,c));break e}finally{this.p14_1=z}}!j.h()&&(Sr(this,ai(f,j)),k=wt()),k;break n}finally{this.r15_1=b,this.y14_1=w}}}finally{$.p17()}}Sr(this,(Ji(),o))}while(r<=i);Sr(this,ui),this.c16_1=0,wt();break t}finally{this.p14_1=e}}Hr(this)},li.prototype.t1d=function(t){this.y15_1&&this.t15_1.u1d(t)},li.prototype.v1d=function(t){!this.p15_1||Oi(xt("Preparing a composition while composing is not supported")),this.p15_1=!0;try{t()}finally{this.p15_1=!1}},li.prototype.w1d=function(t){return this.p14_1.h()||Oi(xt("Expected applyChanges() to have been called")),!(!t.o1a()&&this.d15_1.h()&&!this.b15_1||(Xr(this,t,null),this.p14_1.h()))},li.prototype.x1d=function(){return this.y1c()},li.prototype.f12=function(){return this.c1b()},li.prototype.g12=function(t){return this.e1a(t)},li.prototype.y1d=function(t){var n=t instanceof To?t:null;null==n||n.z1d(!0)},li.prototype.a1e=function(t,n){this.p14_1.h()||Oi(xt("Expected applyChanges() to have been called")),Xr(this,t,n)},li.$metadata$=kt("ComposerImpl",[_i]),hi.prototype.toString=function(){return"Empty"},hi.$metadata$=kt(),pi.prototype.b1e=function(){return this.h12_1},pi.$metadata$=en("Companion"),_i.$metadata$=bt("Composer"),vi.$metadata$=kt("InvalidationResult",void 0,void 0,void 0,void 0,Kt.prototype),yi.prototype.c1e=function(){return this.w1b_1},yi.prototype.d1e=function(){return this.x1b_1},yi.prototype.e1e=function(){return this.y1b_1},yi.prototype.f1e=function(){return this.z1b_1},yi.prototype.g1e=function(){return this.a1c_1},yi.prototype.h1e=function(){return this.b1c_1},yi.prototype.i1e=function(){return this.c1c_1},yi.$metadata$=kt("MovableContentStateReference"),gi.prototype.f1e=function(){return this.f1c_1},gi.$metadata$=kt("MovableContentState"),bi.$metadata$=bt("ScopeUpdateScope"),wi.$metadata$=kt("MovableContent"),ki.prototype.k1e=function(){return this.h18_1},ki.prototype.l1e=function(){return this.i18_1},ki.prototype.m1e=function(){return cn("keyMap",1,un,(function(t){return t.m1e()}),null),this.m18_1.m2()},ki.prototype.s18=function(t,n){var e=null!=n?new qo(t,n):t;return Ai(this.m1e(),e)},ki.prototype.o18=function(t){return this.k18_1.a(t)},ki.prototype.g19=function(){return this.k18_1},ki.prototype.c19=function(t,n){if(t>n)for(var e=this.l18_1.c3().c();e.d();){var r=e.e(),i=r.n1e_1;i===t?r.n1e_1=n:n<=i&&it)for(var o=this.l18_1.c3().c();o.d();){var s=o.e(),a=s.n1e_1;a===t?s.n1e_1=n:(t+1|0)<=a&&an)for(var r=this.l18_1.c3().c();r.d();){var i=r.e(),o=i.o1e_1;t<=o&&o<(t+e|0)?i.o1e_1=n+(o-t|0)|0:n<=o&&ot)for(var s=this.l18_1.c3().c();s.d();){var a=s.e(),u=a.o1e_1;t<=u&&u<(t+e|0)?a.o1e_1=n+(u-t|0)|0:(t+1|0)<=u&&u=r&&!Ht(s,e)){var a=s.o1e_1+i|0;a>=0&&(s.o1e_1=a)}}return!0}return!1},ki.prototype.b19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.n1e_1;return null==e?-1:e},ki.prototype.a19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.o1e_1;return null==e?-1:e},ki.prototype.j19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.p1e_1;return null==e?t.y18_1:e},ki.$metadata$=kt("Pending"),ji.prototype.q1e=function(){return this.s19_1},ji.prototype.r1e=function(){return this.t19_1},ji.prototype.s1e=function(){return this.u19_1},ji.prototype.y19=function(){return this.s19_1.t1e(this.u19_1)},ji.$metadata$=kt("Invalidation"),Pi.prototype.x1e=function(t){this.n1e_1=t},Pi.prototype.y1e=function(){return this.n1e_1},Pi.prototype.z1e=function(t){this.o1e_1=t},Pi.prototype.a1f=function(){return this.o1e_1},Pi.$metadata$=kt("GroupInfo"),Ti.prototype.toString=function(){return"Updater(composer="+this.e1f_1+")"},Ti.prototype.hashCode=function(){return t=this.e1f_1,Jt(t);var t},Ti.prototype.equals=function(t){return function(t,n){if(!(n instanceof Ti))return!1;var e=n instanceof Ti?n.e1f_1:zt();return!!Ht(t,e)}(this.e1f_1,t)},Ti.$metadata$=kt("Updater"),Bi.prototype.toString=function(){return"SkippableUpdater(composer="+this.f1f_1+")"},Bi.prototype.hashCode=function(){return t=this.f1f_1,Jt(t);var t},Bi.prototype.equals=function(t){return function(t,n){if(!(n instanceof Bi))return!1;var e=n instanceof Bi?n.f1f_1:zt();return!!Ht(t,e)}(this.f1f_1,t)},Bi.$metadata$=kt("SkippableUpdater"),io.prototype.k12=function(t){var n=this.v1f_1.i2(t);n>=0?(this.v1f_1.n4(n),this.t1f_1.jf(t)):this.u1f_1.a(t)},io.prototype.l12=function(t){var n=this.u1f_1.i2(t);n>=0?(this.u1f_1.n4(n),this.t1f_1.jf(t)):this.v1f_1.a(t)},io.prototype.x1f=function(){if(!this.v1f_1.h())t:{var t=Fh().r1a("Compose:onForgotten");try{var n=this.v1f_1.f()-1|0;if(0<=n){do{var e=n;n=n+-1|0;var r=this.v1f_1.g(e);this.t1f_1.i(r)||r.f1g()}while(0<=n);wt()}break t}finally{Fh().d1b(t)}}if(!this.u1f_1.h())t:{var i=Fh().r1a("Compose:onRemembered");try{var o=this.u1f_1,s=0,a=o.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var c=o.g(u);this.t1f_1.jf(c),c.g1g()}while(s<=a);wt()}break t}finally{Fh().d1b(i)}}},io.prototype.y1f=function(){if(!this.w1f_1.h())t:{var t=Fh().r1a("Compose:sideeffects");try{var n=this.w1f_1,e=0,r=n.f()-1|0;if(e<=r)do{var i=e;e=e+1|0,n.g(i)()}while(e<=r);this.w1f_1.s7(),wt();break t}finally{Fh().d1b(t)}}},io.prototype.a1g=function(){if(!this.t1f_1.h())t:{var t=Fh().r1a("Compose:abandons");try{for(var n=this.t1f_1.c();n.d();){var e=n.e();n.o4(),e.h1g()}wt();break t}finally{Fh().d1b(t)}}},io.$metadata$=kt("RememberEventDispatcher",[tr]),so.prototype.f1e=function(){return this.u13_1},so.prototype.c1g=function(){return this.f14_1.p15_1},so.prototype.m1g=function(){return this.i14_1},so.prototype.n1g=function(t){t:for(;;){var n,e=this.r13_1.ku(),r=e;if(null==r||Ht(r,Ki()))n=t;else if(null!=r&&Ft(r,hn))n=[e,t];else{if(null==r||!ln(r)){var i="corrupt pendingModifications: "+this.r13_1;throw St(xt(i))}n=_n(null!=e&&ln(e)?e:zt(),t)}var o=n;if(this.r13_1.o1g(e,o)){null==e&&(this.s13_1,Xi(this),wt());break t}}},so.prototype.p1g=function(t){for(var n=t.c();n.d();){var e=n.e();if(this.v13_1.q1f(e)||this.x13_1.q1f(e))return!0}return!1},so.prototype.v1d=function(t){return this.f14_1.v1d(t)},so.prototype.q1g=function(t){if(!this.f14_1.s1c()){var n=this.f14_1.y1c();if(null==n);else{if(n.z1d(!0),this.v13_1.s1f(t,n),Ft(t,$o)){this.x13_1.r1g(t);for(var e=t.s1g().c();e.d();){var r=e.e();this.x13_1.s1f(r,t)}}n.t1g(t),wt()}}},so.prototype.u1g=function(t){this.s13_1,to(this,t);var n,e=this.x13_1,r=ou(e,t);if(r>=0){for(var i=iu(e,r).c();i.d();)to(this,i.e());n=wt()}return n},so.prototype.v1g=function(){this.s13_1,Gi(this);var t,n=!1;try{var e=this.f14_1.w1d(ro(this));e||Xi(this),n=!0,t=e}finally{!n&&!this.t13_1.h()&&new io(this.t13_1).a1g()}return t},so.prototype.w1g=function(t){var n;t:{var e=0,r=t.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.g(i);if(!Ht(o.j4_1.y1b_1,this)){n=!1;break t}}while(e<=r);n=!0}mi(n);var s=!1;try{this.f14_1.s1d(t);wt();s=!0}finally{!s&&!this.t13_1.h()&&new io(this.t13_1).a1g()}},so.prototype.x1g=function(t){var n=new io(this.t13_1),e=t.f1c_1.y17();try{nr(e,n),wt()}finally{e.p17()}n.x1f()},so.prototype.y1g=function(){this.s13_1,no(this,this.y13_1),Xi(this),wt()},so.prototype.z1g=function(){this.s13_1,!this.z13_1.h()&&(no(this,this.z13_1),wt())},so.prototype.b1d=function(){this.s13_1,this.f14_1.b1d(),!this.t13_1.h()&&(new io(this.t13_1).a1g(),wt())},so.prototype.a1h=function(){this.s13_1;for(var t=this.u13_1.n16_1,n=0,e=t.length;n=0){var i;this.d14_1=t instanceof so?t:zt(),this.e14_1=n;try{i=e()}finally{this.d14_1=null,this.e14_1=0}r=i}else r=e();return r},so.prototype.c1h=function(t,n){t.d1h()&&t.q1d(!0);var e=t.k13_1;return null!=e&&this.u13_1.e1h(e)&&e.z1f()&&e.z1f()&&t.f1h()?eo(this,t,e,n):Vi()},so.prototype.g1h=function(t,n){this.v13_1.i1g(t,n)},so.prototype.h1h=function(t){this.v13_1.q1f(t)||this.x13_1.r1g(t)},so.prototype.i1h=function(t){this.j14_1=t},so.prototype.j1h=function(t){if(this.i14_1)throw St(xt("The composition is disposed"));this.i1h(t),this.p13_1.k1h(this,this.j14_1)},so.prototype.l1h=function(t){var n=!1;try{this.s13_1,Gi(this),this.f14_1.a1e(ro(this),t),wt(),n=!0}finally{!n&&!this.t13_1.h()&&new io(this.t13_1).a1g()}},so.$metadata$=kt("CompositionImpl",[ao]),ao.$metadata$=bt("ControlledComposition",[ho]),lo.$metadata$=en("ComposableSingletons$CompositionKt"),ho.$metadata$=bt("Composition"),_o.prototype.b17=function(t){},_o.prototype.j1g=function(t){},_o.prototype.w16=function(){return fo()},_o.prototype.v16=function(){},_o.prototype.d17=function(){},_o.prototype.e1c=function(t){return null},_o.$metadata$=kt("CompositionContext"),vo.$metadata$=kt("CompositionLocal"),yo.$metadata$=kt("ProvidableCompositionLocal",void 0,void 0,void 0,void 0,vo.prototype),mo.$metadata$=kt("StaticProvidableCompositionLocal",void 0,void 0,void 0,void 0,yo.prototype),$o.$metadata$=bt("DerivedState",[Ta]),wo.prototype.js=function(){this.r1h_1()},wo.$metadata$=kt(void 0,[ko]),xo.prototype.t1h=function(t){return new wo(t)},xo.$metadata$=kt("DisposableEffectScope"),ko.$metadata$=bt("DisposableEffectResult"),jo.prototype.g1g=function(){var t=this.w1h_1;null==t||vn(t,"Old job was still running!",null,2,null),this.w1h_1=yn(this.v1h_1,null,null,this.u1h_1,3,null)},jo.prototype.f1g=function(){var t=this.w1h_1;null==t||t.dq(null,1,null),this.w1h_1=null},jo.prototype.h1g=function(){var t=this.w1h_1;null==t||t.dq(null,1,null),this.w1h_1=null},jo.$metadata$=kt("LaunchedEffectImpl",[xs]),zo.prototype.g1g=function(){this.y1h_1=this.x1h_1((Co(),j))},zo.prototype.f1g=function(){var t=this.y1h_1;null==t||t.js(),this.y1h_1=null},zo.prototype.h1g=function(){},zo.$metadata$=kt("DisposableEffectImpl",[xs]),qo.prototype.hashCode=function(){return $t(So(0,this.z1h_1),31)+So(0,this.a1i_1)|0},qo.prototype.toString=function(){return"JoinedKey(left="+mn(this.z1h_1)+", right="+mn(this.a1i_1)+")"},qo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof qo))return!1;var n=t instanceof qo?t:zt();return!!Ht(this.z1h_1,n.z1h_1)&&!!Ht(this.a1i_1,n.a1i_1)},qo.$metadata$=kt("JoinedKey"),Oo.$metadata$=en("Key",[gn]),Mo.$metadata$=bt("MonotonicFrameClock",[$n]),Eo.prototype.toString=function(){return"OpaqueKey(key="+this.b1i_1+")"},Eo.prototype.hashCode=function(){return bn(this.b1i_1)},Eo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Eo))return!1;var n=t instanceof Eo?t:zt();return this.b1i_1===n.b1i_1},Eo.$metadata$=kt("OpaqueKey"),To.prototype.g1e=function(){return this.k13_1},To.prototype.z1f=function(){var t;if(null!=this.j13_1){var n=this.k13_1,e=null==n?null:n.z1f();t=null!=e&&e}else t=!1;return t},To.prototype.f1h=function(){return!(null==this.l13_1)},To.prototype.z1d=function(t){this.i13_1=t?1|this.i13_1:-2&this.i13_1},To.prototype.g19=function(){return!(0==(1&this.i13_1))},To.prototype.z1c=function(t){this.i13_1=t?2|this.i13_1:-3&this.i13_1},To.prototype.d1h=function(){return!(0==(2&this.i13_1))},To.prototype.q1d=function(t){this.i13_1=t?4|this.i13_1:-5&this.i13_1},To.prototype.a1d=function(){return!(0==(4&this.i13_1))},To.prototype.f1a=function(t){this.i13_1=t?8|this.i13_1:-9&this.i13_1},To.prototype.d1d=function(){return!(0==(8&this.i13_1))},To.prototype.w19=function(t){var n=this.l13_1;if(null==(null==n?null:n(t,1)))throw St("Invalid restart scope")},To.prototype.l1f=function(t){var n=this.j13_1,e=null==n?null:n.c1h(this,t);return null==e?Vi():e},To.prototype.ot=function(){this.j13_1=null,this.n13_1=null,this.o13_1=null},To.prototype.j1c=function(t){this.j13_1=t},To.prototype.b1h=function(){var t=this.j13_1;null==t||t.c1h(this,null)},To.prototype.j1e=function(t){this.l13_1=t},To.prototype.r1d=function(){return!(0==(16&this.i13_1))},To.prototype.g1a=function(t){this.m13_1=t,Do(this,!1)},To.prototype.m1d=function(){Do(this,!0)},To.prototype.t1g=function(t){if(0!=(32&this.i13_1))return wt();var n,e=this.n13_1;if(null==e){var r=new Ya;this.n13_1=r,n=r}else n=e;if(n.g1i(t,this.m13_1),Ft(t,$o)){var i,o=this.o13_1;if(null==o){var s=Ga(0,1);this.o13_1=s,i=s}else i=o;i.d1g(t,t.o1h())}},To.prototype.r1f=function(){return!(null==this.o13_1)},To.prototype.t1e=function(t){if(null==t)return!0;var n=this.o13_1;if(null==n)return!0;var e,r=n;if(t.o1a()){var i;t:if(null!=t&&Ft(t,wn)&&t.h())i=!0;else{for(var o=t.c();o.d();){var s=o.e();if(!Ft(s,$o)||!Ht(r.m1h(s),s.o1h())){i=!1;break t}}i=!0}e=i}else e=!1;return!e},To.prototype.v19=function(){var t=this.j13_1;if(null==t);else{var n=this.n13_1;if(null==n);else{Io(this,!0);try{var e=0,r=n.c1i_1;if(e0&&(this.q1i_1.i(t)||(this.q1i_1.a(t),wt())),function(t,n){var e;t.n1i_1;t:{var r=t.u1i_1,i=0,o=r.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=r.g(s);if(Ht(a.y1b_1,n)){e=!0;break t}}while(i<=o);e=!1}if(!e)return wt();var u=jt();for(cs(u,t,n);!u.h();)es(t,u,null),cs(u,t,n)}(this,t),t.y1g(),t.z1g(),e||Ml().i1m()},gs.$metadata$=kt("Recomposer",void 0,void 0,void 0,void 0,_o.prototype),$s.$metadata$=bt("RecomposerInfo"),xs.$metadata$=bt("RememberObserver"),zs.$metadata$=en("Companion"),na.prototype.d=function(){return this.n1m_1this.e13_1&&tthis.a13_1.q1a(0))e=n+this.i19(n)|0;else{var r=this.a13_1.r1m(n);e=r<0?n+this.i19(n)|0:(Rs(this)-this.r12_1|0)-this.b13_1.z19(r)|0}return t>n&&t=0||Oi(xt("Cannot insert auxiliary data when not inserting"));var n=this.e13_1,e=Fs(this,n);!ha(this.n12_1,e)||Oi(xt("Group already has auxiliary data")),Ts(this,1,n);var r,i,o=Gs(this.n12_1,this,e),s=Hs(this,o);if(this.t12_1>o){var a=this.t12_1-o|0;if(!(a<3))throw St(xt("Moving more than two slot not supported"));a>1&&(this.o12_1[s+2|0]=this.o12_1[s+1|0]),this.o12_1[s+1|0]=this.o12_1[s]}r=this.n12_1,i=$t(e,5)+1|0,r[i]=268435456|r[i],this.o12_1[s]=t;var u=this.t12_1;this.t12_1=u+1|0},ea.prototype.j1m=function(t){return Ns(this,this.d13_1,t)},ea.prototype.o1b=function(t,n){return Ns(this,t.s1m(this),n)},ea.prototype.w1m=function(t){this.t12_1<=this.u12_1||Oi(xt("Writing to an invalid slot")),this.o12_1[Hs(this,this.t12_1-1|0)]=t},ea.prototype.q1b=function(t,n){var e,r=Fs(this,this.d13_1),i=Js(this.n12_1,this,r),o=Ws(this.n12_1,this,Fs(this,this.d13_1+1|0)),s=i+t|0;s>=i&&s0&&Ts(this,1,this.e13_1);var t=this.o12_1,n=this.t12_1;return this.t12_1=n+1|0,t[Hs(this,n)]},ea.prototype.i1c=function(t,n){return this.x1m(this.h1b(t),n)},ea.prototype.x1m=function(t,n){var e=Fs(this,t),r=Js(this.n12_1,this,e),i=Ws(this.n12_1,this,Fs(this,t+1|0)),o=r+n|0;if(!(r<=o&&o=0))throw rn(xt("Cannot seek backwards"));if(!(this.y12_1<=0))throw St(xt("Cannot call seek() while inserting"));if(0===t)return wt();var n,e=this.d13_1+t|0;e>=this.e13_1&&e<=this.s12_1||(n="Cannot seek outside the current group ("+this.e13_1+"-"+this.s12_1+")",Oi(xt(n))),this.d13_1=e;var r=Ws(this.n12_1,this,Fs(this,e));this.t12_1=r,this.u12_1=r},ea.prototype.z17=function(){var t=this.s12_1;this.d13_1=t,this.t12_1=Ws(this.n12_1,this,Fs(this,t))},ea.prototype.t18=function(){var t=this.y12_1;this.y12_1=t+1|0,0===t&&Ps(this)},ea.prototype.q19=function(){if(!(this.y12_1>0))throw St(xt("Unbalanced begin/end insert"));var t=this;t.y12_1=t.y12_1-1|0,0===t.y12_1&&(this.c13_1.f()!==this.a13_1.f()&&Oi(xt("startGroup/endGroup mismatch while inserting")),Ms(this))},ea.prototype.b18=function(){if(0!==this.y12_1)throw rn(xt("Key must be supplied when inserting"));js(this,0,fi().h12_1,!1,fi().h12_1)},ea.prototype.e18=function(t,n){return js(this,t,n,!1,fi().h12_1)},ea.prototype.g18=function(t){return js(this,125,t,!0,fi().h12_1)},ea.prototype.f18=function(t,n,e){return js(this,t,n,!1,e)},ea.prototype.p19=function(){var t=this.y12_1>0,n=this.d13_1,e=this.s12_1,r=this.e13_1,i=Fs(this,r),o=this.z12_1,s=n-r|0,a=oa(this.n12_1,i);if(t)pa(this.n12_1,i,s),fa(this.n12_1,i,o),this.z12_1=this.c13_1.f19()+(a?1:o)|0,this.e13_1=Us(this.n12_1,this,r);else{if(n!==e)throw rn(xt("Expected to be at the end of a group"));var u=la(this.n12_1,i),c=sa(this.n12_1,i);pa(this.n12_1,i,s),fa(this.n12_1,i,o);var l=this.a13_1.f19();Ms(this),this.e13_1=l;var h=Us(this.n12_1,this,r);if(this.z12_1=this.c13_1.f19(),h===l){this.z12_1=this.z12_1+(a?0:o-c|0)|0}else{var p=s-u|0,f=a?0:o-c|0;if(0!==p||0!==f)for(var _=h;0!==_&&_!==l&&(0!==f||0!==p);){var d=Fs(this,_);if(0!==p){var v=la(this.n12_1,d)+p|0;pa(this.n12_1,d,v)}0!==f&&fa(this.n12_1,d,sa(this.n12_1,d)+f|0),oa(this.n12_1,d)&&(f=0),_=Us(this.n12_1,this,_)}this.z12_1=this.z12_1+f|0}}return o},ea.prototype.g1f=function(t){if(!(this.y12_1<=0))throw rn(xt("Cannot call ensureStarted() while inserting"));var n=this.e13_1;if(n!==t){if(!(t>=n&&t=t;)r.l1m();wt()}var i=Bs(this,t,this.d13_1-t|0);Ls(this,n,this.t12_1-n|0,t-1|0),this.d13_1=t,this.t12_1=n;return this.z12_1=this.z12_1-e|0,i},ea.prototype.h13=function(){return new na(Ws(this.n12_1,this,Fs(this,this.d13_1)),Ws(this.n12_1,this,Fs(this,this.d13_1+this.i19(this.d13_1)|0)),this)},ea.prototype.s1b=function(t){if(0!==this.y12_1)throw rn(xt("Cannot move a group while inserting"));if(!(t>=0))throw rn(xt("Parameter offset is out of bounds"));if(0===t)return wt();for(var n=this.d13_1,e=this.e13_1,r=this.s12_1,i=t,o=n;i>0;){if(!((o=o+la(this.n12_1,Fs(this,o))|0)<=r))throw rn(xt("Parameter offset is out of bounds"));i=i-1|0}var s=la(this.n12_1,Fs(this,o)),a=this.t12_1,u=Ws(this.n12_1,this,Fs(this,o)),c=Ws(this.n12_1,this,Fs(this,o+s|0)),l=c-u|0,h=this.d13_1-1|0;Ts(this,l,Math.max(h,0)),Ds(this,s);var p=this.n12_1,f=Fs(this,o+s|0),_=$t(f,5),d=Fs(this,n),v=$t(d,5),y=_+$t(s,5)|0;if(Hn(p,p,v,_,y),l>0){var m=this.o12_1,g=Hs(this,u+l|0),$=Hs(this,c+l|0);Hn(m,m,a,g,$)}var b=(u+l|0)-a|0,w=this.v12_1,x=this.w12_1,k=this.o12_1.length,j=this.x12_1,z=n,C=n+s|0;if(z=0)t:for(;s=n&&c=t.q12_1?_.b1b_1=0|-(o-d|0):_.b1b_1=d;var v=ma(t.p12_1,d,o);t.p12_1.yf(v,_)}while(h<=p)})(this,o+s|0,n,s),!Bs(this,o+s|0,s)||Oi(xt("Unexpectedly removed anchors")),As(this,e,this.s12_1,n),l>0&&Ls(this,u+l|0,l,(o+s|0)-1|0)},ea.prototype.p1c=function(t,n,e){if(!(e.y12_1>0))throw rn(xt("Failed requirement."));if(0!==this.y12_1)throw rn(xt("Failed requirement."));if(!t.z1f())throw rn(xt("Failed requirement."));var r=this.h1b(t)+n|0,i=this.d13_1;if(!(i<=r&&r0;c>=i;){var h=Fs(this,c);pa(this.n12_1,h,la(this.n12_1,h)-s|0),l&&(oa(this.n12_1,h)?l=!1:fa(this.n12_1,h,sa(this.n12_1,h)-a|0)),c=this.v17(c)}if(l){mi(this.z12_1>=a);this.z12_1=this.z12_1-a|0}return u},ea.prototype.m1c=function(t,n){if(!(this.y12_1>0))throw rn(xt("Failed requirement."));if(0===n&&0===this.d13_1&&0===this.m12_1.m16_1){var e=this.n12_1,r=this.o12_1,i=this.p12_1,o=t.l16_1,s=t.m16_1,a=t.n16_1,u=t.o16_1;return this.n12_1=o,this.o12_1=a,this.p12_1=t.s16_1,this.q12_1=s,this.r12_1=(o.length/5|0)-s|0,this.v12_1=u,this.w12_1=a.length-u|0,this.x12_1=s,t.y1m(e,0,r,0,i),this.p12_1}var c,l=t.y17();try{c=ks(Cs(),l,n,this,!0,!0)}finally{l.p17()}return c},ea.prototype.h1c=function(t,n,e){mi(this.y12_1<=0&&1===this.i19(this.d13_1+t|0));var r=this.d13_1,i=this.t12_1,o=this.u12_1;this.k1c(t),this.b18(),this.t18();var s,a=n.y17();try{s=ks(Cs(),a,e,this,!1,!0)}finally{a.p17()}var u=s;return this.q19(),this.p19(),this.d13_1=r,this.t12_1=i,this.u12_1=o,u},ea.prototype.u18=function(t){var n,e=this.p12_1,r=Aa(e,t,this.f());if(r<0){var i=new ia(t<=this.q12_1?t:0|-(this.f()-t|0));e.yf(0|-(r+1|0),i),n=i}else n=e.g(r);return n},ea.prototype.z1m=function(t){var n,e,r,i=Fs(this,t);$a(this.n12_1,i)||(n=this.n12_1,e=!0,r=$t(i,5)+1|0,n[r]=e?134217728|n[r]:-134217729&n[r],ba(this.n12_1,i)||qs(this,this.v17(t)))},ea.prototype.i1a=function(t,n,e){return 0!=(1&n)&&(t=this.e13_1),this.z1m(t)},ea.prototype.h1b=function(t){var n=t.b1b_1;return n<0?this.f()+n|0:n},ea.prototype.toString=function(){return"SlotWriter(current = "+this.d13_1+" end="+this.s12_1+" size = "+this.f()+" gap="+this.q12_1+"-"+(this.q12_1+this.r12_1|0)+")"},ea.prototype.f=function(){return Rs(this)-this.r12_1|0},ea.$metadata$=kt("SlotWriter"),ra.prototype.a1n=function(){return this.s16_1},ra.prototype.du=function(){return 0===this.m16_1},ra.prototype.b1n=function(t){var n,e=this.t16();try{n=t(e)}finally{e.p17()}return n},ra.prototype.c1n=function(t){var n,e=this.y17();try{n=t(e)}finally{e.p17()}return n},ra.prototype.t16=function(){if(this.q16_1)throw St("Cannot read while a writer is pending");var t=this.p16_1;return this.p16_1=t+1|0,new Sa(this)},ra.prototype.y17=function(){!this.q16_1||Oi(xt("Cannot start a writer when another writer is pending")),this.p16_1<=0||Oi(xt("Cannot start a writer when a reader is pending")),this.q16_1=!0;var t=this.r16_1;return this.r16_1=t+1|0,new ea(this)},ra.prototype.h1b=function(t){if(!this.q16_1||Oi(xt("Use active SlotWriter to determine anchor location instead")),!t.z1f())throw rn(xt("Anchor refers to a group that was removed"));return t.b1b_1},ra.prototype.e1h=function(t){var n;if(t.z1f()){var e=Aa(this.s16_1,t.b1b_1,this.m16_1);n=e>=0&&Ht(this.s16_1.g(e),t)}else n=!1;return n},ra.prototype.b1g=function(t,n){var e;if(!this.q16_1||Oi(xt("Writer is active")),0<=t&&t0))throw rn(xt("Unexpected reader close()"));var n=this.p16_1;this.p16_1=n-1|0},ra.prototype.u1m=function(t,n,e,r,i,o){if(t.m12_1!==this||!this.q16_1)throw rn(xt("Unexpected writer close()"));this.q16_1=!1,this.y1m(n,e,r,i,o)},ra.prototype.y1m=function(t,n,e,r,i){this.l16_1=t,this.m16_1=n,this.n16_1=e,this.o16_1=r,this.s16_1=i},ra.prototype.c=function(){return new Pa(this,0,this.m16_1)},ra.$metadata$=kt("SlotTable",[Oh,Kn]),ia.prototype.e1n=function(t){this.b1b_1=t},ia.prototype.r1e=function(){return this.b1b_1},ia.prototype.z1f=function(){return!(this.b1b_1===Wn().w_1)},ia.prototype.l1c=function(t){return t.h1b(this)},ia.prototype.s1m=function(t){return t.h1b(this)},ia.$metadata$=kt("Anchor"),_a.prototype.m1m=function(t){if(!this.k1m_1.h()&&(this.k1m_1.g(0)===t||this.k1m_1.g(this.k1m_1.f()-1|0)===t))return wt();var n=this.k1m_1.f();this.k1m_1.a(t);t:for(;n>0;){var e=((n+1|0)>>>1|0)-1|0,r=this.k1m_1.g(e);if(!(t>r))break t;this.k1m_1.p4(n,r),n=e}this.k1m_1.p4(n,t)},_a.prototype.o1a=function(){return!this.k1m_1.h()},_a.prototype.f1d=function(){return Yn(this.k1m_1)},_a.prototype.l1m=function(){this.k1m_1.f()>0||Oi(xt("Set is empty"));for(var t=this.k1m_1.g(0);!this.k1m_1.h()&&this.k1m_1.g(0)===t;){this.k1m_1.p4(0,Gn(this.k1m_1)),this.k1m_1.n4(this.k1m_1.f()-1|0);var n=0,e=this.k1m_1.f(),r=this.k1m_1.f()>>>1|0;t:for(;ns){if(u>i){this.k1m_1.p4(n,u),this.k1m_1.p4(a,i),n=a;continue t}break t}}if(!(s>i))break t;this.k1m_1.p4(n,s),this.k1m_1.p4(o,i),n=o}}return t},_a.$metadata$=kt("PrioritySet"),Sa.prototype.q1m=function(){return this.j17_1},Sa.prototype.f=function(){return this.g17_1},Sa.prototype.v17=function(t){return va(this.f17_1,t)},Sa.prototype.i1b=function(){return oa(this.f17_1,this.j17_1)},Sa.prototype.a1a=function(t){return oa(this.f17_1,t)},Sa.prototype.b1a=function(t){return sa(this.f17_1,t)},Sa.prototype.n1a=function(t){return oa(this.f17_1,t)?ja(this.f17_1,this,t):null},Sa.prototype.m19=function(){return!!this.r19()||this.j17_1===this.k17_1},Sa.prototype.r19=function(){return this.m17_1>0},Sa.prototype.p1a=function(){return la(this.f17_1,this.j17_1)},Sa.prototype.i19=function(t){return la(this.f17_1,t)},Sa.prototype.l19=function(){return this.k17_1},Sa.prototype.p18=function(){return this.j17_1=0?sa(this.f17_1,this.l17_1):0},Sa.prototype.l1b=function(t,n){var e=t+1|0,r=xa(this.f17_1,t)+n|0;return r<(e0||this.n17_1>=this.o17_1)return fi().h12_1;var t=this.n17_1;return this.n17_1=t+1|0,this.h17_1[t]},Sa.prototype.d18=function(){var t=this.m17_1;this.m17_1=t+1|0},Sa.prototype.o19=function(){if(!(this.m17_1>0))throw rn(xt("Unbalanced begin/end empty"));var t=this.m17_1;this.m17_1=t-1|0},Sa.prototype.p17=function(){return this.e17_1.d1n(this)},Sa.prototype.b18=function(){if(this.m17_1<=0){if(va(this.f17_1,this.j17_1)!==this.l17_1)throw rn(xt("Invalid slot table detected"));this.l17_1=this.j17_1,this.k17_1=this.j17_1+la(this.f17_1,this.j17_1)|0;var t=this.j17_1;this.j17_1=t+1|0;var n=t;this.n17_1=xa(this.f17_1,n),this.o17_1=n>=(this.g17_1-1|0)?this.i17_1:ga(this.f17_1,n+1|0)}},Sa.prototype.c18=function(){if(this.m17_1<=0){if(!oa(this.f17_1,this.j17_1))throw rn(xt("Expected a node group"));this.b18()}},Sa.prototype.r17=function(){if(0!==this.m17_1)throw rn(xt("Cannot skip while in an empty region"));var t=oa(this.f17_1,this.j17_1)?1:sa(this.f17_1,this.j17_1);return this.j17_1=this.j17_1+la(this.f17_1,this.j17_1)|0,t},Sa.prototype.z17=function(){if(0!==this.m17_1)throw rn(xt("Cannot skip the enclosing group while in an empty region"));this.j17_1=this.k17_1},Sa.prototype.d19=function(t){if(0!==this.m17_1)throw rn(xt("Cannot reposition while in an empty region"));this.j17_1=t;var n=t=t&&e<=n))throw rn(xt("Index "+t+" is not a parent of "+e));this.l17_1=t,this.k17_1=n,this.n17_1=0,this.o17_1=0},Sa.prototype.n19=function(){if(0===this.m17_1){if(this.j17_1!==this.k17_1)throw rn(xt("endGroup() not called at the end of a group"));var t=va(this.f17_1,this.l17_1);this.l17_1=t,this.k17_1=t<0?this.g17_1:t+la(this.f17_1,t)|0}},Sa.prototype.q18=function(){var t=jt();if(this.m17_1>0)return t;for(var n=0,e=this.j17_1;e=this.x16_1.length&&(this.x16_1=Zn(this.x16_1,$t(this.x16_1.length,2)));var n=this.x16_1,e=this.y16_1;this.y16_1=e+1|0,n[e]=t},Fa.prototype.f19=function(){var t=this.x16_1,n=this;return n.y16_1=n.y16_1-1|0,t[n.y16_1]},Fa.prototype.q1a=function(t){return this.y16_1>0?this.f1d():t},Fa.prototype.f1d=function(){return this.x16_1[this.y16_1-1|0]},Fa.prototype.z19=function(t){return this.x16_1[t]},Fa.prototype.h=function(){return 0===this.y16_1},Fa.prototype.s7=function(){this.y16_1=0},Fa.prototype.r1m=function(t){var n=0,e=this.y16_1;if(n0){if((e=function(t,n){for(var e=0,r=t.c1i_1-1|0,i=Dh(n);e<=r;){var o=(e+r|0)>>>1|0,s=t.d1i_1[o],a=Dh(s);if(ai))return s===n?o:Ka(t,o,n,i);r=o-1|0}}return 0|-(e+1|0)}(this,t))>=0)return this.e1i_1[e]=n,wt()}else e=-1;var r=0|-(e+1|0);if(this.c1i_1===this.d1i_1.length){var i=$t(this.d1i_1.length,2),o=Vn(Array(i),null),s=new Int32Array($t(this.d1i_1.length,2)),a=this.d1i_1,u=r+1|0,c=this.c1i_1;Hn(a,o,u,r,c);var l=this.e1i_1,h=r+1|0,p=this.c1i_1;Hn(l,s,h,r,p);var f,_=this.d1i_1;Hn(_,o,0,0,r),f=this.e1i_1,Hn(f,s,0,0,r),this.d1i_1=o,this.e1i_1=s}else{var d=this.d1i_1,v=this.d1i_1,y=r+1|0,m=this.c1i_1;Hn(d,v,y,r,m);var g=this.e1i_1,$=this.e1i_1,b=r+1|0,w=this.c1i_1;Hn(g,$,b,r,w)}this.d1i_1[r]=t,this.e1i_1[r]=n;var x=this.c1i_1;this.c1i_1=x+1|0},Ya.prototype.h1o=function(t){var n=0,e=0,r=this.c1i_1;if(e0},Qa.prototype.n1h=function(t){return Xa(this,t)>=0},Qa.prototype.m1h=function(t){var n,e=Xa(this,t);if(e>=0){var r=this.z1a_1[e];n=null==r||Ct(r)?r:zt()}else n=null;return n},Qa.prototype.d1g=function(t,n){var e=Xa(this,t);if(e>=0)this.z1a_1[e]=n;else{var r,i=0|-(e+1|0),o=this.a1b_1===this.y1a_1.length;if(o){var s=$t(this.a1b_1,2);r=Vn(Array(s),null)}else r=this.y1a_1;var a,u=r,c=this.y1a_1,l=i+1|0,h=this.a1b_1;if(Hn(c,u,l,i,h),o){var p=this.y1a_1;Hn(p,u,0,0,i)}if(u[i]=t,this.y1a_1=u,o){var f=$t(this.a1b_1,2);a=Vn(Array(f),null)}else a=this.z1a_1;var _=a,d=this.z1a_1,v=i+1|0,y=this.a1b_1;if(Hn(d,_,v,i,y),o){var m=this.z1a_1;Hn(m,_,0,0,i)}_[i]=n,this.z1a_1=_;var g=this.a1b_1;this.a1b_1=g+1|0}},Qa.prototype.f1i=function(t){var n=Xa(this,t);if(n>=0){var e=this.a1b_1,r=this.y1a_1,i=this.z1a_1;Hn(r,r,n,n+1|0,e),Hn(i,i,n,n+1|0,e);var o=e-1|0;return r[o]=null,i[o]=null,this.a1b_1=o,!0}return!1},Qa.prototype.k1o=function(t){var n=0,e=this.a1b_1;if(n=0},ru.prototype.i=function(t){return!!Ct(t)&&this.l3(Ct(t)?t:zt())},ru.prototype.g=function(t){var n=this.v1e_1[t];return Ct(n)?n:zt()},ru.prototype.w1e=function(t){var n;if(this.u1e_1>0){if((n=tu(this,t))>=0)return!1}else n=-1;var e=0|-(n+1|0);if(this.u1e_1===this.v1e_1.length){var r=$t(this.v1e_1.length,2),i=Vn(Array(r),null),o=this.v1e_1,s=e+1|0,a=this.u1e_1;Hn(o,i,s,e,a);var u=this.v1e_1;Hn(u,i,0,0,e),this.v1e_1=i}else{var c=this.v1e_1,l=this.v1e_1,h=e+1|0,p=this.u1e_1;Hn(c,l,h,e,p)}this.v1e_1[e]=t;var f=this.u1e_1;return this.u1e_1=f+1|0,!0},ru.prototype.h=function(){return 0===this.u1e_1},ru.prototype.o1a=function(){return this.u1e_1>0},ru.prototype.n1o=function(t){var n=tu(this,t);if(n>=0){if(n<(this.u1e_1-1|0)){var e=this.v1e_1,r=this.v1e_1,i=n+1|0,o=this.u1e_1;Hn(e,r,n,i,o)}var s=this.u1e_1;return this.u1e_1=s-1|0,this.v1e_1[this.u1e_1]=null,!0}return!1},ru.prototype.o1o=function(t){var n=0,e=0,r=this.u1e_1;if(e0){if((e=ou(t,n))>=0)return iu(t,e)}else e=-1;var r=0|-(e+1|0);if(t.p1f_10&&(m=t.m1f_1,Hn(m,g,0,0,r)),t.m1f_1=g;var j=t,z=j.p1f_1;return j.p1f_1=z+1|0,y}(this,t).w1e(n)},au.prototype.q1f=function(t){return ou(this,t)>=0},au.prototype.r1o=function(t,n){var e=ou(this,t);if(e>=0)for(var r=iu(this,e).c();r.d();)n(r.e())},au.prototype.i1g=function(t,n){var e=ou(this,t);if(e>=0){var r=this.m1f_1[e],i=this.o1f_1[r];if(null==i)return!1;var o=i,s=o.n1o(n);if(0===o.u1e_1){var a=e+1|0,u=this.p1f_1;if(a0){if(n!==i){var v=this.m1f_1[n];this.m1f_1[n]=o,this.m1f_1[i]=v}n=n+1|0}}while(e0){if(n!==i){var a=this.m1f_1[n];this.m1f_1[n]=o,this.m1f_1[i]=a}n=n+1|0}}while(e0},$u.prototype.p=function(){return this.z1o_1},$u.prototype.b1p=function(){if(!this.d())throw ie()},$u.prototype.c1p=function(){if(!this.o())throw ie()},$u.$metadata$=kt("AbstractListIterator",[oe]),bu.prototype.j1=function(t){var n=this.u1o();return n.j1(t),n.s1o()},bu.prototype.jf=function(t){var n=this.j(t);return-1!==n?this.n4(n):this},bu.prototype.i=function(t){return!(-1===this.j(t))},bu.prototype.n1=function(t){var n;t:if(Ft(t,wn)&&t.h())n=!0;else{for(var e=t.c();e.d();){var r=e.e();if(!this.i(r)){n=!1;break t}}n=!0}return n},bu.prototype.c=function(){return this.d1p()},bu.prototype.d1p=function(){return this.n(0)},bu.$metadata$=kt("AbstractPersistentList",[pu],void 0,void 0,void 0,se.prototype),wu.prototype.e=function(){if(!this.d())throw ie();var t=this.z1o_1;return this.z1o_1=t+1|0,this.g1p_1[t]},wu.prototype.q=function(){if(!this.o())throw ie();var t=this;return t.z1o_1=t.z1o_1-1|0,this.g1p_1[t.z1o_1]},wu.$metadata$=kt("BufferIterator",void 0,void 0,void 0,void 0,$u.prototype),Mu.prototype.f=function(){return this.j1p_1},Mu.prototype.a=function(t){var n=this.j1p_1-xu(this)|0;if(n=e)return zu(this,this.h1p_1,t-e|0,n);var r=new fc(null);return zu(this,Cu(this,this.h1p_1,this.k1p_1,t,n,r),0,r.l1p_1)},Mu.prototype.n4=function(t){al().d2(t,this.j1p_1);var n=xu(this);return t>=n?Su(this,this.h1p_1,n,this.k1p_1,t-n|0):Su(this,Ou(this,this.h1p_1,this.k1p_1,t,new fc(this.i1p_1[0])),n,this.k1p_1,0)},Mu.prototype.u1o=function(){return new Ku(this,this.h1p_1,this.i1p_1,this.k1p_1)},Mu.prototype.n=function(t){al().c2(t,this.j1p_1);var n=this.i1p_1;return new Yu(this.h1p_1,ln(n)?n:zt(),t,this.j1p_1,1+(this.k1p_1/hc()|0)|0)},Mu.prototype.g=function(t){al().d2(t,this.j1p_1);var n=function(t,n){if(xu(t)<=n)return t.i1p_1;for(var e=t.h1p_1,r=t.k1p_1;r>0;){var i=e[pc(n,r)];e=null!=i&&ln(i)?i:zt(),r=r-hc()|0}return e}(this,t)[t&cc()];return null==n||Ct(n)?n:zt()},Mu.prototype.p4=function(t,n){if(al().d2(t,this.j1p_1),xu(this)<=t){var e=Qn(this.i1p_1,ac());return e[t&cc()]=n,new Mu(this.h1p_1,e,this.j1p_1,this.k1p_1)}return new Mu(Pu(this,this.h1p_1,this.k1p_1,t,n),this.i1p_1,this.j1p_1,this.k1p_1)},Mu.$metadata$=kt("PersistentVector",[pu],void 0,void 0,void 0,bu.prototype),Ku.prototype.f=function(){return this.u1p_1},Ku.prototype.v1p=function(){return this.pf_1},Ku.prototype.s1o=function(){var t;return this.s1p_1===this.o1p_1&&this.t1p_1===this.p1p_1?t=this.n1p_1:(this.r1p_1=new ul,this.o1p_1=this.s1p_1,this.p1p_1=this.t1p_1,t=null==this.s1p_1?0===this.t1p_1.length?sc():new nc(Qn(this.t1p_1,this.u1p_1)):new Mu(pn(this.s1p_1),this.t1p_1,this.u1p_1,this.q1p_1)),this.n1p_1=t,this.n1p_1},Ku.prototype.a=function(t){this.pf_1=this.pf_1+1|0;var n=Eu(this);if(n=t.f()){this.t1p_1=Nu(0,Iu(this,this.t1p_1),e,r);this.u1p_1=this.u1p_1+t.f()|0}else{var i=((t.f()+e|0)-1|0)/ac()|0,o=Vn(Array(i),null);o[0]=Nu(0,Iu(this,this.t1p_1),e,r);var s=1;if(s>hc()<1<=e)return Fu(this,this.s1p_1,t-e|0,n),wt();var r=new fc(null),i=Hu(this,pn(this.s1p_1),this.q1p_1,t,n,r),o=r.l1p_1;Fu(this,i,0,null==o||Ct(o)?o:zt())},Ku.prototype.g=function(t){al().d2(t,this.u1p_1);var n=function(t,n){if(Au(t)<=n)return t.t1p_1;for(var e=pn(t.s1p_1),r=t.q1p_1;r>0;){var i=e[pc(n,r)];e=null!=i&&ln(i)?i:zt(),r=r-hc()|0}return e}(this,t)[t&cc()];return null==n||Ct(n)?n:zt()},Ku.prototype.n4=function(t){al().d2(t,this.u1p_1);this.pf_1=this.pf_1+1|0;var n=Au(this);if(t>=n){var e=Uu(this,this.s1p_1,n,this.q1p_1,t-n|0);return null==e||Ct(e)?e:zt()}var r=new fc(this.t1p_1[0]);Uu(this,Vu(this,pn(this.s1p_1),this.q1p_1,t,r),n,this.q1p_1,0);var i=r.l1p_1;return null==i||Ct(i)?i:zt()},Ku.prototype.p4=function(t,n){if(al().d2(t,this.u1p_1),Au(this)<=t){var e=Iu(this,this.t1p_1);if(e!==this.t1p_1){var r=this.pf_1;this.pf_1=r+1|0}var i=t&cc(),o=e[i];return e[i]=n,this.t1p_1=e,null==o||Ct(o)?o:zt()}var s=new fc(null);this.s1p_1=Ju(this,pn(this.s1p_1),this.q1p_1,t,n,s);var a=s.l1p_1;return null==a||Ct(a)?a:zt()},Ku.prototype.c=function(){return this.d1p()},Ku.prototype.d1p=function(){return this.n(0)},Ku.prototype.n=function(t){return al().c2(t,this.u1p_1),new Zu(this,t)},Ku.$metadata$=kt("PersistentVectorBuilder",[hu],void 0,void 0,void 0,ce.prototype),Yu.prototype.e=function(){if(this.b1p(),this.z1p_1.d()){var t=this.z1o_1;return this.z1o_1=t+1|0,this.z1p_1.e()}var n=this.z1o_1;return this.z1o_1=n+1|0,this.y1p_1[n-this.z1p_1.a1p_1|0]},Yu.prototype.q=function(){if(this.c1p(),this.z1o_1>this.z1p_1.a1p_1){var t=this;return t.z1o_1=t.z1o_1-1|0,this.y1p_1[t.z1o_1-this.z1p_1.a1p_1|0]}var n=this.z1o_1;return this.z1o_1=n-1|0,this.z1p_1.q()},Yu.$metadata$=kt("PersistentVectorIterator",void 0,void 0,void 0,void 0,$u.prototype),Zu.prototype.q=function(){Xu(this),this.c1p(),this.k1q_1=this.z1o_1-1|0;var t=this.j1q_1;if(null==t){var n=this.h1q_1.t1p_1,e=this;e.z1o_1=e.z1o_1-1|0;var r=n[e.z1o_1];return null==r||Ct(r)?r:zt()}var i=t;if(this.z1o_1>i.a1p_1){var o=this.h1q_1.t1p_1,s=this;s.z1o_1=s.z1o_1-1|0;var a=o[s.z1o_1-i.a1p_1|0];return null==a||Ct(a)?a:zt()}var u=this.z1o_1;return this.z1o_1=u-1|0,i.q()},Zu.prototype.e=function(){Xu(this),this.b1p(),this.k1q_1=this.z1o_1;var t=this.j1q_1;if(null==t){var n=this.h1q_1.t1p_1,e=this.z1o_1;this.z1o_1=e+1|0;var r=n[e];return null==r||Ct(r)?r:zt()}var i=t;if(i.d()){var o=this.z1o_1;return this.z1o_1=o+1|0,i.e()}var s=this.h1q_1.t1p_1,a=this.z1o_1;this.z1o_1=a+1|0;var u=s[a-i.a1p_1|0];return null==u||Ct(u)?u:zt()},Zu.prototype.o4=function(){var t;Xu(this),function(t){if(-1===t.k1q_1)throw le()}(this),this.h1q_1.n4(this.k1q_1),this.k1q_10&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,t.w1q_1[s]))return!0}while(s!==i);return!1}(i,n):i.x1q(t,n,e+5|0)}return!1},Wc.prototype.y1q=function(t,n,e){var r=1<0&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,Tc(t,s)))return Bc(t,s)}while(s!==i);return null}(o,n):o.y1q(t,n,e+5|0)}return null},Wc.prototype.z1q=function(t,n,e,r){var i=1<0&&i<=o||s<0&&o<=i)do{var a=i;if(i=i+s|0,Ht(n,Tc(t,a))){if(e===Bc(t,a))return null;var u=t.w1q_1.slice();return u[a+1|0]=e,Ic(Mc(0,0,u))}}while(a!==o);return Ec(Mc(0,0,Kc(t.w1q_1,0,n,e)))}(u,n,e);if(null==c)return null;s=c}else{var l=u.z1q(t,n,e,r+5|0);if(null==l)return null;s=l}var h,p=s,f=p;return h=Lc(this,a,i,p.a1r_1),f.a1r_1=h,p}return Ec(function(t,n,e,r){var i=t.i1s(n),o=Kc(t.w1q_1,i,e,r);return Mc(t.t1q_1|n,t.u1q_1,o)}(this,i,n,e))},Wc.prototype.c1r=function(t,n,e){var r=1<0&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,Tc(t,s)))return Hc(t,s)}while(s!==i);return t}(a,n):a.c1r(t,n,e+5|0),function(t,n,e,r,i){return null==e?Nc(t,r,i):n!==e?Lc(t,r,i,e):t}(this,a,o,s,r)}return this},Wc.$metadata$=kt("TrieNode"),Xc.prototype.y1o=function(){return this.x1o_1},Xc.$metadata$=en("Companion"),Qc.prototype.f=function(){return this.o1s_1.s1q_1},Qc.prototype.i=function(t){return this.o1s_1.u2(t)},Qc.prototype.a=function(t){if(this.o1s_1.u2(t))return this;if(this.h())return new Qc(t,t,this.o1s_1.v3(t,tl()));var n=this.n1s_1,e=null==n||Ct(n)?n:zt(),r=pn(this.o1s_1.a3(e)),i=this.o1s_1.v3(e,r.r1s(t)).v3(t,nl(e));return new Qc(this.m1s_1,t,i)},Qc.prototype.jf=function(t){var n=this.o1s_1.a3(t);if(null==n)return this;var e=n,r=this.o1s_1.og(t);if(e.s1s()){var i,o=r,s=e.p1s_1;i=(Ft(o,re)?o:zt()).a3(s);var a=pn(i),u=r,c=e.p1s_1;r=u.v3(null==c||Ct(c)?c:zt(),a.r1s(e.q1s_1))}if(e.u1s()){var l,h=r,p=e.q1s_1;l=(Ft(h,re)?h:zt()).a3(p);var f=pn(l),_=r,d=e.q1s_1;r=_.v3(null==d||Ct(d)?d:zt(),f.t1s(e.p1s_1))}return new Qc(e.s1s()?this.m1s_1:e.q1s_1,e.u1s()?this.n1s_1:e.p1s_1,r)},Qc.prototype.c=function(){return new rl(this.m1s_1,this.o1s_1)},Qc.$metadata$=kt("PersistentOrderedSet",[vu],void 0,void 0,void 0,ve.prototype),el.prototype.r1s=function(t){return new el(this.p1s_1,t)},el.prototype.t1s=function(t){return new el(t,this.q1s_1)},el.prototype.u1s=function(){return!(this.q1s_1===ol())},el.prototype.s1s=function(){return!(this.p1s_1===ol())},el.$metadata$=kt("Links"),rl.prototype.d=function(){return this.x1s_1=n)throw we("index: "+t+", size: "+n)},sl.prototype.c2=function(t,n){if(t<0||t>n)throw we("index: "+t+", size: "+n)},sl.$metadata$=en("ListImplementation"),ul.$metadata$=kt("MutabilityOwnership"),Sl.$metadata$=bt("StateObject"),ql.prototype.js=function(){return this.e1t_1()},ql.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[El]),Ol.prototype.js=function(){return this.f1t_1()},Ol.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[El]),Pl.prototype.z10=function(){return Hl()},Pl.prototype.e1k=function(t,n){var e=Hl(),r=e instanceof Il?e:null,i=null==r?null:r.g1t(t,n);if(null==i)throw St("Cannot create a mutable snapshot of an read-only snapshot");return i},Pl.prototype.f1m=function(t){return Ul(vl()),ml(),kl().a(t),new ql((n=t,function(){return ml(),kl().jf(n),wt(),wt()}));var n},Pl.prototype.h1t=function(t){return ml(),jl().a(t),Vl(),new Ol((n=t,function(){return ml(),jl().jf(n),Vl(),wt()}));var n},Pl.prototype.i1m=function(){return Hl().i1m()},Pl.prototype.d1j=function(){ml();var t=zl().ku().i1t();!0===(null==t?null:!t.h())&&Vl()},Pl.$metadata$=en("Companion"),Al.prototype.k1t=function(t){this.s1a_1=t},Al.prototype.j1t=function(){return this.s1a_1},Al.prototype.l1t=function(t){this.t1a_1=t},Al.prototype.x1a=function(){return this.t1a_1},Al.prototype.js=function(){this.u1a_1=!0,ml(),this.n1t(),wt()},Al.prototype.o1t=function(t){var n=this.f1k();try{return t()}finally{this.g1k(n)}},Al.prototype.f1k=function(){var t=yl().ku();return yl().q1h(this),t},Al.prototype.g1k=function(t){yl().q1h(t)},Al.prototype.p1t=function(){return this.u1a_1},Al.prototype.q1t=function(){return this.v1a_1>=0},Al.prototype.u1t=function(){ml(),this.v1t(),this.w1t(),wt()},Al.prototype.v1t=function(){gl($l().b1u(this.x1a()))},Al.prototype.w1t=function(){this.n1t()},Al.prototype.c1u=function(){if(this.u1a_1)throw rn(xt("Cannot use a disposed snapshot"))},Al.prototype.n1t=function(){this.v1a_1>=0&&(Fl(this.v1a_1),this.v1a_1=-1)},Al.prototype.d1u=function(){var t=this.v1a_1;return this.v1a_1=-1,t},Al.$metadata$=kt("Snapshot"),El.$metadata$=bt("ObserverHandle"),Il.prototype.r1t=function(){return this.m1k_1},Il.prototype.s1t=function(){return this.n1k_1},Il.prototype.g1t=function(t,n){this.c1u(),this.h1u(),this.i1u(this.x1a()),ml();var e=wl();bl(e+1|0);var r=e;gl($l().j1u(r));var i=this.j1t();this.k1t(i.j1u(r));var o=new Jl(r,Kl(i,this.x1a()+1|0,r),function(t,n,e,r,i){return 0!=(4&r)&&(e=!0),Yl(t,n,e)}(t,this.r1t(),!1,4),Gl(n,this.s1t()),this);if(!this.s1k_1&&!this.u1a_1){var s=this.x1a(),a=(ml(),wl());bl(a+1|0),this.l1t(a),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),s+1|0,this.x1a()))}return o},Il.prototype.u1k=function(){var t,n=this.i1t(),e=null!=n?Xl(zl().ku(),this,$l().b1u(zl().ku().x1a())):null;if(ml(),Zl(this),null==n||0===n.f()){this.v1t();var r=zl().ku();Ql(r,vl());var i=r.i1t();t=null!=i&&!i.h()?tn(Gt(kl()),i):tn(Yt(),null)}else{var o=zl().ku(),s=this.k1u(wl(),e,$l().b1u(o.x1a()));if(!Ht(s,Tl()))return s;this.v1t(),Ql(o,vl());var a=o.i1t();this.f1u(null),o.f1u(null),t=tn(Gt(kl()),a)}var u=t,c=u.l4(),l=u.m4();if(this.s1k_1=!0,null!=l&&!l.h()){var h=0,p=c.f()-1|0;if(h<=p)do{var f=h;h=h+1|0,c.g(f)(l,this)}while(h<=p)}if(null!=n&&!n.h()){var _=0,d=c.f()-1|0;if(_<=d)do{var v=_;_=_+1|0,c.g(v)(n,this)}while(_<=d)}return ml(),this.w1t(),wt(),Tl()},Il.prototype.m1t=function(){return!1},Il.prototype.js=function(){this.u1a_1||(Al.prototype.js.call(this),this.l1u(this))},Il.prototype.m1u=function(t){var n=this.r1k_1;this.r1k_1=n+1|0},Il.prototype.l1u=function(t){if(!(this.r1k_1>0))throw rn(xt("Failed requirement."));var n=this;n.r1k_1=n.r1k_1-1|0,0===n.r1k_1&&(this.s1k_1||function(t){var n=t.i1t();if(null!=n){t.e1u(),t.f1u(null);for(var e=t.x1a(),r=n.c();r.d();)for(var i=r.e().d1o();null!=i;)(i.v1n_1===e||Ce(t.p1k_1,i.v1n_1))&&(i.v1n_1=0),i=i.w1n_1}t.u1t()}(this))},Il.prototype.i1m=function(){if(this.s1k_1||this.u1a_1)return wt();this.n1u()},Il.prototype.v1t=function(){gl($l().b1u(this.x1a()).o1u(this.p1k_1))},Il.prototype.w1t=function(){this.p1u(),Al.prototype.w1t.call(this)},Il.prototype.e1u=function(){if(this.s1k_1)throw St(xt("Unsupported operation on a snapshot that has been applied"))},Il.prototype.h1u=function(){if(this.s1k_1&&!(this.v1a_1>=0))throw St(xt("Unsupported operation on a disposed or applied snapshot"))},Il.prototype.k1u=function(t,n,e){for(var r=null,i=this.j1t().j1u(this.x1a()).q1u(this.p1k_1),o=pn(this.i1t()),s=null,a=o.c();a.d();){var u=a.e(),c=u.d1o(),l=th(c,t,e);if(null!=l){var h=l,p=th(c,this.x1a(),i);if(null!=p){var f=p;if(!Ht(h,f)){var _,d=th(c,this.x1a(),this.j1t());null==d?nh():_=d;var v=_,y=null==n?null:n.a3(h),m=null==y?u.f1o(f,h,v):y,g=m;if(null==g)return new Bl(this);if(Ht(g,v));else if(Ht(g,h)){var $,b,w=r;null==w?(r=b=jt(),$=b):$=w,$.a(tn(u,h.u1n()));var x,k,j=s;null==j?(s=k=jt(),x=k):x=j,x.a(u)}else{var z,C,S=r;null==S?(r=C=jt(),z=C):z=S,z.a(Ht(m,f)?tn(u,f.u1n()):tn(u,m))}}}}}var q=r;if(null==q);else{this.n1u();var O=0,P=q.f()-1|0;if(O<=P){do{var M=O;O=O+1|0;var A=q.g(M),E=A.l4(),I=A.m4();I.v1n_1=this.x1a(),ml(),I.w1n_1=E.d1o(),E.e1o(I),wt()}while(O<=P);wt()}}var D=s;return null==D||o.lf(D),Tl()},Il.prototype.r1u=function(t){this.i1u(this.x1a());var n=t();if(!this.s1k_1&&!this.u1a_1){var e=this.x1a(),r=(ml(),wl());bl(r+1|0),this.l1t(r),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),e+1|0,this.x1a()))}return n},Il.prototype.n1u=function(){this.i1u(this.x1a());var t=wt();if(!this.s1k_1&&!this.u1a_1){var n=this.x1a(),e=(ml(),wl());bl(e+1|0),this.l1t(e),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),n+1|0,this.x1a()))}return t},Il.prototype.i1u=function(t){ml(),this.p1k_1=this.p1k_1.j1u(t),wt()},Il.prototype.s1u=function(t){if(t>=0){var n,e,r=this.q1k_1;e=new Int32Array([t]),n=Se([r,e]),this.q1k_1=n}},Il.prototype.t1u=function(t){if(0===t.length)return wt();var n=this.q1k_1;if(0===n.length)this.q1k_1=t;else{var e;e=Se([n,t]),this.q1k_1=e}},Il.prototype.p1u=function(){var t=0,n=this.q1k_1.length-1|0;if(t<=n)do{var e=t;t=t+1|0,Fl(this.q1k_1[e])}while(t<=n)},Il.prototype.u1u=function(t){ml(),this.p1k_1=this.p1k_1.q1u(t),wt()},Il.prototype.t1t=function(t){var n,e=this.i1t();if(null==e){var r=fn();this.f1u(r),n=r}else n=e;n.a(t)},Il.prototype.f1u=function(t){this.o1k_1=t},Il.prototype.i1t=function(){return this.o1k_1},Il.prototype.v1u=function(){return this.s1k_1},Il.$metadata$=kt("MutableSnapshot",void 0,void 0,void 0,void 0,Al.prototype),Dl.$metadata$=en("Success",void 0,void 0,void 0,void 0,Ll.prototype),Bl.$metadata$=kt("Failure",void 0,void 0,void 0,void 0,Ll.prototype),Ll.$metadata$=kt("SnapshotApplyResult"),Nl.prototype.g1t=function(t,n){return eh((e=t,r=n,function(t){ml();var n=wl();return bl(n+1|0),new Il(n,t,e,r)}));var e,r},Nl.prototype.i1m=function(){Vl()},Nl.prototype.p1v=function(t){qh()},Nl.prototype.l1u=function(t){return this.p1v(t)},Nl.prototype.q1v=function(t){qh()},Nl.prototype.m1u=function(t){return this.q1v(t)},Nl.prototype.u1k=function(){throw St("Cannot apply the global snapshot directly. Call Snapshot.advanceGlobalSnapshot")},Nl.prototype.js=function(){ml(),this.n1t(),wt()},Nl.$metadata$=kt("GlobalSnapshot",void 0,void 0,void 0,void 0,Il.prototype),Rl.prototype.y1n=function(t){this.v1n_1=t},Rl.prototype.z1n=function(t){this.w1n_1=t},Rl.$metadata$=kt("StateRecord"),Jl.prototype.t1m=function(){return this.m1w_1},Jl.prototype.js=function(){this.u1a_1||(Il.prototype.js.call(this),Wl(this))},Jl.prototype.u1k=function(){if(this.m1w_1.s1k_1||this.m1w_1.u1a_1)return new Bl(this);var t=this.i1t(),n=this.x1a(),e=null!=t?Xl(this.m1w_1,this,this.m1w_1.j1t()):null;if(ml(),Zl(this),null==t||0===t.f())this.u1t();else{var r=this.k1u(this.m1w_1.x1a(),e,this.m1w_1.j1t());if(!Ht(r,Tl()))return r;var i,o=this.m1w_1.i1t();if(null==o){var s=fn();this.m1w_1.f1u(s),i=s}else i=o;i.j1(t)}return this.m1w_1.x1a()0?this.t1v_1[0]:t},_h.prototype.x1v=function(t){!function(t,n){var e=t.t1v_1.length;if(n<=e)return wt();var r=$t(e,2),i=new Int32Array(r),o=new Int32Array(r),s=t.t1v_1,a=s.length;Hn(s,i,0,0,a);var u=t.u1v_1,c=u.length;Hn(u,o,0,0,c),t.t1v_1=i,t.u1v_1=o}(this,this.s1v_1+1|0);var n=this.s1v_1;this.s1v_1=n+1|0;var e=n,r=function(t){var n=t.v1v_1.length;if(t.w1v_1>=n){for(var e=0,r=$t(n,2),i=new Int32Array(r);e>1,i=n;i=0?(Me(),n=r<64):n=!1,n)return!new Bn(1,0).jb(r).wc(this.y1t_1).equals(new Bn(0,0));if(Me(),r>=64?(Me(),e=r<$t(64,2)):e=!1,e){var i=new Bn(1,0);return Me(),!i.jb(r-64|0).wc(this.x1t_1).equals(new Bn(0,0))}if(r>0)return!1;var o,s=this.a1u_1;return null!=(o=null==s?null:gh(s,t)>=0)&&o},mh.prototype.j1u=function(t){var n,e=t-this.z1t_1|0;if(e>=0?(Me(),n=e<64):n=!1,n){var r=new Bn(1,0).jb(e);if(this.y1t_1.wc(r).equals(new Bn(0,0)))return new mh(this.x1t_1,this.y1t_1.en(r),this.z1t_1,this.a1u_1)}else{var i;if(Me(),e>=64?(Me(),i=e<$t(64,2)):i=!1,i){var o=new Bn(1,0);Me();var s=o.jb(e-64|0);if(this.x1t_1.wc(s).equals(new Bn(0,0)))return new mh(this.x1t_1.en(s),this.y1t_1,this.z1t_1,this.a1u_1)}else if(Me(),e>=$t(64,2)){if(!this.g(t)){var a=this.x1t_1,u=this.y1t_1,c=this.z1t_1,l=null,h=t+1|0;Me();var p=h/64|0;Me();var f=$t(p,64);t:for(;c=0?(Me(),n=e<64):n=!1,n){var r=new Bn(1,0).jb(e);if(!this.y1t_1.wc(r).equals(new Bn(0,0)))return new mh(this.x1t_1,this.y1t_1.wc(r.dn()),this.z1t_1,this.a1u_1)}else{var i;if(Me(),e>=64?(Me(),i=e<$t(64,2)):i=!1,i){var o=new Bn(1,0);Me();var s=o.jb(e-64|0);if(!this.x1t_1.wc(s).equals(new Bn(0,0)))return new mh(this.x1t_1.wc(s.dn()),this.y1t_1,this.z1t_1,this.a1u_1)}else if(e<0){var a=this.a1u_1;if(null!=a){var u=gh(a,t);if(u>=0){var c=a.length-1|0;if(0===c)return new mh(this.x1t_1,this.y1t_1,this.z1t_1,null);var l=new Int32Array(c);return u>0&&Hn(a,l,0,0,u),u=0},jh.prototype.p=function(){return this.z1x_1+1|0},jh.prototype.q=function(){kh(this),zh(this.z1x_1,this.y1x_1.f());var t=this.y1x_1.g(this.z1x_1),n=this.z1x_1;return this.z1x_1=n-1|0,t},jh.prototype.d=function(){return this.z1x_1<(this.y1x_1.f()-1|0)},jh.prototype.e=function(){kh(this);var t=this.z1x_1+1|0;zh(t,this.y1x_1.f());var n=this.y1x_1.g(t);return this.z1x_1=t,n},jh.prototype.o4=function(){kh(this),this.y1x_1.n4(this.z1x_1);var t=this.z1x_1;this.z1x_1=t-1|0,this.a1y_1=this.y1x_1.q1x()},jh.$metadata$=kt("StateListIterator",[he]),Oh.$metadata$=bt("CompositionData"),Ph.$metadata$=bt("CompositionGroup",[Oh]),Eh.prototype.ku=function(){return this.i1f_1},Eh.prototype.o1w=function(t){this.i1f_1=t},Eh.prototype.k1f=function(t){var n=this.i1f_1;return this.i1f_1=t,n},Eh.prototype.o1g=function(t,n){var e;return Ht(t,this.i1f_1)?(this.i1f_1=n,e=!0):e=!1,e},Eh.$metadata$=kt("AtomicReference"),Ih.prototype.ku=function(){return this.p1h_1},Ih.prototype.q1h=function(t){this.p1h_1=t},Ih.$metadata$=kt("SnapshotThreadLocal"),Bh.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=2,this.j7_1=1,this.l1y_1=this,this.m1y_1=Re(It(this.l1y_1)),window.requestAnimationFrame(Th(this.k1y_1,this.m1y_1)),(t=Tn(this.m1y_1.ni(),this))===zn())return t;continue t;case 1:return t;case 2:throw this.m7_1}}catch(t){if(2===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Bh.$metadata$=kt("$withFrameNanosCOROUTINE$4",void 0,void 0,void 0,void 0,kn.prototype),Lh.prototype.d12=function(t,n){var e=new Bh(this,t,n);return e.l7_1=wt(),e.m7_1=null,e.q7()},Lh.$metadata$=kt("MonotonicClockImpl",[Mo]),Rh.prototype.r1a=function(t){return null},Rh.prototype.d1b=function(t){},Rh.$metadata$=en("Trace"),Uh.$metadata$=bt("ComposableLambda"),Wh.prototype.d1t=function(t){if(!Ht(this.a1t_1,t)){var n=null==this.a1t_1;this.a1t_1=t,n||function(t){if(t.z1s_1){var n=t.b1t_1;null!=n&&(n.b1h(),t.b1t_1=null);var e=t.c1t_1;if(null!=e){var r=0,i=e.f();if(r=2)for(var e=Bt(Tt(n).g35_1.b3()),r=n.c(),i=0;r.d();){var o=i;i=i+1|0;var s=r.e();if(0!==o){var a=Bt(s.g35_1.b3());if(!kt(e,a))throw Lt(It("Invalid order. Expected '"+e+"', but found '"+a+"'"))}}}(0,r);var b=function(t,n){return St(n," vs ",null,null,0,null,dr,30,null)}(0,r);return e.a(new mr(b,"",r)),e}(t,n))}function ur(t,n){return t.y35_1.da(n)}function cr(t,n){var e=t.w35_1.ca(n," "),r=Nt("\\s{2,}").ca(e," ");return It(Et(At(r)?r:xt()))}function lr(t,n){var e=t.x35_1.ca(n," "),r=Nt("\\s{2,}").ca(e," ");return It(Et(At(r)?r:xt()))}function hr(t,n){return!function(t,n){return t.v35_1.da(n)}(t,n)}function pr(t,n,e){var r;if(!Rt(e,n,!1,2,null))throw Lt(It("Invalid "+n+".Expected to start with '"+n+"' but found '"+e+"'"));var i=Ft(e,n,"",!1,4,null);r=Nt("\\s+").ca(i," ");for(var o=Ot(r,[", "],!1,0,6,null),s=Mt(Pt(o,10)),a=o.c();a.d();){var u,c,l=a.e(),h=Ft(l,",","",!1,4,null);c=It(Et(At(h)?h:xt())),u=Ot(c,[" "],!1,0,6,null),s.a(u)}for(var p=s,f=Dt(),_=p.c();_.d();){var d=_.e(),v=d.g(0),y=d.g(1),m=Ht(y);f.v3(v,m)}return f}function fr(t,n){var e;t:{for(var r=n.u35_1.c();r.d();){var i=r.e();if(Rt(t,i,!1,2,null)){e=i;break t}}e=null}return e}function _r(t){return It(Et(At(t)?t:xt()))}function dr(t){return t.f35_1}function vr(){y=this;for(var t,n=er(),e=Mt(n.length),r=n,i=0,o=r.length;i "+_);for(var y=Dt(),m=nn(["rgba(255, 99, 132, 1)","rgba(54, 162, 235, 1)","rgba(255, 206, 86, 1)","rgba(75, 192, 192, 1)","rgba(153, 102, 255, 1)","rgba(255, 159, 64, 1)"]),g=f.c();g.d();){var $,b=g.e(),w=Ot(b,[" "],!1,0,6,null).g(0),x=y.a3(w);if(null==x){m.h()&&m.a("rgba("+jr()+", "+jr()+", "+jr()+", 1)");var k=Tt(m);m.jf(k);var j=k;y.v3(w,j),$=j}else $=x;var z=$;r.v3(b,z)}var C=new xr(r,y);return Jt("groupMap: "+C),C}function jr(){var t=en(0,255);return on(t,rn())}function zr(){return $||($=!0,t=Nt("\\d+(.\\d+)?"),m=t),m;var t}function Cr(){g=this;var t;t=Nt("\\(input count : \\d+\\)$"),this.p35_1=t}function Sr(){return null==g&&new Cr,g}function qr(t,n){Sr(),this.r35_1=t,this.s35_1=n,this.t35_1=0}function Or(t,n){this.o36_1=t,this.p36_1=n,this.q36_1=8}function Pr(t,n,e,r,i,o){return function(t,n,e,r,i,o,s){return 0!=(8&i)&&(r="col-lg-6"),Mr.call(s,t,n,e,r),s}(t,n,e,r,i,0,Object.create(Mr.prototype))}function Mr(t,n,e,r){this.t36_1=t,this.u36_1=n,this.v36_1=e,this.w36_1=r,this.x36_1=8}function Ar(t,n,e){this.a36_1=t,this.b36_1=n,this.c36_1=e,this.d36_1=0}function Er(){b=this}function Ir(t,n,e){var r=n;return hn()&&ln(2098833845,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-1. (AutoFormUi.kt:30)"),pn("⌨️ Input",r,6),hn()&&fn(),jt()}function Dr(t,n,e){var r=n;return hn()&&ln(-1047390949,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-2. (AutoFormUi.kt:58)"),pn("Benchmark :",r,6),hn()&&fn(),jt()}function Tr(t,n,e){var r=n;return hn()&&ln(-1553178399,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-3. (AutoFormUi.kt:89)"),pn("💾 SAVE",r,6),hn()&&fn(),jt()}function Br(){var t;w=this,this.h37_1=(t=_n(2098833845,!1,Ir),function(n,e,r){return t.n1y(n,e,r)}),this.i37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1047390949,!1,Dr)),this.j37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1553178399,!1,Tr))}function Lr(){return null==w&&new Br,w}function Nr(t,n,e,r,i,o,s,a,u,c){var l=u;l=l.n1d(1546286992),dn(l,"C(FormUi$composable)P(!1,7,6,2,4,5,3)");var h,p,f=c;hn()&&ln(1546286992,f,-1,"components.FormUi$composable (AutoFormUi.kt:14)"),vn(jt(),(h=new Rr(r,t,null),(p=function(t,n){return h.p1j(t,n)}).$arity=1,p),l,64),yn(null,Lr().h37_1,l,48,1);var _=mn(l,950905109,!0,function(t,n,e,r,i,o,s,a,u){return function(c,l,h){var p=l;hn()&&ln(950905109,h,-1,"components.FormUi$composable. (AutoFormUi.kt:34)");var f=mn(p,-1972588882,!0,function(t,n,e,r,i,o,s,a,u){return function(c,l,h){var p=l;hn()&&ln(-1972588882,h,-1,"components.FormUi$composable.. (AutoFormUi.kt:35)"),p.h1a(-1629932720,"inputForm"),Hi(t,n,e,r,i,p,64|14&o>>3|896&o>>9|7168&o>>9|57344&o>>9);var f=p;f.e12(547886695),dn(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===gn().h12_1){var y=Fr;d.g12(y),_=y}else _=v;var m=_,g=null==m||$n(m)?m:xt();f.i12();var $=g,b=mn(p,-1534844198,!0,function(t,n){return function(e,r,i){var o=r;hn()&&ln(-1534844198,i,-1,"components.FormUi$composable.... (AutoFormUi.kt:51)");var s=o;s.e12(547886695),dn(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===gn().h12_1){var l=Hr;u.g12(l),a=l}else a=c;var h=a,p=null==h||$n(h)?h:xt();return s.i12(),Cn("benchmark",p,Lr().i37_1,o,390,0),Sn(t.a36_1,function(t,n){return function(e){return e.x20("benchmark"),e.w20(["form-control"]),jn(e,"Benchmark data"),zn(e,20),e.k28(function(t,n){return function(e){return t(n.f37(e.f2b_1,!1,!1,6,null)),jt()}}(t,n)),jt()}}(n,t),o,0,0),hn()&&(fn(),jt()),jt()}}(s,a)),w=p;w.e12(-838505973),dn(w,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k,j=w,z=w.j12(b),C=j.f12();if(z||C===gn().h12_1){var S=(k=b,function(t,n,e){return k.n1y(t,n,e)});j.g12(S),x=S}else x=C;var q=x,O=null==q||$n(q)?q:xt();return w.i12(),bn($,O,p,48,0),An(function(t,n){return function(e){return e.w20(["btn","btn-dark","float-end"]),e.u20(Ur),Wt(t.a36_1)&&(e.e20("disabled","true"),jt()),e.a21(function(t,n){return function(e){return t(n),jt()}}(n,t)),Mn(e,Pn()),jt()}}(s,u),Lr().j37_1,p,48,0),p.k1a(),hn()&&(fn(),jt()),jt()}}(t,n,e,r,i,o,s,a,u)),_=p;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===gn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||$n(b)?b:xt();return _.i12(),En(null,null,w,p,384,3),hn()&&(fn(),jt()),jt()}}(n,e,o,s,a,f,t,r,i)),d=l;d.e12(-838505973),dn(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.j12(_),$=m.f12();if(g||$===gn().h12_1){var b=(y=_,function(t,n,e){return y.n1y(t,n,e)});m.g12(b),v=b}else v=$;var w=v,x=null==w||$n(w)?w:xt();d.i12(),bn(null,x,l,48,1),hn()&&fn();var k=l.o1d();null===k||k.j1e(function(t,n,e,r,i,o,s,a,u){return function(c,l){return function(t,n,e,r,i,o,s,a,u,c,l){Nr(t,n,e,r,i,o,s,a,c,1|u)}(t,n,e,r,i,o,s,a,u,c),jt()}}(t,n,e,r,i,o,s,a,c))}function Rr(t,n,e){this.u37_1=t,this.v37_1=n,wn.call(this,e)}function Fr(t){return t.w20(["form-group"]),jt()}function Hr(t){return t.w20(["form-label"]),jt()}function Ur(t){return On(t,qn(10)),jt()}function Vr(t,n,e){var r=n;return hn()&&ln(1529185564,e,-1,"components.ComposableSingletons$AutoGroupToggleKt.lambda-1. (AutoGroupToggle.kt:29)"),pn("Auto Group:",r,6),hn()&&fn(),jt()}function Wr(){var t;x=this,this.x37_1=(t=_n(1529185564,!1,Vr),function(n,e,r){return t.n1y(n,e,r)})}function Jr(t,n,e,r){var i=e;i=i.n1d(442093563),dn(i,"C(AutoGroup$composable)");var o,s,a,u=r;if(0==(14&r)&&(u|=i.j1d(t)?4:2),0==(112&r)&&(u|=i.j12(n)?32:16),18==(91&u)&&i.v1b())i.z17();else{hn()&&ln(442093563,u,-1,"components.AutoGroup$composable (AutoGroupToggle.kt:10)");var c=i;c.e12(547886695),dn(c,"C(remember$composable):Composables.kt#9igjgp");var l,h=c,p=h.f12();if(p===gn().h12_1){var f=Kr;h.g12(f),l=f}else l=p;var _=l,d=null==_||$n(_)?_:xt();c.i12();var v=d,y=mn(i,1468648411,!0,(s=t,a=n,function(t,n,e){var r=n;hn()&&ln(1468648411,e,-1,"components.AutoGroup$composable. (AutoGroupToggle.kt:21)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,u=i,c=u.f12();if(c===gn().h12_1){var l=Gr;u.g12(l),o=l}else o=c;var h=o,p=null==h||$n(h)?h:xt();i.i12(),Cn("colorMap",p,(null==x&&new Wr,x).x37_1,r,390,0),Dn(null,r,0,1);var f=r;f.e12(-1124426577),dn(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=f,v=!!(f.j12(s)|f.j12(a)),y=d.f12();if(v||y===gn().h12_1){var m=function(t,n){return function(e){return e.x20("colorMap"),e.w20(["btn",t?"btn-success":"btn-secondary"]),e.a21(function(t){return function(n){return t(),jt()}}(n)),Mn(e,Pn()),jt()}}(s,a);d.g12(m),_=m}else _=y;var g=_,$=null==g||$n(g)?g:xt();f.i12();var b=$,w=mn(r,-431302815,!0,function(t){return function(n,e,r){var i=e;return hn()&&ln(-431302815,r,-1,"components.AutoGroup$composable.. (AutoGroupToggle.kt:42)"),pn(t?"ON":"OFF",i,0),hn()&&(fn(),jt()),jt()}}(s)),k=r;k.e12(-838505973),dn(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(w),q=C.f12();if(S||q===gn().h12_1){var O=(z=w,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||$n(P)?P:xt();return k.i12(),An(b,M,r,48,0),hn()&&(fn(),jt()),jt()})),m=i;m.e12(-838505973),dn(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===gn().h12_1){var k=(o=y,function(t,n,e){return o.n1y(t,n,e)});$.g12(k),g=k}else g=w;var j=g,z=null==j||$n(j)?j:xt();m.i12(),bn(v,z,i,48,0),hn()&&fn()}var C=i.o1d();null===C||C.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Jr(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function Kr(t){return t.w20(["form-group"]),t.u20(Yr),jt()}function Yr(t){return In(t,qn(10)),jt()}function Gr(t){return t.w20(["form-label"]),jt()}function Xr(t,n,e,r,i){var o=r;o=o.n1d(-1178138425),dn(o,"C(ChartUi$composable)P(2,1)");var s=i;hn()&&ln(-1178138425,s,-1,"components.ChartUi$composable (ChartUi.kt:14)");var a,u=mn(o,-1469495048,!0,(a=e,function(t,n,e){var r=n;return hn()&&ln(-1469495048,e,-1,"components.ChartUi$composable. (ChartUi.kt:19)"),pn(a.t36_1+" "+a.u36_1,r,0),hn()&&(fn(),jt()),jt()})),c=o;c.e12(-838505973),dn(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,h,p=c,f=c.j12(u),_=p.f12();if(f||_===gn().h12_1){var d=(h=u,function(t,n,e){return h.n1y(t,n,e)});p.g12(d),l=d}else l=_;var v=l,y=null==v||$n(v)?v:xt();c.i12(),yn(null,y,o,48,1);var m=o;m.e12(547886695),dn(m,"C(remember$composable):Composables.kt#9igjgp");var g,$=m,w=$.f12();if(w===gn().h12_1){var x=Zr;$.g12(x),g=x}else g=w;var k=g,j=null==k||$n(k)?k:xt();m.i12();var z=j,C=mn(o,1870993739,!0,function(t,n,e,r){return function(i,o,s){var a=o;return hn()&&ln(1870993739,s,-1,"components.ChartUi$composable. (ChartUi.kt:32)"),Jn(t,n,function(t,n,e,r){return function(i){for(var o=qt(),s=t.v36_1.u().c();s.d();){var a,u,c=s.e(),l=c.k2(),h=c.m2(),p={};p.label=l;var f,_=h.c3();if(u=Un(_),p.data=u,n){var d=e.k36_1,v=p.label;f=(kn(d,Vn)?d:xt()).a3(v)}else f=["rgba(255, 99, 132, 1)","rgba(54, 162, 235, 1)","rgba(255, 206, 86, 1)","rgba(75, 192, 192, 1)","rgba(153, 102, 255, 1)","rgba(255, 159, 64, 1)"];p.borderColor=f,p.borderWidth=3,a=p,o.a(a)}var y,m,g=r.u27(i),$={};null==b&&new Er,y="line",$.type=y;for(var w,x={},k=t.v36_1.c3(),j=qt(),z=k.c();z.d();){var C;C=z.e().b3(),tn(j,C)}var S,q,O=Xt(j),P=Un(O);Jt("labels: "+Wn(P)),w=P,x.labels=w,S=Un(o),x.datasets=S,m=x,$.data=m;var M,A,E={},I={};return A={display:!0},E.title=A,M=I,E.plugins=M,q=E,$.options=q,new ti(new J(g,$))}}(t,n,r,i),a,8|112&e<<3),hn()&&(fn(),jt()),jt()}}(e,t,s,n)),S=o;S.e12(-838505973),dn(S,"C(remember$composable)P(1):Composables.kt#9igjgp");var q,O=S,P=S.j12(C),M=O.f12();if(P||M===gn().h12_1){var A=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(C);O.g12(A),q=A}else q=M;var E=q,I=null==E||$n(E)?E:xt();S.i12(),Tn(z,I,o,48,0),hn()&&fn();var D=o.o1d();null===D||D.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){Xr(t,n,e,i,1|r)}(t,n,e,r,i),jt()}}(t,n,e,i))}function Zr(t){return t.u20(Qr),jt()}function Qr(t){return Ln(t,Bn(100)),Nn(t,Bn(100)),Rn(t,qn(700)),Fn(t,qn(700)),jt()}function ti(t){this.z37_1=t}function ni(t,n,e){var r=n;return hn()&&ln(-646215327,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-1. (EditableTitle.kt:29)"),pn("Title :",r,6),hn()&&fn(),jt()}function ei(t,n,e){var r=n;hn()&&ln(1730974274,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-2. (EditableTitle.kt:23)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=ri;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();i.i12(),Cn("customTitle",l,ci().a38_1,r,390,0);var h=Kn(),p=r;p.e12(547886695),dn(p,"C(remember$composable):Composables.kt#9igjgp");var f,_=p,d=_.f12();if(d===gn().h12_1){var v=ii;_.g12(v),f=v}else f=d;var y=f,m=null==y||$n(y)?y:xt();return p.i12(),Yn(h,m,r,8),hn()&&fn(),jt()}function ri(t){return t.w20(["form-label"]),jt()}function ii(t){return t.x20("customTitle"),t.w20(["form-control"]),Gn(t,"Custom title goes here"),t.u20(oi),jt()}function oi(t){return Xn(t,qn(24)),jt()}function si(t,n,e){var r=n;hn()&&ln(1174811809,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-3. (EditableTitle.kt:18)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=ai;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();return i.i12(),bn(l,ci().b38_1,r,48,0),hn()&&fn(),jt()}function ai(t){return t.w20(["form-group"]),jt()}function ui(){var t;k=this,this.a38_1=(t=_n(-646215327,!1,ni),function(n,e,r){return t.n1y(n,e,r)}),this.b38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(1730974274,!1,ei)),this.c38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(1174811809,!1,si))}function ci(){return null==k&&new ui,k}function li(t,n){var e=t;if(e=e.n1d(1068528252),dn(e,"C(EditableTitle$composable)"),0===n&&e.v1b())e.z17();else{hn()&&ln(1068528252,n,-1,"components.EditableTitle$composable (EditableTitle.kt:13)");var r=e;r.e12(547886695),dn(r,"C(remember$composable):Composables.kt#9igjgp");var i,o=r,s=o.f12();if(s===gn().h12_1){var a=hi;o.g12(a),i=a}else i=s;var u=i,c=null==u||$n(u)?u:xt();r.i12(),bn(c,ci().c38_1,e,48,0),hn()&&fn()}var l,h=e.o1d();null===h||h.j1e((l=n,function(t,n){return function(t,n,e){li(n,1|t)}(l,t),jt()}))}function hi(t){return t.w20(["row"]),jt()}function pi(t,n,e){var r=n;r=r.n1d(-1873638994),dn(r,"C(ErrorUi$composable)");var i,o,s=e;if(0==(14&e)&&(s|=r.j12(t)?4:2),2==(11&s)&&r.v1b())r.z17();else{hn()&&ln(-1873638994,e,-1,"components.ErrorUi$composable (Error.kt:8)");var a=r;a.e12(547886695),dn(a,"C(remember$composable):Composables.kt#9igjgp");var u,c=a,l=c.f12();if(l===gn().h12_1){var h=fi;c.g12(h),u=h}else u=l;var p=u,f=null==p||$n(p)?p:xt();a.i12();var _=f,d=mn(r,1938269174,!0,(o=t,function(t,n,e){var r=n;hn()&&ln(1938269174,e,-1,"components.ErrorUi$composable. (Error.kt:11)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var s,a=i,u=a.f12();if(u===gn().h12_1){var c=_i;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();i.i12();var p=h,f=mn(r,-1978518889,!0,function(t){return function(n,e,r){var i=e;hn()&&ln(-1978518889,r,-1,"components.ErrorUi$composable.. (Error.kt:14)");var o=i;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===gn().h12_1){var c=di;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();o.i12();var p=h,f=mn(i,153044343,!0,function(t){return function(n,e,r){var i=e;return hn()&&ln(153044343,r,-1,"components.ErrorUi$composable... (Error.kt:17)"),pn("❌ "+t,i,0),hn()&&(fn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===gn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||$n(b)?b:xt();return _.i12(),Zn(p,w,i,48,0),hn()&&(fn(),jt()),jt()}}(o)),_=r;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===gn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||$n(b)?b:xt();return _.i12(),bn(p,w,r,48,0),hn()&&(fn(),jt()),jt()})),v=r;v.e12(-838505973),dn(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.j12(d),$=m.f12();if(g||$===gn().h12_1){var b=(i=d,function(t,n,e){return i.n1y(t,n,e)});m.g12(b),y=b}else y=$;var w=y,x=null==w||$n(w)?w:xt();v.i12(),bn(_,x,r,48,0),hn()&&fn()}var k=r.o1d();null===k||k.j1e(function(t,n){return function(e,r){return function(t,n,e,r){pi(t,e,1|n)}(t,n,e),jt()}}(t,e))}function fi(t){return t.w20(["row"]),jt()}function _i(t){return t.w20(["col-lg-12"]),jt()}function di(t){return t.w20(["text-center"]),jt()}function vi(t,n,e){var r=n;return hn()&&ln(-1817257175,e,-1,"components.ComposableSingletons$HeadingKt.lambda-1. (Heading.kt:21)"),pn("📊 benchart",r,6),hn()&&fn(),jt()}function yi(t,n,e){var r=n;hn()&&ln(-1445218266,e,-1,"components.ComposableSingletons$HeadingKt.lambda-2. (Heading.kt:18)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=mi;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();return i.i12(),Qn(l,xi().d38_1,r,48,0),hn()&&fn(),jt()}function mi(t){return t.w20(["text-center"]),jt()}function gi(t,n,e){var r=n;hn()&&ln(-1522093819,e,-1,"components.ComposableSingletons$HeadingKt.lambda-3. (Heading.kt:11)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=$i;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();return i.i12(),bn(l,xi().e38_1,r,48,0),hn()&&fn(),jt()}function $i(t){return t.w20(["col-lg-12"]),t.u20(bi),jt()}function bi(t){return te(t,qn(30)),On(t,qn(30)),jt()}function wi(){var t;j=this,this.d38_1=(t=_n(-1817257175,!1,vi),function(n,e,r){return t.n1y(n,e,r)}),this.e38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1445218266,!1,yi)),this.f38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1522093819,!1,gi))}function xi(){return null==j&&new wi,j}function ki(t,n){var e=t;if(e=e.n1d(1340484778),dn(e,"C(Heading$composable)"),0===n&&e.v1b())e.z17();else{hn()&&ln(1340484778,n,-1,"components.Heading$composable (Heading.kt:8)");var r=e;r.e12(547886695),dn(r,"C(remember$composable):Composables.kt#9igjgp");var i,o=r,s=o.f12();if(s===gn().h12_1){var a=ji;o.g12(a),i=a}else i=s;var u=i,c=null==u||$n(u)?u:xt();r.i12(),bn(c,xi().f38_1,e,48,0),hn()&&fn()}var l,h=e.o1d();null===h||h.j1e((l=n,function(t,n){return function(t,n,e){ki(n,1|t)}(l,t),jt()}))}function ji(t){return t.w20(["row"]),jt()}function zi(){z=this}function Ci(){C=this;var t=new ne("components.SavedBenchmarkNode",this,2);t.l2m("key",!1),t.l2m("value",!1),this.g38_1=t,this.h38_1=8}function Si(){return null==C&&new Ci,C}function qi(t,n,e,r){return function(t,n,e,r,i){return 3!=(3&t)&&se(t,3,Si().g38_1),i.j38_1=n,i.k38_1=e,i}(t,n,e,0,Object.create(Oi.prototype))}function Oi(t,n){null==z&&new zi,this.j38_1=t,this.k38_1=n,this.l38_1=0}function Pi(){S=this}function Mi(){q=this;var t=new ne("components.SavedBenchmarks",this,1);t.l2m("items",!1),this.m38_1=t,this.n38_1=8}function Ai(){return null==q&&new Mi,q}function Ei(t,n,e){return function(t,n,e,r){return 1!=(1&t)&&se(t,1,Ai().m38_1),r.p38_1=n,r}(t,n,0,Object.create(Ii.prototype))}function Ii(t){null==S&&new Pi,this.p38_1=t,this.q38_1=8}function Di(){return to(),O}function Ti(t,n,e){var r=n;return hn()&&ln(37561396,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-1. (SavedBenchmarksDropDown.kt:35)"),pn("Load Benchmark :",r,6),hn()&&fn(),jt()}function Bi(t,n,e){var r=n;return hn()&&ln(-32633967,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-2. (SavedBenchmarksDropDown.kt:88)"),pn("Unsaved benchmark",r,6),hn()&&fn(),jt()}function Li(t,n,e){var r=n;return hn()&&ln(-652929765,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-3. (SavedBenchmarksDropDown.kt:114)"),pn("LOAD",r,6),hn()&&fn(),jt()}function Ni(t,n,e){var r=n;return hn()&&ln(-1219865148,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-4. (SavedBenchmarksDropDown.kt:130)"),pn("DELETE",r,6),hn()&&fn(),jt()}function Ri(){var t;P=this,this.r38_1=(t=_n(37561396,!1,Ti),function(n,e,r){return t.n1y(n,e,r)}),this.s38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-32633967,!1,Bi)),this.t38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-652929765,!1,Li)),this.u38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1219865148,!1,Ni))}function Fi(){return null==P&&new Ri,P}function Hi(t,n,e,r,i,o,s){to();var a=o;a=a.n1d(-441302567),dn(a,"C(SavedBenchmarksDropDown$composable)P(4,3,2,1)");var u,c,l,h,p,f,_=s;if(hn()&&ln(-441302567,_,-1,"components.SavedBenchmarksDropDown$composable (SavedBenchmarksDropDown.kt:15)"),n.h()){hn()&&fn();var d=a.o1d();return null===d||d.j1e((u=t,c=n,l=e,h=r,p=i,f=s,function(t,n){return function(t,n,e,r,i,o,s,a){Hi(t,n,e,r,i,s,1|o)}(u,c,l,h,p,f,t),jt()})),jt()}var v=a;v.e12(-838505973),dn(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.j12(n),$=m.f12();if(g||$===gn().h12_1){var b=Tt(n),w=ue(b,null,2,null);m.g12(w),y=w}else y=$;var x=y,k=null==x||$n(x)?x:xt();v.i12();var j=k,z=a;z.e12(547886695),dn(z,"C(remember$composable):Composables.kt#9igjgp");var C,S=z,q=S.f12();if(q===gn().h12_1){var O=Vi;S.g12(O),C=O}else C=q;var P=C,M=null==P||$n(P)?P:xt();z.i12(),Cn("savedBenchmarks",M,Fi().r38_1,a,390,0);var A=a;A.e12(547886695),dn(A,"C(remember$composable):Composables.kt#9igjgp");var E,I=A,D=I.f12();if(D===gn().h12_1){var T=Wi;I.g12(T),E=T}else E=D;var B=E,L=null==B||$n(B)?B:xt();A.i12();var N=L,R=mn(a,549151222,!0,function(t,n,e,r,i,o,s){return function(r,a,u){var c=a;hn()&&ln(549151222,u,-1,"components.SavedBenchmarksDropDown$composable. (SavedBenchmarksDropDown.kt:43)");var l=c;l.e12(547886695),dn(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===gn().h12_1){var _=Ji;p.g12(_),h=_}else h=f;var d=h,v=null==d||$n(d)?d:xt();l.i12();var y=v,m=mn(c,1940859863,!0,function(t,n,e,r,i,o,s){return function(r,a,u){var c=a;hn()&&ln(1940859863,u,-1,"components.SavedBenchmarksDropDown$composable.. (SavedBenchmarksDropDown.kt:48)");var l=c;l.e12(547886695),dn(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===gn().h12_1){var _=Ki;p.g12(_),h=_}else h=f;var d=h,v=null==d||$n(d)?d:xt();l.i12();var y=v,m=mn(c,461626232,!0,function(t,n,e,r,i){return function(r,o,s){var a=o;hn()&&ln(461626232,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:54)");var u=function(t,n,e){return function(r){return r.w20(["form-select"]),r.x20("savedBenchmarks"),r.y27(function(t,n,e){return function(r){var i=r.f2a_1;if(null==i);else{var o;t(i);t:{for(var s=n.c();s.d();){var a=s.e();if(a.j38_1===i){o=a;break t}}o=null}(function(t,n){to(),he("selectedBenchmark",ce,!0,(function(){return le()})),t.jy(n)})(e,pe(o)),jt()}return jt()}}(t,n,e)),jt()}}(t,n,e),c=mn(a,1692700999,!0,function(t,n,e,r){return function(n,i,o){var s=i;hn()&&ln(1692700999,o,-1,"components.SavedBenchmarksDropDown$composable.... (SavedBenchmarksDropDown.kt:67)");for(var a=t.c();a.d();){var u=a.e(),c=s;c.e12(-1058148781),dn(c,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var l,h=c,p=!!(!!(c.j12(u)|c.j12(e))|c.j12(r)),f=h.f12();if(p||f===gn().h12_1){var _=Yi(u,r,e);h.g12(_),l=_}else l=f;var d=l,v=null==d||$n(d)?d:xt();c.i12();var y,m=v,g=mn(s,1052804723,!0,Gi(u)),$=s;$.e12(-838505973),dn($,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w=$,x=$.j12(g),k=w.f12();if(x||k===gn().h12_1){var j=Xi(g);w.g12(j),b=j}else b=k;var z=b,C=null==z||$n(z)?z:xt();$.i12(),y=C,_e(u.j38_1,m,y,s,384,0)}var S=Di(),q=s;q.e12(-838505973),dn(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,P=q,M=q.j12(r),A=P.f12();if(M||A===gn().h12_1){var E=function(t){return function(n){return t&&(fe(n),jt()),jt()}}(r);P.g12(E),O=E}else O=A;var I=O,D=null==I||$n(I)?I:xt();return q.i12(),_e(S,D,Fi().s38_1,s,390,0),hn()&&(fn(),jt()),jt()}}(n,0,e,i)),l=a;l.e12(-838505973),dn(l,"C(remember$composable)P(1):Composables.kt#9igjgp");var h,p,f=l,_=l.j12(c),d=f.f12();if(_||d===gn().h12_1){var v=(p=c,function(t,n,e){return p.n1y(t,n,e)});f.g12(v),h=v}else h=d;var y=h,m=null==y||$n(y)?y:xt();return l.i12(),de(u,!1,m,a,384,2),hn()&&(fn(),jt()),jt()}}(t,n,e,0,i)),g=c;g.e12(-838505973),dn(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b,w=g,x=g.j12(m),k=w.f12();if(x||k===gn().h12_1){var j=(b=m,function(t,n,e){return b.n1y(t,n,e)});w.g12(j),$=j}else $=k;var z=$,C=null==z||$n(z)?z:xt();g.i12(),bn(y,C,c,48,0);var S=c;S.e12(547886695),dn(S,"C(remember$composable):Composables.kt#9igjgp");var q,O=S,P=O.f12();if(P===gn().h12_1){var M=Zi;O.g12(M),q=M}else q=P;var A=q,E=null==A||$n(A)?A:xt();S.i12();var I=E,D=mn(c,-282119967,!0,function(t,n,e,r,i){return function(t,o,s){var a=o;hn()&&ln(-282119967,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:98)");var u=a;u.e12(-1058148781),dn(u,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var c,l=u,h=!!(!!(u.j12(n)|u.j12(e))|u.j12(r)),p=l.f12();if(h||p===gn().h12_1){var f=function(t,n,e){return function(r){return r.w20(["btn","btn-primary"]),r.u20(Qi),r.a21(function(t,n){return function(e){return t(Ui(n)),jt()}}(n,e)),Mn(r,Pn()),t&&(ye(r),jt()),jt()}}(r,n,e);l.g12(f),c=f}else c=p;var _=c,d=null==_||$n(_)?_:xt();u.i12(),An(d,Fi().t38_1,a,48,0);var v=a;v.e12(-1058148781),dn(v,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var y,m=v,g=!!(!!(v.j12(i)|v.j12(e))|v.j12(r)),$=m.f12();if(g||$===gn().h12_1){var b=function(t,n,e){return function(r){return r.w20(["btn","btn-danger"]),r.a21(function(t,n){return function(e){return t(Ui(n)),jt()}}(n,e)),Mn(r,Pn()),t&&(ye(r),jt()),jt()}}(r,i,e);m.g12(b),y=b}else y=$;var w=y,x=null==w||$n(w)?w:xt();return v.i12(),An(x,Fi().u38_1,a,48,0),hn()&&(fn(),jt()),jt()}}(0,o,e,i,s)),T=c;T.e12(-838505973),dn(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var B,L=T,N=T.j12(D),R=L.f12();if(N||R===gn().h12_1){var F=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(D);L.g12(F),B=F}else B=R;var H=B,U=null==H||$n(H)?H:xt();return T.i12(),bn(I,U,c,48,0),hn()&&(fn(),jt()),jt()}}(t,n,e,0,i,o,s)),g=c;g.e12(-838505973),dn(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b,w=g,x=g.j12(m),k=w.f12();if(x||k===gn().h12_1){var j=(b=m,function(t,n,e){return b.n1y(t,n,e)});w.g12(j),$=j}else $=k;var z=$,C=null==z||$n(z)?z:xt();return g.i12(),bn(y,C,c,48,0),hn()&&(fn(),jt()),jt()}}(e,n,j,0,t,r,i)),F=a;F.e12(-838505973),dn(F,"C(remember$composable)P(1):Composables.kt#9igjgp");var H,U,V=F,W=F.j12(R),J=V.f12();if(W||J===gn().h12_1){var K=(U=R,function(t,n,e){return U.n1y(t,n,e)});V.g12(K),H=K}else H=J;var Y=H,G=null==Y||$n(Y)?Y:xt();F.i12(),bn(N,G,a,48,0),hn()&&fn();var X=a.o1d();null===X||X.j1e(function(t,n,e,r,i,o){return function(s,a){return function(t,n,e,r,i,o,s,a){Hi(t,n,e,r,i,s,1|o)}(t,n,e,r,i,o,s),jt()}}(t,n,e,r,i,s))}function Ui(t){return to(),he("selectedBenchmark",ce,!0,(function(){return le()})),t.m2()}function Vi(t){return to(),t.w20(["form-label"]),jt()}function Wi(t){return to(),t.w20(["form-group"]),jt()}function Ji(t){return to(),t.w20(["row"]),jt()}function Ki(t){return to(),t.w20(["col"]),jt()}function Yi(t,n,e){return function(r){return t.j38_1!==Ui(e).j38_1||n||(fe(r),jt()),jt()}}function Gi(t){return function(n,e,r){var i=e;return hn()&&ln(1052804723,r,-1,"components.SavedBenchmarksDropDown$composable..... (SavedBenchmarksDropDown.kt:76)"),pn(t.j38_1,i,0),hn()&&(fn(),jt()),jt()}}function Xi(t){return function(n,e,r){return t.n1y(n,e,r)}}function Zi(t){return to(),t.w20(["col"]),jt()}function Qi(t){return to(),ve(t,qn(10)),jt()}function to(){M||(M=!0,O="unsavedBenchmark_"+(new Date).getMilliseconds())}function no(t,n,e,r,i,o,s,a,u,c){this.w38_1=t,this.x38_1=n,this.y38_1=e,this.z38_1=r,this.a39_1=i,this.b39_1=o,this.c39_1=s,this.d39_1=a,this.e39_1=u,this.f39_1=c,this.g39_1=0}function eo(t,n){this.p39_1=t,this.q39_1=n,this.r39_1=8}function ro(t){return Ce("el",1,ze,(function(t){return ro(t)}),null),t.t39_1.m2()}function io(t){var n;this.s39_1=t,this.t39_1=me((n=this,function(){return document.createElement(n.s39_1)}))}function oo(t,n,e){var r=n;return hn()&&ln(323270151,e,-1,"components.ComposableSingletons$SummaryKt.lambda-1. (Summary.kt:162)"),pn("vs",r,6),hn()&&fn(),jt()}function so(t,n,e){var r=n;return hn()&&ln(-1108287470,e,-1,"components.ComposableSingletons$SummaryKt.lambda-2. (Summary.kt:161)"),po(null,co().u39_1,r,48,1),hn()&&fn(),jt()}function ao(t,n,e){var r=n;return hn()&&ln(2132966384,e,-1,"components.ComposableSingletons$SummaryKt.lambda-3. (Summary.kt:160)"),$e(null,co().v39_1,r,48,1),hn()&&fn(),jt()}function uo(){var t;E=this,this.u39_1=(t=_n(323270151,!1,oo),function(n,e,r){return t.n1y(n,e,r)}),this.v39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1108287470,!1,so)),this.w39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(2132966384,!1,ao))}function co(){return null==E&&new uo,E}function lo(t,n,e,r){Ao();var i=e;i=i.n1d(1753254121),dn(i,"C(SummaryContainer$composable)");var o=r;hn()&&ln(1753254121,o,-1,"components.SummaryContainer$composable (Summary.kt:35)"),t(i,14&o),Dn(null,i,0,1);for(var s=n.c();s.d();){var a=s.e();i.h1a(-380220126,a.p39_1),fo(a.p39_1,a.q39_1,i,64),Dn(null,i,0,1),i.k1a()}hn()&&fn();var u,c,l,h=i.o1d();null===h||h.j1e((u=t,c=n,l=r,function(t,n){return function(t,n,e,r,i){lo(t,n,r,1|e)}(u,c,l,t),jt()}))}function ho(t,n,e,r,i,o,s,a,u,c,l){Ao();var h=c;h=h.n1d(1501225216),dn(h,"C(SummarySelector$composable)P(!1,8,2,5!1,6,7)");var p=l;hn()&&ln(1501225216,p,-1,"components.SummarySelector$composable (Summary.kt:52)");var f=h;f.e12(547886695),dn(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===gn().h12_1){var y=vo;d.g12(y),_=y}else _=v;var m=_,g=null==m||$n(m)?m:xt();f.i12();var $,b,w,x,k,j=g,z=mn(h,2020978206,!0,($=p,b=e,w=t,x=r,k=n,function(t,n,e){var r=n;hn()&&ln(2020978206,e,-1,"components.SummarySelector$composable. (Summary.kt:68)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=yo;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();i.i12();var h=l,p=mn(r,-871838913,!0,function(t,n,e){return function(r,i,o){var s=i;hn()&&ln(-871838913,o,-1,"components.SummarySelector$composable.. (Summary.kt:74)");var a=s;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(n),h=c.f12();if(l||h===gn().h12_1){var p=function(t){return function(n){return n.w20(["btn","btn-outline-dark","btn-sm"]),n.a21(function(t){return function(n){return t(),jt()}}(t)),Mn(n,Pn()),jt()}}(n);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();a.i12();var d=_,v=mn(s,-1132288775,!0,function(t,n){return function(e,r,i){var o=r;return hn()&&ln(-1132288775,i,-1,"components.SummarySelector$composable... (Summary.kt:84)"),pn(t,o,14&n),hn()&&(fn(),jt()),jt()}}(e,t)),y=s;y.e12(-838505973),dn(y,"C(remember$composable)P(1):Composables.kt#9igjgp");var m,g,$=y,b=y.j12(v),w=$.f12();if(b||w===gn().h12_1){var x=(g=v,function(t,n,e){return g.n1y(t,n,e)});$.g12(x),m=x}else m=w;var k=m,j=null==k||$n(k)?k:xt();return y.i12(),An(d,j,s,48,0),hn()&&(fn(),jt()),jt()}}($,b,w)),f=r;f.e12(-838505973),dn(f,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d,v=f,y=f.j12(p),m=v.f12();if(y||m===gn().h12_1){var g=(d=p,function(t,n,e){return d.n1y(t,n,e)});v.g12(g),_=g}else _=m;var j=_,z=null==j||$n(j)?j:xt();f.i12(),bn(h,z,r,48,0);var C=r;C.e12(547886695),dn(C,"C(remember$composable):Composables.kt#9igjgp");var S,q=C,O=q.f12();if(O===gn().h12_1){var P=mo;q.g12(P),S=P}else S=O;var M=S,A=null==M||$n(M)?M:xt();C.i12();var E=A,I=mn(r,782244392,!0,function(t,n,e){return function(r,i,o){var s=i;hn()&&ln(782244392,o,-1,"components.SummarySelector$composable.. (Summary.kt:93)");var a=s;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(n),h=c.f12();if(l||h===gn().h12_1){var p=function(t){return function(n){return n.w20(["btn","btn-outline-dark","btn-sm"]),n.a21(function(t){return function(n){return t(),jt()}}(t)),Mn(n,Pn()),jt()}}(n);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();a.i12();var d=_,v=mn(s,-401969822,!0,function(t,n){return function(e,r,i){var o=r;return hn()&&ln(-401969822,i,-1,"components.SummarySelector$composable... (Summary.kt:103)"),pn(t,o,14&n>>3),hn()&&(fn(),jt()),jt()}}(e,t)),y=s;y.e12(-838505973),dn(y,"C(remember$composable)P(1):Composables.kt#9igjgp");var m,g=y,$=y.j12(v),b=g.f12();if($||b===gn().h12_1){var w=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(v);g.g12(w),m=w}else m=b;var x=m,k=null==x||$n(x)?x:xt();return y.i12(),An(d,k,s,48,0),hn()&&(fn(),jt()),jt()}}($,x,k)),D=r;D.e12(-838505973),dn(D,"C(remember$composable)P(1):Composables.kt#9igjgp");var T,B=D,L=D.j12(I),N=B.f12();if(L||N===gn().h12_1){var R=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(I);B.g12(R),T=R}else T=N;var F=T,H=null==F||$n(F)?F:xt();return D.i12(),bn(E,H,r,48,0),hn()&&(fn(),jt()),jt()})),C=h;C.e12(-838505973),dn(C,"C(remember$composable)P(1):Composables.kt#9igjgp");var S,q,O=C,P=C.j12(z),M=O.f12();if(P||M===gn().h12_1){var A=(q=z,function(t,n,e){return q.n1y(t,n,e)});O.g12(A),S=A}else S=M;var E=S,I=null==E||$n(E)?E:xt();C.i12(),bn(j,I,h,48,0);var D=h;D.e12(547886695),dn(D,"C(remember$composable):Composables.kt#9igjgp");var T,B=D,L=B.f12();if(L===gn().h12_1){var N=go;B.g12(N),T=N}else T=L;var R=T,F=null==R||$n(R)?R:xt();D.i12();var H,U,V,W,J,K=F,Y=mn(h,-569509561,!0,(H=a,U=u,V=i,W=o,J=s,function(t,n,e){var r=n;hn()&&ln(-569509561,e,-1,"components.SummarySelector$composable. (Summary.kt:114)");var i=0;if(i<2)do{var o=i;i=i+1|0,r.h1a(1520191051,"block-selector-"+o);var s=r;s.e12(547886695),dn(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===gn().h12_1){var l=$o;u.g12(l),a=l}else a=c;var h=a,p=null==h||$n(h)?h:xt();s.i12();var f=p,_=mn(r,-850201877,!0,jo(0,o,H,U,V,W,J)),d=r;d.e12(-838505973),dn(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y=d,m=d.j12(_),g=y.f12();if(m||g===gn().h12_1){var $=zo(_);y.g12($),v=$}else v=g;var b=v,w=null==b||$n(b)?b:xt();if(d.i12(),bn(f,w,r,48,0),0===o){var x=r;x.e12(547886695),dn(x,"C(remember$composable):Composables.kt#9igjgp");var k,j=x,z=j.f12();if(z===gn().h12_1){var C=Co;j.g12(C),k=C}else k=z;var S=k,q=null==S||$n(S)?S:xt();x.i12(),bn(q,co().w39_1,r,48,0)}r.k1a()}while(i<2);return hn()&&(fn(),jt()),jt()})),G=h;G.e12(-838505973),dn(G,"C(remember$composable)P(1):Composables.kt#9igjgp");var X,Z=G,Q=G.j12(Y),tt=Z.f12();if(Q||tt===gn().h12_1){var nt=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(Y);Z.g12(nt),X=nt}else X=tt;var et=X,rt=null==et||$n(et)?et:xt();G.i12(),bn(K,rt,h,48,0),hn()&&fn();var it=h.o1d();null===it||it.j1e(function(t,n,e,r,i,o,s,a,u,c){return function(l,h){return function(t,n,e,r,i,o,s,a,u,c,l,h){ho(t,n,e,r,i,o,s,a,u,l,1|c)}(t,n,e,r,i,o,s,a,u,c,l),jt()}}(t,n,e,r,i,o,s,a,u,l))}function po(t,n,e,r,i){Ao();var o={_v:t},s={_v:n},a=e;a=a.n1d(-1706683414),dn(a,"C(Strong$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),hn()&&ln(-1706683414,u,-1,"components.Strong$composable (Summary.kt:188)"),be((Ao(),A),o._v,s._v,a,8|112&u<<3|896&u<<3),hn()&&fn());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){po(t._v,n._v,i,1|e,r)}(c,l,h,p,t),jt()}))}function fo(t,n,e,r){Ao();var i=e;i=i.n1d(1271998269),dn(i,"C(SummaryUi$composable)P(1)");var o=r;hn()&&ln(1271998269,o,-1,"components.SummaryUi$composable (Summary.kt:194)");var s=i;s.e12(547886695),dn(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===gn().h12_1){var l=So;u.g12(l),a=l}else a=c;var h=a,p=null==h||$n(h)?h:xt();s.i12();var f,_,d,v=p,y=mn(i,1135450184,!0,(f=t,_=o,d=n,function(t,n,e){var r=n;hn()&&ln(1135450184,e,-1,"components.SummaryUi$composable. (Summary.kt:199)");var i=mn(r,-1777780889,!0,function(t,n){return function(e,r,i){var o=r;return hn()&&ln(-1777780889,i,-1,"components.SummaryUi$composable.. (Summary.kt:200)"),pn(t,o,14&n),hn()&&(fn(),jt()),jt()}}(f,_)),o=r;o.e12(-838505973),dn(o,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a,u=o,c=o.j12(i),l=u.f12();if(c||l===gn().h12_1){var h=(a=i,function(t,n,e){return a.n1y(t,n,e)});u.g12(h),s=h}else s=l;var p=s,v=null==p||$n(p)?p:xt();o.i12(),yn(null,v,r,48,1);var y=mn(r,328569139,!0,function(t){return function(n,e,r){var i=e;hn()&&ln(328569139,r,-1,"components.SummaryUi$composable.. (Summary.kt:201)");for(var o=t.c();o.d();){var s=o.e(),a=mn(i,-1319792079,!0,Oo(s)),u=i;u.e12(-838505973),dn(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,l=u,h=u.j12(a),p=l.f12();if(h||p===gn().h12_1){var f=Po(a);l.g12(f),c=f}else c=p;var _=c,d=null==_||$n(_)?_:xt();u.i12(),xe(null,d,i,48,1)}return hn()&&(fn(),jt()),jt()}}(d)),m=r;m.e12(-838505973),dn(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===gn().h12_1){var x=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(y);$.g12(x),g=x}else g=w;var k=g,j=null==k||$n(k)?k:xt();return m.i12(),ke(null,j,r,48,1),hn()&&(fn(),jt()),jt()})),m=i;m.e12(-838505973),dn(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$,b=m,w=m.j12(y),x=b.f12();if(w||x===gn().h12_1){var k=($=y,function(t,n,e){return $.n1y(t,n,e)});b.g12(k),g=k}else g=x;var j=g,z=null==j||$n(j)?j:xt();m.i12(),bn(v,z,i,48,0),hn()&&fn();var C=i.o1d();null===C||C.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){fo(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function _o(t,n,e,r,i){Ao();var o={_v:n},s=e;s=s.n1d(-1073265847);var a,u,c,l,h=r;if(0!=(1&i)?h|=6:0==(14&r)&&(h|=s.j12(t)?4:2),0!=(2&i)?h|=48:0==(112&r)&&(h|=s.j12(o._v)?32:16),18==(91&h)&&s.v1b())s.z17();else{0!=(2&i)&&(o._v=null),hn()&&ln(-1073265847,h,-1,"components.BoldText$composable (Summary.kt:242)");var p=o._v,f=s;f.e12(-838505973),dn(f,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d=f,v=f.j12(p),y=d.f12();if(v||y===gn().h12_1){var m=(l=o,function(t){var n=l._v;return null==n||n(t),t.u20(Mo),jt()});d.g12(m),_=m}else _=y;var g=_,$=null==g||$n(g)?g:xt();f.i12();var b=$,w=mn(s,-374759312,!0,(u=t,c=h,function(t,n,e){var r=n;return hn()&&ln(-374759312,e,-1,"components.BoldText$composable. (Summary.kt:253)"),pn(u,r,14&c),hn()&&(fn(),jt()),jt()})),x=s;x.e12(-838505973),dn(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j=x,z=x.j12(w),C=j.f12();if(z||C===gn().h12_1){var S=(a=w,function(t,n,e){return a.n1y(t,n,e)});j.g12(S),k=S}else k=C;var q=k,O=null==q||$n(q)?q:xt();x.i12(),we(b,O,s,48,0),hn()&&fn()}var P=s.o1d();null===P||P.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){_o(t,n._v,i,1|e,r)}(t,n,e,r,i),jt()}}(t,o,r,i))}function vo(t){return Ao(),t.w20(["row","mb-3"]),jt()}function yo(t){return Ao(),t.w20(["col-auto"]),jt()}function mo(t){return Ao(),t.w20(["col-auto"]),jt()}function go(t){return Ao(),t.w20(["row"]),jt()}function $o(t){return Ao(),t.w20(["col"]),jt()}function bo(t,n,e){return function(r){return r.w20(["form-select"]),r.x27(function(t,n,e){return function(r){var i=r.f2b_1;return null==i||(0===t?n(i):e(i)),jt()}}(t,n,e)),jt()}}function wo(t,n,e,r){return function(i){return r===(0===t?n:e)&&(fe(i),jt()),jt()}}function xo(t){return function(n,e,r){var i=e;return hn()&&ln(1538427302,r,-1,"components.SummarySelector$composable...... (Summary.kt:148)"),pn(t,i,0),hn()&&(fn(),jt()),jt()}}function ko(t){return function(n,e,r){return t.n1y(n,e,r)}}function jo(t,n,e,r,i,o,s){return function(t,a,u){var c=a;hn()&&ln(-850201877,u,-1,"components.SummarySelector$composable.... (Summary.kt:121)");var l=c;l.e12(-1058148781),dn(l,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var h,p=l,f=!!(!!(l.j12(n)|l.j12(e))|l.j12(r)),_=p.f12();if(f||_===gn().h12_1){var d=bo(n,e,r);p.g12(d),h=d}else h=_;var v=h,y=null==v||$n(v)?v:xt();l.i12();var m=y,g=mn(c,1162597754,!0,function(t,n,e,r){return function(i,o,s){var a=o;hn()&&ln(1162597754,s,-1,"components.SummarySelector$composable..... (Summary.kt:137)");for(var u=t.c();u.d();){var c=u.e(),l=a;l.e12(-1603429786),dn(l,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var h=!1,p=[n,e,r,c],f=0,_=p.length;f<_;){var d=p[f];f=f+1|0,h=!!(h|l.j12(d))}var v,y=l,m=h,g=y.f12();if(m||g===gn().h12_1){var $=wo(n,e,r,c);y.g12($),v=$}else v=g;var b=v,w=null==b||$n(b)?b:xt();l.i12();var x=w,k=mn(a,1538427302,!0,xo(c)),j=a;j.e12(-838505973),dn(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var z,C=j,S=j.j12(k),q=C.f12();if(S||q===gn().h12_1){var O=ko(k);C.g12(O),z=O}else z=q;var P=z,M=null==P||$n(P)?P:xt();j.i12(),_e(c,x,M,a,384,0)}return hn()&&(fn(),jt()),jt()}}(i,n,o,s)),$=c;$.e12(-838505973),dn($,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,x=$,k=$.j12(g),j=x.f12();if(k||j===gn().h12_1){var z=(w=g,function(t,n,e){return w.n1y(t,n,e)});x.g12(z),b=z}else b=j;var C=b,S=null==C||$n(C)?C:xt();return $.i12(),de(m,!1,S,c,384,2),hn()&&(fn(),jt()),jt()}}function zo(t){return function(n,e,r){return t.n1y(n,e,r)}}function Co(t){return Ao(),t.w20(["col-auto"]),jt()}function So(t){return Ao(),t.w20(["row"]),jt()}function qo(t){return Ao(),t.w20(["text-capitalize"]),jt()}function Oo(t){return function(n,e,r){var i,o=e;hn()&&ln(-1319792079,r,-1,"components.SummaryUi$composable.... (Summary.kt:203)"),pn(t.x38_1+" ",o,0);var s=o;s.e12(547886695),dn(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===gn().h12_1){var l=qo;u.g12(l),a=l}else a=c;var h=a,p=null==h||$n(h)?h:xt();s.i12(),i=p,_o(t.y38_1,i,o,0,0),pn(" : ",o,6),_o(t.z38_1,null,o,0,2),pn(t.w38_1?" looks ":" performed ",o,0),_o(t.a39_1+"% ",null,o,0,2);var f=t.w38_1?"":"ms",_=o;_.e12(-1124426577),dn(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(t)|_.j12(f)),m=v.f12();if(y||m===gn().h12_1){var g=function(t,n){return function(e){var r=0===t.c39_1?"secondary":t.c39_1>0?"danger":"success";return e.w20(["badge","bg-"+r]),e.e20("data-bs-toggle","tooltip"),e.e20("data-bs-placement","top"),e.e20("title",""+t.f39_1+n+" to "+t.e39_1+n),jt()}}(t,f);v.g12(g),d=g}else d=m;var $=d,b=null==$||$n($)?$:xt();_.i12();var w=b,x=mn(o,-2128018801,!0,function(t){return function(n,e,r){var i=e;return hn()&&ln(-2128018801,r,-1,"components.SummaryUi$composable..... (Summary.kt:231)"),pn(t.b39_1,i,0),hn()&&(fn(),jt()),jt()}}(t)),k=o;k.e12(-838505973),dn(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(x),q=C.f12();if(S||q===gn().h12_1){var O=(z=x,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||$n(P)?P:xt();return k.i12(),we(w,M,o,48,0),pn(" ("+t.d39_1+t.c39_1+f+")",o,0),hn()&&(fn(),jt()),jt()}}function Po(t){return function(n,e,r){return t.n1y(n,e,r)}}function Mo(t){return Ao(),je(t,"bold"),jt()}function Ao(){I||(I=!0,A=new io("strong"))}function Eo(t,n,e){var r=n;return hn()&&ln(1817043984,e,-1,"components.ComposableSingletons$TestNameDetectionToggleKt.lambda-1. (TestNameDetectionToggle.kt:29)"),pn("Test Name Detection:",r,6),hn()&&fn(),jt()}function Io(){var t;D=this,this.x39_1=(t=_n(1817043984,!1,Eo),function(n,e,r){return t.n1y(n,e,r)})}function Do(t,n,e,r){var i=e;i=i.n1d(-1801806257),dn(i,"C(TestNameDetectionToggle$composable)");var o,s,a,u=r;if(0==(14&r)&&(u|=i.j1d(t)?4:2),0==(112&r)&&(u|=i.j12(n)?32:16),18==(91&u)&&i.v1b())i.z17();else{hn()&&ln(-1801806257,u,-1,"components.TestNameDetectionToggle$composable (TestNameDetectionToggle.kt:10)");var c=i;c.e12(547886695),dn(c,"C(remember$composable):Composables.kt#9igjgp");var l,h=c,p=h.f12();if(p===gn().h12_1){var f=To;h.g12(f),l=f}else l=p;var _=l,d=null==_||$n(_)?_:xt();c.i12();var v=d,y=mn(i,815464847,!0,(s=t,a=n,function(t,n,e){var r=n;hn()&&ln(815464847,e,-1,"components.TestNameDetectionToggle$composable. (TestNameDetectionToggle.kt:21)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,u=i,c=u.f12();if(c===gn().h12_1){var l=Lo;u.g12(l),o=l}else o=c;var h=o,p=null==h||$n(h)?h:xt();i.i12(),Cn("testNameDetection",p,(null==D&&new Io,D).x39_1,r,390,0),Dn(null,r,0,1);var f=r;f.e12(-1124426577),dn(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=f,v=!!(f.j12(s)|f.j12(a)),y=d.f12();if(v||y===gn().h12_1){var m=function(t,n){return function(e){return e.x20("testNameDetection"),e.w20(["btn",t?"btn-success":"btn-secondary"]),e.a21(function(t){return function(n){return t(),jt()}}(n)),Mn(e,Pn()),jt()}}(s,a);d.g12(m),_=m}else _=y;var g=_,$=null==g||$n(g)?g:xt();f.i12();var b=$,w=mn(r,-1071119211,!0,function(t){return function(n,e,r){var i=e;return hn()&&ln(-1071119211,r,-1,"components.TestNameDetectionToggle$composable.. (TestNameDetectionToggle.kt:42)"),pn(t?"ON":"OFF",i,0),hn()&&(fn(),jt()),jt()}}(s)),x=r;x.e12(-838505973),dn(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j,z=x,C=x.j12(w),S=z.f12();if(C||S===gn().h12_1){var q=(j=w,function(t,n,e){return j.n1y(t,n,e)});z.g12(q),k=q}else k=S;var O=k,P=null==O||$n(O)?O:xt();return x.i12(),An(b,P,r,48,0),hn()&&(fn(),jt()),jt()})),m=i;m.e12(-838505973),dn(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===gn().h12_1){var x=(o=y,function(t,n,e){return o.n1y(t,n,e)});$.g12(x),g=x}else g=w;var k=g,j=null==k||$n(k)?k:xt();m.i12(),bn(v,j,i,48,0),hn()&&fn()}var z=i.o1d();null===z||z.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Do(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function To(t){return t.w20(["form-group"]),t.u20(Bo),jt()}function Bo(t){return In(t,qn(10)),jt()}function Lo(t){return t.w20(["form-label"]),jt()}function No(t,n,e){var r=n;return hn()&&ln(-130845949,e,-1,"components.ComposableSingletons$TestNamesKt.lambda-1. (TestNames.kt:24)"),pn("Test Name :",r,6),hn()&&fn(),jt()}function Ro(){var t;T=this,this.y39_1=(t=_n(-130845949,!1,No),function(n,e,r){return t.n1y(n,e,r)})}function Fo(t,n,e,r,i,o){var s={_v:n},a=r;a=a.n1d(246637604),dn(a,"C(TestNames$composable)P(2)");var u,c,l,h,p=i;if(0!=(2&o)&&(s._v=null),hn()&&ln(246637604,p,-1,"components.TestNames$composable (TestNames.kt:8)"),!t.h()){var f=a;f.e12(547886695),dn(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===gn().h12_1){var y=Ho;d.g12(y),_=y}else _=v;var m=_,g=null==m||$n(m)?m:xt();f.i12();var $=g,b=mn(a,-1509913918,!0,(c=e,l=t,h=s,function(t,n,e){var r=n;hn()&&ln(-1509913918,e,-1,"components.TestNames$composable. (TestNames.kt:18)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=Uo;s.g12(u),o=u}else o=a;var p=o,f=null==p||$n(p)?p:xt();i.i12(),Cn("testNames",f,(null==T&&new Ro,T).y39_1,r,390,0);var _=r;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(c),m=v.f12();if(y||m===gn().h12_1){var g=function(t){return function(n){return n.w20(["form-select"]),n.x20("testNames"),n.x27(function(t){return function(n){var e=n.f2b_1;return null==e||t(e),jt()}}(t)),jt()}}(c);v.g12(g),d=g}else d=m;var $=d,b=null==$||$n($)?$:xt();_.i12();var w=b,x=mn(r,-1857982381,!0,function(t,n,e){return function(e,r,i){var o=r;hn()&&ln(-1857982381,i,-1,"components.TestNames$composable.. (TestNames.kt:37)");for(var s=t.c();s.d();){var a=s.e(),u=n._v,c=o;c.e12(-1124426577),dn(c,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var l,h=c,p=!!(c.j12(a)|c.j12(u)),f=h.f12();if(p||f===gn().h12_1){var _=Vo(a,n);h.g12(_),l=_}else l=f;var d=l,v=null==d||$n(d)?d:xt();c.i12();var y=v,m=mn(o,1208237735,!0,Wo(a)),g=o;g.e12(-838505973),dn(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b=g,w=g.j12(m),x=b.f12();if(w||x===gn().h12_1){var k=Jo(m);b.g12(k),$=k}else $=x;var j=$,z=null==j||$n(j)?j:xt();g.i12(),_e(a,y,z,o,384,0)}return hn()&&(fn(),jt()),jt()}}(l,h)),k=r;k.e12(-838505973),dn(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(x),q=C.f12();if(S||q===gn().h12_1){var O=(z=x,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||$n(P)?P:xt();return k.i12(),de(w,!1,M,r,384,2),hn()&&(fn(),jt()),jt()})),w=a;w.e12(-838505973),dn(w,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k=w,j=w.j12(b),z=k.f12();if(j||z===gn().h12_1){var C=(u=b,function(t,n,e){return u.n1y(t,n,e)});k.g12(C),x=C}else x=z;var S=x,q=null==S||$n(S)?S:xt();w.i12(),bn($,q,a,48,0)}hn()&&fn();var O=a.o1d();null===O||O.j1e(function(t,n,e,r,i){return function(o,s){return function(t,n,e,r,i,o,s){Fo(t,n._v,e,o,1|r,i)}(t,n,e,r,i,o),jt()}}(t,s,e,i,o))}function Ho(t){return t.w20(["form-group"]),jt()}function Uo(t){return t.w20(["form-label"]),jt()}function Vo(t,n){return function(e){return t===n._v&&(fe(e),jt()),jt()}}function Wo(t){return function(n,e,r){var i=e;return hn()&&ln(1208237735,r,-1,"components.TestNames$composable... (TestNames.kt:46)"),pn(t,i,0),hn()&&(fn(),jt()),jt()}}function Jo(t){return function(n,e,r){return t.n1y(n,e,r)}}function Ko(t,n,e){var r=n;return hn()&&ln(1108811911,e,-1,"ComposableSingletons$MainKt.lambda-1. (main.kt:8)"),Zo(null,r,0,1),hn()&&fn(),jt()}function Yo(){var t;B=this,this.z39_1=(t=_n(1108811911,!1,Ko),function(n,e,r){return t.n1y(n,e,r)})}function Go(t,n,e){var r=n;return hn()&&ln(-374992274,e,-1,"page.home.ComposableSingletons$HomePageKt.lambda-1. (HomePage.kt:110)"),pn("🖥 Output",r,6),hn()&&fn(),jt()}function Xo(){var t;L=this,this.a3a_1=(t=_n(-374992274,!1,Go),function(n,e,r){return t.n1y(n,e,r)})}function Zo(t,n,e,r){var i={_v:t},o=n;o=o.n1d(-109696367),dn(o,"C(HomePageUi$composable)");var s,a,u=e;if(0==(14&e)&&(u|=0==(1&r)&&o.j12(i._v)?4:2),2==(11&u)&&o.v1b())o.z17();else{if(o.w1c(),0==(1&e)||o.a1d()){if(0!=(1&r)){var c,l=o;l.e12(547886695),dn(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===gn().h12_1){var _=new Es(new Ls,new Hs);p.g12(_),h=_}else h=f;var d=h,v=null==d||$n(d)?d:xt();l.i12(),c=v,i._v=c,u&=-15}}else o.z17(),0!=(1&r)&&(u&=-15);o.x1c(),hn()&&ln(-109696367,u,-1,"page.home.HomePageUi$composable (HomePage.kt:28)");var y=o;y.e12(547886695),dn(y,"C(remember$composable):Composables.kt#9igjgp");var m,g=y,$=g.f12();if($===gn().h12_1){var b=Qo;g.g12(b),m=b}else m=$;var w=m,x=null==w||$n(w)?w:xt();y.i12();var k=x,j=mn(o,1790973562,!0,(a=i,function(t,n,e){var r=n;hn()&&ln(1790973562,e,-1,"page.home.HomePageUi$composable. (HomePage.kt:35)"),ki(r,0);var i=a._v.x3b();!Wt(i)&&pi(a._v.x3b(),r,0);var o=r;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,u=o,c=u.f12();if(c===gn().h12_1){var l=ts;u.g12(l),s=l}else s=c;var h=s,p=null==h||$n(h)?h:xt();o.i12();var f=p,_=mn(r,-1337148517,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-1337148517,r,-1,"page.home.HomePageUi$composable.. (HomePage.kt:54)");var o=i;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===gn().h12_1){var c=es;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();o.i12();var p=h,f=mn(i,1509226108,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(1509226108,r,-1,"page.home.HomePageUi$composable... (HomePage.kt:57)");var o,s=t._v.n3b(),a=t._v.o3b(),u=(o=t._v,function(t){return function(t,n){t.v3a(n,!1,2,null)}(o,t),jt()}),c=function(t){var n=function(n){return t.w3a(n),jt()};return n.callableName="onSaveClicked",n}(t._v);Nr(s,a,t._v.p3b(),u,c,function(t){var n=function(n){return t.x3a(n),jt()};return n.callableName="onSavedBenchmarkChanged",n}(t._v),function(t){var n=function(n){return t.y3a(n),jt()};return n.callableName="onLoadBenchmarkClicked",n}(t._v),function(t){var n=function(n){return t.z3a(n),jt()};return n.callableName="onDeleteBenchmarkClicked",n}(t._v),i,520),Dn(null,i,0,1),Dn(null,i,0,1);var l=mn(i,-1521832332,!0,function(t,n){return function(n,e){var r=n;if(2==(11&e)&&r.v1b())r.z17(),jt();else{if(hn()&&ln(-1521832332,e,-1,"page.home.HomePageUi$composable.... (HomePage.kt:73)"),Jt("block size "+t._v.m3a_1.f()),t._v.m3a_1.f()>2){var i=t._v.e3b(),o="BEST (-"+(null==i?null:i.h3b_1)+t._v.q28()+")",s=t._v.k3b(),a="WORST (+"+(null==s?null:s.i3b_1)+t._v.q28()+")",u=t._v,c=r;c.e12(-838505973),dn(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,h=c,p=c.j12(u),f=h.f12();if(p||f===gn().h12_1){var _=function(t){var n=function(){return t.a3b(),jt()};return n.callableName="onBestClicked",n}(u);h.g12(_),l=_}else l=f;var d=l,v=null==d||$n(d)?d:xt();c.i12();var y=v,m=t._v,g=r;g.e12(-838505973),dn(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b=g,w=g.j12(m),x=b.f12();if(w||x===gn().h12_1){var k=function(t){var n=function(){return t.b3b(),jt()};return n.callableName="onWorstClicked",n}(m);b.g12(k),$=k}else $=x;var j=$,z=null==j||$n(j)?j:xt();g.i12(),ho(o,a,y,z,t._v.m3a_1,t._v.l3b(),t._v.m3b(),function(t){var n=function(n){return t.c3b(n),jt()};return n.callableName="onBlockNameOneChanged",n}(t._v),function(t){var n=function(n){return t.d3b(n),jt()};return n.callableName="onBlockNameTwoChanged",n}(t._v),r,0)}hn()&&(fn(),jt())}return jt()}}(t)),h=i;h.e12(-838505973),dn(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var p,f=h,_=h.j12(l),d=f.f12();if(_||d===gn().h12_1){var v=function(t){return function(n,e){return t.t1b(n,e)}}(l);f.g12(v),p=v}else p=d;var y=p,m=null==y||$n(y)?y:xt();return h.i12(),lo(m,t._v.n3a_1,i,6),hn()&&(fn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===gn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||$n(b)?b:xt();_.i12(),bn(p,w,i,48,0);var x=t._v.w3b(),k=null==x?null:x.p36_1,j=null==k||k.h()?null:k;if(null==j);else{var z=t._v.w3b();if(null==z)throw Lt("TSH");var C=z,S=i;S.e12(547886695),dn(S,"C(remember$composable):Composables.kt#9igjgp");var q,O=S,P=O.f12();if(P===gn().h12_1){var M=rs;O.g12(M),q=M}else q=P;var A=q,E=null==A||$n(A)?A:xt();S.i12();var I=E,D=mn(i,2092888171,!0,function(t,n,e,r){return function(n,i,o){var s=i;if(hn()&&ln(2092888171,o,-1,"page.home.HomePageUi$composable.... (HomePage.kt:99)"),t._v.v3b())s.e12(-1006755438),li(s,0),s.i12();else{s.e12(-1006755369);var a=t._v,u=s;u.e12(-838505973),dn(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,l=u,h=u.j12(a),p=l.f12();if(h||p===gn().h12_1){var f=function(t){return function(n){return n.b21(function(t){return function(n){return t._v.q3b(),jt()}}(t)),jt()}}(t);l.g12(f),c=f}else c=p;var _=c,d=null==_||$n(_)?_:xt();u.i12(),yn(d,(null==L&&new Xo,L).a3a_1,s,48,0),s.i12()}var v=s;v.e12(547886695),dn(v,"C(remember$composable):Composables.kt#9igjgp");var y,m=v,g=m.f12();if(g===gn().h12_1){var $=is;m.g12($),y=$}else y=g;var b=y,w=null==b||$n(b)?b:xt();v.i12();var x=w,k=mn(s,-350149078,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-350149078,r,-1,"page.home.HomePageUi$composable..... (HomePage.kt:120)");var o=mn(i,1688816067,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(1688816067,r,-1,"page.home.HomePageUi$composable...... (HomePage.kt:121)");var o=i;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===gn().h12_1){var c=os;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();o.i12();var p=h,f=mn(i,-1218869404,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-1218869404,r,-1,"page.home.HomePageUi$composable....... (HomePage.kt:126)");var o=i;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===gn().h12_1){var c=ss;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();o.i12();var p=h,f=mn(i,-1633797435,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-1633797435,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:132)");var o=t._v.n3b().c36_1,s=t._v,a=i;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===gn().h12_1){var p=function(t){var n=function(){return t.r3b(),jt()};return n.callableName="onToggleAutoGroupClicked",n}(s);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();return a.i12(),Jr(o,_,i,0),hn()&&(fn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(f),m=v.f12();if(y||m===gn().h12_1){var g=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(f);v.g12(g),d=g}else d=m;var $=d,b=null==$||$n($)?$:xt();if(_.i12(),bn(p,b,i,48,0),kt(t._v.u3b(),br())){var w=i;w.e12(547886695),dn(w,"C(remember$composable):Composables.kt#9igjgp");var x,k=w,j=k.f12();if(j===gn().h12_1){var z=as;k.g12(z),x=z}else x=j;var C=x,S=null==C||$n(C)?C:xt();w.i12();var q=S,O=mn(i,-1089967542,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-1089967542,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:144)");var o=t._v.n3b().b36_1,s=t._v,a=i;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===gn().h12_1){var p=function(t){var n=function(){return t.s3b(),jt()};return n.callableName="onToggleTestNameDetectionClicked",n}(s);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();return a.i12(),Do(o,_,i,0),hn()&&(fn(),jt()),jt()}}(t)),P=i;P.e12(-838505973),dn(P,"C(remember$composable)P(1):Composables.kt#9igjgp");var M,A=P,E=P.j12(O),I=A.f12();if(E||I===gn().h12_1){var D=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(O);A.g12(D),M=D}else M=I;var T=M,B=null==T||$n(T)?T:xt();P.i12(),bn(q,B,i,48,0)}if(!t._v.f3a_1.h()){var L=i;L.e12(547886695),dn(L,"C(remember$composable):Composables.kt#9igjgp");var N,R=L,F=R.f12();if(F===gn().h12_1){var H=us;R.g12(H),N=H}else N=F;var U=N,V=null==U||$n(U)?U:xt();L.i12();var W=V,J=mn(i,1874650163,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(1874650163,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:157)");var o=t._v.f3a_1,s=t._v,a=i;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===gn().h12_1){var p=function(t){return function(n){return t._v.t3b(n),jt()}}(t);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();return a.i12(),Fo(o,null,_,i,0,2),hn()&&(fn(),jt()),jt()}}(t)),K=i;K.e12(-838505973),dn(K,"C(remember$composable)P(1):Composables.kt#9igjgp");var Y,G=K,X=K.j12(J),Z=G.f12();if(X||Z===gn().h12_1){var Q=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(J);G.g12(Q),Y=Q}else Y=Z;var tt=Y,nt=null==tt||$n(tt)?tt:xt();K.i12(),bn(W,nt,i,48,0)}return hn()&&(fn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(f),m=v.f12();if(y||m===gn().h12_1){var g=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(f);v.g12(g),d=g}else d=m;var $=d,b=null==$||$n($)?$:xt();return _.i12(),bn(p,b,i,48,0),hn()&&(fn(),jt()),jt()}}(t)),s=i;s.e12(-838505973),dn(s,"C(remember$composable)P(1):Composables.kt#9igjgp");var a,u=s,c=s.j12(o),l=u.f12();if(c||l===gn().h12_1){var h=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(o);u.g12(h),a=h}else a=l;var p=a,f=null==p||$n(p)?p:xt();return s.i12(),En(null,null,f,i,384,3),hn()&&(fn(),jt()),jt()}}(t)),j=s;j.e12(-838505973),dn(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var z,C=j,S=j.j12(k),q=C.f12();if(S||q===gn().h12_1){var O=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(k);C.g12(O),z=O}else z=q;var P=z,M=null==P||$n(P)?P:xt();j.i12(),bn(x,M,s,48,0),Dn(null,s,0,1);var A=s;A.e12(-838505973),dn(A,"C(remember$composable)P(1):Composables.kt#9igjgp");var E,I=A,D=A.j12(e),T=I.f12();if(D||T===gn().h12_1){var B=Me(e,2);I.g12(B),E=B}else E=T;var N=E,R=null==N||$n(N)?N:xt();A.i12();for(var F=R.c();F.d();){var H=F.e(),U=s;U.e12(547886695),dn(U,"C(remember$composable):Composables.kt#9igjgp");var V,W=U,J=W.f12();if(J===gn().h12_1){var K=cs;W.g12(K),V=K}else V=J;var Y=V,G=null==Y||$n(Y)?Y:xt();U.i12();var X=G,Z=mn(s,-2034949684,!0,fs(H,t,r)),Q=s;Q.e12(-838505973),dn(Q,"C(remember$composable)P(1):Composables.kt#9igjgp");var tt,nt=Q,et=Q.j12(Z),rt=nt.f12();if(et||rt===gn().h12_1){var it=_s(Z);nt.g12(it),tt=it}else tt=rt;var ot=tt,st=null==ot||$n(ot)?ot:xt();Q.i12(),bn(X,st,s,48,0)}return hn()&&(fn(),jt()),jt()}}(t,0,j,C)),T=i;T.e12(-838505973),dn(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var B,N=T,R=T.j12(D),F=N.f12();if(R||F===gn().h12_1){var H=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(D);N.g12(H),B=H}else B=F;var U=B,V=null==U||$n(U)?U:xt();T.i12(),bn(I,V,i,48,0),jt(),jt()}return hn()&&(fn(),jt()),jt()}}(a)),d=r;d.e12(-838505973),dn(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.j12(_),$=m.f12();if(g||$===gn().h12_1){var b=(y=_,function(t,n,e){return y.n1y(t,n,e)});m.g12(b),v=b}else v=$;var w=v,x=null==w||$n(w)?w:xt();return d.i12(),bn(f,x,r,48,0),hn()&&(fn(),jt()),jt()})),z=o;z.e12(-838505973),dn(z,"C(remember$composable)P(1):Composables.kt#9igjgp");var C,S=z,q=z.j12(j),O=S.f12();if(q||O===gn().h12_1){var P=(s=j,function(t,n,e){return s.n1y(t,n,e)});S.g12(P),C=P}else C=O;var M=C,A=null==M||$n(M)?M:xt();z.i12(),bn(k,A,o,48,0),hn()&&fn()}var E=o.o1d();null===E||E.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Zo(t._v,r,1|n,e)}(t,n,e,r),jt()}}(i,e,r))}function Qo(t){return t.w20(["container-fluid"]),jt()}function ts(t){return t.w20(["row"]),t.u20(ns),jt()}function ns(t){return qe(t,qn(40)),Oe(t,qn(40)),Pe(t,qn(40)),jt()}function es(t){return t.w20(["col-lg-4"]),jt()}function rs(t){return t.w20(["col-lg-8"]),jt()}function is(t){return t.w20(["row"]),jt()}function os(t){return t.w20(["row"]),jt()}function ss(t){return t.w20(["col-md-2"]),jt()}function as(t){return t.w20(["col-md-2"]),jt()}function us(t){return t.w20(["col-md-4"]),jt()}function cs(t){return t.w20(["row"]),jt()}function ls(t){return function(n){return n.w20([t.w36_1]),jt()}}function hs(t,n,e){return function(r,i,o){var s=i;return hn()&&ln(1979032493,o,-1,"page.home.HomePageUi$composable...... (HomePage.kt:187)"),Xr(t._v.n3b().c36_1,n.o36_1,e,s,576),hn()&&(fn(),jt()),jt()}}function ps(t){return function(n,e,r){return t.n1y(n,e,r)}}function fs(t,n,e){return function(r,i,o){var s=i;hn()&&ln(-2034949684,o,-1,"page.home.HomePageUi$composable..... (HomePage.kt:182)");for(var a=t.c();a.d();){var u=a.e(),c=ls(u),l=mn(s,1979032493,!0,hs(n,e,u)),h=s;h.e12(-838505973),dn(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var p,f=h,_=h.j12(l),d=f.f12();if(_||d===gn().h12_1){var v=ps(l);f.g12(v),p=v}else p=d;var y=p,m=null==y||$n(y)?y:xt();h.i12(),bn(c,m,s,48,0)}return hn()&&(fn(),jt()),jt()}}function _s(t){return function(n,e,r){return t.n1y(n,e,r)}}function ds(){N=this,this.y3b_1="Something went wrong!"}function vs(){return null==N&&new ds,N}function ys(t,n){return Ce("savedBenchmarks",1,Le,(function(t){return t.p3b()}),(function(t,n){return ys(t,n)})),t.d3a_1.jy(n)}function ms(t,n){return Ce("chartsBundle",1,Le,(function(t){return t.w3b()}),(function(t,n){return ms(t,n)})),t.g3a_1.jy(n)}function gs(t,n){return Ce("errorMsg",1,Le,(function(t){return t.x3b()}),(function(t,n){return gs(t,n)})),t.h3a_1.jy(n)}function $s(t,n){return Ce("isEditableTitleEnabled",1,Le,(function(t){return t.v3b()}),(function(t,n){return $s(t,n)})),t.i3a_1.jy(n)}function bs(t,n){return Ce("shouldSelectUnsaved",1,Le,(function(t){return t.o3b()}),(function(t,n){return bs(t,n)})),t.j3a_1.jy(n)}function ws(t,n){return Ce("selectedBlockNameOne",1,Le,(function(t){return t.l3b()}),(function(t,n){return ws(t,n)})),t.k3a_1.jy(n)}function xs(t,n){return Ce("selectedBlockNameTwo",1,Le,(function(t){return t.m3b()}),(function(t,n){return xs(t,n)})),t.l3a_1.jy(n)}function ks(t,n){return Ce("inputType",1,Le,(function(t){return t.u3b()}),(function(t,n){return ks(t,n)})),t.o3a_1.jy(n)}function js(t,n){return Ce("unit",1,Le,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),t.p3a_1.jy(n)}function zs(t,n){return Ce("bestAggSummary",1,Le,(function(t){return t.e3b()}),(function(t,n){return zs(t,n)})),t.q3a_1.jy(n)}function Cs(t,n){return Ce("worstAggSummary",1,Le,(function(t){return t.k3b()}),(function(t,n){return Cs(t,n)})),t.r3a_1.jy(n)}function Ss(t,n){return Ce("form",1,Le,(function(t){return t.n3b()}),(function(t,n){return Ss(t,n)})),t.s3a_1.jy(n)}function qs(t){ys(t,t.b3a_1.z3b())}function Os(t){ws(t,null),xs(t,null),t.m3a_1.s7(),ms(t,null),t.n3a_1.s7(),zs(t,null),Cs(t,null),Ms(t)}function Ps(t,n){t.m3a_1.s7();var e=Bt(n.o36_1.l36_1.b3());t.m3a_1.w1x(e),e.f()>=2?(ws(t,e.g(0)),xs(t,e.g(1))):(ws(t,null),xs(t,null)),Ms(t)}function Ms(t){t.n3a_1.s7();var n,e=kt(t.u3b(),$r()),r=t.w3b(),i=null==r?null:r.p36_1;if(null==i)n=null;else{for(var o=qt(),s=i.c();s.d();){var a=s.e(),u=Ys().b3c(e,a,t.l3b(),t.m3b());null==u||(o.a(u),jt())}n=o}var c=n;t.n3a_1.w1x(null==c?Ie():c),function(t){for(var n,e=kt(t.u3b(),$r()),r=qt(),i=t.m3a_1.c();i.d();)for(var o=i.e(),s=t.m3a_1.c();s.d();){var a=s.e();if(o!==a){var u,c=t.w3b(),l=null==c?null:c.p36_1;if(null==l)u=null;else{for(var h=qt(),p=l.c();p.d();){var f=p.e(),_=Ys().b3c(e,f,o,a);null==_||(h.a(_),jt())}u=h}if(null==u);else{for(var d=0,v=0,y=u.c();y.d();)for(var m=y.e().q39_1.c();m.d();){var g=m.e();g.c39_1>0?v=v+Ae(g.c39_1)|0:g.c39_1<0&&(d=d-Ae(g.c39_1)|0)}r.a(new Is(o,a,d,v))}}}var $,b=r.c();if(b.d()){var w=b.e();if(b.d()){var x=w.h3b_1;do{var k=b.e(),j=k.h3b_1;Ee(x,j)<0&&(w=k,x=j)}while(b.d());n=w}else n=w}else n=null;zs(t,n);var z=r.c();if(z.d()){var C=z.e();if(z.d()){var S=C.i3b_1;do{var q=z.e(),O=q.i3b_1;Ee(S,O)<0&&(C=q,S=O)}while(z.d());$=C}else $=C}else $=null;Cs(t,$)}(t)}function As(t,n,e){return function(){bs(t,n);try{t.t3a_1.s7(),t.f3a_1.s7(),t.m3a_1.s7();var r=yr().z35(e);if(null==r)return Jt("failed to parse form"),Os(t),gs(t,""),jt();var i=r,o=i.l4(),s=i.m4();ks(t,o),t.t3a_1.j1(s);var a=o.s1_1;if(0===a){var u=function(t){for(var n,e=Tt(t),r=Dt(),i=e.g36_1.c();i.d();){var o=i.e();r.v3(o.f35_1,o.g35_1)}var s=r;Jt("chartSet -> "+s),n=s;var a=new Mr("📊",e.e36_1,n,"col-lg-12");return new Or(kr(t,!0),Qt(a))}(t.t3a_1);ms(t,u),Ps(t,u),js(t,"")}else if(1===a){for(var c,l=t.f3a_1,h=t.t3a_1,p=qt(),f=h.c();f.d();){var _=f.e().f36_1;null==_||(p.a(_),jt())}c=p,l.w1x(Xt(c));var d,v=t.f3a_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.e3a_1){d=m;break t}}d=null}var g,$=d,b=null==$?an(t.f3a_1):$;if(null!=b){for(var w=t.t3a_1,x=qt(),k=w.c();k.d();){var j=k.e();j.f36_1==b&&x.a(j)}g=x}else g=t.t3a_1;var z=wr(g);ms(t,z),Ps(t,z),js(t,"ms")}gs(t,""),jt()}catch(n){if(!(n instanceof Error))throw n;De(n);var C,S=n.message;null==S?(vs(),C="Something went wrong!"):C=S,gs(t,C),Os(t),jt()}return jt()}}function Es(t,n){vs(),this.b3a_1=t,this.c3a_1=n;var e=Ie();this.d3a_1=ue(e,null,2,null),this.e3a_1=null,this.f3a_1=Te(),this.g3a_1=ue(null,null,2,null),this.h3a_1=ue("",null,2,null),this.i3a_1=ue(!1,null,2,null),this.j3a_1=ue(!1,null,2,null),this.k3a_1=ue(null,null,2,null),this.l3a_1=ue(null,null,2,null),this.m3a_1=Te(),this.n3a_1=Te(),this.o3a_1=ue(null,null,2,null),this.p3a_1=ue("",null,2,null),this.q3a_1=ue(null,null,2,null),this.r3a_1=ue(null,null,2,null);var r=this.c3a_1.c3c(),i=null==r?new Ar((null==H&&new Us,H).d3c_1,!1,!1):r;this.s3a_1=ue(i,null,2,null),qs(this);var o;o=qt(),this.t3a_1=o,this.u3a_1=null}function Is(t,n,e,r){this.f3b_1=t,this.g3b_1=n,this.h3b_1=e,this.i3b_1=r,this.j3b_1=0}function Ds(){}function Ts(){R=this,this.p3c_1="savedBenchmarks"}function Bs(){return null==R&&new Ts,R}function Ls(){Bs(),this.q3c_1=0}function Ns(){}function Rs(){F=this,this.t3c_1="auto_form_input",this.u3c_1="is_test_name_detection_enabled",this.v3c_1="is_auto_group_enabled"}function Fs(){return null==F&&new Rs,F}function Hs(){Fs(),this.w3c_1=0}function Us(){H=this,this.d3c_1="- Before 1\n# first line will be treated as title of the block\n special chars will be stripped from the title\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 40.5, P90 45.8, P95 60.4, P99 80.4\nframeOverrunMs P50 -5.9, P90 7.0, P95 20.1, P99 64.4\nTraces: Iteration 0 1 2 3 4\n\n## Before 2\n# line breaks are used to separate the block\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 45.5, P90 43.8, P95 58.4, P99 78.4\nframeOverrunMs P50 -6.5, P90 5.4, P95 15.0, P99 60.3\nTraces: Iteration 0 1 2 3 4\n\nAfter 1\nyou can include whatever text you want anywhere you want\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 13.6, P90 21.8, P95 27.5, P99 49.4\nthe order doesn't matter\nframeOverrunMs P50 -6.2, P90 7.3, P95 19.5, P99 61.7\nTraces: Iteration 0 1 2 3 4\n\n> After 2\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 13.8, P90 21.9, P95 27.3, P99 53.4\nsee.. am some random text\nframeOverrunMs P50 -5.7, P90 7.4, P95 22.4, P99 63.2\nTraces: Iteration 0 1 2 3 4",this.e3c_1=0}function Vs(t){return t.a2w_1=!0,jt()}function Ws(){U=this,this.r3c_1=Ye(null,Vs,1,null),this.s3c_1=8}function Js(){return null==U&&new Ws,U}function Ks(){V=this,this.a3c_1=0}function Ys(){return null==V&&new Ks,V}return Qe.prototype=Object.create(Error.prototype),Qe.prototype.constructor=Qe,tr.prototype=Object.create(Qe.prototype),tr.prototype.constructor=tr,ir.prototype=Object.create(zt.prototype),ir.prototype.constructor=ir,sr.prototype=Object.create(zt.prototype),sr.prototype.constructor=sr,Rr.prototype=Object.create(wn.prototype),Rr.prototype.constructor=Rr,Qe.$metadata$=$t("InvalidDataException",void 0,void 0,void 0,void 0,Error.prototype),tr.$metadata$=$t("InvalidBenchmarkDataException",void 0,void 0,void 0,void 0,Qe.prototype),nr.prototype.i35=function(){return this.f35_1},nr.prototype.j35=function(){return this.g35_1},nr.prototype.toString=function(){return"BlockRow(title="+this.f35_1+", data="+this.g35_1+")"},nr.prototype.hashCode=function(){var t=bt(this.f35_1);return W(t,31)+wt(this.g35_1)|0},nr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof nr))return!1;var n=t instanceof nr?t:xt();return this.f35_1===n.f35_1&&!!kt(this.g35_1,n.g35_1)},nr.$metadata$=$t("BlockRow"),ir.prototype.k2=function(){return this.m35_1},ir.$metadata$=$t("SupportedMetrics",void 0,void 0,void 0,void 0,zt.prototype),sr.$metadata$=$t("InputType",void 0,void 0,void 0,void 0,zt.prototype),vr.prototype.z35=function(t){for(var n=Ot(t.a36_1,["\n"],!1,0,6,null),e=St(n,"\n",null,null,0,null,_r,30,null),r=Ut(),i=Vt("^\\s+",r).ba(e,0),o=Mt(Pt(i,10)),s=i.c();s.d();){var a,u=s.e();a=It(Et(At(u)?u:xt())),o.a(a)}for(var c=o,l=qt(),h=c.c();h.d();){var p=h.e();!Wt(p)&&l.a(p)}var f=l;if(Jt("parsing input..."),f.h())return null;if(function(t){var n=t.a36_1,e=er(),r=Yt(e,"|","(",")",0,null,gr,24,null);return!Nt(r).ea(n)}(t))return ar(this,f);Jt("parsing machine generated benchmark input...");for(var _=qt(),d=f.c(),v=0;d.d();){var y=v;v=v+1|0;var m=d.e();Jt("block: '"+m+"'");for(var g=Ot(m,["\n"],!1,0,6,null),$=Mt(Pt(g,10)),b=g.c();b.d();){var w,x=b.e();w=It(Et(At(x)?x:xt())),$.a(w)}for(var k=$,j=null,z=null,C=qt(),S=k.c();S.d();){var q=S.e();null==j&&hr(this,q)&&(j=q),t.b36_1&&ur(this,q)&&(null!=z&&!C.h()&&(null==j&&(j="benchmark "+y+" "+z),_.a(new mr(j,z,C)),C.s7()),z=q);var O=fr(q,this);if(null!=O){var P;t:{for(var M=C.c();M.d();){var A=M.e();if(A.f35_1===O){P=A;break t}}P=null}if(null!=P)throw new tr("Two "+O+" found in block "+(y+1|0)+". Expected only one");C.a(new nr(O,pr(0,O,q)))}}null==j&&(j="benchmark "+y),j=cr(this,j),!C.h()&&_.a(new mr(j,z,C))}return new Ct(br(),_)},vr.$metadata$=Kt("Companion"),mr.prototype.i35=function(){return this.e36_1},mr.prototype.i36=function(){return this.f36_1},mr.prototype.j36=function(){return this.g36_1},mr.prototype.toString=function(){return"BenchmarkResult(title="+this.e36_1+", testName="+this.f36_1+", blockRows="+this.g36_1+")"},mr.prototype.hashCode=function(){var t=bt(this.e36_1);return t=W(t,31)+(null==this.f36_1?0:bt(this.f36_1))|0,W(t,31)+wt(this.g36_1)|0},mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof mr))return!1;var n=t instanceof mr?t:xt();return this.e36_1===n.e36_1&&this.f36_1==n.f36_1&&!!kt(this.g36_1,n.g36_1)},mr.$metadata$=$t("BenchmarkResult"),xr.prototype.n36=function(){return this.k36_1},xr.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.k36_1+", wordColorMap="+this.l36_1+")"},xr.prototype.hashCode=function(){var t=wt(this.k36_1);return W(t,31)+wt(this.l36_1)|0},xr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof xr))return!1;var n=t instanceof xr?t:xt();return!!kt(this.k36_1,n.k36_1)&&!!kt(this.l36_1,n.l36_1)},xr.$metadata$=$t("GroupMap"),Cr.prototype.q35=function(t){var n,e=this.p35_1.dl(t,0,2,null);if(null!=e){var r=Tt(e.sa());n=Ft(t,r,"",!1,4,null)}else n=t;var i=n,o=zr(),s=sn(o.fl(i,0,2,null)),a=null==s?null:s.sa(),u=null==a?null:an(a);if(null==u){var c=i+" doesn't match the regex '"+zr().w9_1+"'";throw Lt(It(c))}var l=u,h=un(i,l,0,!1,6,null);return new qr(i.substring(0,h),Ht(l))},Cr.$metadata$=Kt("Companion"),qr.prototype.toString=function(){return"TextNumberLine(text="+this.r35_1+", number="+this.s35_1+")"},qr.prototype.hashCode=function(){var t=bt(this.r35_1);return W(t,31)+cn(this.s35_1)|0},qr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof qr))return!1;var n=t instanceof qr?t:xt();return this.r35_1===n.r35_1&&!!kt(this.s35_1,n.s35_1)},qr.$metadata$=$t("TextNumberLine"),Or.prototype.r36=function(){return this.o36_1},Or.prototype.s36=function(){return this.p36_1},Or.prototype.toString=function(){return"ChartsBundle(groupMap="+this.o36_1+", charts="+this.p36_1+")"},Or.prototype.hashCode=function(){var t=this.o36_1.hashCode();return W(t,31)+wt(this.p36_1)|0},Or.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Or))return!1;var n=t instanceof Or?t:xt();return!!this.o36_1.equals(n.o36_1)&&!!kt(this.p36_1,n.p36_1)},Or.$metadata$=$t("ChartsBundle"),Mr.prototype.y36=function(){return this.t36_1},Mr.prototype.z36=function(){return this.u36_1},Mr.prototype.a37=function(){return this.v36_1},Mr.prototype.b37=function(){return this.w36_1},Mr.prototype.toString=function(){return"Chart(emoji="+this.t36_1+", label="+this.u36_1+", dataSets="+this.v36_1+", bsClass="+this.w36_1+")"},Mr.prototype.hashCode=function(){var t=bt(this.t36_1);return t=W(t,31)+bt(this.u36_1)|0,t=W(t,31)+wt(this.v36_1)|0,W(t,31)+bt(this.w36_1)|0},Mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Mr))return!1;var n=t instanceof Mr?t:xt();return this.t36_1===n.t36_1&&this.u36_1===n.u36_1&&!!kt(this.v36_1,n.v36_1)&&this.w36_1===n.w36_1},Mr.$metadata$=$t("Chart"),Ar.prototype.j35=function(){return this.a36_1},Ar.prototype.c37=function(){return this.b36_1},Ar.prototype.d37=function(){return this.c36_1},Ar.prototype.e37=function(t,n,e){return new Ar(t,n,e)},Ar.prototype.f37=function(t,n,e,r,i){return 0!=(1&r)&&(t=this.a36_1),0!=(2&r)&&(n=this.b36_1),0!=(4&r)&&(e=this.c36_1),this.e37(t,n,e)},Ar.prototype.toString=function(){return"FormData(data="+this.a36_1+", isTestNameDetectionEnabled="+this.b36_1+", isAutoGroupEnabled="+this.c36_1+")"},Ar.prototype.hashCode=function(){var t=bt(this.a36_1);return t=W(t,31)+(0|this.b36_1)|0,W(t,31)+(0|this.c36_1)|0},Ar.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ar))return!1;var n=t instanceof Ar?t:xt();return this.a36_1===n.a36_1&&this.b36_1===n.b36_1&&this.c36_1===n.c36_1},Ar.$metadata$=$t("FormData"),Er.prototype.g37=function(){return"line"},Er.$metadata$=Kt("Companion"),Br.prototype.k37=function(){return this.i37_1},Br.prototype.l37=function(){return this.j37_1},Br.$metadata$=Kt("ComposableSingletons$AutoFormUiKt"),Rr.prototype.p1j=function(t,n){var e=this.q1j(t,n);return e.l7_1=jt(),e.m7_1=null,e.q7()},Rr.prototype.r7=function(t,n){return this.p1j(null!=t&&kn(t,xn)?t:xt(),n)},Rr.prototype.q7=function(){for(this.l7_1;;)try{var t=this.j7_1;if(0===t)return this.k7_1=1,this.u37_1(this.v37_1),jt();if(1===t)throw this.m7_1}catch(t){throw t}},Rr.prototype.q1j=function(t,n){var e=new Rr(this.u37_1,this.v37_1,n);return e.w37_1=t,e},Rr.$metadata$=$t("FormUi$composable$slambda",void 0,void 0,void 0,[1],wn.prototype),Wr.prototype.y37=function(){return this.x37_1},Wr.$metadata$=Kt("ComposableSingletons$AutoGroupToggleKt"),ti.prototype.js=function(){this.z37_1.destroy()},ti.$metadata$=$t(void 0,[Hn]),ui.$metadata$=Kt("ComposableSingletons$EditableTitleKt"),wi.$metadata$=Kt("ComposableSingletons$HeadingKt"),zi.$metadata$=Kt("Companion"),Ci.prototype.t2c=function(){return this.g38_1},Ci.prototype.n2m=function(){return[ee(),ee()]},Ci.prototype.v2c=function(t){var n=this.g38_1,e=!0,r=0,i=0,o=null,s=null,a=t.s2f(n);if(a.g2g())o=a.c2g(n,0),i|=1,s=a.c2g(n,1),i|=2;else for(;e;)switch(r=a.h2g(n)){case-1:e=!1;break;case 0:o=a.c2g(n,0),i|=1;break;case 1:s=a.c2g(n,1),i|=2;break;default:throw re(r)}return a.t2f(n),qi(i,o,s)},Ci.prototype.i38=function(t,n){var e=this.g38_1,r=t.s2f(e);r.e2h(e,0,n.j38_1),r.e2h(e,1,n.k38_1),r.t2f(e)},Ci.prototype.u2c=function(t,n){return this.i38(t,n instanceof Oi?n:xt())},Ci.$metadata$=Kt("$serializer",[oe]),Oi.prototype.k2=function(){return this.j38_1},Oi.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.j38_1+", value="+this.k38_1+")"},Oi.prototype.hashCode=function(){var t=bt(this.j38_1);return W(t,31)+bt(this.k38_1)|0},Oi.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Oi))return!1;var n=t instanceof Oi?t:xt();return this.j38_1===n.j38_1&&this.k38_1===n.k38_1},Oi.$metadata$=$t("SavedBenchmarkNode",void 0,void 0,{0:Si}),Pi.$metadata$=Kt("Companion"),Mi.prototype.t2c=function(){return this.m38_1},Mi.prototype.n2m=function(){return[new ae(Si())]},Mi.prototype.v2c=function(t){var n=this.m38_1,e=!0,r=0,i=0,o=null,s=t.s2f(n);if(s.g2g())o=s.e2g(n,0,new ae(Si()),o),i|=1;else for(;e;)switch(r=s.h2g(n)){case-1:e=!1;break;case 0:o=s.e2g(n,0,new ae(Si()),o),i|=1;break;default:throw re(r)}return s.t2f(n),Ei(i,o)},Mi.prototype.o38=function(t,n){var e=this.m38_1,r=t.s2f(e);r.g2h(e,0,new ae(Si()),n.p38_1),r.t2f(e)},Mi.prototype.u2c=function(t,n){return this.o38(t,n instanceof Ii?n:xt())},Mi.$metadata$=Kt("$serializer",[oe]),Ii.prototype.toString=function(){return"SavedBenchmarks(items="+this.p38_1+")"},Ii.prototype.hashCode=function(){return wt(this.p38_1)},Ii.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ii))return!1;var n=t instanceof Ii?t:xt();return!!kt(this.p38_1,n.p38_1)},Ii.$metadata$=$t("SavedBenchmarks",void 0,void 0,{0:Ai}),Ri.prototype.k37=function(){return this.s38_1},Ri.prototype.l37=function(){return this.t38_1},Ri.prototype.v38=function(){return this.u38_1},Ri.$metadata$=Kt("ComposableSingletons$SavedBenchmarksDropDownKt"),no.prototype.h39=function(){return this.w38_1},no.prototype.y36=function(){return this.x38_1},no.prototype.i39=function(){return this.y38_1},no.prototype.z36=function(){return this.z38_1},no.prototype.j39=function(){return this.a39_1},no.prototype.k39=function(){return this.b39_1},no.prototype.l39=function(){return this.c39_1},no.prototype.m39=function(){return this.d39_1},no.prototype.n39=function(){return this.e39_1},no.prototype.o39=function(){return this.f39_1},no.$metadata$=$t("SummaryNode"),eo.prototype.l1n=function(){return this.q39_1},eo.prototype.toString=function(){return"Summary(title="+this.p39_1+", nodes="+this.q39_1+")"},eo.prototype.hashCode=function(){var t=bt(this.p39_1);return W(t,31)+wt(this.q39_1)|0},eo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof eo))return!1;var n=t instanceof eo?t:xt();return this.p39_1===n.p39_1&&!!kt(this.q39_1,n.q39_1)},eo.$metadata$=$t("Summary"),io.prototype.u1n=function(){var t=ro(this).cloneNode();return t instanceof Element?t:xt()},io.$metadata$=$t("ElementBuilderImplementation",[ge]),uo.prototype.l37=function(){return this.w39_1},uo.$metadata$=Kt("ComposableSingletons$SummaryKt"),Io.prototype.y37=function(){return this.x39_1},Io.$metadata$=Kt("ComposableSingletons$TestNameDetectionToggleKt"),Ro.prototype.y37=function(){return this.y39_1},Ro.$metadata$=Kt("ComposableSingletons$TestNamesKt"),Yo.$metadata$=Kt("ComposableSingletons$MainKt"),Xo.prototype.y37=function(){return this.a3a_1},Xo.$metadata$=Kt("ComposableSingletons$HomePageKt"),ds.$metadata$=Kt("Companion"),Es.prototype.p3b=function(){return Ce("savedBenchmarks",1,Le,(function(t){return t.p3b()}),(function(t,n){return ys(t,n)})),this.d3a_1.m2()},Es.prototype.f3c=function(){return this.f3a_1},Es.prototype.w3b=function(){return Ce("chartsBundle",1,Le,(function(t){return t.w3b()}),(function(t,n){return ms(t,n)})),this.g3a_1.m2()},Es.prototype.x3b=function(){return Ce("errorMsg",1,Le,(function(t){return t.x3b()}),(function(t,n){return gs(t,n)})),this.h3a_1.m2()},Es.prototype.v3b=function(){return Ce("isEditableTitleEnabled",1,Le,(function(t){return t.v3b()}),(function(t,n){return $s(t,n)})),this.i3a_1.m2()},Es.prototype.o3b=function(){return Ce("shouldSelectUnsaved",1,Le,(function(t){return t.o3b()}),(function(t,n){return bs(t,n)})),this.j3a_1.m2()},Es.prototype.l3b=function(){return Ce("selectedBlockNameOne",1,Le,(function(t){return t.l3b()}),(function(t,n){return ws(t,n)})),this.k3a_1.m2()},Es.prototype.m3b=function(){return Ce("selectedBlockNameTwo",1,Le,(function(t){return t.m3b()}),(function(t,n){return xs(t,n)})),this.l3a_1.m2()},Es.prototype.g3c=function(){return this.m3a_1},Es.prototype.h3c=function(){return this.n3a_1},Es.prototype.u3b=function(){return Ce("inputType",1,Le,(function(t){return t.u3b()}),(function(t,n){return ks(t,n)})),this.o3a_1.m2()},Es.prototype.q28=function(){return Ce("unit",1,Le,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),this.p3a_1.m2()},Es.prototype.e3b=function(){return Ce("bestAggSummary",1,Le,(function(t){return t.e3b()}),(function(t,n){return zs(t,n)})),this.q3a_1.m2()},Es.prototype.k3b=function(){return Ce("worstAggSummary",1,Le,(function(t){return t.k3b()}),(function(t,n){return Cs(t,n)})),this.r3a_1.m2()},Es.prototype.n3b=function(){return Ce("form",1,Le,(function(t){return t.n3b()}),(function(t,n){return Ss(t,n)})),this.s3a_1.m2()},Es.prototype.i3c=function(t,n){var e,r=this.u3a_1;null==r||(clearTimeout(r),jt()),this.u3a_1=setTimeout((e=t,function(){return e(),jt()}),n)},Es.prototype.j3c=function(t,n){Ss(this,t),this.c3a_1.k3c(t),this.i3c(As(this,n,t),300)},Es.prototype.v3a=function(t,n,e,r){return 0!=(2&e)&&(n=!0),this.j3c(t,n)},Es.prototype.t3b=function(t){try{var n;if(this.e3a_1=t,null!=this.e3a_1){for(var e=this.t3a_1,r=qt(),i=e.c();i.d();){var o=i.e();o.f36_1==this.e3a_1&&r.a(o)}n=r}else n=this.t3a_1;ms(this,wr(n)),Ms(this),gs(this,"")}catch(t){if(!(t instanceof Error))throw t;this.n3a_1.s7(),De(t);var s,a=t.message;null==a?(vs(),s="Something went wrong!"):s=a,gs(this,s)}},Es.prototype.q3b=function(){$s(this,!0)},Es.prototype.r3b=function(){var t=this.n3b().f37(null,!1,!this.n3b().c36_1,3,null);this.v3a(t,!1,2,null)},Es.prototype.s3b=function(){var t=this.n3b(),n=!this.n3b().b36_1,e=t.f37(null,n,!1,5,null);this.v3a(e,!1,2,null)},Es.prototype.w3a=function(t){var n,e=window.prompt("Name: ");if(null==e||Wt(e))return jt();t:{for(var r=this.p3b().c();r.d();){var i=r.e();if(i.j38_1===e){n=i;break t}}n=null}if(null!=n)return window.alert("Bruhh.. "+e+" exists! Try something else"),jt();var o=Be(this.p3b());o.yf(0,new Oi(e,t.a36_1));var s=o;this.b3a_1.l3c(s),bs(this,!1),qs(this)},Es.prototype.y3a=function(t){var n=this.n3b().f37(t.k38_1,!1,!1,6,null);this.j3c(n,!1)},Es.prototype.z3a=function(t){window.confirm("Do you want to delete `"+t.j38_1+"` ?")&&(this.b3a_1.m3c(t),bs(this,!0),qs(this))},Es.prototype.x3a=function(t){if(bs(this,t===Di()),this.o3b()){var n=this.c3a_1.c3c(),e=null==n?this.n3b():n;this.j3c(e,!1)}},Es.prototype.c3b=function(t){ws(this,t),Ms(this)},Es.prototype.d3b=function(t){xs(this,t),Ms(this)},Es.prototype.a3b=function(){var t=this.e3b();ws(this,null==t?null:t.f3b_1);var n=this.e3b();xs(this,null==n?null:n.g3b_1),Ms(this)},Es.prototype.b3b=function(){var t=this.k3b();ws(this,null==t?null:t.f3b_1);var n=this.k3b();xs(this,null==n?null:n.g3b_1),Ms(this)},Es.$metadata$=$t("HomeViewModel"),Is.prototype.n3c=function(){return this.h3b_1},Is.prototype.o3c=function(){return this.i3b_1},Is.prototype.toString=function(){return"AggSummary(blockOneName="+this.f3b_1+", blockTwoName="+this.g3b_1+", sumOfGreen="+this.h3b_1+", sumOfRed="+this.i3b_1+")"},Is.prototype.hashCode=function(){var t=bt(this.f3b_1);return t=W(t,31)+bt(this.g3b_1)|0,t=W(t,31)+this.h3b_1|0,W(t,31)+this.i3b_1|0},Is.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Is))return!1;var n=t instanceof Is?t:xt();return this.f3b_1===n.f3b_1&&this.g3b_1===n.g3b_1&&this.h3b_1===n.h3b_1&&this.i3b_1===n.i3b_1},Is.$metadata$=$t("AggSummary"),Ds.$metadata$=Ne("BenchmarkRepo"),Ts.$metadata$=Kt("Companion"),Ls.prototype.z3b=function(){var t=window.localStorage;Bs();var n,e=t.getItem("savedBenchmarks");if(null==e)n=new Ii(Ie());else{var r;Jt("JSON is '"+e+"'");try{var i,o=Js().r3c_1,s=o.n2d(),a=Ue(s,He(Re(Ii),Fe([]),!1));i=kn(a,Ve)?a:xt(),r=o.m2d(i,e)}catch(t){var u;if(!(t instanceof We))throw t;De(t),u=Ie(),this.l3c(u),r=new Ii(Ie())}n=r}return Bt(n.p38_1)},Ls.prototype.l3c=function(t){var n,e=Js().r3c_1,r=new Ii(t),i=e.n2d(),o=Ue(i,He(Re(Ii),Fe([]),!1));n=kn(o,Ve)?o:xt();var s=e.l2d(n,r),a=window.localStorage;Bs(),a.setItem("savedBenchmarks",s)},Ls.prototype.m3c=function(t){var n,e=Be(this.z3b());Je(e,(n=t,function(t){return t.j38_1===n.j38_1}));var r=e;this.l3c(r)},Ls.$metadata$=$t("BenchmarkRepoImpl",[Ds]),Ns.$metadata$=Ne("FormRepo"),Rs.$metadata$=Kt("Companion"),Hs.prototype.k3c=function(t){var n=window.localStorage;Fs(),n.setItem("auto_form_input",t.a36_1),Fs(),n.setItem("is_test_name_detection_enabled",t.b36_1.toString()),Fs(),n.setItem("is_auto_group_enabled",t.c36_1.toString())},Hs.prototype.c3c=function(){var t=window.localStorage;Fs();var n=t.getItem("auto_form_input");if(null==n)return null;var e=n;Fs();var r=Ke(t.getItem("is_test_name_detection_enabled"));return Fs(),new Ar(e,r,Ke(t.getItem("is_auto_group_enabled")))},Hs.$metadata$=$t("FormRepoImpl",[Ns]),Us.$metadata$=Kt("DefaultValues"),Ws.$metadata$=Kt("JsonUtils"),Ks.prototype.b3c=function(t,n,e,r){if(null==e||null==r)return Jt("blank block name detected. skipping summary"),null;var i=Dt(),o=Ge([e,r]);Jt("words : "+o);for(var s=o.c();s.d();){for(var a=s.e(),u=n.v36_1,c=Dt(),l=u.u().c();l.d();){var h=l.e(),p=h.k2();Rt(p,a,!1,2,null)&&c.v3(h.k2(),h.m2())}for(var f=c.c3(),_=Mt(Pt(f,10)),d=f.c();d.d();){var v,y=d.e();v=Xe(y.c3()),_.a(v)}var m=_,g=qt(),$=Ze(n.v36_1.c3()).f(),b=0;if(b<$)do{b=b+1|0,g.a(0)}while(b<$);for(var w=g,x=m.c();x.d();){var k=x.e(),j=0,z=w.f()-1|0;if(j<=z)do{var C=j;j=j+1|0,w.p4(C,w.g(C)+k[C])}while(j<=z)}var S=0,q=w.f()-1|0;if(S<=q)do{var O=S;S=S+1|0,w.p4(O,w.g(O)/m.f())}while(S<=q);var P=w;i.v3(a,P)}for(var M=Mt(i.f()),A=i.u().c();A.d();){var E,I=A.e();E=Bt(I.m2()),M.a(E)}Jt("combinedMap : "+M);var D=qt(),T=Bt(Ze(n.v36_1.c3()).b3());Jt("segments: "+T);var B,L=T.f(),N=0;if(N after: '"+V+"'");var Y,G=""+(V-K).toFixed(2),X=Ht(G),Z=""+((K-V)/K*100).toFixed(2),Q=Ht(Z),tt=Math.abs(Q),nt=X>0?"worse":"better",et=X>0?"+":"",rt=X>0?"❌":"✅",it=o.g(1),ot=""+V.toFixed(2),st=Ht(ot),at=""+K.toFixed(2);Y=Ht(at),D.a(new no(t,rt,F,it,tt,nt,X,et,st,Y))}while(N>>0,r=arguments[1],i=r>>0,o=i<0?Math.max(e+i,0):Math.min(i,e),s=arguments[2],a=void 0===s?e:s>>0,u=a<0?Math.max(e+a,0):Math.min(a,e);o>>0;return 0===n?32:31-(i(n)/o|0)|0})),void 0===String.prototype.startsWith&&Object.defineProperty(String.prototype,"startsWith",{value:function(t,n){return n=n||0,this.lastIndexOf(t,n)===n}}),void 0===Math.imul&&(Math.imul=function(t,n){return(4294901760&t)*(65535&n)+(65535&t)*(0|n)|0}),void 0===(r="function"==typeof(e=function(t){"use strict";var n,e,r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt,ht,pt,ft,_t,dt,vt,yt,mt,gt,$t,bt,wt,xt,kt,jt,zt,Ct,St,qt,Ot,Pt,Mt,At,Et=Math.imul,It=Math.clz32,Dt=ArrayBuffer.isView;function Tt(t){return t===Ke()?this:t.e8(this,Ve)}function Bt(t){return Cl(this.k2(),t)?kh(this,Ue)?this:El():null}function Lt(t,n){return n(t,this)}function Nt(t){return Cl(this.k2(),t)?Ke():this}function Rt(t,n){if(null==n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,null==t[i])return i}while(e<=r)}else{var o=0,s=t.length-1|0;if(o<=s)do{var a=o;if(o=o+1|0,Cl(n,t[a]))return a}while(o<=s)}return-1}function Ft(t,n){if(null==n){var e=t.length-1|0;if(0<=e)do{var r=e;if(e=e+-1|0,null==t[r])return r}while(0<=e)}else{var i=t.length-1|0;if(0<=i)do{var o=i;if(i=i+-1|0,Cl(n,t[o]))return o}while(0<=i)}return-1}function Ht(t,n,e,r,i,o,s){return function(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=t,l=0,h=c.length;t:for(;l1&&n.b(e),!(o<0||u<=o))break t;Pr(n,p,a)}return o>=0&&u>o&&n.b(s),n.b(i),n}(t,Vu(),n,e,r,i,o,s).toString()}function Ut(t,n,e,r,i,o,s,a,u){return 0!=(1&a)&&(n=", "),0!=(2&a)&&(e=""),0!=(4&a)&&(r=""),0!=(8&a)&&(i=-1),0!=(16&a)&&(o="..."),0!=(32&a)&&(s=null),Ht(t,n,e,r,i,o,s)}function Vt(t){return t.length-1|0}function Wt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n.equals(t[i]))return i}while(e<=r);return-1}(t,n)>=0}function Jt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Kt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Yt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Gt(t,n){for(var e=t,r=0,i=e.length;r=0}function tn(t,n,e,r,i,o,s,a,u){return 0!=(1&a)&&(n=", "),0!=(2&a)&&(e=""),0!=(4&a)&&(r=""),0!=(8&a)&&(i=-1),0!=(16&a)&&(o="..."),0!=(32&a)&&(s=null),function(t,n,e,r,i,o,s){return en(t,Vu(),n,e,r,i,o,s).toString()}(t,n,e,r,i,o,s)}function nn(t){if(kh(t,Zc)){var n;switch(t.f()){case 0:n=Pe();break;case 1:n=Ls(kh(t,Hc)?t.g(0):t.c().e());break;default:n=rn(t,La(t.f()))}return n}return function(t){switch(t.f()){case 0:return Pe();case 1:return Ls(t.c().e());default:return t}}(rn(t,Ta()))}function en(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=t.c();t:for(;c.d();){var l=c.e();if((u=u+1|0)>1&&n.b(e),!(o<0||u<=o))break t;Pr(n,l,a)}return o>=0&&u>o&&n.b(s),n.b(i),n}function rn(t,n){for(var e=t.c();e.d();){var r=e.e();n.a(r)}return n}function on(t){if(kh(t,Hc))return function(t){var n;switch(t.f()){case 0:throw Sp("List is empty.");case 1:n=t.g(0);break;default:throw mp("List has more than one element.")}return n}(t);var n=t.c();if(!n.d())throw Sp("Collection is empty.");var e=n.e();if(n.d())throw mp("Collection has more than one element.");return e}function sn(t){this.r_1=t}function an(t){this.t_1=t}function un(t){var n=Bc(t).toUpperCase();if(n.length>1){var e;if(Cl(new Rc(t),new Rc(329)))e=n;else{var r=yl(n,0),i=n.substring(1).toLowerCase();e=Bc(r)+i}return e}return Bc(function(t){return function(t){var n=Tc(t);return 452<=n&&n<=460||497<=n&&n<=499?_h(Et(3,(n+1|0)/3|0)):4304<=n&&n<=4346||4349<=n&&n<=4351?t:Ju(t)}(t)}(t))}function cn(t,n){return n<=Ps().w_1?vr().v_1:vh(t,n-1|0)}function ln(t,n,e){if(n.c1(e)>0)throw mp("Cannot coerce value to an empty range: maximum "+zl(e)+" is less than minimum "+zl(n)+".");return t.c1(n)<0?n:t.c1(e)>0?e:t}function hn(t,n){return xr().d1(t,n,-1)}function pn(t,n){return t>n?n:t}function fn(t,n){return t=0))throw mp(zl("Requested element count "+n+" is less than zero."));return 0===n?qe():kh(t,je)?t.h1(n):new Ce(t,n)}function vn(t){return Jn(function(t){return function(t,n){for(var e=t.c();e.d();){var r=e.e();n.a(r)}return n}(t,ra())}(t))}function yn(t){this.i1_1=t}function mn(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));return function(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));var e=pn(n,t.length);return t.substring(0,e)}(t,fn(t.length-n|0,0))}function gn(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));var e=pn(n,t.length);return t.substring(e)}function $n(){Ol(this,$n)}function bn(){}function wn(){this.o1_1=zn(),this.p1_1=null}function xn(){if(o)return Cs();o=!0,n=new kn("Ready",0),e=new kn("NotReady",1),r=new kn("Done",2),i=new kn("Failed",3)}function kn(t,n){nl.call(this,t,n)}function jn(){return xn(),n}function zn(){return xn(),e}function Cn(){return xn(),i}function Sn(t){this.y1_1=t,this.x1_1=0}function qn(t,n){this.b2_1=t,Sn.call(this,t),Pn().c2(n,this.b2_1.f()),this.x1_1=n}function On(){s=this}function Pn(){return null==s&&new On,s}function Mn(){Pn(),bn.call(this)}function An(t){this.j2_1=t}function En(t){this.l2_1=t}function In(t,n){return n===t?"(this Map)":el(n)}function Dn(t,n){var e;t:{for(var r=t.u().c();r.d();){var i=r.e();if(Cl(i.k2(),n)){e=i;break t}}e=null}return e}function Tn(){a=this}function Bn(){return null==a&&new Tn,a}function Ln(t){this.q2_1=t,Un.call(this)}function Nn(t){this.w2_1=t,bn.call(this)}function Rn(){Bn(),this.s2_1=null,this.t2_1=null}function Fn(){u=this}function Hn(){return null==u&&new Fn,u}function Un(){Hn(),bn.call(this)}function Vn(){return Gn()}function Wn(t){return 0===t.length?ra():oa(new Xn(t,!0))}function Jn(t){switch(t.f()){case 0:return Vn();case 1:return Ns(t.g(0));default:return t}}function Kn(t){return t.f()-1|0}function Yn(){c=this,this.f3_1=new Ll(-1478467534,-1720727600)}function Gn(){return null==c&&new Yn,c}function Xn(t,n){this.j3_1=t,this.k3_1=n}function Zn(){l=this}function Qn(){return null==l&&new Zn,l}function te(t,n){this.n3_1=t,this.o3_1=n}function ne(t,n){return kh(t,Zc)?t.f():n}function ee(t){this.q3_1=t}function re(t){this.r3_1=t}function ie(t){this.s3_1=t,this.t3_1=0}function oe(){}function se(){var t=(null==h&&new ae,h);return kh(t,Gc)?t:El()}function ae(){h=this,this.g4_1=new Ll(-888910638,1920087921)}function ue(t,n){return function(t,n){for(var e=n.c();e.d();){var r=e.e(),i=r.l4(),o=r.m4();t.v3(i,o)}}(n,t),n}function ce(t,n){for(var e=n,r=0,i=e.length;r=0))throw mp(zl("count must be non-negative, but was "+this.p5_1+"."))}function Se(){p=this}function qe(){return null==p&&new Se,p}function Oe(t){this.q5_1=t}function Pe(){return Ae()}function Me(){f=this,this.r5_1=new Ll(1993859828,793161749)}function Ae(){return null==f&&new Me,f}function Ee(t){return function(t,n){var e;return e=il(Array(t),null),De.call(n,e,0),n}(t,Object.create(De.prototype))}function Ie(t){this.w5_1=t,wn.call(this),this.u5_1=t.a6_1,this.v5_1=t.z5_1}function De(t,n){if(Mn.call(this),this.x5_1=t,!(n>=0))throw mp(zl("ring buffer filled size should not be negative but it is "+n));if(!(n<=this.x5_1.length))throw mp(zl("ring buffer filled size: "+n+" cannot be larger than the buffer size: "+this.x5_1.length));this.y5_1=this.x5_1.length,this.z5_1=0,this.a6_1=n}function Te(t,n,e,r,i,o){this.p6_1=t,this.q6_1=n,this.r6_1=e,this.s6_1=r,this.t6_1=i,op.call(this,o)}function Be(t){this.v7_1=t}function Le(){}function Ne(){_=this}function Re(){return null==_&&new Ne,_}function Fe(){}function He(){}function Ue(){}function Ve(t,n){var e,r=t.d8(n.k2());if(r===Ke())e=n;else{var i,o=r.y7(Re());if(null==o)i=new Ze(r,n);else{var s=r.d8(Re());i=s===Ke()?new Ze(n,o):new Ze(new Ze(s,n),o)}e=i}return e}function We(){}function Je(){d=this,this.g8_1=new Ll(0,0)}function Ke(){return null==d&&new Je,d}function Ye(t){for(var n=t,e=2;;){var r=n.h8_1,i=r instanceof Ze?r:null;if(null==i)return e;n=i,e=e+1|0}}function Ge(t,n){return Cl(t.y7(n.k2()),n)}function Xe(t,n){return 0===gl(t)?zl(n):t+", "+n}function Ze(t,n){this.h8_1=t,this.i8_1=n}function Qe(t,n){this.z7_1=n;var e;e=t instanceof Qe?t.a8_1:t,this.a8_1=e}function tr(t){this.j8_1=t}function nr(){return er(),v}function er(){if(g)return Cs();g=!0,v=new rr("COROUTINE_SUSPENDED",0),y=new rr("UNDECIDED",1),m=new rr("RESUMED",2)}function rr(t,n){nl.call(this,t,n)}function ir(){return er(),y}function or(){return er(),m}function sr(t,n,e){var r;if(e>0)r=t>=n?n:n-ar(n,t,e)|0;else{if(!(e<0))throw mp("Step is zero.");r=t<=n?n:n+ar(t,n,0|-e)|0}return r}function ar(t,n,e){return ur(ur(t,e)-ur(n,e)|0,e)}function ur(t,n){var e=t%n|0;return e>=0?e:e+n|0}function cr(){var t;$=this,hr.call(this),this.k8_1=(Y||(Y=!0,Math.pow(2,-26),Math.pow(2,-53)),t=Math.random()*Math.pow(2,32)|0,function(t,n,e){return _r.call(e,t,n,0,0,~t,t<<10^(n>>>4|0)),e}(t,t>>31,Object.create(_r.prototype)))}function lr(){return null==$&&new cr,$}function hr(){lr()}function pr(t,n){if(!(n>t))throw mp(zl(function(t,n){return"Random range is empty: ["+zl(t)+", "+zl(n)+")."}(t,n)))}function fr(){b=this,this.q8_1=new Ll(0,0)}function _r(t,n,e,r,i,o){if(null==b&&new fr,hr.call(this),this.r8_1=t,this.s8_1=n,this.t8_1=e,this.u8_1=r,this.v8_1=i,this.w8_1=o,0==(this.r8_1|this.s8_1|this.t8_1|this.u8_1|this.v8_1))throw mp(zl("Initial state must have at least one non-zero element."));var s=0;if(s<64)do{s=s+1|0,this.q4()}while(s<64)}function dr(){w=this,this.v_1=new yr(1,0)}function vr(){return null==w&&new dr,w}function yr(t,n){vr(),kr.call(this,t,n,1)}function mr(){x=this,this.a9_1=new gr(1,0)}function gr(t,n){null==x&&new mr,zr.call(this,t,n,1)}function $r(t,n,e){pe.call(this),this.i9_1=e,this.j9_1=n,this.k9_1=this.i9_1>0?t<=n:t>=n,this.l9_1=this.k9_1?t:this.j9_1}function br(t,n,e){fe.call(this),this.m9_1=e;var r;r=Tc(n),this.n9_1=r,this.o9_1=this.m9_1>0?Ic(t,n)<=0:Ic(t,n)>=0;var i;i=this.o9_1?Tc(t):this.n9_1,this.p9_1=i}function wr(){k=this}function xr(){return null==k&&new wr,k}function kr(t,n,e){if(xr(),0===e)throw mp("Step must be non-zero.");if(e===Ps().w_1)throw mp("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.e1_1=t,this.f1_1=sr(t,n,e),this.g1_1=e}function jr(){j=this}function zr(t,n,e){if(null==j&&new jr,0===e)throw mp("Step must be non-zero.");if(e===Ps().w_1)throw mp("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.f9_1=t;var r,i=Tc(t);r=Tc(n),this.g9_1=_h(sr(i,r,e)),this.h9_1=e}function Cr(){}function Sr(){}function qr(){}function Or(){}function Pr(t,n,e){null!=e?t.b(e(n)):null==n||Eh(n)?t.b(n):n instanceof Rc?t.q9(n.k1_1):t.b(el(n))}function Mr(t,n,e){if(Cl(new Rc(t),new Rc(n)))return!0;if(!e)return!1;var r=Ju(t),i=Ju(n);return!!Cl(new Rc(r),new Rc(i))||Cl(new Rc(yl(Bc(r).toLowerCase(),0)),new Rc(yl(Bc(i).toLowerCase(),0)))}function Ar(t){var n;t:{var e=0,r=gl(t)-1|0;if(e<=r)do{var i=e;if(e=e+1|0,!Ku(yl(t,i))){n=i;break t}}while(e<=r);n=-1}var o=n;return-1===o?t.length:o}function Er(t){return t}function Ir(t){return function(t,n){Yu(n);var e,r,i,o=t.length;if(0===o)return null;var s=yl(t,0);if(Ic(s,48)<0){if(1===o)return null;if(e=1,Cl(new Rc(s),new Rc(45)))r=!0,Bl(),i=new Ll(0,-2147483648);else{if(!Cl(new Rc(s),new Rc(43)))return null;r=!1,Bl(),i=new Ll(-1,2147483647).r9()}}else e=0,r=!1,Bl(),i=new Ll(-1,2147483647).r9();Bl();var a=new Ll(-1,2147483647).r9().s9(new Ll(36,0)),u=a,c=new Ll(0,0),l=e;if(l0,u=ia(a?pn(r,10):10);t:do{var c;if(c=zl($l(t,i,o)),u.a(c),i=o+n.length|0,a&&u.f()===(r-1|0))break t;o=Rr(t,n,i,e)}while(-1!==o);return s=zl($l(t,i,gl(t))),u.a(s),u}(t,i,e,r)}for(var o=function(t){return new yn(t)}(Zr(t,n,0,e,r,2)),s=ia(ne(o,10)),a=o.c();a.d();){var u;u=Gr(t,a.e()),s.a(u)}return s}function Nr(t,n,e,r,i,o){return 0!=(2&i)&&(e=Ur(t)),0!=(4&i)&&(r=!1),function(t,n,e,r){return r||"string"!=typeof t?Qr(t,n,e,0,r,!0):t.lastIndexOf(n,e)}(t,n,e,r)}function Rr(t,n,e,r){return r||"string"!=typeof t?function(t,n,e,r,i,o,s,a){return 0!=(16&s)&&(o=!1),Qr(t,n,e,r,i,o)}(t,n,e,gl(t),r,!1,16):t.indexOf(n,e)}function Fr(t,n,e,r,i,o){return 0!=(2&i)&&(e=0),0!=(4&i)&&(r=!1),Rr(t,n,e,r)}function Hr(t){return function(t,n,e,r,i,o){return 0!=(2&i)&&(e=!1),0!=(4&i)&&(r=0),function(t,n,e,r){return _n(Zr(t,n,0,e,r,2),(i=t,function(t){return Gr(i,t)}));var i}(t,n,e,r)}(t,["\r\n","\n","\r"],!1,0,6)}function Ur(t){return gl(t)-1|0}function Vr(t,n,e){return zl(function(t,n,e){if(n<0)throw mp("Desired length "+n+" is less than zero.");if(n<=gl(t))return $l(t,0,gl(t));var r=Hu(n),i=1,o=n-gl(t)|0;if(i<=o)do{var s=i;i=i+1|0,r.q9(e)}while(s!==o);return r.b(t),r}(Eh(t)?t:El(),n,e))}function Wr(t,n,e,r,i){return 0!=(2&r)&&(e=!1),function(t,n,e){return gl(t)>0&&Mr(yl(t,0),n,e)}(t,n,e)}function Jr(t,n,e,r,i){return 0!=(2&r)&&(e=!1),function(t,n,e){return Yr(t,n,0,e,2)>=0}(t,n,e)}function Kr(t,n,e,r){var i,o;if(r||"string"!=typeof t)i=function(t,n,e,r){if(!r&&1===n.length&&"string"==typeof t){var i=t,o=Bc(function(t){var n;switch(t.length){case 0:throw Sp("Array is empty.");case 1:n=t[0];break;default:throw mp("Array has more than one element.")}return n}(n));return i.indexOf(o,e)}var s=fn(e,0),a=Ur(t);if(s<=a)do{var u=s;s=s+1|0;var c,l=yl(t,u);t:{for(var h=n,p=0,f=h.length;p0&&u<=c||l<0&&c<=u)do{var h,p=u;u=u+l|0;t:{for(var f=n.c();f.d();){var _=f.e();if(gc(_,0,t,p,_.length,r)){h=_;break t}}h=null}if(null!=h)return uo(p,h)}while(p!==c)}else{var d=a.e1_1,v=a.f1_1,y=a.g1_1;if(y>0&&d<=v||y<0&&v<=d)do{var m,g=d;d=d+y|0;t:{for(var $=n.c();$.d();){var b=$.e();if(ii(b,0,t,g,b.length,r)){m=b;break t}}m=null}if(null!=m)return uo(g,m)}while(g!==v)}return null}(t,o,n,s,!1);return null==e?null:uo(e.j4_1,e.k4_1.length)}));var o,s}function Zr(t,n,e,r,i,o,s){return 0!=(2&o)&&(e=0),0!=(4&o)&&(r=!1),0!=(8&o)&&(i=0),Xr(t,n,e,r,i)}function Qr(t,n,e,r,i,o){var s=o?hn(pn(e,Ur(t)),fn(r,0)):vh(fn(e,0),pn(r,gl(t)));if("string"==typeof t&&"string"==typeof n){var a=s.e1_1,u=s.f1_1,c=s.g1_1;if(c>0&&a<=u||c<0&&u<=a)do{var l=a;if(a=a+c|0,gc(n,0,t,l,gl(n),i))return l}while(l!==u)}else{var h=s.e1_1,p=s.f1_1,f=s.g1_1;if(f>0&&h<=p||f<0&&p<=h)do{var _=h;if(h=h+f|0,ii(n,0,t,_,gl(n),i))return _}while(_!==p)}return-1}function ti(t){if(!(t>=0))throw mp(zl("Limit must be non-negative, but was "+t))}function ni(t){if(t.ia_1<0)t.ga_1=0,t.ja_1=null;else{var n;if(t.la_1.oa_1>0){var e=t;e.ka_1=e.ka_1+1|0,n=e.ka_1>=t.la_1.oa_1}else n=!1;if(n||t.ia_1>gl(t.la_1.ma_1))t.ja_1=vh(t.ha_1,Ur(t.la_1.ma_1)),t.ia_1=-1;else{var r=t.la_1.pa_1(t.la_1.ma_1,t.ia_1);if(null==r)t.ja_1=vh(t.ha_1,Ur(t.la_1.ma_1)),t.ia_1=-1;else{var i=r,o=i.l4(),s=i.m4();t.ja_1=cn(t.ha_1,o),t.ha_1=o+s|0,t.ia_1=t.ha_1+(0===s?1:0)|0}}t.ga_1=1}}function ei(t){this.la_1=t,this.ga_1=-1,this.ha_1=function(t,n,e){if(n>e)throw mp("Cannot coerce value to an empty range: maximum "+e+" is less than minimum "+n+".");return te?e:t}(t.na_1,0,gl(t.ma_1)),this.ia_1=this.ha_1,this.ja_1=null,this.ka_1=0}function ri(t,n,e,r){this.ma_1=t,this.na_1=n,this.oa_1=e,this.pa_1=r}function ii(t,n,e,r,i,o){if(r<0||n<0||n>(gl(t)-i|0)||r>(gl(e)-i|0))return!1;var s=0;if(s=0)return t;throw mp("Summing infinite durations of different signs yields an undefined result.")}if(mi(n))return n;var e,r,i;if((1&t.va())==(1&n.va())){var o=ci(t).u9(ci(n));e=li(t)?(r=o,i=new Ll(387905,-1073741824),r.c1(new Ll(-387905,1073741823))<=0&&i.c1(r)<=0?Di(r):Oi(Ei(r))):Ai(o)}else e=hi(t)?vi(0,ci(t),ci(n)):vi(0,ci(n),ci(t));return e}function vi(t,n,e){var r,i=Ei(e),o=n.u9(i),s=new Ll(1108857478,-1074);if(o.c1(new Ll(-1108857478,1073))<=0&&s.c1(o)<=0){var a=e.v9(Ii(i));r=Di(Ii(o).u9(a))}else r=Oi(ln(o,new Ll(1,-1073741824),new Ll(-1,1073741823)));return r}function yi(t){return t.c1(new Ll(0,0))<0}function mi(t){return!!t.equals(fi().xa_1)||t.equals(fi().ya_1)}function gi(t){return yi(t)?_i(t):t}function $i(t,n){var e=t.ab(n);if(e.c1(new Ll(0,0))<0||0==(1&e.va()))return t.c1(n);var r=(1&t.va())-(1&n.va())|0;return yi(t)?0|-r:r}function bi(t){return mi(t)?0:function(t){return ki(t,Pc())}(t).cb(new Ll(60,0)).va()}function wi(t){return mi(t)?0:function(t){return ki(t,Oc())}(t).cb(new Ll(60,0)).va()}function xi(t){return mi(t)?0:hi(t)?Ii(ci(t).cb(new Ll(1e3,0))).va():ci(t).cb(new Ll(1e9,0)).va()}function ki(t,n){var e,r=t;return r.equals(fi().xa_1)?(Bl(),e=new Ll(-1,2147483647)):r.equals(fi().ya_1)?(Bl(),e=new Ll(0,-2147483648)):e=zc(ci(t),function(t){return li(t)?Sc():qc()}(t),n),e}function ji(t){return ki(t,Mc())}function zi(t){var n,e=t;if(e.equals(new Ll(0,0)))n="0s";else if(e.equals(fi().xa_1))n="Infinity";else if(e.equals(fi().ya_1))n="-Infinity";else{var r=yi(t),i=Vu();r&&i.q9(45);var o=gi(t),s=function(t){return ki(t,Ac())}(o),a=function(t){return mi(t)?0:ji(t).cb(new Ll(24,0)).va()}(o),u=bi(o),c=wi(o),l=xi(o),h=!s.equals(new Ll(0,0)),p=!(0===a),f=!(0===u),_=0!==c||!(0===l),d=0;if(h&&(i.db(s).q9(100),d=d+1|0),p||h&&(f||_)){var v=d;d=v+1|0,v>0&&i.q9(32),i.db(a).q9(104)}if(f||_&&(p||h)){var y=d;d=y+1|0,y>0&&i.q9(32),i.db(u).q9(109)}if(_){var m=d;d=m+1|0,m>0&&i.q9(32),0!==c||h||p||f?Ci(i,0,c,l,9,"s",!1):l>=1e6?Ci(i,0,l/1e6|0,l%1e6|0,6,"ms",!1):l>=1e3?Ci(i,0,l/1e3|0,l%1e3|0,3,"us",!1):i.db(l).eb("ns")}r&&d>1&&(i.fb(1,40).q9(41),Cs()),n=i.toString()}return n}function Ci(t,n,e,r,i,o,s){if(t.db(e),0!==r){t.q9(46);var a,u=Vr(r.toString(),i,48);t:{var c=gl(u)-1|0;if(0<=c)do{var l=c;if(c=c+-1|0,!Cl(new Rc(yl(u,l)),new Rc(48))){a=l;break t}}while(0<=c);a=-1}var h=a+1|0;!s&&h<3?t.gb(u,0,h):t.gb(u,0,Et((h+2|0)/3|0,3))}t.eb(o)}function Si(t){fi(),this.bb_1=t}function qi(t,n){var e=jc(t,n,Sc());if(Za(e))throw mp(zl("Duration value cannot be NaN."));var r=Xa(e),i=new Ll(387905,-1073741824);return r.c1(new Ll(-387905,1073741823))<=0&&i.c1(r)<=0?Di(r):Ai(Xa(jc(t,n,qc())))}function Oi(t){return ui(t.jb(1).u9(new Ll(1,0)))}function Pi(t,n){var e=Cc(new Ll(-387905,1073741823),Sc(),n);return e.r9().c1(t)<=0&&t.c1(e)<=0?Di(Cc(t,n,Sc())):Oi(ln(zc(t,n,qc()),new Ll(1,-1073741824),new Ll(-1,1073741823)))}function Mi(t,n){var e=t.length;if(0===e)throw mp("The string is empty");var r=0,i=fi().wa_1,o="Infinity",s=yl(t,r);(Cl(new Rc(s),new Rc(43))||Cl(new Rc(s),new Rc(45)))&&(r=r+1|0);var a=r>0,u=!!a&&Wr(t,45,!1,2);if(e<=r)throw mp("No components");if(Cl(new Rc(yl(t,r)),new Rc(80))){if((r=r+1|0)===e)throw vp();for(var c=!1,l=null;r=0&&y<=Ur(t)))throw mp("Missing unit for value "+v);r=r+1|0;var m=Bi(yl(t,y),c);if(null!=l&&l.w1(m)<=0)throw mp("Unexpected order of duration components");l=m;var g=Yr(v,46,0,!1,6);m.equals(Oc())&&g>0?(i=di(i,Pi(Ti(v.substring(0,g)),m)),i=di(i,qi(Xu(v.substring(g)),m))):i=di(i,Pi(Ti(v),m))}}else{if(n)throw vp();var $=e-r|0,b=o.length;if(gc(t,r,o,0,Math.max($,b),!0))i=fi().xa_1;else{var w=null,x=!1,k=!a;if(a&&Cl(new Rc(yl(t,r)),new Rc(40))&&Cl(new Rc(function(t){if(0===gl(t))throw Sp("Char sequence is empty.");return yl(t,Ur(t))}(t)),new Rc(41))&&(k=!0,(r=r+1|0)==(e=e-1|0)))throw mp("No components");for(;r0){if(i=di(i,Pi(Zu(P.substring(0,L)),B)),i=di(i,qi(Xu(P.substring(L)),B)),r0&&Jr("+-",yl(t,0),!1,2)&&(i=i+1|0),(r-i|0)>16){var o;t:{var s=vh(i,Ur(t));if(kh(s,Zc)&&s.h())o=!0;else{var a=s.e1_1,u=s.f1_1;if(a<=u)do{var c=a;a=a+1|0;var l=yl(t,c);if(!(48<=l&&l<=57)){o=!1;break t}}while(c!==u);o=!0}}n=o}else n=!1;return n?(Cl(new Rc(yl(t,0)),new Rc(45))?(Bl(),e=new Ll(0,-2147483648)):(Bl(),e=new Ll(-1,2147483647)),e):yc(t,"+",!1,2)?Zu(gn(t,1)):Zu(t)}function Bi(t,n){var e;if(n){var r,i=t;if(Cl(new Rc(i),new Rc(72)))r=Mc();else if(Cl(new Rc(i),new Rc(77)))r=Pc();else{if(!Cl(new Rc(i),new Rc(83)))throw mp("Invalid duration ISO time unit: "+new Rc(t));r=Oc()}e=r}else{if(!Cl(new Rc(t),new Rc(68)))throw mp("Invalid or unsupported duration ISO non-time unit: "+new Rc(t));e=Ac()}return e}function Li(t){var n;switch(t){case"ns":n=Sc();break;case"us":xc(),n=it;break;case"ms":n=qc();break;case"s":n=Oc();break;case"m":n=Pc();break;case"h":n=Mc();break;case"d":n=Ac();break;default:throw mp("Unknown duration unit short name: "+t)}return n}function Ni(){return Ui(),C}function Ri(){}function Fi(t){this.lb_1=t}function Hi(t,n){Ri.call(this),this.mb_1=function(t,n){if("function"==typeof t)return t.$arity===n;if("object"==typeof t&&tf("$metadata$",t.constructor)){var e,r=t.constructor.$metadata$,i=null==r?null:r.suspendArity;if(null!=i){var o=!1,s=ol(i);t:for(;s.d();)if(n===s.e()){o=!0;break t}return o}return null!=(e=null)&&e}return!1}(t,2)?t:El(),this.nb_1=n,this.ob_1=kh(this,Le)?this:El(),this.pb_1=Ni()}function Ui(){var t;S||(S=!0,no(),t=nr(),C=t)}function Vi(){}function Wi(t,n){nl.call(this,t,n)}function Ji(t){this.tb_1=t,this.ub_1=Yi()}function Ki(){P=this}function Yi(){return null==P&&new Ki,P}function Gi(t){return t}function Xi(t){return t}function Zi(t){return t instanceof eo}function Qi(t){return t instanceof eo?t.wb_1:null}function to(){M=this}function no(){return null==M&&new to,M}function eo(t){this.wb_1=t}function ro(t){no(),this.zb_1=t}function io(t){return new eo(t)}function oo(t){if(t instanceof eo)throw t.wb_1}function so(t){_p(t,this),Ol(this,so)}function ao(t,n){this.j4_1=t,this.k4_1=n}function uo(t,n){return new ao(t,n)}function co(t,n,e){this.cc_1=t,this.dc_1=n,this.ec_1=e}function lo(t){return t}function ho(t){return t}function po(){A=this,this.fc_1=0,this.gc_1=-1,this.hc_1=1,this.ic_1=8}function fo(){return null==A&&new po,A}function _o(t,n){return wl(255&t,255&n)}function vo(t){return(255&t).toString()}function yo(t){fo(),this.jc_1=t}function mo(t){return t}function go(t){return t}function $o(t){return t.length}function bo(t){this.lc_1=t,this.mc_1=0}function wo(t,n){return(Mh(new yo(n))?new yo(n):El())instanceof yo&&Yt(t,n)}function xo(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof yo&&Yt(t,o.jc_1))){e=!1;break t}}e=!0}}return e}function ko(t){this.oc_1=t}function jo(t){return t}function zo(t){return t}function Co(){E=this,this.rc_1=0,this.sc_1=-1,this.tc_1=4,this.uc_1=32}function So(){return null==E&&new Co,E}function qo(t,n){return ds(t,n)}function Oo(t){return dh(t).wc(new Ll(-1,0)).toString()}function Po(t){So(),this.vc_1=t}function Mo(t){return t}function Ao(t){return t}function Eo(t){return t.length}function Io(t){this.yc_1=t,this.zc_1=0}function Do(t,n){return(Mh(new Po(n))?new Po(n):El())instanceof Po&&Jt(t,n)}function To(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof Po&&Jt(t,o.vc_1))){e=!1;break t}}e=!0}}return e}function Bo(t){this.bd_1=t}function Lo(t){return t}function No(t){return t}function Ro(){I=this,this.ed_1=new Ll(0,0),this.fd_1=new Ll(-1,-1),this.gd_1=8,this.hd_1=64}function Fo(){return null==I&&new Ro,I}function Ho(t,n){return vs(t,n)}function Uo(t){return function(t,n){if(t.c1(new Ll(0,0))>=0)return of(t,n);var e,r=t.ce(1).s9(dh(n)).jb(1);e=r.t9(dh(n));var i=t.v9(e);return i.c1(dh(n))>=0&&(i=i.v9(dh(n)),r=r.u9(new Ll(1,0))),of(r,n)+of(i,n)}(t,10)}function Vo(t){Fo(),this.id_1=t}function Wo(t){return t}function Jo(t){return t}function Ko(t){return t.length}function Yo(t){this.kd_1=t,this.ld_1=0}function Go(t,n){return(Mh(new Vo(n))?new Vo(n):El())instanceof Vo&&Wt(t,n)}function Xo(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof Vo&&Wt(t,o.id_1))){e=!1;break t}}e=!0}}return e}function Zo(t){this.nd_1=t}function Qo(t){return t}function ts(t){return t}function ns(){D=this,this.qd_1=0,this.rd_1=-1,this.sd_1=2,this.td_1=16}function es(){return null==D&&new ns,D}function rs(t,n){return wl(65535&t,65535&n)}function is(t){return(65535&t).toString()}function os(t){es(),this.ud_1=t}function ss(t){return t}function as(t){return t}function us(t){return t.length}function cs(t){this.wd_1=t,this.xd_1=0}function ls(t,n){return(Mh(new os(n))?new os(n):El())instanceof os&&Kt(t,n)}function hs(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof os&&Kt(t,o.ud_1))){e=!1;break t}}e=!0}}return e}function ps(t){this.zd_1=t}function fs(t){return function(t,n){Yu(n);var e=t.length;if(0===e)return null;Fo();var r,i=new Ll(-1,-1),o=yl(t,0);if(Ic(o,48)<0){if(1===e||!Cl(new Rc(o),new Rc(43)))return null;r=1}else r=0;var s=new Ll(477218588,119304647),a=s,u=dh(n),c=new Ll(0,0),l=r;if(l0){if(!Cl(a,s))return null;if(vs(c,a=ys(i,u))>0)return null}var f=c=c.t9(u),_=c,d=dh(p).wc(new Ll(-1,0));if(vs(c=_.u9(d),f)<0)return null}while(l0){if(c!==u)return null;if(ds(h,(o=l,s=void 0,a=void 0,a=dh(-1).wc(new Ll(-1,0)),s=dh(o).wc(new Ll(-1,0)),c=a.s9(s).va()))>0)return null}var d=h=Et(h,l);if(ds(h=h+_|0,d)<0)return null}while(p=0)return e.s9(r);var i=e.ce(1).s9(r).jb(1),o=vs(e.v9(i.t9(r)),r)>=0?1:0;return i.u9(dh(o))}function ms(){}function gs(){}function $s(){}function bs(){}function ws(){}function xs(){}function ks(){}function js(){}function zs(){T=this}function Cs(){return null==T&&new zs,T}function Ss(){B=this,this.ge_1=-128,this.he_1=127,this.ie_1=1,this.je_1=8}function qs(){L=this,this.oe_1=-32768,this.pe_1=32767,this.qe_1=2,this.re_1=16}function Os(){N=this,this.w_1=-2147483648,this.x_1=2147483647,this.y_1=4,this.z_1=32}function Ps(){return null==N&&new Os,N}function Ms(){R=this,this.se_1=14e-46,this.te_1=34028235e31,this.ue_1=1/0,this.ve_1=-1/0,this.we_1=NaN,this.xe_1=4,this.ye_1=32}function As(){return null==R&&new Ms,R}function Es(){F=this,this.cf_1=5e-324,this.df_1=17976931348623157e292,this.ef_1=1/0,this.ff_1=-1/0,this.gf_1=NaN,this.hf_1=8,this.if_1=64}function Is(){return null==F&&new Es,F}function Ds(){H=this}function Ts(){U=this}function Bs(){}function Ls(t){return Gt(n=[t],$a(n.length));var n}function Ns(t){return 0===(n=[t]).length?ra():oa(new Xn(n,!0));var n}function Rs(t){return t<0&&function(){throw Fp("Index overflow has happened.")}(),t}function Fs(t){return void 0!==t.toArray?t.toArray():Hs(t)}function Hs(t){for(var n=[],e=t.c();e.d();)n.push(e.e());return n}function Us(){bn.call(this)}function Vs(t){this.of_1=t,this.mf_1=0,this.nf_1=-1}function Ws(t,n){this.tf_1=t,Vs.call(this,t),Pn().c2(n,this.tf_1.f()),this.mf_1=n}function Js(t,n,e){Ks.call(this),this.vf_1=t,this.wf_1=n,this.xf_1=0,Pn().e2(this.wf_1,e,this.vf_1.f()),this.xf_1=e-this.wf_1|0}function Ks(){Us.call(this),this.pf_1=0}function Ys(t){this.bg_1=t}function Gs(t){this.cg_1=t}function Xs(t,n){this.dg_1=t,this.eg_1=n}function Zs(){ea.call(this)}function Qs(t){this.ig_1=t,ea.call(this)}function ta(t){this.pg_1=t,Us.call(this)}function na(){Rn.call(this),this.mg_1=null,this.ng_1=null}function ea(){Us.call(this)}function ra(){return t=Object.create(ua.prototype),n=[],ua.call(t,n),t;var t,n}function ia(t){return n=Object.create(ua.prototype),e=[],ua.call(n,e),n;var n,e}function oa(t){return function(t,n){var e;return e=Fs(t),ua.call(n,e),n}(t,Object.create(ua.prototype))}function sa(t,n){return Pn().d2(n,t.f()),n}function aa(t,n){return Pn().c2(n,t.f()),n}function ua(t){Ks.call(this),this.l_1=t,this.m_1=!1}function ca(t,n,e,r,i){if(e===r)return t;var o=(e+r|0)/2|0,s=ca(t,n,e,o,i),a=ca(t,n,o+1|0,r,i),u=s===n?t:n,c=e,l=o+1|0,h=e;if(h<=r)do{var p=h;if(h=h+1|0,c<=o&&l<=r){var f=s[c],_=a[l];i.compare(f,_)<=0?(u[p]=f,c=c+1|0):(u[p]=_,l=l+1|0)}else c<=o?(u[p]=s[c],c=c+1|0):(u[p]=a[l],l=l+1|0)}while(p!==r);return u}function la(t,n){return(3&t)-(3&n)|0}function ha(){W=this}function pa(){}function fa(t){this.wg_1=t,Zs.call(this)}function _a(t){return function(t,n){na.call(n),ma.call(n),n.ch_1=t,n.dh_1=t.fh()}(new Ca((null==W&&new ha,W)),t),t}function da(){return _a(Object.create(ma.prototype))}function va(t,n,e){if(_a(e),!(t>=0))throw mp(zl("Negative initial capacity: "+t));if(!(n>=0))throw mp(zl("Non-positive load factor: "+n));return e}function ya(t){return function(t,n){return va(t,0,n),n}(t,Object.create(ma.prototype))}function ma(){this.eh_1=null}function ga(t,n,e){return ea.call(e),wa.call(e),e.hh_1=function(t,n){return va(t,n,Object.create(ma.prototype))}(t,n),e}function $a(t){return function(t,n){return ga(t,0,n),n}(t,Object.create(wa.prototype))}function ba(t,n){return ea.call(n),wa.call(n),n.hh_1=t,n}function wa(){}function xa(t,n){var e=ja(t,t.qh_1.vg(n));if(null==e)return null;var r=e;if(null!=r&&Ph(r))return ka(r,t,n);var i=r;return t.qh_1.ug(i.k2(),n)?i:null}function ka(t,n,e){var r;t:{for(var i=t,o=0,s=i.length;onew Ll(-1,2147483647).oi()?(Bl(),n=new Ll(-1,2147483647)):(Bl(),t1?t:yl(n,0)}function Ku(t){return function(t){var n;return 9<=(n=Tc(t))&&n<=13||28<=n&&n<=32||160===n||n>4096&&(5760===n||8192<=n&&n<=8202||8232===n||8233===n||8239===n||8287===n||12288===n)}(t)}function Yu(t){if(!(2<=t&&t<=36))throw mp("radix "+t+" was not in valid range 2..36");return t}function Gu(t,n){var e,r,i,o=Ic(t,48)>=0&&Ic(t,57)<=0?Dc(t,48):Ic(t,65)>=0&&Ic(t,90)<=0?Dc(t,65)+10|0:Ic(t,97)>=0&&Ic(t,122)<=0?Dc(t,97)+10|0:Ic(t,128)<0?-1:Ic(t,65313)>=0&&Ic(t,65338)<=0?Dc(t,65313)+10|0:Ic(t,65345)>=0&&Ic(t,65370)<=0?Dc(t,65345)+10|0:(e=Tc(t),r=Xh(Qh().hn_1,e),(i=e-Qh().hn_1[r]|0)<10?i:-1);return o>=n?-1:o}function Xu(t){var n=+t;return(Za(n)&&!tc(t)||0===n&&mc(t))&&Tr(t),n}function Zu(t){var n,e=Ir(t);return null==e?Tr(t):n=e,n}function Qu(t){var n,e=Dr(t);return null==e?Tr(t):n=e,n}function tc(t){switch(t.toLowerCase()){case"nan":case"+nan":case"-nan":return!0;default:return!1}}function nc(){tt=this,this.xk_1=new RegExp("[\\\\^$*+?.()|[\\]{}]","g"),this.yk_1=new RegExp("[\\\\$]","g"),this.zk_1=new RegExp("\\$","g")}function ec(){return null==tt&&new nc,tt}function rc(t){return t.e()}function ic(t){return function(n){return function(t,n){for(var e=0,r=Vu();e=f.f())throw Bp("Group with index "+v+" does not exist");var y=f.g(v),m=null==y?null:y.kl_1;r.eb(null==m?"":m),e=_}}else r.q9(o)}return r.toString()}(n,t)}}function oc(t,n){ec(),this.w9_1=t,this.x9_1=nn(n),this.y9_1=new RegExp(t,tn(n,"","gu",null,0,null,pc,28)),this.z9_1=null,this.aa_1=null}function sc(t,n,e){nl.call(this,t,n),this.jl_1=e}function ac(t,n,e,r){t.lastIndex=e;var i=t.exec(n);return null==i?null:new dc(vh(i.index,t.lastIndex-1|0),i,r,n)}function uc(t){this.kl_1=t}function cc(t,n){for(var e=n;e0&&Cl(new Rc(yl(n,Ur(n)-(o-1|0)|0)),new Rc(32));)o=o-1|0;return mn(n,o)+"... and "+(r-1|0)+" more common stack frames skipped"}(n,s,u),gl(e)>0){var c;if(0===u)c=0;else{for(var l=0,h=i,p=0,f=h.length;p=d&&n.wl_1.eb(e),n.wl_1.eb(m).eb("\n")}}else n.wl_1.eb(s).eb("\n")}else n.wl_1.eb(i).eb("\n");var $=function(t){var n=t._suppressed,e=null==n?null:n;return null==e?Vn():e}(t);if(!$.h())for(var b=e+" ",w=$.c();w.d();)$c(w.e(),n,b,"Suppressed: ");return!0}function wc(){var t;this.wl_1=Vu(),t=[],this.xl_1=t,this.yl_1="",this.zl_1=0}function xc(){if(lt)return Cs();lt=!0,rt=new kc("NANOSECONDS",0,1),it=new kc("MICROSECONDS",1,1e3),ot=new kc("MILLISECONDS",2,1e6),st=new kc("SECONDS",3,1e9),at=new kc("MINUTES",4,6e10),ut=new kc("HOURS",5,36e11),ct=new kc("DAYS",6,864e11)}function kc(t,n,e){nl.call(this,t,n),this.dm_1=e}function jc(t,n,e){var r=wl(n.dm_1,e.dm_1);return r>0?t*(n.dm_1/e.dm_1):r<0?t/(e.dm_1/n.dm_1):t}function zc(t,n,e){var r,i=wl(n.dm_1,e.dm_1);if(i>0){var o,s=fh(n.dm_1/e.dm_1),a=t.t9(s);a.s9(s).equals(t)?o=a:t.c1(new Ll(0,0))>0?(Bl(),o=new Ll(-1,2147483647)):(Bl(),o=new Ll(0,-2147483648)),r=o}else r=i<0?t.s9(fh(e.dm_1/n.dm_1)):t;return r}function Cc(t,n,e){var r=wl(n.dm_1,e.dm_1);return r>0?t.t9(fh(n.dm_1/e.dm_1)):r<0?t.s9(fh(e.dm_1/n.dm_1)):t}function Sc(){return xc(),rt}function qc(){return xc(),ot}function Oc(){return xc(),st}function Pc(){return xc(),at}function Mc(){return xc(),ut}function Ac(){return xc(),ct}function Ec(t){return t}function Ic(t,n){return t-n|0}function Dc(t,n){return t-n|0}function Tc(t){return t}function Bc(t){return String.fromCharCode(t)}function Lc(){ht=this,this.em_1=0,this.fm_1=65535,this.gm_1=55296,this.hm_1=56319,this.im_1=56320,this.jm_1=57343,this.km_1=55296,this.lm_1=57343,this.mm_1=2,this.nm_1=16}function Nc(){return null==ht&&new Lc,ht}function Rc(t){Nc(),this.k1_1=t}function Fc(){}function Hc(){}function Uc(){}function Vc(){}function Wc(){}function Jc(){}function Kc(){}function Yc(){}function Gc(){}function Xc(){}function Zc(){}function Qc(){}function tl(){pt=this}function nl(t,n){null==pt&&new tl,this.r1_1=t,this.s1_1=n}function el(t){var n=null==t?null:zl(t);return null==n?"null":n}function rl(t,n){var e=null==t?null:zl(t),r=null==e?"null":e,i=null==n?null:zl(n);return r+(null==i?"null":i)}function il(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0,t[i]=n}while(i!==r);return t}function ol(t){return new cl(t)}function sl(t){var n=il(Array(t),!1);return n.$type$="BooleanArray",n}function al(t){var n=new Uint16Array(t);return n.$type$="CharArray",n}function ul(t){var n=il(Array(t),new Ll(0,0));return n.$type$="LongArray",n}function cl(t){this.qm_1=t,this.pm_1=0}function ll(t){this.sm_1=t,pe.call(this),this.rm_1=0}function hl(){return vl(),ft}function pl(){return vl(),_t}function fl(){return vl(),dt}function _l(){return vl(),vt}function dl(t){return vl(),nf(t,0)===t?hh(t):(pl()[0]=t,Et(fl()[(vl(),yt)],31)+fl()[_l()]|0)}function vl(){if(mt);else{mt=!0,ft=new ArrayBuffer(8);var t=new Float64Array(hl());_t=t,new Float32Array(hl());var n,e=new Int32Array(hl());dt=e,pl()[0]=-1,n=0!==fl()[0]?1:0,vt=n,yt=1-_l()|0}}function yl(t,n){var e;if(ml(t)){var r,i=t.charCodeAt(n);if(Nc(),i<0?r=!0:(Nc(),r=i>65535),r)throw mp("Invalid Char code: "+i);e=_h(i)}else e=t.ee(n);return e}function ml(t){return"string"==typeof t}function gl(t){return ml(t)?t.length:t.de()}function $l(t,n,e){return ml(t)?t.substring(n,e):t.fe(n,e)}function bl(t){return zl(t)}function wl(t,n){var e;switch(typeof t){case"number":e="number"==typeof n?xl(t,n):n instanceof Ll?xl(t,n.oi()):kl(t,n);break;case"string":case"boolean":e=kl(t,n);break;default:e=function(t,n){return t.ib(n)}(t,n)}return e}function xl(t,n){var e;if(tn)e=1;else if(t===n){var r;if(0!==t)r=0;else{var i=1/t;r=i===1/n?0:i<0?-1:1}e=r}else e=t!=t?n!=n?0:1:-1;return e}function kl(t,n){return tn?1:0}function jl(t){if(!tf("kotlinHashCodeValue$",t)){var n=nf(4294967296*Math.random(),0),e=new Object;e.value=n,e.enumerable=!1,Object.defineProperty(t,"kotlinHashCodeValue$",e)}return t.kotlinHashCodeValue$}function zl(t){return null==t?"null":wh(t)?"[...]":t.toString()}function Cl(t,n){return null==t?null==n:null!=n&&("object"==typeof t&&"function"==typeof t.equals?t.equals(n):t!=t?n!=n:"number"==typeof t&&"number"==typeof n?t===n&&(0!==t||1/t==1/n):t===n)}function Sl(t){if(null==t)return 0;var n;switch(typeof t){case"object":n="function"==typeof t.hashCode?t.hashCode():jl(t);break;case"function":n=jl(t);break;case"number":n=dl(t);break;case"boolean":n=t?1:0;break;default:n=ql(String(t))}return n}function ql(t){var n=0,e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.charCodeAt(i);n=Et(n,31)+o|0}while(i!==r);return n}function Ol(t,n){null!=Error.captureStackTrace?Error.captureStackTrace(t,n):t.stack=(new Error).stack}function Pl(t,n,e){Error.call(t),function(t,n,e){if(!Ml(t,"message")){var r;if(null==n){var i;if(null!==n){var o=null==e?null:e.toString();i=null==o?void 0:o}else i=void 0;r=i}else r=n;t.message=r}Ml(t,"cause")||(t.cause=e),t.name=Object.getPrototypeOf(t).constructor.name}(t,n,e)}function Ml(t,n){return Object.getPrototypeOf(t).hasOwnProperty(n)}function Al(t){var n;return null==t?function(){throw Wp()}():n=t,n}function El(){throw Gp()}function Il(t,n){for(var e=t.length,r=n.length,i=0,o=n;ii)for(r.length=n;i>>16|0,r=65535&t.b1_1,i=t.a1_1>>>16|0,o=65535&t.a1_1,s=n.b1_1>>>16|0,a=65535&n.b1_1,u=n.a1_1>>>16|0,c=0,l=0,h=0,p=0;return c=(c=c+((l=(l=l+((h=(h=h+((p=p+(o+(65535&n.a1_1)|0)|0)>>>16|0)|0)+(i+u|0)|0)>>>16|0)|0)+(r+a|0)|0)>>>16|0)|0)+(e+s|0)|0,new Ll((h&=65535)<<16|(p&=65535),(c&=65535)<<16|(l&=65535))}function Jl(t,n){return ch(),Wl(t,n.r9())}function Kl(t,n){if(ch(),eh(t))return Nl();if(eh(n))return Nl();if(Zl(t,Hl()))return rh(n)?Hl():Nl();if(Zl(n,Hl()))return rh(t)?Hl():Nl();if(nh(t))return nh(n)?Kl(ih(t),ih(n)):ih(Kl(ih(t),n));if(nh(n))return ih(Kl(t,ih(n)));if(oh(t,Ul())&&oh(n,Ul()))return sh(Xl(t)*Xl(n));var e=t.b1_1>>>16|0,r=65535&t.b1_1,i=t.a1_1>>>16|0,o=65535&t.a1_1,s=n.b1_1>>>16|0,a=65535&n.b1_1,u=n.a1_1>>>16|0,c=65535&n.a1_1,l=0,h=0,p=0,f=0;return p=p+((f=f+Et(o,c)|0)>>>16|0)|0,f&=65535,h=(h=h+((p=p+Et(i,c)|0)>>>16|0)|0)+((p=(p&=65535)+Et(o,u)|0)>>>16|0)|0,p&=65535,l=(l=(l=l+((h=h+Et(r,c)|0)>>>16|0)|0)+((h=(h&=65535)+Et(i,u)|0)>>>16|0)|0)+((h=(h&=65535)+Et(o,a)|0)>>>16|0)|0,h&=65535,l=l+(((Et(e,c)+Et(r,u)|0)+Et(i,a)|0)+Et(o,s)|0)|0,new Ll(p<<16|f,(l&=65535)<<16|h)}function Yl(t,n){ch();var e=63&n;return 0===e?t:e<32?new Ll(t.a1_1<>>(32-e|0)|0):new Ll(0,t.a1_1<<(e-32|0))}function Gl(t,n){ch();var e=63&n;return 0===e?t:e<32?new Ll(t.a1_1>>>e|0|t.b1_1<<(32-e|0),t.b1_1>>e):new Ll(t.b1_1>>(e-32|0),t.b1_1>=0?0:-1)}function Xl(t){return ch(),4294967296*t.b1_1+function(t){return ch(),t.a1_1>=0?t.a1_1:4294967296+t.a1_1}(t)}function Zl(t,n){return ch(),t.b1_1===n.b1_1&&t.a1_1===n.a1_1}function Ql(t,n){if(ch(),n<2||36=0x8000000000000000)return ch(),xt;if(t<0)return ih(sh(-t));var n=4294967296;return new Ll(nf(t%n,0),nf(t/n,0))}function ah(t,n){return ch(),Vl(t,n)>0}function uh(t,n){return ch(),Vl(t,n)>=0}function ch(){zt||(zt=!0,$t=th(0),bt=th(1),wt=th(-1),xt=new Ll(-1,2147483647),kt=new Ll(0,-2147483648),jt=th(16777216))}function lh(t){return t<<24>>24}function hh(t){return t instanceof Ll?t.va():function(t){return t>2147483647?2147483647:t<-2147483648?-2147483648:nf(t,0)}(t)}function ph(t){return t<<16>>16}function fh(t){return t instanceof Ll?t:sh(t)}function _h(t){return 65535&ph(hh(t))}function dh(t){return th(t)}function vh(t,n){return new yr(t,n)}function yh(){gh();var t=void 0;return $h(t,t,t,t,t,t)}function mh(t,n,e,r,i){return gh(),r.get=r,r.set=i,r.callableName=t,o=r,s=function(t,n,e){gh();var r=(gh(),Ct)[t][null==n?0:1];return 0===r.interfaces.length&&(r.interfaces.push(e),null==r.interfacesCache?r.interfacesCache={isComplete:!1,implementInterfaceMemo:{}}:Al(r.interfacesCache).isComplete=!1,Sh(Al(r.interfacesCache),e)),r}(n,i,e),gh(),o.$metadata$=s,o.constructor=o,o;var o,s}function gh(){if(St);else{St=!0;var t,n=[yh(),yh()],e=[yh(),yh()];t=[yh(),yh()],Ct=[n,e,t]}}function $h(t,n,e,r,i,o){return bh("class",t,n,e,r,i,o)}function bh(t,n,e,r,i,o,s){return{kind:t,simpleName:n,interfaceId:"interface"===t?-1:void 0,interfaces:e||[],associatedObjectKey:r,associatedObjects:i,suspendArity:o,fastPrototype:s,$kClass$:void 0,interfacesCache:{isComplete:void 0===s&&(void 0===e||0===e.length),implementInterfaceMemo:{}}}}function wh(t){return!!xh(t)||Dt(t)}function xh(t){return Array.isArray(t)}function kh(t,n){var e=t.constructor;return null!=e&&jh(e,n)}function jh(t,n){if(t===n)return!0;var e=t.$metadata$;null!=e&&null==e.interfacesCache&&(e.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var r,i=null==e?null:e.interfacesCache;if(null!=i){i.isComplete||zh(t);var o=n.$metadata$,s=null==o?null:o.interfaceId;if(null==s)return!1;var a=s;r=!!i.implementInterfaceMemo[a]}else{var u=Ch(t),c=null==u?null:u.constructor;if(null==c)return!1;r=jh(c,n)}return r}function zh(t){var n=t.$metadata$;null!=n&&null==n.interfacesCache&&(n.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var e=null==n?null:n.interfacesCache;if(null!=e){if(!0===e.isComplete)return e;for(var r=n.interfaces,i=0,o=r.length;i=0))throw mp(zl("Invalid new array size: "+n+"."));return Dl(t,n,null)}function Kh(t,n,e){return Pn().e2(n,e,t.length),t.slice(n,e)}function Yh(t){return new ua(t)}function Gh(t,n,e){for(var r=new Int32Array(e),i=0,o=0,s=0,a=t,u=0,c=a.length;u(o=t[i=(e+r|0)/2|0]))e=i+1|0;else{if(n===o)return i;r=i-1|0}return i-(n0},qn.prototype.p=function(){return this.x1_1},qn.prototype.q=function(){if(!this.o())throw Cp();var t=this;return t.x1_1=t.x1_1-1|0,this.b2_1.g(t.x1_1)},qn.$metadata$=$h("ListIteratorImpl",[xs],void 0,void 0,void 0,Sn.prototype),On.prototype.d2=function(t,n){if(t<0||t>=n)throw Bp("index: "+t+", size: "+n)},On.prototype.c2=function(t,n){if(t<0||t>n)throw Bp("index: "+t+", size: "+n)},On.prototype.e2=function(t,n,e){if(t<0||n>e)throw Bp("fromIndex: "+t+", toIndex: "+n+", size: "+e);if(t>n)throw mp("fromIndex: "+t+" > toIndex: "+n)},On.prototype.f2=function(t,n,e){if(t<0||n>e)throw Bp("startIndex: "+t+", endIndex: "+n+", size: "+e);if(t>n)throw mp("startIndex: "+t+" > endIndex: "+n)},On.prototype.g2=function(t){for(var n=1,e=t.c();e.d();){var r=e.e(),i=Et(31,n),o=null==r?null:Sl(r);n=i+(null==o?0:o)|0}return n},On.prototype.h2=function(t,n){if(t.f()!==n.f())return!1;for(var e=n.c(),r=t.c();r.d();)if(!Cl(r.e(),e.e()))return!1;return!0},On.$metadata$=Uh("Companion"),Mn.prototype.c=function(){return new Sn(this)},Mn.prototype.j=function(t){var n;t:{for(var e=0,r=this.c();r.d();){if(Cl(r.e(),t)){n=e;break t}e=e+1|0}n=-1}return n},Mn.prototype.i2=function(t){var n;t:{for(var e=this.n(this.f());e.o();)if(Cl(e.q(),t)){n=e.p();break t}n=-1}return n},Mn.prototype.n=function(t){return new qn(this,t)},Mn.prototype.equals=function(t){return t===this||!(null==t||!kh(t,Hc))&&Pn().h2(this,t)},Mn.prototype.hashCode=function(){return Pn().g2(this)},Mn.$metadata$=$h("AbstractList",[Hc],void 0,void 0,void 0,bn.prototype),An.prototype.d=function(){return this.j2_1.d()},An.prototype.e=function(){return this.j2_1.e().k2()},An.$metadata$=$h(void 0,[bs]),En.prototype.d=function(){return this.l2_1.d()},En.prototype.e=function(){return this.l2_1.e().m2()},En.$metadata$=$h(void 0,[bs]),Tn.prototype.n2=function(t){var n=t.k2(),e=null==n?null:Sl(n),r=null==e?0:e,i=t.m2(),o=null==i?null:Sl(i);return r^(null==o?0:o)},Tn.prototype.o2=function(t){return el(t.k2())+"="+el(t.m2())},Tn.prototype.p2=function(t,n){return!(null==n||!kh(n,Yc))&&!!Cl(t.k2(),n.k2())&&Cl(t.m2(),n.m2())},Tn.$metadata$=Uh("Companion"),Ln.prototype.r2=function(t){return this.q2_1.u2(t)},Ln.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.r2(null==t||Mh(t)?t:El())},Ln.prototype.c=function(){return new An(this.q2_1.u().c())},Ln.prototype.f=function(){return this.q2_1.f()},Ln.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,Un.prototype),Nn.prototype.x2=function(t){return this.w2_1.y2(t)},Nn.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.x2(null==t||Mh(t)?t:El())},Nn.prototype.c=function(){return new En(this.w2_1.u().c())},Nn.prototype.f=function(){return this.w2_1.f()},Nn.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,bn.prototype),Rn.prototype.u2=function(t){return!(null==Dn(this,t))},Rn.prototype.y2=function(t){var n;t:{var e=this.u();if(kh(e,Zc)&&e.h())n=!1;else{for(var r=e.c();r.d();)if(Cl(r.e().m2(),t)){n=!0;break t}n=!1}}return n},Rn.prototype.z2=function(t){if(null==t||!kh(t,Yc))return!1;var n=t.k2(),e=t.m2(),r=(kh(this,Gc)?this:El()).a3(n);return!(!Cl(e,r)||null==r&&!(kh(this,Gc)?this:El()).u2(n))},Rn.prototype.equals=function(t){if(t===this)return!0;if(null==t||!kh(t,Gc))return!1;if(this.f()!==t.f())return!1;var n;t:{var e=t.u();if(kh(e,Zc)&&e.h())n=!0;else{for(var r=e.c();r.d();){var i=r.e();if(!this.z2(i)){n=!1;break t}}n=!0}}return n},Rn.prototype.a3=function(t){var n=Dn(this,t);return null==n?null:n.m2()},Rn.prototype.hashCode=function(){return Sl(this.u())},Rn.prototype.h=function(){return 0===this.f()},Rn.prototype.f=function(){return this.u().f()},Rn.prototype.b3=function(){return null==this.s2_1&&(this.s2_1=new Ln(this)),Al(this.s2_1)},Rn.prototype.toString=function(){return tn(this.u(),", ","{","}",0,null,(t=this,function(n){return t.v2(n)}),24);var t},Rn.prototype.v2=function(t){return In(this,t.k2())+"="+In(this,t.m2())},Rn.prototype.c3=function(){return null==this.t2_1&&(this.t2_1=new Nn(this)),Al(this.t2_1)},Rn.$metadata$=$h("AbstractMap",[Gc]),Fn.prototype.d3=function(t){for(var n=0,e=t.c();e.d();){var r=e.e(),i=n,o=null==r?null:Sl(r);n=i+(null==o?0:o)|0}return n},Fn.prototype.e3=function(t,n){return t.f()===n.f()&&t.n1(n)},Fn.$metadata$=Uh("Companion"),Un.prototype.equals=function(t){return t===this||!(null==t||!kh(t,Wc))&&Hn().e3(this,t)},Un.prototype.hashCode=function(){return Hn().d3(this)},Un.$metadata$=$h("AbstractSet",[Wc],void 0,void 0,void 0,bn.prototype),Yn.prototype.equals=function(t){return!(null==t||!kh(t,Hc))&&t.h()},Yn.prototype.hashCode=function(){return 1},Yn.prototype.toString=function(){return"[]"},Yn.prototype.f=function(){return 0},Yn.prototype.h=function(){return!0},Yn.prototype.g3=function(t){return!1},Yn.prototype.i=function(t){return!1},Yn.prototype.h3=function(t){return t.h()},Yn.prototype.n1=function(t){return this.h3(t)},Yn.prototype.g=function(t){throw Bp("Empty list doesn't contain element at index "+t+".")},Yn.prototype.i3=function(t){return-1},Yn.prototype.j=function(t){return-1},Yn.prototype.c=function(){return Qn()},Yn.prototype.n=function(t){if(0!==t)throw Bp("Index: "+t);return Qn()},Yn.$metadata$=Uh("EmptyList",[Hc,Ga,Ra]),Xn.prototype.f=function(){return this.j3_1.length},Xn.prototype.h=function(){return 0===this.j3_1.length},Xn.prototype.l3=function(t){return function(t,n){return Rt(t,n)>=0}(this.j3_1,t)},Xn.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.l3(null==t||Mh(t)?t:El())},Xn.prototype.m3=function(t){var n;t:if(kh(t,Zc)&&t.h())n=!0;else{for(var e=t.c();e.d();){var r=e.e();if(!this.l3(r)){n=!1;break t}}n=!0}return n},Xn.prototype.n1=function(t){return this.m3(t)},Xn.prototype.c=function(){return ol(this.j3_1)},Xn.$metadata$=$h("ArrayAsCollection",[Zc]),Zn.prototype.d=function(){return!1},Zn.prototype.o=function(){return!1},Zn.prototype.p=function(){return 0},Zn.prototype.e=function(){throw Cp()},Zn.prototype.q=function(){throw Cp()},Zn.$metadata$=Uh("EmptyIterator",[xs]),te.prototype.p3=function(){return this.n3_1},te.prototype.m2=function(){return this.o3_1},te.prototype.toString=function(){return"IndexedValue(index="+this.n3_1+", value="+this.o3_1+")"},te.prototype.hashCode=function(){var t=this.n3_1;return Et(t,31)+(null==this.o3_1?0:Sl(this.o3_1))|0},te.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof te))return!1;var n=t instanceof te?t:El();return this.n3_1===n.n3_1&&!!Cl(this.o3_1,n.o3_1)},te.$metadata$=$h("IndexedValue"),ee.prototype.c=function(){return new ie(this.q3_1())},ee.$metadata$=$h("IndexingIterable",[Fc]),re.prototype.c=function(){return this.r3_1()},re.$metadata$=$h(void 0,[Fc]),ie.prototype.d=function(){return this.s3_1.d()},ie.prototype.e=function(){var t=this.t3_1;return this.t3_1=t+1|0,new te(Rs(t),this.s3_1.e())},ie.$metadata$=$h("IndexingIterator",[bs]),oe.$metadata$=Hh("MapWithDefault",[Gc]),ae.prototype.equals=function(t){return!(null==t||!kh(t,Gc))&&t.h()},ae.prototype.hashCode=function(){return 0},ae.prototype.toString=function(){return"{}"},ae.prototype.f=function(){return 0},ae.prototype.h=function(){return!0},ae.prototype.h4=function(t){return!1},ae.prototype.u2=function(t){return!(null!=t&&!Mh(t))&&this.h4(null==t||Mh(t)?t:El())},ae.prototype.i4=function(t){return null},ae.prototype.a3=function(t){return null==t||Mh(t)?this.i4(null==t||Mh(t)?t:El()):null},ae.prototype.u=function(){return Ae()},ae.prototype.b3=function(){return Ae()},ae.prototype.c3=function(){return Gn()},ae.$metadata$=Uh("EmptyMap",[Gc,Ga]),pe.prototype.e=function(){return this.q4()},pe.$metadata$=$h("IntIterator",[bs]),fe.prototype.r4=function(){return this.s4()},fe.prototype.e=function(){return new Rc(this.r4())},fe.$metadata$=$h("CharIterator",[bs]),_e.$metadata$=Hh("Sequence"),de.$metadata$=$h("SequenceScope"),me.prototype.y4=function(t){this.x4_1=t},me.prototype.d=function(){for(;;){switch(this.u4_1){case 0:break;case 1:if(Al(this.w4_1).d())return this.u4_1=2,!0;this.w4_1=null;break;case 4:return!1;case 3:case 2:return!0;default:throw ye(this)}this.u4_1=5;var t,n=Al(this.x4_1);this.x4_1=null,no(),t=Cs(),n.z4(t),Cs()}},me.prototype.e=function(){switch(this.u4_1){case 0:case 1:return function(t){if(t.d())return t.e();throw Cp()}(this);case 2:return this.u4_1=1,Al(this.w4_1).e();case 3:this.u4_1=0;var t=this.v4_1,n=null==t||Mh(t)?t:El();return this.v4_1=null,n;default:throw ye(this)}},me.prototype.t4=function(t,n){this.v4_1=t,this.u4_1=3;var e=n;return this.x4_1=e,nr()},me.prototype.a5=function(t){oo(t);null==t||Mh(t)||El(),this.u4_1=4},me.prototype.z4=function(t){return this.a5(t)},me.prototype.b5=function(){return Ke()},me.$metadata$=$h("SequenceBuilderIterator",[bs,Le],void 0,void 0,void 0,de.prototype),ge.prototype.c=function(){return ve(this.c5_1)},ge.$metadata$=$h(void 0,[_e]),be.prototype.e=function(){if(this.e5_1<0&&$e(this),0===this.e5_1)throw Cp();var t=this.d5_1,n=Mh(t)?t:El();return this.e5_1=-1,n},be.prototype.d=function(){return this.e5_1<0&&$e(this),1===this.e5_1},be.$metadata$=$h(void 0,[bs]),we.prototype.c=function(){return new be(this)},we.$metadata$=$h("GeneratorSequence",[_e]),xe.prototype.e=function(){return this.j5_1.l5_1(this.i5_1.e())},xe.prototype.d=function(){return this.i5_1.d()},xe.$metadata$=$h(void 0,[bs]),ke.prototype.c=function(){return new xe(this)},ke.$metadata$=$h("TransformingSequence",[_e]),je.$metadata$=Hh("DropTakeSequence",[_e]),ze.prototype.e=function(){if(0===this.m5_1)throw Cp();var t=this.m5_1;return this.m5_1=t-1|0,this.n5_1.e()},ze.prototype.d=function(){return this.m5_1>0&&this.n5_1.d()},ze.$metadata$=$h(void 0,[bs]),Ce.prototype.h1=function(t){return t>=this.p5_1?this:new Ce(this.o5_1,t)},Ce.prototype.c=function(){return new ze(this)},Ce.$metadata$=$h("TakeSequence",[_e,je]),Se.prototype.c=function(){return Qn()},Se.prototype.h1=function(t){return qe()},Se.$metadata$=Uh("EmptySequence",[_e,je]),Oe.prototype.c=function(){return this.q5_1()},Oe.$metadata$=$h(void 0,[_e]),Me.prototype.equals=function(t){return!(null==t||!kh(t,Wc))&&t.h()},Me.prototype.hashCode=function(){return 0},Me.prototype.toString=function(){return"[]"},Me.prototype.f=function(){return 0},Me.prototype.h=function(){return!0},Me.prototype.g3=function(t){return!1},Me.prototype.i=function(t){return!1},Me.prototype.h3=function(t){return t.h()},Me.prototype.n1=function(t){return this.h3(t)},Me.prototype.c=function(){return Qn()},Me.$metadata$=Uh("EmptySet",[Wc,Ga]),Ie.prototype.q1=function(){if(0===this.u5_1)this.u1();else{var t=this.w5_1.x5_1[this.v5_1];this.t1(null==t||Mh(t)?t:El());var n;n=(this.v5_1+1|0)%this.w5_1.y5_1|0,this.v5_1=n;var e=this.u5_1;this.u5_1=e-1|0}},Ie.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,wn.prototype),De.prototype.f=function(){return this.a6_1},De.prototype.g=function(t){var n;Pn().d2(t,this.a6_1),n=(this.z5_1+t|0)%this.y5_1|0;var e=this.x5_1[n];return null==e||Mh(e)?e:El()},De.prototype.b6=function(){return this.a6_1===this.y5_1},De.prototype.c=function(){return new Ie(this)},De.prototype.c6=function(t){for(var n=t.lengththis.a6_1&&(n[this.a6_1]=null),Ph(n)?n:El()},De.prototype.d6=function(){var t,n=this.a6_1;return t=il(Array(n),null),this.c6(t)},De.prototype.toArray=function(){return this.d6()},De.prototype.e6=function(t){var n,e,r=pn(1+(this.y5_1+(this.y5_1>>1)|0)|0,t);return 0===this.z5_1?n=Jh(this.x5_1,r):(e=il(Array(r),null),n=this.c6(e)),new De(n,this.a6_1)},De.prototype.f6=function(t){if(this.b6())throw kp("ring buffer is full");var n;n=(this.z5_1+this.a6_1|0)%this.y5_1|0,this.x5_1[n]=t;var e=this.a6_1;this.a6_1=e+1|0},De.prototype.g6=function(t){if(!(t>=0))throw mp(zl("n shouldn't be negative but it is "+t));if(!(t<=this.a6_1))throw mp(zl("n shouldn't be greater than the buffer size: n = "+t+", size = "+this.a6_1));if(t>0){var n=this.z5_1,e=(n+t|0)%this.y5_1|0;n>e?(Wh(this.x5_1,null,n,this.y5_1),Wh(this.x5_1,null,0,e)):Wh(this.x5_1,null,n,e),this.z5_1=e;this.a6_1=this.a6_1-t|0}},De.$metadata$=$h("RingBuffer",[Ra],void 0,void 0,void 0,Mn.prototype),Te.prototype.g7=function(t,n){var e=this.h7(t,n);return e.l7_1=Cs(),e.m7_1=null,e.q7()},Te.prototype.r7=function(t,n){return this.g7(t instanceof de?t:El(),n)},Te.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=21,this.v6_1=pn(this.p6_1,1024),this.w6_1=this.q6_1-this.p6_1|0,this.w6_1>=0){this.x6_1=ia(this.v6_1),this.y6_1=0,this.z6_1=this.r6_1,this.j7_1=12;continue t}this.a7_1=Ee(this.v6_1),this.b7_1=this.r6_1,this.j7_1=1;continue t;case 1:if(!this.b7_1.d()){this.j7_1=5;continue t}if(this.c7_1=this.b7_1.e(),this.a7_1.f6(this.c7_1),this.a7_1.b6()){if(this.a7_1.a6_1this.q6_1)){this.j7_1=8;continue t}if(this.j7_1=7,(t=this.u6_1.t4(this.s6_1?this.a7_1:oa(this.a7_1),this))===nr())return t;continue t;case 7:this.a7_1.g6(this.q6_1),this.j7_1=6;continue t;case 8:if(this.d7_1=this.a7_1,this.d7_1.h()){this.j7_1=10;continue t}if(this.j7_1=9,(t=this.u6_1.t4(this.a7_1,this))===nr())return t;continue t;case 9:this.j7_1=10;continue t;case 10:this.j7_1=11;continue t;case 11:case 19:this.j7_1=20;continue t;case 12:if(!this.z6_1.d()){this.j7_1=16;continue t}if(this.e7_1=this.z6_1.e(),this.y6_1>0){this.y6_1=this.y6_1-1|0,this.j7_1=12;continue t}this.j7_1=13;continue t;case 13:if(this.x6_1.a(this.e7_1),this.x6_1.f()===this.p6_1){if(this.j7_1=14,(t=this.u6_1.t4(this.x6_1,this))===nr())return t;continue t}this.j7_1=15;continue t;case 14:this.s6_1?this.x6_1.s7():this.x6_1=ia(this.p6_1),this.y6_1=this.w6_1,this.j7_1=15;continue t;case 15:this.j7_1=12;continue t;case 16:if(this.f7_1=this.x6_1,this.f7_1.h()){this.j7_1=19;continue t}if(this.t6_1||this.x6_1.f()===this.p6_1){if(this.j7_1=17,(t=this.u6_1.t4(this.x6_1,this))===nr())return t;continue t}this.j7_1=18;continue t;case 17:this.j7_1=18;continue t;case 18:this.j7_1=19;continue t;case 20:return Cs();case 21:throw this.m7_1}}catch(t){if(21===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Te.prototype.h7=function(t,n){var e=new Te(this.p6_1,this.q6_1,this.r6_1,this.s6_1,this.t6_1,n);return e.u6_1=t,e},Te.$metadata$=$h("windowedIterator$slambda",void 0,void 0,void 0,[1],op.prototype),Be.prototype.s=function(t,n){return this.v7_1(t,n)},Be.prototype.compare=function(t,n){return this.s(t,n)},Be.$metadata$=$h("sam$kotlin_Comparator$0",[Bs]),Le.$metadata$=Hh("Continuation"),Ne.$metadata$=Uh("Key",[He]),Fe.$metadata$=Hh("ContinuationInterceptor",[Ue]),He.$metadata$=Hh("Key"),Ue.$metadata$=Hh("Element",[We]),We.$metadata$=Hh("CoroutineContext"),Je.prototype.y7=function(t){return null},Je.prototype.e8=function(t,n){return t},Je.prototype.f8=function(t){return t},Je.prototype.d8=function(t){return this},Je.prototype.hashCode=function(){return 0},Je.prototype.toString=function(){return"EmptyCoroutineContext"},Je.$metadata$=Uh("EmptyCoroutineContext",[We,Ga]),Ze.prototype.y7=function(t){for(var n=this;;){var e=n.i8_1.y7(t);if(null!=e)return e;var r=n.h8_1;if(!(r instanceof Ze))return r.y7(t);n=r}},Ze.prototype.e8=function(t,n){return n(this.h8_1.e8(t,n),this.i8_1)},Ze.prototype.d8=function(t){if(null!=this.i8_1.y7(t))return this.h8_1;var n=this.h8_1.d8(t);return n===this.h8_1?this:n===Ke()?this.i8_1:new Ze(n,this.i8_1)},Ze.prototype.equals=function(t){return this===t||!!(t instanceof Ze&&Ye(t)===Ye(this))&&function(t,n){for(var e=n;;){if(!Ge(t,e.i8_1))return!1;var r=e.h8_1;if(!(r instanceof Ze))return Ge(t,kh(r,Ue)?r:El());e=r}}(t,this)},Ze.prototype.hashCode=function(){return Sl(this.h8_1)+Sl(this.i8_1)|0},Ze.prototype.toString=function(){return"["+this.e8("",Xe)+"]"},Ze.$metadata$=$h("CombinedContext",[We,Ga]),Qe.prototype.b8=function(t){return this.z7_1(t)},Qe.prototype.c8=function(t){return t===this||this.a8_1===t},Qe.$metadata$=$h("AbstractCoroutineContextKey",[He]),tr.prototype.k2=function(){return this.j8_1},tr.$metadata$=$h("AbstractCoroutineContextElement",[Ue]),rr.$metadata$=$h("CoroutineSingletons",void 0,void 0,void 0,void 0,nl.prototype),cr.prototype.l8=function(t){return this.k8_1.l8(t)},cr.prototype.q4=function(){return this.k8_1.q4()},cr.prototype.m8=function(t,n){return this.k8_1.m8(t,n)},cr.$metadata$=Uh("Default",[Ga],void 0,void 0,void 0,hr.prototype),hr.prototype.q4=function(){return this.l8(32)},hr.prototype.m8=function(t,n){pr(t,n);var e=n-t|0;if(e>0||e===Ps().w_1){var r;if((e&(0|-e))===e){var i=31-It(e)|0;r=this.l8(i)}else{var o;do{var s=this.q4()>>>1|0;o=s%e|0}while(((s-o|0)+(e-1|0)|0)<0);r=o}return t+r|0}for(;;){var a=this.q4();if(t<=a&&a>>2|0,this.r8_1=this.s8_1,this.s8_1=this.t8_1,this.t8_1=this.u8_1;var n=this.v8_1;this.u8_1=n,t=t^t<<1^n^n<<4,this.v8_1=t;return this.w8_1=this.w8_1+362437|0,t+this.w8_1|0},_r.prototype.l8=function(t){return function(t,n){return(t>>>(32-n|0)|0)&(0|-n)>>31}(this.q4(),t)},_r.$metadata$=$h("XorWowRandom",[Ga],void 0,void 0,void 0,hr.prototype),dr.$metadata$=Uh("Companion"),yr.prototype.x8=function(){return this.e1_1},yr.prototype.y8=function(){return this.f1_1},yr.prototype.z8=function(t){return this.e1_1<=t&&t<=this.f1_1},yr.prototype.h=function(){return this.e1_1>this.f1_1},yr.prototype.equals=function(t){return t instanceof yr&&(!(!this.h()||!t.h())||this.e1_1===t.e1_1&&this.f1_1===t.f1_1)},yr.prototype.hashCode=function(){return this.h()?-1:Et(31,this.e1_1)+this.f1_1|0},yr.prototype.toString=function(){return this.e1_1+".."+this.f1_1},yr.$metadata$=$h("IntRange",[Cr,Sr],void 0,void 0,void 0,kr.prototype),mr.$metadata$=Uh("Companion"),gr.prototype.e9=function(t){return Ic(this.f9_1,t)<=0&&Ic(t,this.g9_1)<=0},gr.prototype.h=function(){return Ic(this.f9_1,this.g9_1)>0},gr.prototype.equals=function(t){return t instanceof gr&&(!(!this.h()||!t.h())||!!Cl(new Rc(this.f9_1),new Rc(t.f9_1))&&Cl(new Rc(this.g9_1),new Rc(t.g9_1)))},gr.prototype.hashCode=function(){var t,n;return this.h()?t=-1:(n=this.f9_1,t=Et(31,n)+this.g9_1|0),t},gr.prototype.toString=function(){return new Rc(this.f9_1)+".."+new Rc(this.g9_1)},gr.$metadata$=$h("CharRange",[Cr,Sr],void 0,void 0,void 0,zr.prototype),$r.prototype.d=function(){return this.k9_1},$r.prototype.q4=function(){var t=this.l9_1;if(t===this.j9_1){if(!this.k9_1)throw Cp();this.k9_1=!1}else{this.l9_1=this.l9_1+this.i9_1|0}return t},$r.$metadata$=$h("IntProgressionIterator",void 0,void 0,void 0,void 0,pe.prototype),br.prototype.d=function(){return this.o9_1},br.prototype.s4=function(){var t=this.p9_1;if(t===this.n9_1){if(!this.o9_1)throw Cp();this.o9_1=!1}else{this.p9_1=this.p9_1+this.m9_1|0}return _h(t)},br.$metadata$=$h("CharProgressionIterator",void 0,void 0,void 0,void 0,fe.prototype),wr.prototype.d1=function(t,n,e){return new kr(t,n,e)},wr.$metadata$=Uh("Companion"),kr.prototype.c=function(){return new $r(this.e1_1,this.f1_1,this.g1_1)},kr.prototype.h=function(){return this.g1_1>0?this.e1_1>this.f1_1:this.e1_10?this.e1_1+".."+this.f1_1+" step "+this.g1_1:this.e1_1+" downTo "+this.f1_1+" step "+(0|-this.g1_1)},kr.$metadata$=$h("IntProgression",[Fc]),jr.$metadata$=Uh("Companion"),zr.prototype.c=function(){return new br(this.f9_1,this.g9_1,this.h9_1)},zr.prototype.h=function(){return this.h9_1>0?Ic(this.f9_1,this.g9_1)>0:Ic(this.f9_1,this.g9_1)<0},zr.prototype.equals=function(t){return t instanceof zr&&(!(!this.h()||!t.h())||!(!Cl(new Rc(this.f9_1),new Rc(t.f9_1))||!Cl(new Rc(this.g9_1),new Rc(t.g9_1)))&&this.h9_1===t.h9_1)},zr.prototype.hashCode=function(){var t;if(this.h())t=-1;else{var n;n=this.f9_1;var e,r=Et(31,n);e=this.g9_1,t=Et(31,r+e|0)+this.h9_1|0}return t},zr.prototype.toString=function(){return this.h9_1>0?new Rc(this.f9_1)+".."+new Rc(this.g9_1)+" step "+this.h9_1:new Rc(this.f9_1)+" downTo "+new Rc(this.g9_1)+" step "+(0|-this.h9_1)},zr.$metadata$=$h("CharProgression",[Fc]),Cr.$metadata$=Hh("ClosedRange"),Sr.$metadata$=Hh("OpenEndRange"),qr.$metadata$=Hh("KClassifier"),Or.$metadata$=Hh("KTypeParameter",[qr]),ei.prototype.e=function(){if(-1===this.ga_1&&ni(this),0===this.ga_1)throw Cp();var t=this.ja_1,n=t instanceof yr?t:El();return this.ja_1=null,this.ga_1=-1,n},ei.prototype.d=function(){return-1===this.ga_1&&ni(this),1===this.ga_1},ei.$metadata$=$h(void 0,[bs]),ri.prototype.c=function(){return new ei(this)},ri.$metadata$=$h("DelimitedRangesSequence",[_e]),oi.$metadata$=Hh("MatchResult"),si.$metadata$=Hh("MatchGroupCollection",[Zc]),ai.$metadata$=Hh("MatchNamedGroupCollection",[si]),pi.prototype.za=function(t){var n;try{n=Mi(t,!0)}catch(n){throw n instanceof bp?$p("Invalid ISO duration string format: '"+t+"'.",n):n}return n},pi.$metadata$=Uh("Companion"),Si.prototype.hb=function(t){return $i(this.bb_1,t)},Si.prototype.ib=function(t){return function(t,n){return $i(t.bb_1,n instanceof Si?n.bb_1:El())}(this,t)},Si.prototype.toString=function(){return zi(this.bb_1)},Si.prototype.hashCode=function(){return this.bb_1.hashCode()},Si.prototype.equals=function(t){return function(t,n){if(!(n instanceof Si))return!1;var e=n instanceof Si?n.bb_1:El();return!!t.equals(e)}(this.bb_1,t)},Si.$metadata$=$h("Duration",[$s]),Ri.$metadata$=$h("DeepRecursiveScope"),Fi.$metadata$=$h("DeepRecursiveFunction"),Hi.prototype.b5=function(){return Ke()},Hi.prototype.rb=function(t){this.ob_1=null,this.pb_1=t},Hi.prototype.z4=function(t){return this.rb(t)},Hi.prototype.kb=function(t,n){var e=n;return this.ob_1=kh(e,Le)?e:El(),this.nb_1=t,nr()},Hi.prototype.qb=function(){t:for(;;){var t=this.pb_1,n=this.ob_1;if(null==n){var e=new ro(t)instanceof ro?t:El();oo(e);var r=e;return null==r||Mh(r)?r:El()}var i=n;if(Cl(Ni(),t)){var o;try{var s,a=this.mb_1,u=this.nb_1;o="function"==typeof(s=a)?s(this,u,i):a.sb(this,u,i)}catch(t){if(t instanceof Error){var c;no(),c=io(t),i.z4(c),Cs();continue t}throw t}var l=o;if(l!==nr()){var h,p=null==l||Mh(l)?l:El();no(),h=p,i.z4(h),Cs()}}else this.pb_1=Ni(),i.z4(t)}},Hi.$metadata$=$h("DeepRecursiveScopeImpl",[Le],void 0,void 0,void 0,Ri.prototype),Vi.$metadata$=Hh("Lazy"),Wi.$metadata$=$h("LazyThreadSafetyMode",void 0,void 0,void 0,void 0,nl.prototype),Ji.prototype.m2=function(){this.ub_1===Yi()&&(this.ub_1=Al(this.tb_1)(),this.tb_1=null);var t=this.ub_1;return null==t||Mh(t)?t:El()},Ji.prototype.vb=function(){return!(this.ub_1===Yi())},Ji.prototype.toString=function(){return this.vb()?el(this.m2()):"Lazy value not initialized yet."},Ji.$metadata$=$h("UnsafeLazyImpl",[Vi,Ga]),Ki.$metadata$=Uh("UNINITIALIZED_VALUE"),to.prototype.xb=function(t){return t},to.prototype.yb=function(t){return io(t)},to.$metadata$=Uh("Companion"),eo.prototype.equals=function(t){return t instanceof eo&&Cl(this.wb_1,t.wb_1)},eo.prototype.hashCode=function(){return Sl(this.wb_1)},eo.prototype.toString=function(){return"Failure("+this.wb_1+")"},eo.$metadata$=$h("Failure",[Ga]),ro.prototype.toString=function(){return(t=this.zb_1)instanceof eo?zl(t):"Success("+el(t)+")";var t},ro.prototype.hashCode=function(){return null==(t=this.zb_1)?0:Sl(t);var t},ro.prototype.equals=function(t){return function(t,n){return n instanceof ro&&!!Cl(t,n instanceof ro?n.zb_1:El())}(this.zb_1,t)},ro.$metadata$=$h("Result",[Ga]),so.$metadata$=$h("NotImplementedError",void 0,void 0,void 0,void 0,dp.prototype),ao.prototype.ac=function(){return this.j4_1},ao.prototype.bc=function(){return this.k4_1},ao.prototype.toString=function(){return"("+this.j4_1+", "+this.k4_1+")"},ao.prototype.l4=function(){return this.j4_1},ao.prototype.m4=function(){return this.k4_1},ao.prototype.hashCode=function(){var t=null==this.j4_1?0:Sl(this.j4_1);return Et(t,31)+(null==this.k4_1?0:Sl(this.k4_1))|0},ao.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ao))return!1;var n=t instanceof ao?t:El();return!!Cl(this.j4_1,n.j4_1)&&!!Cl(this.k4_1,n.k4_1)},ao.$metadata$=$h("Pair",[Ga]),co.prototype.toString=function(){return"("+this.cc_1+", "+this.dc_1+", "+this.ec_1+")"},co.prototype.hashCode=function(){var t=null==this.cc_1?0:Sl(this.cc_1);return t=Et(t,31)+(null==this.dc_1?0:Sl(this.dc_1))|0,Et(t,31)+(null==this.ec_1?0:Sl(this.ec_1))|0},co.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof co))return!1;var n=t instanceof co?t:El();return!!Cl(this.cc_1,n.cc_1)&&!!Cl(this.dc_1,n.dc_1)&&!!Cl(this.ec_1,n.ec_1)},co.$metadata$=$h("Triple",[Ga]),po.$metadata$=Uh("Companion"),yo.prototype.kc=function(t){return _o(this.jc_1,t)},yo.prototype.ib=function(t){return function(t,n){return _o(t.jc_1,n instanceof yo?n.jc_1:El())}(this,t)},yo.prototype.toString=function(){return vo(this.jc_1)},yo.prototype.hashCode=function(){return this.jc_1},yo.prototype.equals=function(t){return function(t,n){return n instanceof yo&&t===(n instanceof yo?n.jc_1:El())}(this.jc_1,t)},yo.$metadata$=$h("UByte",[$s]),bo.prototype.d=function(){return this.mc_10},Ws.prototype.p=function(){return this.mf_1},Ws.prototype.q=function(){if(!this.o())throw Cp();var t=this;return t.mf_1=t.mf_1-1|0,this.nf_1=t.mf_1,this.tf_1.g(this.nf_1)},Ws.$metadata$=$h("ListIteratorImpl",[ks],void 0,void 0,void 0,Vs.prototype),Js.prototype.yf=function(t,n){Pn().c2(t,this.xf_1),this.vf_1.yf(this.wf_1+t|0,n);var e=this.xf_1;this.xf_1=e+1|0},Js.prototype.g=function(t){return Pn().d2(t,this.xf_1),this.vf_1.g(this.wf_1+t|0)},Js.prototype.n4=function(t){Pn().d2(t,this.xf_1);var n=this.vf_1.n4(this.wf_1+t|0),e=this.xf_1;return this.xf_1=e-1|0,n},Js.prototype.p4=function(t,n){return Pn().d2(t,this.xf_1),this.vf_1.p4(this.wf_1+t|0,n)},Js.prototype.f=function(){return this.xf_1},Js.prototype.kf=function(){return this.vf_1.kf()},Js.$metadata$=$h("SubList",[Ra],void 0,void 0,void 0,Ks.prototype),Ks.prototype.a=function(t){return this.kf(),this.yf(this.f(),t),!0},Ks.prototype.s7=function(){this.kf(),this.zf(0,this.f())},Ks.prototype.c=function(){return new Vs(this)},Ks.prototype.i=function(t){return this.j(t)>=0},Ks.prototype.j=function(t){var n=0,e=Kn(this);if(n<=e)do{var r=n;if(n=n+1|0,Cl(this.g(r),t))return r}while(r!==e);return-1},Ks.prototype.i2=function(t){var n=Kn(this);if(0<=n)do{var e=n;if(n=n+-1|0,Cl(this.g(e),t))return e}while(0<=n);return-1},Ks.prototype.n=function(t){return new Ws(this,t)},Ks.prototype.ag=function(t,n){return new Js(this,t,n)},Ks.prototype.zf=function(t,n){var e=this.n(t),r=n-t|0,i=0;if(i=0){var r,i=this,o=this.ji_1;r=n.substring(0,e),i.ji_1=o+r,this.ki();var s=e+1|0;n=n.substring(s)}this.ji_1=this.ji_1+n},Ua.prototype.ki=function(){console.log(this.ji_1),this.ji_1=""},Ua.$metadata$=$h("BufferedOutputToConsoleLog",void 0,void 0,void 0,void 0,Va.prototype),Va.prototype.fi=function(t){var n,e=this,r=this.ji_1;n=String(t),e.ji_1=r+n},Va.$metadata$=$h("BufferedOutput",void 0,void 0,void 0,void 0,Fa.prototype),Ja.prototype.b5=function(){return this.li_1.b5()},Ja.prototype.z4=function(t){var n=this.mi_1;if(n===ir())this.mi_1=t;else{if(n!==nr())throw kp("Already resumed");this.mi_1=or(),this.li_1.z4(t)}},Ja.prototype.ni=function(){if(this.mi_1===ir())return this.mi_1=nr(),nr();var t,n=this.mi_1;if(n===or())t=nr();else{if(n instanceof eo)throw n.wb_1;t=n}return t},Ja.$metadata$=$h("SafeContinuation",[Le]),Ya.$metadata$=$h("CancellationException",void 0,void 0,void 0,void 0,zp.prototype),Ga.$metadata$=Hh("Serializable"),nu.$metadata$=Hh("KCallable"),eu.$metadata$=Hh("KClass",[qr]),ru.prototype.qi=function(){return this.pi_1},ru.prototype.equals=function(t){return t instanceof ru&&Cl(this.qi(),t.qi())},ru.prototype.hashCode=function(){var t=this.ri(),n=null==t?null:ql(t);return null==n?0:n},ru.prototype.toString=function(){return"class "+this.ri()},ru.$metadata$=$h("KClassImpl",[eu]),iu.prototype.equals=function(t){return t instanceof iu&&!!ru.prototype.equals.call(this,t)&&this.ui_1===t.ui_1},iu.prototype.ri=function(){return this.ui_1},iu.prototype.si=function(t){return this.vi_1(t)},iu.$metadata$=$h("PrimitiveKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),ou.prototype.ri=function(){return this.xi_1},ou.prototype.si=function(t){return!1},ou.prototype.qi=function(){throw Ip("There's no native JS class for Nothing type")},ou.prototype.equals=function(t){return t===this},ou.prototype.hashCode=function(){return 0},ou.$metadata$=Uh("NothingKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),au.prototype.ri=function(){throw kp("Unknown simpleName for ErrorKClass")},au.prototype.si=function(t){throw kp("Can's check isInstance on ErrorKClass")},au.prototype.equals=function(t){return t===this},au.prototype.hashCode=function(){return 0},au.$metadata$=$h("ErrorKClass",[eu]),uu.prototype.ri=function(){return this.zi_1},uu.prototype.si=function(t){return Vh(t,this.qi())},uu.$metadata$=$h("SimpleKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),cu.$metadata$=Hh("KProperty1",[hu]),lu.$metadata$=Hh("KMutableProperty1",[cu,fu]),hu.$metadata$=Hh("KProperty",[nu]),pu.$metadata$=Hh("KMutableProperty0",[_u,fu]),fu.$metadata$=Hh("KMutableProperty",[hu]),_u.$metadata$=Hh("KProperty0",[hu]),du.$metadata$=Hh("KType"),vu.prototype.aj=function(){return this.dj_1},vu.prototype.bj=function(){return this.ej_1},vu.prototype.cj=function(){return this.fj_1},vu.prototype.equals=function(t){return!!(t instanceof vu&&Cl(this.dj_1,t.dj_1)&&Cl(this.ej_1,t.ej_1))&&this.fj_1===t.fj_1},vu.prototype.hashCode=function(){return Et(Et(Sl(this.dj_1),31)+Sl(this.ej_1)|0,31)+(0|this.fj_1)|0},vu.prototype.toString=function(){var t=this.dj_1,n=kh(t,eu)?t:null,e=null==n?zl(this.dj_1):null!=n.ri()?n.ri():"(non-denotable type)",r=this.ej_1.h()?"":tn(this.ej_1,", ","<",">",0,null,null,56),i=this.fj_1?"?":"";return rl(e,r)+i},vu.$metadata$=$h("KTypeImpl",[du]),Tu.prototype.ak=function(){return this.gj_1},Tu.prototype.bk=function(){return this.hj_1},Tu.prototype.ck=function(){return this.ij_1},Tu.prototype.dk=function(){return this.jj_1},Tu.prototype.ek=function(){return this.kj_1},Tu.prototype.fk=function(){return this.lj_1},Tu.prototype.gk=function(){return this.mj_1},Tu.prototype.hk=function(){return this.nj_1},Tu.prototype.ik=function(){return this.oj_1},Tu.prototype.jk=function(){return this.pj_1},Tu.prototype.kk=function(){return this.qj_1},Tu.prototype.lk=function(){return this.rj_1},Tu.prototype.mk=function(){return this.sj_1},Tu.prototype.nk=function(){return this.tj_1},Tu.prototype.ok=function(){return this.uj_1},Tu.prototype.pk=function(){return this.vj_1},Tu.prototype.qk=function(){return this.wj_1},Tu.prototype.rk=function(){return this.xj_1},Tu.prototype.sk=function(){return this.yj_1},Tu.prototype.tk=function(){return this.zj_1},Tu.prototype.functionClass=function(t){var n,e,r=yu()[t];if(null==r){var i=new iu(Function,"Function"+t,(e=t,function(t){return"function"==typeof t&&t.length===e}));yu()[t]=i,n=i}else n=r;return n},Tu.$metadata$=Uh("PrimitiveClasses"),Object.defineProperty(Tu.prototype,"anyClass",{configurable:!0,get:Tu.prototype.ak}),Object.defineProperty(Tu.prototype,"numberClass",{configurable:!0,get:Tu.prototype.bk}),Object.defineProperty(Tu.prototype,"nothingClass",{configurable:!0,get:Tu.prototype.ck}),Object.defineProperty(Tu.prototype,"booleanClass",{configurable:!0,get:Tu.prototype.dk}),Object.defineProperty(Tu.prototype,"byteClass",{configurable:!0,get:Tu.prototype.ek}),Object.defineProperty(Tu.prototype,"shortClass",{configurable:!0,get:Tu.prototype.fk}),Object.defineProperty(Tu.prototype,"intClass",{configurable:!0,get:Tu.prototype.gk}),Object.defineProperty(Tu.prototype,"floatClass",{configurable:!0,get:Tu.prototype.hk}),Object.defineProperty(Tu.prototype,"doubleClass",{configurable:!0,get:Tu.prototype.ik}),Object.defineProperty(Tu.prototype,"arrayClass",{configurable:!0,get:Tu.prototype.jk}),Object.defineProperty(Tu.prototype,"stringClass",{configurable:!0,get:Tu.prototype.kk}),Object.defineProperty(Tu.prototype,"throwableClass",{configurable:!0,get:Tu.prototype.lk}),Object.defineProperty(Tu.prototype,"booleanArrayClass",{configurable:!0,get:Tu.prototype.mk}),Object.defineProperty(Tu.prototype,"charArrayClass",{configurable:!0,get:Tu.prototype.nk}),Object.defineProperty(Tu.prototype,"byteArrayClass",{configurable:!0,get:Tu.prototype.ok}),Object.defineProperty(Tu.prototype,"shortArrayClass",{configurable:!0,get:Tu.prototype.pk}),Object.defineProperty(Tu.prototype,"intArrayClass",{configurable:!0,get:Tu.prototype.qk}),Object.defineProperty(Tu.prototype,"longArrayClass",{configurable:!0,get:Tu.prototype.rk}),Object.defineProperty(Tu.prototype,"floatArrayClass",{configurable:!0,get:Tu.prototype.sk}),Object.defineProperty(Tu.prototype,"doubleArrayClass",{configurable:!0,get:Tu.prototype.tk}),Fu.$metadata$=Hh("Appendable"),Wu.prototype.de=function(){return this.fa_1.length},Wu.prototype.ee=function(t){var n=this.fa_1;if(!(t>=0&&t<=Ur(n)))throw Bp("index: "+t+", length: "+this.de()+"}");return yl(n,t)},Wu.prototype.fe=function(t,n){return this.fa_1.substring(t,n)},Wu.prototype.q9=function(t){return this.fa_1=this.fa_1+new Rc(t),this},Wu.prototype.b=function(t){return this.fa_1=this.fa_1+el(t),this},Wu.prototype.uk=function(t,n,e){var r=t;return this.gb(null==r?"null":r,n,e)},Wu.prototype.db=function(t){return this.fa_1=this.fa_1+el(t),this},Wu.prototype.eb=function(t){var n=this,e=this.fa_1,r=t;return n.fa_1=e+(null==r?"null":r),this},Wu.prototype.fb=function(t,n){Pn().c2(t,this.de());var e,r=this.fa_1.substring(0,t)+new Rc(n);return e=this.fa_1.substring(t),this.fa_1=r+e,this},Wu.prototype.vk=function(t){if(t<0)throw mp("Negative new length: "+t+".");if(t<=this.de()){var n;n=this.fa_1.substring(0,t),this.fa_1=n}else{var e=this.de();if(egl(t))throw Bp("Start index out of bounds: "+n+", input length: "+gl(t));return ac(this.y9_1,zl(t),n,this.y9_1)},oc.prototype.dl=function(t,n,e,r){return 0!=(2&e)&&(n=0),this.cl(t,n)},oc.prototype.el=function(t,n){if(n<0||n>gl(t))throw Bp("Start index out of bounds: "+n+", input length: "+gl(t));return e=this,r=t,i=n,new we((function(){return e.cl(r,i)}),rc);var e,r,i},oc.prototype.fl=function(t,n,e,r){return 0!=(2&e)&&(n=0),this.el(t,n)},oc.prototype.ca=function(t,n){if(!Jr(n,92,!1,2)&&!Jr(n,36,!1,2)){var e=zl(t),r=this.y9_1;return e.replace(r,n)}return this.gl(t,ic(n))},oc.prototype.gl=function(t,n){var e=this.dl(t,0,2,null);if(null==e)return zl(t);var r=0,i=gl(t),o=Hu();do{var s=Al(e);o.uk(t,r,s.qa().x8()),o.b(n(s)),r=s.qa().y8()+1|0,e=s.e()}while(r>>e|0|t.b1_1<<(32-e|0),t.b1_1>>>e|0):new Ll(32===e?t.b1_1:t.b1_1>>>(e-32|0)|0,0)}(this,t)},Ll.prototype.wc=function(t){return new Ll(this.a1_1&t.a1_1,this.b1_1&t.b1_1)},Ll.prototype.en=function(t){return new Ll(this.a1_1|t.a1_1,this.b1_1|t.b1_1)},Ll.prototype.ab=function(t){return new Ll(this.a1_1^t.a1_1,this.b1_1^t.b1_1)},Ll.prototype.dn=function(){return new Ll(~this.a1_1,~this.b1_1)},Ll.prototype.fn=function(){return lh(this.a1_1)},Ll.prototype.gn=function(){return ph(this.a1_1)},Ll.prototype.va=function(){return this.a1_1},Ll.prototype.oi=function(){return Xl(this)},Ll.prototype.valueOf=function(){return this.oi()},Ll.prototype.equals=function(t){return t instanceof Ll&&Zl(this,t)},Ll.prototype.hashCode=function(){return t=this,ch(),t.a1_1^t.b1_1;var t},Ll.prototype.toString=function(){return Ql(this,10)},Ll.$metadata$=$h("Long",[$s],void 0,void 0,void 0,js.prototype),Zh.$metadata$=Uh("Digit"),tp.$metadata$=Uh("Letter"),ep.$metadata$=Uh("OtherLowercase"),op.prototype.b5=function(){return Al(this.o7_1)},op.prototype.t7=function(){var t,n=this.p7_1;if(null==n){var e=this.b5().y7(Re()),r=null==e?null:e.w7(this),i=null==r?this:r;this.p7_1=i,t=i}else t=n;return t},op.prototype.u7=function(t){var n,e=this;if(Zi(t))n=null;else{var r=t;n=null==r||Mh(r)?r:El()}for(var i=n,o=Qi(t);;){var s=e;null==o?s.l7_1=i:(s.j7_1=s.k7_1,s.m7_1=o);try{var a=s.q7();if(a===nr())return Cs();i=a,o=null}catch(t){i=null,o=t}ip(s);var u=Al(s.i7_1);if(!(u instanceof op)){if(null!=o){var c,l=Al(o);no(),c=io(l),u.z4(c),Cs()}else{var h,p=i;no(),h=p,u.z4(h),Cs()}return Cs()}e=u,Cs()}},op.prototype.z4=function(t){return this.u7(t)},op.$metadata$=$h("CoroutineImpl",[Le]),sp.prototype.b5=function(){throw kp("This continuation is already complete")},sp.prototype.u7=function(t){throw kp("This continuation is already complete")},sp.prototype.z4=function(t){return this.u7(t)},sp.prototype.toString=function(){return"This continuation is already complete"},sp.$metadata$=Uh("CompletedContinuation",[Le]),cp.prototype.q7=function(){if(null!=this.m7_1)throw this.m7_1;var t;return"function"==typeof(t=this.wn_1)?t(this.xn_1,this.vn_1):this.wn_1.r7(this.xn_1,this.vn_1)},cp.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,op.prototype),lp.prototype.q7=function(){if(null!=this.m7_1)throw this.m7_1;return this.go_1()},lp.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,op.prototype),fp.$metadata$=$h("Exception",void 0,void 0,void 0,void 0,Error.prototype),dp.$metadata$=$h("Error",void 0,void 0,void 0,void 0,Error.prototype),bp.$metadata$=$h("IllegalArgumentException",void 0,void 0,void 0,void 0,Ap.prototype),zp.$metadata$=$h("IllegalStateException",void 0,void 0,void 0,void 0,Ap.prototype),qp.$metadata$=$h("NoSuchElementException",void 0,void 0,void 0,void 0,Ap.prototype),Ap.$metadata$=$h("RuntimeException",void 0,void 0,void 0,void 0,fp.prototype),Dp.$metadata$=$h("UnsupportedOperationException",void 0,void 0,void 0,void 0,Ap.prototype),Tp.$metadata$=$h("ConcurrentModificationException",void 0,void 0,void 0,void 0,Ap.prototype),Lp.$metadata$=$h("IndexOutOfBoundsException",void 0,void 0,void 0,void 0,Ap.prototype),Rp.$metadata$=$h("AssertionError",void 0,void 0,void 0,void 0,dp.prototype),Hp.$metadata$=$h("ArithmeticException",void 0,void 0,void 0,void 0,Ap.prototype),Vp.$metadata$=$h("NumberFormatException",void 0,void 0,void 0,void 0,bp.prototype),Jp.$metadata$=$h("NullPointerException",void 0,void 0,void 0,void 0,Ap.prototype),Yp.$metadata$=$h("NoWhenBranchMatchedException",void 0,void 0,void 0,void 0,Ap.prototype),Xp.$metadata$=$h("ClassCastException",void 0,void 0,void 0,void 0,Ap.prototype),Qp.$metadata$=$h("UninitializedPropertyAccessException",void 0,void 0,void 0,void 0,Ap.prototype),Hh("Function1"),Hh("Function0"),sf.$metadata$=Hh("SuspendFunction1"),af.$metadata$=Hh("SuspendFunction2"),Ze.prototype.f8=Tt,tr.prototype.y7=Bt,tr.prototype.e8=Lt,tr.prototype.d8=Nt,tr.prototype.f8=Tt,Ca.prototype.th=function(){var t=Object.create(null);return t.foo=1,ef(t,"foo"),t},V=null,qt=0,t.$_$=t.$_$||{},t.$_$.a=function(t,n,e){return new vu(t,Yh(n),e)},t.$_$.b=function(t,n){if(t instanceof ru&&n instanceof ru){var e,r=n.qi().$metadata$,i=null==r?null:r.associatedObjectKey;if(null==(e=null==i?null:i))return null;var o=e,s=t.qi().$metadata$,a=null==s?null:s.associatedObjects;if(null==a)return null;var u=a[o];return null==u?null:u()}return null},t.$_$.c=function(t){var n;switch(typeof t){case"string":n=Bu().qj_1;break;case"number":n=nf(t,0)===t?Bu().mj_1:Bu().oj_1;break;case"boolean":n=Bu().jj_1;break;case"function":var e;e=t,n=Bu().functionClass(e.length);break;default:var r;if(Ih(t))r=Bu().sj_1;else if(Bh(t))r=Bu().tj_1;else if(Dh(t))r=Bu().uj_1;else if(Th(t))r=Bu().vj_1;else if(Lh(t))r=Bu().wj_1;else if(Rh(t))r=Bu().xj_1;else if(Nh(t))r=Bu().yj_1;else if(Fh(t))r=Bu().zj_1;else if(kh(t,eu))r=Lu(eu);else if(Ph(t))r=Bu().pj_1;else{var i=Object.getPrototypeOf(t).constructor;r=i===Object?Bu().gj_1:i===Error?Bu().rj_1:Nu(i)}n=r}return n},t.$_$.d=Lu,t.$_$.e=function(t){var n=0,e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0,n=n+t[i].length|0}while(i!==r);var o=t[0],s=new o.constructor(n);if(null!=o.$type$){var a=o.$type$;s.$type$=a}n=0;var u=0,c=t.length-1|0;if(u<=c)do{var l=u;u=u+1|0;var h=t[l],p=0,f=h.length-1|0;if(p<=f)do{var _=p;p=p+1|0;var d=n;n=d+1|0,s[d]=h[_]}while(_!==f)}while(l!==c);return s},t.$_$.f=function(){return function(){if(et)return Cs();et=!0,new sc("IGNORE_CASE",0,"i"),nt=new sc("MULTILINE",1,"m")}(),nt},t.$_$.g=qc,t.$_$.h=function(){return function(){if(O)return Cs();O=!0,new Wi("SYNCHRONIZED",0),q=new Wi("PUBLICATION",1),new Wi("NONE",2)}(),q},t.$_$.i=function(t,n){return null==t||Mh(t)?t:El()},t.$_$.j=function(t,n,e,r,i,o){return 0!=(2&i)&&(e=0),0!=(4&i)&&(r=t.length),function(t,n,e,r){Pn().e2(e,r,t.length),t.fill(n,e,r)}(t,n,e,r)},t.$_$.k=tn,t.$_$.l=Ut,t.$_$.m=Yr,t.$_$.n=Nr,t.$_$.o=function(t,n,e,r,i,o){return 0!=(4&i)&&(r=!1),function(t,n,e,r){var i=new RegExp(ec().al(n),r?"gui":"gu"),o=ec().bl(e);return t.replace(i,o)}(t,n,e,r)},t.$_$.p=function(t,n,e,r,i,o){return 0!=(2&i)&&(e=!1),0!=(4&i)&&(r=0),Lr(t,n,e,r)},t.$_$.q=yc,t.$_$.r=ia,t.$_$.s=ra,t.$_$.t=oa,t.$_$.u=ya,t.$_$.v=da,t.$_$.w=function(t){return function(t,n){return _a(n),n.rg(t),n}(t,Object.create(ma.prototype))},t.$_$.x=$a,t.$_$.y=function(){return t=Object.create(wa.prototype),ea.call(t),wa.call(t),t.hh_1=da(),t;var t},t.$_$.z=function(t){return function(t,n){return ea.call(n),wa.call(n),n.hh_1=ya(t.f()),n.j1(t),n}(t,Object.create(wa.prototype))},t.$_$.a1=Aa,t.$_$.b1=function(t){return function(t,n){return _a(n),Da.call(n),n.e4_1=da(),n.rg(t),n}(t,Object.create(Da.prototype))},t.$_$.c1=Ta,t.$_$.d1=function(t){return function(t,n){return ba(Aa(),n),Na.call(n),n.j1(t),n}(t,Object.create(Na.prototype))},t.$_$.e1=function t(n){var e=function(t,n){return xp(t,n),Ya.call(n),n}(n,Object.create(Ya.prototype));return Ol(e,t),e},t.$_$.f1=Ka,t.$_$.g1=function t(n,e){var r=Ka(n,e,Object.create(Ya.prototype));return Ol(r,t),r},t.$_$.h1=function(t){return function(t,n){return Ja.call(n,t,ir()),n}(t,Object.create(Ja.prototype))},t.$_$.i1=function(t){return function(t,n){return oc.call(n,t,Pe()),n}(t,Object.create(oc.prototype))},t.$_$.j1=function(t,n){return function(t,n,e){return oc.call(e,t,Ls(n)),e}(t,n,Object.create(oc.prototype))},t.$_$.k1=Hu,t.$_$.l1=Vu,t.$_$.m1=function t(){var n,e=(Op(n=Object.create(Tp.prototype)),Tp.call(n),n);return Ol(e,t),e},t.$_$.n1=function t(n){var e=function(t,n){return Pp(t,n),Tp.call(n),n}(n,Object.create(Tp.prototype));return Ol(e,t),e},t.$_$.o1=function(t,n,e){return Pl(e,t,n),dp.call(e),e},t.$_$.p1=vp,t.$_$.q1=yp,t.$_$.r1=mp,t.$_$.s1=gp,t.$_$.t1=wp,t.$_$.u1=kp,t.$_$.v1=function t(n,e){var r=jp(n,e,Object.create(zp.prototype));return Ol(r,t),r},t.$_$.w1=Bp,t.$_$.x1=Cp,t.$_$.y1=Mp,t.$_$.z1=function t(n,e){var r=Mp(n,e,Object.create(Ap.prototype));return Ol(r,t),r},t.$_$.a2=Ep,t.$_$.b2=Ip,t.$_$.c2=function(t){var n=Vu();yi(t)&&n.q9(45),n.eb("PT");var e=gi(t),r=ji(e),i=bi(e),o=wi(e),s=xi(e),a=r;mi(t)&&(a=new Ll(1316134911,2328));var u=!a.equals(new Ll(0,0)),c=0!==o||!(0===s),l=0!==i||!!c&&u;return u&&n.db(a).q9(72),l&&n.db(i).q9(77),(c||!u&&!l)&&(Ci(n,0,o,s,9,"S",!0),Cs()),n.toString()},t.$_$.d2=function(t){return function(t){var n,e=ci(t);if(li(t))n=e;else{var r,i;if(Bl(),r=new Ll(-1,2147483647).s9(dh(1e6)),e.c1(r)>0)Bl(),n=new Ll(-1,2147483647);else Bl(),i=new Ll(0,-2147483648).s9(dh(1e6)),e.c1(i)<0?(Bl(),n=new Ll(0,-2147483648)):n=Ii(e)}return n}(t)},t.$_$.e2=Ec,t.$_$.f2=Dc,t.$_$.g2=Tc,t.$_$.h2=Bc,t.$_$.i2=Gi,t.$_$.j2=Qi,t.$_$.k2=Zi,t.$_$.l2=Xi,t.$_$.m2=lo,t.$_$.n2=ho,t.$_$.o2=vo,t.$_$.p2=mo,t.$_$.q2=function(t){return new Int8Array(t)},t.$_$.r2=function(t,n){return t[n]},t.$_$.s2=function(t,n,e){var r;r=e,t[n]=r},t.$_$.t2=$o,t.$_$.u2=go,t.$_$.v2=jo,t.$_$.w2=zo,t.$_$.x2=Oo,t.$_$.y2=function(t){return new Int32Array(t)},t.$_$.z2=Mo,t.$_$.a3=function(t,n){return t[n]},t.$_$.b3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.c3=Eo,t.$_$.d3=Ao,t.$_$.e3=Lo,t.$_$.f3=No,t.$_$.g3=Uo,t.$_$.h3=function(t){return ul(t)},t.$_$.i3=Wo,t.$_$.j3=function(t,n){return t[n]},t.$_$.k3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.l3=Ko,t.$_$.m3=Jo,t.$_$.n3=Qo,t.$_$.o3=ts,t.$_$.p3=is,t.$_$.q3=function(t){return new Int16Array(t)},t.$_$.r3=ss,t.$_$.s3=function(t,n){return t[n]},t.$_$.t3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.u3=us,t.$_$.v3=as,t.$_$.w3=Re,t.$_$.x3=Ke,t.$_$.y3=function(){return null==U&&new Ts,U},t.$_$.z3=function(){return null==B&&new Ss,B},t.$_$.a4=Is,t.$_$.b4=As,t.$_$.c4=Ps,t.$_$.d4=function(){return null==L&&new qs,L},t.$_$.e4=function(){return null==H&&new Ds,H},t.$_$.f4=lr,t.$_$.g4=Bu,t.$_$.h4=fi,t.$_$.i4=Nc,t.$_$.j4=Bl,t.$_$.k4=no,t.$_$.l4=fo,t.$_$.m4=So,t.$_$.n4=Fo,t.$_$.o4=es,t.$_$.p4=Cs,t.$_$.q4=bn,t.$_$.r4=Mn,t.$_$.s4=Rn,t.$_$.t4=Ks,t.$_$.u4=Un,t.$_$.v4=ua,t.$_$.w4=Zc,t.$_$.x4=ma,t.$_$.y4=wa,t.$_$.z4=Fc,t.$_$.a5=bs,t.$_$.b5=Da,t.$_$.c5=Na,t.$_$.d5=xs,t.$_$.e5=Hc,t.$_$.f5=Yc,t.$_$.g5=Gc,t.$_$.h5=Xc,t.$_$.i5=ks,t.$_$.j5=Vc,t.$_$.k5=Kc,t.$_$.l5=Uc,t.$_$.m5=Wc,t.$_$.n5=function(t,n){return t.j1(Yh(n))},t.$_$.o5=le,t.$_$.p5=function(t,n,e,r,i){Pn().e2(r,i,t.length);var o=i-r|0;if(Pn().e2(e,e+o|0,n.length),Dt(n)&&Dt(t)){var s=t.subarray(r,i);n.set(s,e)}else if(t!==n||e<=r){var a=0;if(a0&&n>0))throw mp(zl(t!==n?"Both size "+t+" and step "+n+" must be greater than zero.":"size "+t+" must be greater than zero."))}(n,e),kh(t,Ra)&&kh(t,Hc)){var i=t.f(),o=ia((i/e|0)+(0==(i%e|0)?0:1)|0),s=0;t:for(;0<=s&&s=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int16Array(n))},t.$_$.x5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Dl(t,n,new Ll(0,0));return e.$type$="LongArray",e},t.$_$.y5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Dl(t,n,!1);return e.$type$="BooleanArray",e},t.$_$.z5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Il(t,al(n));return e.$type$="CharArray",e},t.$_$.a6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int8Array(n))},t.$_$.b6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Float64Array(n))},t.$_$.c6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Float32Array(n))},t.$_$.d6=Jh,t.$_$.e6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int32Array(n))},t.$_$.f6=Fs,t.$_$.g6=Vn,t.$_$.h6=se,t.$_$.i6=Pe,t.$_$.j6=Wh,t.$_$.k6=function(t){return t.h()?null:t.g(0)},t.$_$.l6=function(t){if(kh(t,Hc))return t.h()?null:t.g(0);var n=t.c();return n.d()?n.e():null},t.$_$.m6=Zt,t.$_$.n6=function(t){if(kh(t,Hc))return Zt(t);var n=t.c();if(!n.d())throw Sp("Collection is empty.");return n.e()},t.$_$.o6=function(t){for(var n=ra(),e=t.c();e.d();)le(n,e.e());return n},t.$_$.p6=function(t,n){return function(t,n){if(kh(t,oe))return t.u3(n);var e=t.a3(n);if(null==e&&!t.u2(n))throw Sp("Key "+n+" is missing in the map.");return null==e||Mh(e)?e:El()}(t,n)},t.$_$.q6=Rt,t.$_$.r6=function(t){return new yr(0,function(t){return t.length-1|0}(t))},t.$_$.s6=function(t){return new yr(0,Vt(t))},t.$_$.t6=function(t){return t.length-1|0},t.$_$.u6=Kn,t.$_$.v6=Ft,t.$_$.w6=function(t){return t.h()?null:t.g(t.f()-1|0)},t.$_$.x6=function(t){if(t.h())throw Sp("List is empty.");return t.g(Kn(t))},t.$_$.y6=Ns,t.$_$.z6=function(t){return t.length>0?Yh(t):Vn()},t.$_$.a7=function(t){return t.length>0?(n=t,ce(e=Ia(t.length),n),e):se();var n,e},t.$_$.b7=Wn,t.$_$.c7=function(t,n){return function(t,n){var e=t.slice();e.length=e.length+n.f()|0,void 0!==t.$type$&&(e.$type$=t.$type$);for(var r=t.length,i=n.c();i.d();){var o=i.e(),s=r;r=s+1|0,e[s]=o}return e}(t,n)},t.$_$.d7=function(t,n){var e=function(t){return kh(t,Zc)?t.f():null}(n),r=null==e?null:t.f()+e|0,i=La(null==r?Et(t.f(),2):r);return i.j1(t),le(i,n),i},t.$_$.e7=function(t,n){return function(t,n,e){if(!kh(t,Ra))return he(kh(t,Qc)?t:El(),n,e);var r=0,i=0,o=Kn(t);if(i<=o)do{var s=i;i=i+1|0;var a=t.g(s);n(a)!==e&&(r!==s&&t.p4(r,a),r=r+1|0)}while(s!==o);if(r0?function(t){switch(t.length){case 0:return Pe();case 1:return Ls(t[0]);default:return Gt(t,La(t.length))}}(t):Pe()},t.$_$.i7=function(t){return 1===t.f()?t.g(0):null},t.$_$.j7=function(t,n){!function(t,n){if(t.f()<=1)return Cs();var e=Fs(t);!function(t,n){if(function(){if(null!=V)return V;V=!1;var t=[],n=0;if(n<600)do{var e=n;n=n+1|0,t.push(e)}while(n<600);var r=la;t.sort(r);var i=1,o=t.length;if(i=u)return!1}while(iPs().w_1?t.m8(n.e1_1-1|0,n.f1_1)+1|0:t.q4()}(n,t)}catch(t){throw t instanceof bp?Sp(t.message):t}},t.$_$.ka=function(t,n){return function(t,n){if(!t)throw mp("Step must be positive, was: "+zl(n)+".")}(n>0,n),xr().d1(t.e1_1,t.f1_1,t.g1_1>0?n:0|-n)},t.$_$.la=cn,t.$_$.ma=eu,t.$_$.na=pu,t.$_$.oa=lu,t.$_$.pa=cu,t.$_$.qa=Or,t.$_$.ra=de,t.$_$.sa=function(t){var n=t.c();if(!n.d())return null;for(var e=n.e();n.d();)e=n.e();return e},t.$_$.ta=function(t){return new ge(t)},t.$_$.ua=function(t,n,e){if(null==t)return null==n;if(null==n)return!1;if(!e)return t==n;if(t.length!==n.length)return!1;var r=0,i=t.length;if(ri)return 0;var s=3&o;if(0===s){var a=2,u=r,c=0;if(c<=1)do{if(c=c+1|0,(u=u+(o>>a&127)|0)>n)return 3;if((u=u+(o>>(a=a+7|0)&127)|0)>n)return 0;a=a+7|0}while(c<=1);return 3}if(o<=7)return s;var l=n-r|0;return o>>Et(2,o<=31?l%2|0:l)&3}(t)||function(t){var n=Xh(rp().ln_1,t);return n>=0&&t<(rp().ln_1[n]+rp().mn_1[n]|0)}(Tc(t))}(t)},t.$_$.xa=function(t){var n;switch(gl(t)){case 0:throw Sp("Char sequence is empty.");case 1:n=yl(t,0);break;default:throw mp("Char sequence has more than one element.")}return n},t.$_$.ya=function(t){return un(t)},t.$_$.za=function(t){return null!=t&&"true"===t.toLowerCase()},t.$_$.ab=function(t){var n=+t;return Za(n)&&!tc(t)||0===n&&mc(t)?null:n},t.$_$.bb=Xu,t.$_$.cb=Dr,t.$_$.db=Qu,t.$_$.eb=Ir,t.$_$.fb=Zu,t.$_$.gb=function(t){var n,e=function(t){return function(t,n){var e=_s(t,n);if(null==(null==e?null:new Po(e)))return null;var r=e;fo();var i=255;return ds(r,i)>0?null:lh(r)}(t,10)}(t);return null==(null==e?null:new yo(e))?Tr(t):n=e,n},t.$_$.hb=function(t){var n,e=function(t){return _s(t,10)}(t);return null==(null==e?null:new Po(e))?Tr(t):n=e,n},t.$_$.ib=fs,t.$_$.jb=function(t){var n,e=fs(t);return null==(null==e?null:new Vo(e))?Tr(t):n=e,n},t.$_$.kb=function(t){var n,e=function(t){return function(t,n){var e=_s(t,n);if(null==(null==e?null:new Po(e)))return null;var r=e;es();var i=65535;return ds(r,i)>0?null:ph(r)}(t,10)}(t);return null==(null==e?null:new os(e))?Tr(t):n=e,n},t.$_$.lb=function(t){return function(t,n){for(var e=function(t){return vn(Hr(t))}(t),r=ra(),i=e.c();i.d();){var o=i.e();Br(o)&&r.a(o)}for(var s=r,a=ia(ne(s,10)),u=s.c();u.d();){var c=u.e();a.a(Ar(c))}for(var l=function(t){var n=t.c();if(!n.d())return null;for(var e=n.e();n.d();){var r=n.e();wl(e,r)>0&&(e=r)}return e}(a),h=null==l?0:l,p=t.length+Et(n.length,e.f())|0,f=function(t){return 0===gl(t)?Er:(n=t,function(t){return n+t});var n}(n),_=Kn(e),d=ra(),v=0,y=e.c();y.d();){var m=y.e(),g=v;v=g+1|0;var $,b,w,x=Rs(g);0!==x&&x!==_||!mc(m)?$=null==(w=null==(b=gn(m,h))?null:f(b))?m:w:$=null;var k=$;null==k||(d.a(k),Cs())}return function(t,n,e,r,i,o,s,a,u,c){return 0!=(2&u)&&(e=", "),0!=(4&u)&&(r=""),0!=(8&u)&&(i=""),0!=(16&u)&&(o=-1),0!=(32&u)&&(s="..."),0!=(64&u)&&(a=null),en(t,n,e,r,i,o,s,a)}(d,Hu(p),"\n",null,null,0,null,null,124).toString()}(t,"")},t.$_$.mb=function(t){var n=0,e=gl(t)-1|0,r=!1;t:for(;n<=e;){var i=Ku(yl(t,r?e:n));if(r){if(!i)break t;e=e-1|0}else i?n=n+1|0:r=!0}return $l(t,n,e+1|0)},t.$_$.nb=Si,t.$_$.ob=qi,t.$_$.pb=ms,t.$_$.qb=Rc,t.$_$.rb=Bs,t.$_$.sb=Fi,t.$_$.tb=Ri,t.$_$.ub=nl,t.$_$.vb=dp,t.$_$.wb=fp,t.$_$.xb=bp,t.$_$.yb=Ll,t.$_$.zb=ao,t.$_$.ac=ro,t.$_$.bc=Ap,t.$_$.cc=El,t.$_$.dc=function(){throw wp()},t.$_$.ec=co,t.$_$.fc=ko,t.$_$.gc=yo,t.$_$.hc=Bo,t.$_$.ic=Po,t.$_$.jc=Zo,t.$_$.kc=Vo,t.$_$.lc=ps,t.$_$.mc=os,t.$_$.nc=zs,t.$_$.oc=Dp,t.$_$.pc=function(t,n){if(t!==n){var e=t._suppressed;null==e?t._suppressed=Wn([n]):e.a(n)}},t.$_$.qc=function(t){return t},t.$_$.rc=function(t){var n=t;return(65535&(n=(16711935&(n=(252645135&(n=(858993459&(n=(1431655765&n)+(1431655765&(n>>>1|0))|0))+(858993459&(n>>>2|0))|0))+(252645135&(n>>>4|0))|0))+(16711935&(n>>>8|0))|0))+(n>>>16|0)|0},t.$_$.sc=function(t){var n,e=t.a1_1;return 0===e?(Ps(),n=32+Qa(t.b1_1)|0):n=Qa(e),n},t.$_$.tc=io,t.$_$.uc=Al,t.$_$.vc=function(t,n){return Ui(),new Hi(t.lb_1,n).qb()},t.$_$.wc=function(t){return!function(t){var n;return Is(),t===1/0?n=!0:(Is(),n=t===-1/0),n}(t)&&!Za(t)},t.$_$.xc=function(t){return!function(t){var n;return As(),t===1/0?n=!0:(As(),n=t===-1/0),n}(t)&&!function(t){return!(t==t)}(t)},t.$_$.yc=function(t,n){return new Ji(n)},t.$_$.zc=function(t){return new Ji(t)},t.$_$.ad=function(){throw Kp()},t.$_$.bd=rl,t.$_$.cd=function(t){console.error(function(t){return(new wc).am(t)}(t))},t.$_$.dd=function(t,n){var e=t<>>(32-n|0)|0},t.$_$.ed=function(t,n){return Ps(),t<<(32-n|0)|t>>>n|0},t.$_$.fd=function(t){throw Zp("lateinit property "+t+" has not been initialized")},t.$_$.gd=el,t.$_$.hd=uo,t})?e.apply(n,[n]):e)||(t.exports=r)},645:function(t,n,e){var r,i;r=[n,e(744)],void 0===(i=function(t,n){"use strict";var e,r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt=Math.imul,ht=n.$_$.j9,pt=n.$_$.e4,ft=n.$_$.p4,_t=n.$_$.g6,dt=n.$_$.h,vt=n.$_$.yc,yt=n.$_$.y8,mt=n.$_$.c,gt=n.$_$.pa,$t=n.$_$.f9,bt=n.$_$.q1,wt=n.$_$.t8,xt=n.$_$.s1,kt=n.$_$.xb,jt=n.$_$.s5,zt=n.$_$.r,Ct=n.$_$.cc,St=n.$_$.ma,qt=n.$_$.s9,Ot=n.$_$.ec,Pt=n.$_$.d,Mt=n.$_$.zb,At=n.$_$.f5,Et=n.$_$.b5,It=n.$_$.k5,Dt=n.$_$.g5,Tt=n.$_$.x4,Bt=n.$_$.c5,Lt=n.$_$.l5,Nt=n.$_$.m5,Rt=n.$_$.y4,Ft=n.$_$.v4,Ht=n.$_$.j5,Ut=n.$_$.e5,Vt=n.$_$.w4,Wt=n.$_$.f6,Jt=n.$_$.ga,Kt=n.$_$.r1,Yt=n.$_$.j2,Gt=n.$_$.l2,Xt=n.$_$.u9,Zt=n.$_$.k2,Qt=n.$_$.ac,tn=n.$_$.uc,nn=n.$_$.a9,en=n.$_$.g9,rn=n.$_$.a5,on=n.$_$.z4,sn=n.$_$.va,an=n.$_$.p7,un=n.$_$.s,cn=n.$_$.y,ln=n.$_$.m7,hn=n.$_$.k7,pn=n.$_$.t7,fn=n.$_$.hd,_n=n.$_$.q7,dn=n.$_$.zc,vn=n.$_$.u5,yn=n.$_$.la,mn=n.$_$.k,gn=n.$_$.ca,$n=n.$_$.yb,bn=n.$_$.qb,wn=n.$_$.c2,xn=n.$_$.nb,kn=n.$_$.h4,jn=n.$_$.cb,zn=n.$_$.h9,Cn=n.$_$.u1,Sn=n.$_$.t,qn=n.$_$.z,On=n.$_$.c1,Pn=n.$_$.d1,Mn=n.$_$.v,An=n.$_$.w,En=n.$_$.a1,In=n.$_$.b1,Dn=n.$_$.k9,Tn=n.$_$.r8,Bn=n.$_$.q5,Ln=n.$_$.ka,Nn=n.$_$.p6,Rn=n.$_$.x9,Fn=n.$_$.j4,Hn=n.$_$.t6,Un=n.$_$.sc,Vn=n.$_$.x,Wn=n.$_$.qa,Jn=n.$_$.c9,Kn=n.$_$.s8,Yn=n.$_$.h6,Gn=n.$_$.v5,Xn=n.$_$.i4,Zn=n.$_$.n9,Qn=n.$_$.u8,te=n.$_$.a4,ne=n.$_$.p9,ee=n.$_$.b4,re=n.$_$.q9,ie=n.$_$.t9,oe=n.$_$.n4,se=n.$_$.l3,ae=n.$_$.jc,ue=n.$_$.h3,ce=n.$_$.e3,le=n.$_$.j3,he=n.$_$.f3,pe=n.$_$.c4,fe=n.$_$.r9,_e=n.$_$.m4,de=n.$_$.c3,ve=n.$_$.hc,ye=n.$_$.y2,me=n.$_$.v2,ge=n.$_$.a3,$e=n.$_$.w2,be=n.$_$.d4,we=n.$_$.v9,xe=n.$_$.o4,ke=n.$_$.u3,je=n.$_$.lc,ze=n.$_$.q3,Ce=n.$_$.n3,Se=n.$_$.s3,qe=n.$_$.o3,Oe=n.$_$.z3,Pe=n.$_$.m9,Me=n.$_$.l4,Ae=n.$_$.t2,Ee=n.$_$.fc,Ie=n.$_$.q2,De=n.$_$.m2,Te=n.$_$.r2,Be=n.$_$.n2,Le=n.$_$.y3,Ne=n.$_$.l9,Re=n.$_$.ha,Fe=n.$_$.z5,He=n.$_$.b6,Ue=n.$_$.c6,Ve=n.$_$.x5,We=n.$_$.m3,Je=n.$_$.i3,Ke=n.$_$.k3,Ye=n.$_$.e6,Ge=n.$_$.d3,Xe=n.$_$.z2,Ze=n.$_$.b3,Qe=n.$_$.w5,tr=n.$_$.v3,nr=n.$_$.r3,er=n.$_$.t3,rr=n.$_$.a6,ir=n.$_$.u2,or=n.$_$.p2,sr=n.$_$.s2,ar=n.$_$.y5,ur=n.$_$.nc,cr=n.$_$.lb,lr=n.$_$.ua,hr=n.$_$.w8,pr=n.$_$.v8,fr=n.$_$.h2,_r=n.$_$.ya,dr=n.$_$.wa,vr=n.$_$.g4,yr=n.$_$.kc,mr=n.$_$.ic,gr=n.$_$.mc,$r=n.$_$.gc,br=n.$_$.a7,wr=n.$_$.w6,xr=n.$_$.u6,kr=n.$_$.pb,jr=n.$_$.w9,zr=n.$_$.b,Cr=n.$_$.s6,Sr=n.$_$.w1,qr=n.$_$.r6,Or=n.$_$.k4,Pr=n.$_$.i2,Mr=n.$_$.tc;function Ar(){return!1}function Er(){return!1}function Ir(){return _t()}function Dr(t){return t.v2c(this)}function Tr(){return!1}function Br(t){return-1}function Lr(t,n,e,r,i,o){return 0!=(8&i)&&(r=null),null==o?this.e2g(t,n,e,r):o(t,n,e,r)}function Nr(){}function Rr(t,n){return this.s2f(t)}function Fr(t,n){t.u2c(this,n)}function Hr(){return Os()}function Ur(){}function Vr(){}function Wr(){}function Jr(t){return function(){return n=Gi("kotlinx.serialization.Polymorphic",(null==l&&new uo,l),[],function(t){return function(n){var e=mi(pt()).t2c();n.e2d("type",e,null,!1,12,null);var r=Gi("kotlinx.serialization.Polymorphic<"+t.f2d_1.ri()+">",oo(),[],null,12);return n.e2d("value",r,null,!1,12,null),n.y2c_1=t.g2d_1,ft()}}(t),4),e=t.f2d_1,new Vi(n,e);var n,e}}function Kr(t){Bo.call(this),this.f2d_1=t,this.g2d_1=_t();var n=dt();this.h2d_1=vt(n,Jr(this))}function Yr(t,n,e){var r,i=t.k2d(n,e);return null==i?function(t,n){var e=t.ri();Lo(null==e?""+t:e,n)}(mt(e),t.i2d()):r=i,r}function Gr(t,n,e){var r,i=t.j2d(n,e);return null==i?Lo(e,t.i2d()):r=i,r}function Xr(){}function Zr(){}function Qr(){}function ti(t,n){return bt(t,n),ei.call(n),n}function ni(t){var n=ti(t,Object.create(ei.prototype));return wt(n,ni),n}function ei(){wt(this,ei)}function ri(t){ti(t,this),wt(this,ri)}function ii(t,n){var e=function(t,n,e){return oi.call(e,t,1===t.f()?"Field '"+t.g(0)+"' is required for type with serial name '"+n+"', but it was missing":"Fields "+t+" are required for type with serial name '"+n+"', but they were missing",null),e}(t,n,Object.create(oi.prototype));return wt(e,ii),e}function oi(t,n,e){(function(t,n,e){xt(t,n,e),ei.call(e)})(n,e,this),this.o2d_1=t,wt(this,oi)}function si(t){var n=function(t){var n,e=Fa(t,[]);if(null==e){var r=jr(t).Companion,i=null==r?null:r.serializer();n=null!=i&&qt(i,Ur)?i:null}else n=e;return n}(t);return null==n?function(t){ma();var n=ra().a3(t);return null==n||qt(n,Ur)?n:Ct()}(t):n}function ai(t,n,e){var r;if(e){for(var i=zt(jt(n,10)),o=n.c();o.d();){var s;s=ci(t,o.e()),i.a(s)}r=i}else{for(var a=zt(jt(n,10)),u=n.c();u.d();){var c,l=li(t,u.e());if(null==l)return null;c=l,a.a(c)}r=a}return r}function ui(t,n,e){var r=function(t,n,e){var r,i=t;if(i.equals(Pt(Vt))||i.equals(Pt(Ut))||i.equals(Pt(Ht))||i.equals(Pt(Ft)))r=new Xo(e.g(0));else if(i.equals(Pt(Rt)))r=new Zo(e.g(0));else if(i.equals(Pt(Nt))||i.equals(Pt(Lt))||i.equals(Pt(Bt)))r=new Qo(e.g(0));else if(i.equals(Pt(Tt)))r=new ts(e.g(0),e.g(1));else if(i.equals(Pt(Dt))||i.equals(Pt(It))||i.equals(Pt(Et)))r=new ns(e.g(0),e.g(1));else if(i.equals(Pt(At)))p=e.g(0),f=e.g(1),r=new xa(p,f);else if(i.equals(Pt(Mt)))r=function(t,n){return new ka(t,n)}(e.g(0),e.g(1));else if(i.equals(Pt(Ot)))c=e.g(0),l=e.g(1),h=e.g(2),r=new ja(c,l,h);else{var o;if(t.equals(vr().jk())){var s=n.g(0).aj();a=null!=s&&qt(s,St)?s:Ct(),u=e.g(0),o=new es(a,u)}else o=null;r=o}var a,u;var c,l,h;var p,f;return r}(t,n,e);return null==r?function(t,n){return Fa(t,Wt(n).slice())}(t,e):r}function ci(t,n){var e,r=hi(t,n,!0);return null==r?function(t){throw ni("Serializer for class '"+t.ri()+"' is not found.\nMark the class as @Serializable or provide the serializer explicitly.\nOn Kotlin/JS explicitly declared serializer should be used for interfaces and enums without @Serializable annotation")}(xs(n)):e=r,e}function li(t,n){return hi(t,n,!1)}function hi(t,n,s){for(var a=xs(n),u=n.cj(),c=n.bj(),l=zt(jt(c,10)),h=c.c();h.d();){var p,f=h.e().q2d_1;if(null==f)throw Kt(Jt("Star projections in type arguments are not allowed, but had "+n));p=f,l.a(p)}var _,d,v=l;if(v.h())_=function(t,n){var i;if(vi(),n)i=(vi(),r).t2d(t);else{var o=(vi(),e).t2d(t);i=null==o?null:null!=o&&qt(o,Ur)?o:Ct()}return i}(a,u);else{var y,m=function(t,n,e){var r;if(vi(),e)r=(vi(),o).u2d(t,n);else{var s=(vi(),i).u2d(t,n);r=new Qt(s)instanceof Qt?s:Ct()}return r}(a,v,u);if(s){var g;if(Zt(m))g=null;else{var $=Gt(m);g=null==$||Xt($)?$:Ct()}y=g}else{if(null!=Yt(m))return null;var b=Gt(m);y=null==b||Xt(b)?b:Ct()}_=y}if(null!=_)return _;if(v.h())d=t.s2d(a,null,2,null);else{var w=ai(t,v,s);if(null==w)return null;var x=w,k=ui(a,v,x);d=null==k?t.r2d(a,x):k}var j,z=d;return null==(j=null==z?null:null!=z&&qt(z,Ur)?z:Ct())?null:function(t,n){return n?yi(t):qt(t,Ur)?t:Ct()}(j,u)}function pi(t){return vi(),si(t)}function fi(t){vi();var n=si(t),e=null==n?null:yi(n);return null==e?null:null!=e&&qt(e,Ur)?e:Ct()}function _i(t,n){return vi(),ui(t,n,tn(ai(Ta(),n,!0)))}function di(t,n){vi();var e=ui(t,n,tn(ai(Ta(),n,!0))),r=null==e?null:yi(e);return null==r?null:null!=r&&qt(r,Ur)?r:Ct()}function vi(){s||(s=!0,e=Na(pi),r=Na(fi),i=Ra(_i),o=Ra(di))}function yi(t){return t.t2c().v2d()?qt(t,Ur)?t:Ct():new vs(t)}function mi(t){return oa()}function gi(t){return null==W&&new sa,W}function $i(){return null==M&&new As,M}function bi(t){return null==J&&new aa,J}function wi(){return null==A&&new Es,A}function xi(t){return null==K&&new ua,K}function ki(){return null==E&&new Is,E}function ji(t){return null==Y&&new ca,Y}function zi(){return null==I&&new Ds,I}function Ci(t){return null==it&&new Ca,it}function Si(){return null==D&&new Ts,D}function qi(t){return null==G&&new la,G}function Oi(){return null==T&&new Bs,T}function Pi(t){return null==ot&&new Sa,ot}function Mi(){return null==B&&new Ls,B}function Ai(t){return null==X&&new ha,X}function Ei(){return null==L&&new Ns,L}function Ii(t){return null==st&&new qa,st}function Di(){return null==N&&new Rs,N}function Ti(t){return null==Z&&new pa,Z}function Bi(){return null==R&&new Fs,R}function Li(t){return null==at&&new Oa,at}function Ni(){return null==F&&new Hs,F}function Ri(t){return null==Q&&new fa,Q}function Fi(){return null==H&&new Us,H}function Hi(t){return null==tt&&new _a,tt}function Ui(t){return null==j&&new No,j}function Vi(t,n){this.w2d_1=t,this.x2d_1=n,this.y2d_1=this.w2d_1.z2d()+"<"+this.x2d_1.ri()+">"}function Wi(t){var n=t;return n instanceof Vi?t.x2d_1:n instanceof ys?Wi(t.j2e_1):null}function Ji(){}function Ki(t){this.n2e_1=t,this.m2e_1=t.b2e()}function Yi(t){this.o2e_1=t}function Gi(t,n,e,r,i,o){return 0!=(8&i)&&(r=no),function(t,n,e,r){if(sn(t))throw Kt(Jt("Blank serial names are prohibited"));if(nn(n,xo()))throw Kt(Jt("For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead"));var i=new Xi(t);return r(i),new to(t,n,i.z2c_1.f(),an(e),i)}(t,n,e,r)}function Xi(t){this.w2c_1=t,this.x2c_1=!1,this.y2c_1=_t(),this.z2c_1=un(),this.a2d_1=cn(),this.b2d_1=un(),this.c2d_1=un(),this.d2d_1=un()}function Zi(t,n,e,r,i){return 0!=(4&r)&&(e=eo),function(t,n,e){if(sn(t))throw Kt(Jt("Blank serial names are prohibited"));var r=new Xi(t);return e(r),new to(t,xo(),r.z2c_1.f(),an(n),r)}(t,n,e)}function Qi(t){return $t("_hashCode",1,gt,(function(t){return Qi(t)}),null),t.b2f_1.m2()}function to(t,n,e,r,i){this.q2e_1=t,this.r2e_1=n,this.s2e_1=e,this.t2e_1=i.y2c_1,this.u2e_1=ln(i.z2c_1);var o,s=i.z2c_1;o=Wt(s),this.v2e_1=o,this.w2e_1=ks(i.b2d_1);var a,u,c=i.c2d_1;a=Wt(c),this.x2e_1=a,this.y2e_1=hn(i.d2d_1);for(var l,h=pn(this.v2e_1),p=zt(jt(h,10)),f=h.c();f.d();){var _,d=f.e();_=fn(d.o3_1,d.n3_1),p.a(_)}l=p,this.z2e_1=_n(l),this.a2f_1=ks(r),this.b2f_1=dn((u=this,function(){return qs(u,u.a2f_1)}))}function no(t){return ft()}function eo(t){return ft()}function ro(){a=this,so.call(this)}function io(){u=this,so.call(this)}function oo(){return null==u&&new io,u}function so(){}function ao(){c=this,co.call(this)}function uo(){l=this,co.call(this)}function co(){so.call(this)}function lo(){h=this,bo.call(this)}function ho(){p=this,bo.call(this)}function po(){f=this,bo.call(this)}function fo(){_=this,bo.call(this)}function _o(){d=this,bo.call(this)}function vo(){v=this,bo.call(this)}function yo(){y=this,bo.call(this)}function mo(){m=this,bo.call(this)}function go(){g=this,bo.call(this)}function $o(){return null==g&&new go,g}function bo(){so.call(this)}function wo(){$=this,qo.call(this)}function xo(){return null==$&&new wo,$}function ko(){b=this,qo.call(this)}function jo(){return null==b&&new ko,b}function zo(){w=this,qo.call(this)}function Co(){return null==w&&new zo,w}function So(){x=this,qo.call(this)}function qo(){so.call(this)}function Oo(){}function Po(){}function Mo(){}function Ao(){k=this,this.k2h_1=-1,this.l2h_1=-3}function Eo(){return null==k&&new Ao,k}function Io(){}function Do(){}function To(){}function Bo(){}function Lo(t,n){var e="in the scope of '"+n.ri()+"'";throw ni(null==t?"Class discriminator was missing and no default polymorphic serializers were registered "+e:"Class '"+t+"' is not registered for polymorphic serialization "+e+".\nMark the base class as 'sealed' or register the serializer explicitly.")}function No(){j=this,this.p2h_1=new va("kotlin.time.Duration",$o())}function Ro(){}function Fo(t){Yo.call(this,t)}function Ho(t){Yo.call(this,t)}function Uo(t){Yo.call(this,t)}function Vo(t,n){Go.call(this,"kotlin.collections.HashMap",t,n)}function Wo(t,n){Go.call(this,"kotlin.collections.LinkedHashMap",t,n)}function Jo(t){Yo.call(this,t)}function Ko(t){Yo.call(this,t),this.i2i_1=t.z2d()+"Array"}function Yo(t){this.u2h_1=t,this.v2h_1=1}function Go(t,n,e){this.a2i_1=t,this.b2i_1=n,this.c2i_1=e,this.d2i_1=2}function Xo(t){rs.call(this,t),this.k2i_1=new Fo(t.t2c())}function Zo(t){rs.call(this,t),this.f2j_1=new Ho(t.t2c())}function Qo(t){rs.call(this,t),this.m2j_1=new Uo(t.t2c())}function ts(t,n){is.call(this,t,n),this.t2j_1=new Vo(t.t2c(),n.t2c())}function ns(t,n){is.call(this,t,n),this.i2k_1=new Wo(t.t2c(),n.t2c())}function es(t,n){os.call(this,n),this.n2k_1=t,this.o2k_1=new Jo(n.t2c())}function rs(t){os.call(this,t)}function is(t,n){ss.call(this),this.c2k_1=t,this.d2k_1=n}function os(t){ss.call(this),this.y2i_1=t}function ss(){}function as(t){os.call(this,t),this.x2k_1=new Ko(t.t2c())}function us(){}function cs(){z=this,this.e2l_1=Rn(0)}function ls(){return null==z&&new cs,z}function hs(t,n){ls(),this.f2l_1=t,this.g2l_1=n;var e=this.f2l_1.b2e();if(Fn(),e<=64){var r;Fn(),r=64===e?new $n(0,0):new $n(-1,-1).jb(e),this.h2l_1=r,this.i2l_1=ls().e2l_1}else this.h2l_1=new $n(0,0),this.i2l_1=function(t,n){var e=(n-1|0)>>>6|0;Fn();var r=63&n,i=Rn(e);return 0!==r&&(i[Hn(i)]=new $n(-1,-1).jb(n)),i}(0,e)}function ps(t,n){return new fs(t,new _s(n))}function fs(t,n){Ss.call(this,t,n,1),this.x2l_1=!0}function _s(t){this.m2m_1=t}function ds(){C=this,Po.call(this),this.p2m_1=Ta()}function vs(t){this.q2m_1=t,this.r2m_1=new ys(this.q2m_1.t2c())}function ys(t){this.j2e_1=t,this.k2e_1=this.j2e_1.z2d()+"?",this.l2e_1=ws(this.j2e_1)}function ms(t,n){return function(){var e=(null==x&&new So,x);return Gi(t,e,[],function(t){return function(n){return n.y2c_1=t.u2m_1,ft()}}(n),4)}}function gs(t,n){this.t2m_1=n,this.u2m_1=_t();var e=dt();this.v2m_1=vt(e,ms(t,this))}function $s(){}function bs(){}function ws(t){if(js(),qt(t,Ro))return t.c2f();var n=Vn(t.b2e()),e=0,r=t.b2e();if(e0){var e,r=pr(t,0);e=dr(r)?_r(r):fr(r),n=Jt(e)+t.substring(1)}else n=t;return n}function ma(){nt||(nt=!0,U=br([fn(vr().kk(),mi(pt())),fn(Pt(bn),gi(Xn())),fn(vr().nk(),$i()),fn(vr().ik(),bi(te())),fn(vr().tk(),wi()),fn(vr().hk(),xi(ee())),fn(vr().sk(),ki()),fn(Pt($n),ji(Fn())),fn(vr().rk(),zi()),fn(Pt(yr),Ci(oe())),fn(Pt(ae),Si()),fn(vr().gk(),qi(pe())),fn(vr().qk(),Oi()),fn(Pt(mr),Pi(_e())),fn(Pt(ve),Mi()),fn(vr().fk(),Ai(be())),fn(vr().pk(),Ei()),fn(Pt(gr),Ii(xe())),fn(Pt(je),Di()),fn(vr().ek(),Ti(Oe())),fn(vr().ok(),Bi()),fn(Pt($r),Li(Me())),fn(Pt(Ee),Ni()),fn(vr().dk(),Ri(Le())),fn(vr().mk(),Fi()),fn(Pt(ur),Hi(ft())),fn(Pt(xn),Ui(kn()))]))}function ga(){$a.call(this)}function $a(){var t;t=un(),this.m2s_1=t,this.n2s_1=!1}function ba(){return rt||(rt=!0,et=new Object),et}function wa(t,n){this.e2t_1=t,this.f2t_1=n}function xa(t,n){za.call(this,t,n);var e,r,i=Co();this.i2t_1=Gi("kotlin.collections.Map.Entry",i,[],(e=t,r=n,function(t){var n=e.t2c();t.e2d("key",n,null,!1,12,null);var i=r.t2c();return t.e2d("value",i,null,!1,12,null),ft()}),4)}function ka(t,n){var e,r;za.call(this,t,n),this.t2t_1=Zi("kotlin.Pair",[],(e=t,r=n,function(t){var n=e.t2c();t.e2d("first",n,null,!1,12,null);var i=r.t2c();return t.e2d("second",i,null,!1,12,null),ft()}),2)}function ja(t,n,e){var r;this.w2t_1=t,this.x2t_1=n,this.y2t_1=e,this.z2t_1=Zi("kotlin.Triple",[],(r=this,function(t){var n=r.w2t_1.t2c();t.e2d("first",n,null,!1,12,null);var e=r.x2t_1.t2c();t.e2d("second",e,null,!1,12,null);var i=r.y2t_1.t2c();return t.e2d("third",i,null,!1,12,null),ft()}),2)}function za(t,n){this.o2t_1=t,this.p2t_1=n}function Ca(){it=this,this.b2u_1=ps("kotlin.ULong",ji(Fn()))}function Sa(){ot=this,this.e2u_1=ps("kotlin.UInt",qi(pe()))}function qa(){st=this,this.h2u_1=ps("kotlin.UShort",Ai(be()))}function Oa(){at=this,this.k2u_1=ps("kotlin.UByte",Ti(Oe()))}function Pa(){return ct||(ct=!0,ut=new Aa(Yn(),Yn(),Yn(),Yn(),Yn())),ut}function Ma(){}function Aa(t,n,e,r,i){Ma.call(this),this.o2u_1=t,this.p2u_1=n,this.q2u_1=e,this.r2u_1=r,this.s2u_1=i}function Ea(){}function Ia(){}function Da(){}function Ta(){return Pa()}function Ba(){}function La(t){this.d2v_1=t}function Na(t){return new Va(t)}function Ra(t){return new Wa(t)}function Fa(t,n){var e;try{var r,i=zr(t,Pt(La));if(null!=i&&qt(i,Ur))r=null!=i&&qt(i,Ur)?i:Ct();else if(null!=i&&qt(i,Ps)){var o=i.w2m(n.slice());r=qt(o,Ur)?o:Ct()}else r=function(t){var n=jr(t).$metadata$;return"interface"==(null==n?null:n.kind)}(t)?new Kr(t):null;e=r}catch(t){e=null}return e}function Ha(t,n){if(!(0<=n&&n<=(t.length-1|0)))throw Sr("Index "+n+" out of bounds "+Cr(t));return t[n]}function Ua(t,n){if(!(0<=n&&n<=(t.length-1|0)))throw Sr("Index "+n+" out of bounds "+qr(t));return t[n]}function Va(t){this.e2v_1=t}function Wa(t){this.f2v_1=t}return Kr.prototype=Object.create(Bo.prototype),Kr.prototype.constructor=Kr,Xr.prototype=Object.create(Bo.prototype),Xr.prototype.constructor=Xr,ei.prototype=Object.create(kt.prototype),ei.prototype.constructor=ei,ri.prototype=Object.create(ei.prototype),ri.prototype.constructor=ri,oi.prototype=Object.create(ei.prototype),oi.prototype.constructor=oi,ro.prototype=Object.create(so.prototype),ro.prototype.constructor=ro,io.prototype=Object.create(so.prototype),io.prototype.constructor=io,co.prototype=Object.create(so.prototype),co.prototype.constructor=co,ao.prototype=Object.create(co.prototype),ao.prototype.constructor=ao,uo.prototype=Object.create(co.prototype),uo.prototype.constructor=uo,bo.prototype=Object.create(so.prototype),bo.prototype.constructor=bo,lo.prototype=Object.create(bo.prototype),lo.prototype.constructor=lo,ho.prototype=Object.create(bo.prototype),ho.prototype.constructor=ho,po.prototype=Object.create(bo.prototype),po.prototype.constructor=po,fo.prototype=Object.create(bo.prototype),fo.prototype.constructor=fo,_o.prototype=Object.create(bo.prototype),_o.prototype.constructor=_o,vo.prototype=Object.create(bo.prototype),vo.prototype.constructor=vo,yo.prototype=Object.create(bo.prototype),yo.prototype.constructor=yo,mo.prototype=Object.create(bo.prototype),mo.prototype.constructor=mo,go.prototype=Object.create(bo.prototype),go.prototype.constructor=go,qo.prototype=Object.create(so.prototype),qo.prototype.constructor=qo,wo.prototype=Object.create(qo.prototype),wo.prototype.constructor=wo,ko.prototype=Object.create(qo.prototype),ko.prototype.constructor=ko,zo.prototype=Object.create(qo.prototype),zo.prototype.constructor=zo,So.prototype=Object.create(qo.prototype),So.prototype.constructor=So,Fo.prototype=Object.create(Yo.prototype),Fo.prototype.constructor=Fo,Ho.prototype=Object.create(Yo.prototype),Ho.prototype.constructor=Ho,Uo.prototype=Object.create(Yo.prototype),Uo.prototype.constructor=Uo,Vo.prototype=Object.create(Go.prototype),Vo.prototype.constructor=Vo,Wo.prototype=Object.create(Go.prototype),Wo.prototype.constructor=Wo,Jo.prototype=Object.create(Yo.prototype),Jo.prototype.constructor=Jo,Ko.prototype=Object.create(Yo.prototype),Ko.prototype.constructor=Ko,os.prototype=Object.create(ss.prototype),os.prototype.constructor=os,rs.prototype=Object.create(os.prototype),rs.prototype.constructor=rs,Xo.prototype=Object.create(rs.prototype),Xo.prototype.constructor=Xo,Zo.prototype=Object.create(rs.prototype),Zo.prototype.constructor=Zo,Qo.prototype=Object.create(rs.prototype),Qo.prototype.constructor=Qo,is.prototype=Object.create(ss.prototype),is.prototype.constructor=is,ts.prototype=Object.create(is.prototype),ts.prototype.constructor=ts,ns.prototype=Object.create(is.prototype),ns.prototype.constructor=ns,es.prototype=Object.create(os.prototype),es.prototype.constructor=es,as.prototype=Object.create(os.prototype),as.prototype.constructor=as,fs.prototype=Object.create(Ss.prototype),fs.prototype.constructor=fs,ds.prototype=Object.create(Po.prototype),ds.prototype.constructor=ds,As.prototype=Object.create(as.prototype),As.prototype.constructor=As,Es.prototype=Object.create(as.prototype),Es.prototype.constructor=Es,Is.prototype=Object.create(as.prototype),Is.prototype.constructor=Is,Ds.prototype=Object.create(as.prototype),Ds.prototype.constructor=Ds,Ts.prototype=Object.create(as.prototype),Ts.prototype.constructor=Ts,Bs.prototype=Object.create(as.prototype),Bs.prototype.constructor=Bs,Ls.prototype=Object.create(as.prototype),Ls.prototype.constructor=Ls,Ns.prototype=Object.create(as.prototype),Ns.prototype.constructor=Ns,Rs.prototype=Object.create(as.prototype),Rs.prototype.constructor=Rs,Fs.prototype=Object.create(as.prototype),Fs.prototype.constructor=Fs,Hs.prototype=Object.create(as.prototype),Hs.prototype.constructor=Hs,Us.prototype=Object.create(as.prototype),Us.prototype.constructor=Us,Vs.prototype=Object.create(us.prototype),Vs.prototype.constructor=Vs,Ws.prototype=Object.create(us.prototype),Ws.prototype.constructor=Ws,Js.prototype=Object.create(us.prototype),Js.prototype.constructor=Js,Ks.prototype=Object.create(us.prototype),Ks.prototype.constructor=Ks,Ys.prototype=Object.create(us.prototype),Ys.prototype.constructor=Ys,Gs.prototype=Object.create(us.prototype),Gs.prototype.constructor=Gs,Xs.prototype=Object.create(us.prototype),Xs.prototype.constructor=Xs,Zs.prototype=Object.create(us.prototype),Zs.prototype.constructor=Zs,Qs.prototype=Object.create(us.prototype),Qs.prototype.constructor=Qs,ta.prototype=Object.create(us.prototype),ta.prototype.constructor=ta,na.prototype=Object.create(us.prototype),na.prototype.constructor=na,ea.prototype=Object.create(us.prototype),ea.prototype.constructor=ea,ga.prototype=Object.create($a.prototype),ga.prototype.constructor=ga,xa.prototype=Object.create(za.prototype),xa.prototype.constructor=xa,ka.prototype=Object.create(za.prototype),ka.prototype.constructor=ka,Aa.prototype=Object.create(Ma.prototype),Aa.prototype.constructor=Aa,Ea.prototype=Object.create(Da.prototype),Ea.prototype.constructor=Ea,Ia.prototype=Object.create(Da.prototype),Ia.prototype.constructor=Ia,Ur.$metadata$=ht("KSerializer",[Vr,Wr]),Vr.$metadata$=ht("SerializationStrategy"),Wr.$metadata$=ht("DeserializationStrategy"),Kr.prototype.i2d=function(){return this.f2d_1},Kr.prototype.t2c=function(){return $t("descriptor",1,gt,(function(t){return t.t2c()}),null),this.h2d_1.m2()},Kr.prototype.toString=function(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+this.f2d_1+")"},Kr.$metadata$=yt("PolymorphicSerializer",void 0,void 0,void 0,void 0,Bo.prototype),Xr.$metadata$=yt("SealedClassSerializer",void 0,void 0,void 0,void 0,Bo.prototype),Zr.$metadata$=ht("StringFormat",[Qr]),Qr.$metadata$=ht("SerialFormat"),ei.$metadata$=yt("SerializationException",void 0,void 0,void 0,void 0,kt.prototype),ri.$metadata$=yt("UnknownFieldException",void 0,void 0,void 0,void 0,ei.prototype),oi.$metadata$=yt("MissingFieldException",void 0,void 0,void 0,void 0,ei.prototype),Vi.prototype.a2e=function(){return this.w2d_1.a2e()},Vi.prototype.b2e=function(){return this.w2d_1.b2e()},Vi.prototype.c2e=function(){return this.w2d_1.c2e()},Vi.prototype.v2d=function(){return this.w2d_1.v2d()},Vi.prototype.d2e=function(){return this.w2d_1.d2e()},Vi.prototype.e2e=function(t){return this.w2d_1.e2e(t)},Vi.prototype.f2e=function(t){return this.w2d_1.f2e(t)},Vi.prototype.g2e=function(t){return this.w2d_1.g2e(t)},Vi.prototype.h2e=function(t){return this.w2d_1.h2e(t)},Vi.prototype.i2e=function(t){return this.w2d_1.i2e(t)},Vi.prototype.z2d=function(){return this.y2d_1},Vi.prototype.equals=function(t){var n=t instanceof Vi?t:null;if(null==n)return!1;var e=n;return!!nn(this.w2d_1,e.w2d_1)&&e.x2d_1.equals(this.x2d_1)},Vi.prototype.hashCode=function(){var t=this.x2d_1.hashCode();return lt(31,t)+en(this.y2d_1)|0},Vi.prototype.toString=function(){return"ContextDescriptor(kClass: "+this.x2d_1+", original: "+this.w2d_1+")"},Vi.$metadata$=yt("ContextDescriptor",[Ji]),Ji.$metadata$=ht("SerialDescriptor"),Ki.prototype.d=function(){return this.m2e_1>0},Ki.prototype.e=function(){var t=this.n2e_1.b2e(),n=this.m2e_1;return this.m2e_1=n-1|0,this.n2e_1.f2e(t-n|0)},Ki.$metadata$=yt(void 0,[rn]),Yi.prototype.c=function(){return new Ki(this.o2e_1)},Yi.$metadata$=yt(void 0,[on]),Xi.prototype.p2e=function(t,n,e,r){if(!this.a2d_1.a(t))throw Kt(Jt("Element with name '"+t+"' is already registered"));this.z2c_1.a(t),this.b2d_1.a(n),this.c2d_1.a(e),this.d2d_1.a(r)},Xi.prototype.e2d=function(t,n,e,r,i,o){return 0!=(4&i)&&(e=_t()),0!=(8&i)&&(r=!1),this.p2e(t,n,e,r)},Xi.$metadata$=yt("ClassSerialDescriptorBuilder"),to.prototype.z2d=function(){return this.q2e_1},to.prototype.d2e=function(){return this.r2e_1},to.prototype.b2e=function(){return this.s2e_1},to.prototype.a2e=function(){return this.t2e_1},to.prototype.c2f=function(){return this.u2e_1},to.prototype.h2e=function(t){return Ha(this.v2e_1,t)},to.prototype.g2e=function(t){var n,e=this.z2e_1.a3(t);return null==e?(Eo(),n=-3):n=e,n},to.prototype.e2e=function(t){return Ha(this.x2e_1,t)},to.prototype.f2e=function(t){return Ha(this.w2e_1,t)},to.prototype.i2e=function(t){return Ua(this.y2e_1,t)},to.prototype.equals=function(t){var n;t:if(this!==t)if(t instanceof to)if(this.z2d()===t.z2d()){var e=t;if(vn(this.a2f_1,e.a2f_1))if(this.b2e()===t.b2e()){var r=0,i=this.b2e();if(r=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return!1},Yo.prototype.e2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return _t()},Yo.prototype.f2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return this.u2h_1},Yo.prototype.equals=function(t){return this===t||t instanceof Yo&&!(!nn(this.u2h_1,t.u2h_1)||this.z2d()!==t.z2d())},Yo.prototype.hashCode=function(){return lt(zn(this.u2h_1),31)+en(this.z2d())|0},Yo.prototype.toString=function(){return this.z2d()+"("+this.u2h_1+")"},Yo.$metadata$=yt("ListLikeDescriptor",[Ji]),Go.prototype.z2d=function(){return this.a2i_1},Go.prototype.d2e=function(){return Co()},Go.prototype.b2e=function(){return this.d2i_1},Go.prototype.h2e=function(t){return t.toString()},Go.prototype.g2e=function(t){var n=jn(t);if(null==n)throw Kt(t+" is not a valid map index");return n},Go.prototype.i2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return!1},Go.prototype.e2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return _t()},Go.prototype.f2e=function(t){var n,e;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));switch(t%2|0){case 0:e=this.b2i_1;break;case 1:e=this.c2i_1;break;default:throw Cn("Unreached")}return e},Go.prototype.equals=function(t){return this===t||t instanceof Go&&this.z2d()===t.z2d()&&!!nn(this.b2i_1,t.b2i_1)&&!!nn(this.c2i_1,t.c2i_1)},Go.prototype.hashCode=function(){var t=en(this.z2d());return t=lt(31,t)+zn(this.b2i_1)|0,lt(31,t)+zn(this.c2i_1)|0},Go.prototype.toString=function(){return this.z2d()+"("+this.b2i_1+", "+this.c2i_1+")"},Go.$metadata$=yt("MapLikeDescriptor",[Ji]),Xo.prototype.t2c=function(){return this.k2i_1},Xo.prototype.u1o=function(){return un()},Xo.prototype.l2i=function(t){return t.f()},Xo.prototype.m2i=function(t){return this.l2i(t instanceof Ft?t:Ct())},Xo.prototype.n2i=function(t){return t},Xo.prototype.o2i=function(t){return this.n2i(t instanceof Ft?t:Ct())},Xo.prototype.p2i=function(t){var n=t instanceof Ft?t:null;return null==n?Sn(t):n},Xo.prototype.q2i=function(t){return this.p2i(null!=t&&qt(t,Ut)?t:Ct())},Xo.prototype.r2i=function(t,n){return t.sg(n)},Xo.prototype.s2i=function(t,n){return this.r2i(t instanceof Ft?t:Ct(),n)},Xo.prototype.t2i=function(t,n,e){t.yf(n,e)},Xo.prototype.u2i=function(t,n,e){var r=t instanceof Ft?t:Ct();return this.t2i(r,n,null==e||Xt(e)?e:Ct())},Xo.$metadata$=yt("ArrayListSerializer",void 0,void 0,void 0,void 0,rs.prototype),Zo.prototype.t2c=function(){return this.f2j_1},Zo.prototype.u1o=function(){return cn()},Zo.prototype.g2j=function(t){return t.f()},Zo.prototype.m2i=function(t){return this.g2j(t instanceof Rt?t:Ct())},Zo.prototype.h2j=function(t){return t},Zo.prototype.o2i=function(t){return this.h2j(t instanceof Rt?t:Ct())},Zo.prototype.i2j=function(t){var n=t instanceof Rt?t:null;return null==n?qn(t):n},Zo.prototype.q2i=function(t){return this.i2j(null!=t&&qt(t,Nt)?t:Ct())},Zo.prototype.j2j=function(t,n){},Zo.prototype.s2i=function(t,n){return this.j2j(t instanceof Rt?t:Ct(),n)},Zo.prototype.k2j=function(t,n,e){t.a(e)},Zo.prototype.u2i=function(t,n,e){var r=t instanceof Rt?t:Ct();return this.k2j(r,n,null==e||Xt(e)?e:Ct())},Zo.$metadata$=yt("HashSetSerializer",void 0,void 0,void 0,void 0,rs.prototype),Qo.prototype.t2c=function(){return this.m2j_1},Qo.prototype.u1o=function(){return On()},Qo.prototype.n2j=function(t){return t.f()},Qo.prototype.m2i=function(t){return this.n2j(t instanceof Bt?t:Ct())},Qo.prototype.o2j=function(t){return t},Qo.prototype.o2i=function(t){return this.o2j(t instanceof Bt?t:Ct())},Qo.prototype.i2j=function(t){var n=t instanceof Bt?t:null;return null==n?Pn(t):n},Qo.prototype.q2i=function(t){return this.i2j(null!=t&&qt(t,Nt)?t:Ct())},Qo.prototype.p2j=function(t,n){},Qo.prototype.s2i=function(t,n){return this.p2j(t instanceof Bt?t:Ct(),n)},Qo.prototype.q2j=function(t,n,e){t.a(e)},Qo.prototype.u2i=function(t,n,e){var r=t instanceof Bt?t:Ct();return this.q2j(r,n,null==e||Xt(e)?e:Ct())},Qo.$metadata$=yt("LinkedHashSetSerializer",void 0,void 0,void 0,void 0,rs.prototype),ts.prototype.t2c=function(){return this.t2j_1},ts.prototype.u2j=function(t){return t.f()},ts.prototype.v2j=function(t){return this.u2j(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.w2j=function(t){return t.u().c()},ts.prototype.x2j=function(t){return this.w2j(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.u1o=function(){return Mn()},ts.prototype.y2j=function(t){return lt(t.f(),2)},ts.prototype.m2i=function(t){return this.y2j(t instanceof Tt?t:Ct())},ts.prototype.z2j=function(t){return t},ts.prototype.o2i=function(t){return this.z2j(t instanceof Tt?t:Ct())},ts.prototype.a2k=function(t){var n=t instanceof Tt?t:null;return null==n?An(t):n},ts.prototype.q2i=function(t){return this.a2k(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.b2k=function(t,n){},ts.prototype.s2i=function(t,n){return this.b2k(t instanceof Tt?t:Ct(),n)},ts.$metadata$=yt("HashMapSerializer",void 0,void 0,void 0,void 0,is.prototype),ns.prototype.t2c=function(){return this.i2k_1},ns.prototype.u2j=function(t){return t.f()},ns.prototype.v2j=function(t){return this.u2j(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.w2j=function(t){return t.u().c()},ns.prototype.x2j=function(t){return this.w2j(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.u1o=function(){return En()},ns.prototype.j2k=function(t){return lt(t.f(),2)},ns.prototype.m2i=function(t){return this.j2k(t instanceof Et?t:Ct())},ns.prototype.k2k=function(t){return t},ns.prototype.o2i=function(t){return this.k2k(t instanceof Et?t:Ct())},ns.prototype.a2k=function(t){var n=t instanceof Et?t:null;return null==n?In(t):n},ns.prototype.q2i=function(t){return this.a2k(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.l2k=function(t,n){},ns.prototype.s2i=function(t,n){return this.l2k(t instanceof Et?t:Ct(),n)},ns.$metadata$=yt("LinkedHashMapSerializer",void 0,void 0,void 0,void 0,is.prototype),es.prototype.t2c=function(){return this.o2k_1},es.prototype.p2k=function(t){return t.length},es.prototype.v2j=function(t){return this.p2k(null!=t&&Dn(t)?t:Ct())},es.prototype.q2k=function(t){return Tn(t)},es.prototype.x2j=function(t){return this.q2k(null!=t&&Dn(t)?t:Ct())},es.prototype.u1o=function(){return un()},es.prototype.r2k=function(t){return t.f()},es.prototype.m2i=function(t){return this.r2k(t instanceof Ft?t:Ct())},es.prototype.s2k=function(t){return function(t,n){return Wt(t)}(t,this.n2k_1)},es.prototype.o2i=function(t){return this.s2k(t instanceof Ft?t:Ct())},es.prototype.t2k=function(t){return Sn(Bn(t))},es.prototype.q2i=function(t){return this.t2k(null!=t&&Dn(t)?t:Ct())},es.prototype.u2k=function(t,n){return t.sg(n)},es.prototype.s2i=function(t,n){return this.u2k(t instanceof Ft?t:Ct(),n)},es.prototype.v2k=function(t,n,e){t.yf(n,e)},es.prototype.u2i=function(t,n,e){var r=t instanceof Ft?t:Ct();return this.v2k(r,n,null==e||Xt(e)?e:Ct())},es.$metadata$=yt("ReferenceArraySerializer",void 0,void 0,void 0,void 0,os.prototype),rs.prototype.w2i=function(t){return t.f()},rs.prototype.v2j=function(t){return this.w2i(null!=t&&qt(t,Vt)?t:Ct())},rs.prototype.x2i=function(t){return t.c()},rs.prototype.x2j=function(t){return this.x2i(null!=t&&qt(t,Vt)?t:Ct())},rs.$metadata$=yt("CollectionSerializer",void 0,void 0,void 0,void 0,os.prototype),is.prototype.e2k=function(){return this.c2k_1},is.prototype.f2k=function(){return this.d2k_1},is.prototype.a2j=function(t,n,e,r){if(!(r>=0))throw Kt(Jt("Size must be known in advance when using READ_ALL"));var i=Ln(yn(0,lt(r,2)),2),o=i.e1_1,s=i.f1_1,a=i.g1_1;if(a>0&&o<=s||a<0&&s<=o)do{var u=o;o=o+a|0,this.b2j(t,e+u|0,n,!1)}while(u!==s)},is.prototype.b2j=function(t,n,e,r){var i,o=this.t2c(),s=t.f2g(o,n,this.c2k_1,null,8,null);if(r){var a=t.h2g(this.t2c());if(a!==(n+1|0))throw Kt(Jt("Value must follow key in a map, index for key: "+n+", returned index for value: "+a));i=a}else i=n+1|0;var u,c=i;if(!e.u2(s)||this.d2k_1.t2c().d2e()instanceof bo){var l=this.t2c();u=t.f2g(l,c,this.d2k_1,null,8,null)}else u=t.e2g(this.t2c(),c,this.d2k_1,Nn(e,s));var h=u;e.v3(s,h)},is.prototype.z2i=function(t,n){for(var e=this.v2j(n),r=this.t2c(),i=t.j2h(r,e),o=0,s=this.x2j(n);s.d();){var a=s.e(),u=a.k2(),c=a.m2(),l=this.t2c(),h=o;o=h+1|0,i.g2h(l,h,this.c2k_1,u);var p=this.t2c(),f=o;o=f+1|0,i.g2h(p,f,this.d2k_1,c)}i.t2f(r)},is.prototype.u2c=function(t,n){return this.z2i(t,null==n||Xt(n)?n:Ct())},is.$metadata$=yt("MapLikeSerializer",void 0,void 0,void 0,void 0,ss.prototype),os.prototype.z2i=function(t,n){var e=this.v2j(n),r=this.t2c(),i=t.j2h(r,e),o=this.x2j(n),s=0;if(s=0))throw Kt(Jt("Size must be known in advance when using READ_ALL"));var i=0;if(i>>6|0)-1|0;Fn();var r=63&n;t.i2l_1[e]=t.i2l_1[e].en(new $n(1,0).jb(r))}(this,t)},hs.prototype.k2l=function(){for(var t=this.f2l_1.b2e();!this.h2l_1.equals(new $n(-1,-1));){var n=Un(this.h2l_1.dn());if(this.h2l_1=this.h2l_1.en(new $n(1,0).jb(n)),this.g2l_1(this.f2l_1,n))return n}return Fn(),t>64?function(t){var n=0,e=t.i2l_1.length-1|0;if(n<=e)do{var r=n;n=n+1|0;var i=r+1|0;Fn();for(var o=lt(i,64),s=t.i2l_1[r];!s.equals(new $n(-1,-1));){var a=Un(s.dn());s=s.en(new $n(1,0).jb(a));var u=o+a|0;if(t.g2l_1(t.f2l_1,u))return t.i2l_1[r]=s,u}t.i2l_1[r]=s}while(n<=e);return Eo(),-1}(this):(Eo(),-1)},hs.$metadata$=yt("ElementMarker"),fs.prototype.c2e=function(){return this.x2l_1},fs.prototype.hashCode=function(){return lt(Ss.prototype.hashCode.call(this),31)},fs.prototype.equals=function(t){var n;t:if(this!==t)if(t instanceof fs)if(this.z2d()===t.z2d()){var e=t;if(e.x2l_1&&vn(this.k2m(),e.k2m()))if(this.b2e()===t.b2e()){var r=0,i=this.b2e();if(r>>1|0}while(o<32);throw ii(r,e.z2d())},t.$_$.x1=Ta,t.$_$.y1=function(t,n){return this.v2u(t,(e=n,function(t){return e}));var e},t.$_$.z1=Ba,t.$_$.a2=Wr,t.$_$.b2=Ur,t.$_$.c2=oi,t.$_$.d2=Xr,t.$_$.e2=ei,t.$_$.f2=Zr,t.$_$.g2=Yr,t.$_$.h2=ci,t}.apply(n,r))||(t.exports=i)},730:function(t,n,e){var r,i,o;i=[n,e(645),e(744)],void 0===(o="function"==typeof(r=function(t,n,e){"use strict";var r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt=Math.imul,nt=n.$_$.x1,et=e.$_$.ca,rt=n.$_$.f2,it=e.$_$.y8,ot=e.$_$.p4,st=e.$_$.ga,at=e.$_$.r1,ut=e.$_$.v8,ct=e.$_$.qb,lt=e.$_$.e2,ht=e.$_$.a9,pt=e.$_$.pb,ft=n.$_$.j1,_t=n.$_$.g1,dt=e.$_$.j9,vt=e.$_$.cc,yt=e.$_$.h9,mt=e.$_$.k,gt=e.$_$.e5,$t=e.$_$.l1,bt=e.$_$.g5,wt=e.$_$.c,xt=e.$_$.g9,kt=e.$_$.h,jt=e.$_$.yc,zt=n.$_$.u1,Ct=e.$_$.db,St=e.$_$.fb,qt=e.$_$.bb,Ot=e.$_$.eb,Pt=e.$_$.ab,Mt=n.$_$.e,At=n.$_$.a,Et=n.$_$.b2,It=n.$_$.m,Dt=n.$_$.z,Tt=e.$_$.e4,Bt=n.$_$.o,Lt=n.$_$.n,Nt=n.$_$.f,Rt=n.$_$.h,Ft=n.$_$.v,Ht=e.$_$.ib,Ut=e.$_$.n4,Vt=n.$_$.s,Wt=e.$_$.f3,Jt=e.$_$.kc,Kt=e.$_$.s9,Yt=e.$_$.u1,Gt=e.$_$.zc,Xt=n.$_$.y,Zt=n.$_$.x,Qt=n.$_$.w,tn=e.$_$.pa,nn=e.$_$.f9,en=n.$_$.m1,rn=n.$_$.h1,on=e.$_$.ea,sn=e.$_$.v2,an=e.$_$.x2,un=e.$_$.e3,cn=e.$_$.g3,ln=e.$_$.m2,hn=e.$_$.o2,pn=e.$_$.n3,fn=e.$_$.p3,_n=n.$_$.p1,dn=e.$_$.t8,vn=n.$_$.e2,yn=n.$_$.c,mn=e.$_$.w8,gn=e.$_$.x8,$n=e.$_$.ha,bn=e.$_$.ia,wn=n.$_$.k,xn=e.$_$.s,kn=e.$_$.i7,jn=e.$_$.r8,zn=e.$_$.uc,Cn=e.$_$.h6,Sn=e.$_$.p6,qn=e.$_$.d6,On=e.$_$.e6,Pn=e.$_$.c9,Mn=n.$_$.i,An=e.$_$.a1,En=e.$_$.sb,In=e.$_$.vc,Dn=e.$_$.l8,Tn=e.$_$.tb,Bn=e.$_$.nc,Ln=e.$_$.w7,Nn=(e.$_$.n8,n.$_$.n1),Rn=e.$_$.d,Fn=n.$_$.a2,Hn=e.$_$.u9,Un=n.$_$.g2,Vn=n.$_$.d2,Wn=n.$_$.v1,Jn=n.$_$.a1,Kn=n.$_$.u,Yn=n.$_$.t,Gn=n.$_$.g,Xn=n.$_$.j,Zn=n.$_$.y1,Qn=n.$_$.z1,te=n.$_$.c1,ne=e.$_$.bd,ee=n.$_$.c2,re=n.$_$.b,ie=e.$_$.xb,oe=e.$_$.xc,se=e.$_$.wc,ae=n.$_$.f1,ue=n.$_$.e1,ce=e.$_$.hb,le=e.$_$.w2,he=e.$_$.jb,pe=e.$_$.gb,fe=e.$_$.n2,_e=e.$_$.kb,de=e.$_$.o3,ve=n.$_$.i1,ye=n.$_$.d1,me=e.$_$.h2,ge=n.$_$.l1,$e=n.$_$.k1,be=e.$_$.m4,we=n.$_$.q,xe=e.$_$.l4,ke=n.$_$.r,je=e.$_$.o4,ze=n.$_$.p,Ce=e.$_$.h7,Se=e.$_$.z9,qe=e.$_$.g2,Oe=e.$_$.ua,Pe=e.$_$.da,Me=n.$_$.s1,Ae=e.$_$.p1,Ee=e.$_$.z3,Ie=e.$_$.d4,De=e.$_$.fa,Te=e.$_$.xa,Be=e.$_$.i6,Le=e.$_$.d7,Ne=e.$_$.o7,Re=e.$_$.ub,Fe=n.$_$.b1,He=e.$_$.x6,Ue=e.$_$.g7,Ve=e.$_$.n,We=e.$_$.yb,Je=e.$_$.f2,Ke=e.$_$.j4,Ye=e.$_$.u8,Ge=e.$_$.m,Xe=e.$_$.k1,Ze=e.$_$.u;function Qe(){r=this,nr.call(this,function(t,n,e,r,i,o,s,a,u,c,l,h,p,f){return function(t,n,e,r,i,o,s,a,u,c,l,h,p,f,_){return 0!=(1&p)&&(t=!1),0!=(2&p)&&(n=!1),0!=(4&p)&&(e=!1),0!=(8&p)&&(r=!1),0!=(16&p)&&(i=!1),0!=(32&p)&&(o=!0),0!=(64&p)&&(s=" "),0!=(128&p)&&(a=!1),0!=(256&p)&&(u=!1),0!=(512&p)&&(c="type"),0!=(1024&p)&&(l=!1),0!=(2048&p)&&(h=!0),sr.call(_,t,n,e,r,i,o,s,a,u,c,l,h),_}(t,n,e,r,i,o,s,a,u,c,l,h,p,0,Object.create(sr.prototype))}(!1,!1,!1,!1,!1,!1,null,!1,!1,null,!1,!1,4095),nt())}function tr(){return null==r&&new Qe,r}function nr(t,n){tr(),this.g2v_1=t,this.h2v_1=n,this.i2v_1=new Ii}function er(t){this.y2v_1=t.g2v_1.l2w_1,this.z2v_1=t.g2v_1.q2w_1,this.a2w_1=t.g2v_1.m2w_1,this.b2w_1=t.g2v_1.n2w_1,this.c2w_1=t.g2v_1.o2w_1,this.d2w_1=t.g2v_1.p2w_1,this.e2w_1=t.g2v_1.r2w_1,this.f2w_1=t.g2v_1.s2w_1,this.g2w_1=t.g2v_1.t2w_1,this.h2w_1=t.g2v_1.u2w_1,this.i2w_1=t.g2v_1.v2w_1,this.j2w_1=t.g2v_1.w2w_1,this.k2w_1=t.n2d()}function rr(t,n){nr.call(this,t,n),function(t){if(ht(t.n2d(),nt()))return ot();var n=new Ai(t.g2v_1.t2w_1,t.g2v_1.u2w_1);t.n2d().n2u(n)}(this)}function ir(){}function or(){}function sr(t,n,e,r,i,o,s,a,u,c,l,h){this.l2w_1=t,this.m2w_1=n,this.n2w_1=e,this.o2w_1=r,this.p2w_1=i,this.q2w_1=o,this.r2w_1=s,this.s2w_1=a,this.t2w_1=u,this.u2w_1=c,this.v2w_1=l,this.w2w_1=h}function ar(){}function ur(){i=this}function cr(){null==i&&new ur}function lr(){o=this}function hr(t){null==o&&new lr,cr.call(this),this.b2x_1=t}function pr(){s=this}function fr(t){var n=t.k2(),e=t.m2(),r=$t();return Ji(r,n),r.q9(lt(58)),r.db(e),r.toString()}function _r(t){null==s&&new pr,cr.call(this),this.f2x_1=t}function dr(){a=this}function vr(){null==a&&new dr,cr.call(this)}function yr(t,n){vr.call(this),this.h2x_1=n,this.i2x_1=st(t)}function mr(){return Rr()}function gr(){u=this,vr.call(this),this.j2x_1="null";var t=kt();this.k2x_1=jt(t,mr)}function $r(){return null==u&&new gr,u}function br(t){return function(t){return Ki(),!!Oe(t,"true",!0)||!Oe(t,"false",!0)&&null}(t.c1e())}function wr(t){return Ct(t.c1e())}function xr(t){var n,e=t instanceof vr?t:null;return null==e?function(t,n){throw at("Element "+wt(t)+" is not a "+n)}(t,"JsonPrimitive"):n=e,n}function kr(t){var n=Fr(jr);t.e2d("JsonPrimitive",n,null,!1,12,null);var e=Fr(zr);t.e2d("JsonNull",e,null,!1,12,null);var r=Fr(Cr);t.e2d("JsonLiteral",r,null,!1,12,null);var i=Fr(Sr);t.e2d("JsonObject",i,null,!1,12,null);var o=Fr(qr);return t.e2d("JsonArray",o,null,!1,12,null),ot()}function jr(){return Lr().m2x_1}function zr(){return Rr().n2x_1}function Cr(){return Ur().o2x_1}function Sr(){return Tr().p2x_1}function qr(){return Er().q2x_1}function Or(){c=this;var t=Mt();this.r2x_1=At("kotlinx.serialization.json.JsonElement",t,[],kr,4,null)}function Pr(){return null==c&&new Or,c}function Mr(){l=this,this.t2x_1=It(Pr()).t2c(),this.u2x_1="kotlinx.serialization.json.JsonArray"}function Ar(){h=this,this.q2x_1=(null==l&&new Mr,l)}function Er(){return null==h&&new Ar,h}function Ir(){p=this,this.w2x_1=Lt(Bt(Tt()),Pr()).t2c(),this.x2x_1="kotlinx.serialization.json.JsonObject"}function Dr(){f=this,this.p2x_1=(null==p&&new Ir,p)}function Tr(){return null==f&&new Dr,f}function Br(){_=this;var t=Nt();this.m2x_1=At("kotlinx.serialization.json.JsonPrimitive",t,[],null,12,null)}function Lr(){return null==_&&new Br,_}function Nr(){d=this;var t=Rt();this.n2x_1=At("kotlinx.serialization.json.JsonNull",t,[],null,12,null)}function Rr(){return null==d&&new Nr,d}function Fr(t){return new Yr(t)}function Hr(){v=this,this.o2x_1=Ft("kotlinx.serialization.json.JsonLiteral",Nt())}function Ur(){return null==v&&new Hr,v}function Vr(t){!function(t){var n=Kt(t,Gr)?t:null;if(null==n)throw Yt("This serializer can be used only with Json format.Expected Encoder to be JsonEncoder, got "+wt(t))}(t)}function Wr(t){var n=Kt(t,ar)?t:null;if(null==n)throw Yt("This serializer can be used only with Json format.Expected Decoder to be JsonDecoder, got "+wt(t));return n}function Jr(t){Wr(t)}function Kr(t){return nn("original",1,tn,(function(t){return Kr(t)}),null),t.c2y_1.m2()}function Yr(t){this.c2y_1=Gt(t)}function Gr(){}function Xr(t){this.d2y_1=t,this.e2y_1=!0}function Zr(t,n){Xr.call(this,t),this.z2y_1=n}function Qr(t,n){Xr.call(this,t),this.c2z_1=n,this.d2z_1=0}function ti(t){var n,e;this.e2z_1=new _n(t,(n=this,e=function(t,e){return i=t,o=e,(r=n).f2z_1=!i.i2e(o)&&i.f2e(o).v2d(),r.f2z_1;var r,i,o},e.callableName="readIfAbsent",e)),this.f2z_1=!1}function ni(t,n){var e="Unexpected special floating-point value "+st(n)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification";t.g2z(e,0,Jo(),2,null)}function ei(t){li.call(this,t),dn(this,ei)}function ri(t){return new ei("Value of type '"+t.z2d()+"' can't be used in JSON as a key in the map. It should have either primitive or enum kind, but its kind is '"+t.d2e()+"'.\n"+Q)}function ii(t){li.call(this,t),dn(this,ii)}function oi(t,n,e){return ai(t,n+"\nJSON input: "+hi(e,t))}function si(t,n,e){return ai(-1,function(t,n,e){return"Unexpected special floating-point value "+st(t)+" with key "+n+". By default, non-finite floating point values are prohibited because they do not conform JSON specification. "+Jo()+"\nCurrent output: "+pi(e,0,1)}(t,n,e))}function ai(t,n){return new ii(t>=0?"Unexpected JSON token at offset "+t+": "+n:n)}function ui(t,n){return ai(-1,"Encountered unknown key '"+t+"'.\n"+G+"\nCurrent input: "+pi(n,0,1))}function ci(t,n){return new ei("Unexpected special floating-point value "+st(t)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification. "+Jo()+"\nCurrent output: "+pi(n,0,1))}function li(t){yn(t,this),dn(this,li)}function hi(t,n){if(mn(t)<200)return t;if(-1===n){var e=mn(t)-60|0;if(e<=0)return t;var r=mn(t);return"....."+st(gn(t,e,r))}var i=n-30|0,o=n+30|0,s=i<=0?"":".....",a=o>=mn(t)?"":".....",u=$n(i,0),c=bn(o,mn(t));return s+st(gn(t,u,c))+a}function pi(t,n,e,r){return 0!=(1&e)&&(n=-1),hi(t,n)}function fi(){return yi(),y}function _i(t,n,e){yi();var r=t.g2e(e);if(wn(),-3!==r)return r;if(!n.g2v_1.w2w_1)return r;var i,o,s,a=Yo(n),u=fi(),c=a.i2z(t,u,(o=t,s=function(){return di(o)},s.callableName="buildAlternativeNamesMap",s)).a3(e);return null==c?(wn(),i=-3):i=c,i}function di(t){yi();var n=null,e=0,r=t.b2e();if(e>12),i=Wi(e>>8),o=Wi(e>>4),s=Wi(e);t[e]="\\u"+new ct(r)+new ct(i)+new ct(o)+new ct(s)}while(n<=31);t[34]='\\"',t[92]="\\\\",t[9]="\\t",t[8]="\\b",t[10]="\\n",t[13]="\\r",t[12]="\\f",w=t;var a=new Int8Array(93),u=0;if(u<=31)do{var c=u;u=u+1|0,a[c]=1}while(u<=31);34,a[34]=Pe(34),92,a[92]=Pe(92),116,a[9]=Pe(116),98,a[8]=Pe(98),110,a[10]=Pe(110),114,a[13]=Pe(114),102,a[12]=Pe(102)}}function Yi(t){var n=t.o2s(),e=null==n?null:t.r32(n);return null==e?t.m2():e}function Gi(t,n){throw oi(-1,"Failed to parse '"+n+"'",st(Yi(t)))}function Xi(t,n,e){var r=t instanceof yr?t:null;if(null==r)throw ai(-1,"Unexpected 'null' when "+e+" was expected");return r}function Zi(t,n){Me.call(this),this.o32_1=t,this.p32_1=n,this.q32_1=this.z2w().g2v_1}function Qi(t,n,e,r,i,o,s){return 0!=(4&i)&&(e=null),0!=(8&i)&&(r=null),eo.call(s,t,n,e,r),s}function to(t,n,e,r){var i,o;t:{var s=t.z2w(),a=n.f2e(e);if(!a.v2d()&&t.r32(r)instanceof gr)i=!0;else{if(ht(a.d2e(),Rt())){var u=t.r32(r),c=u instanceof vr?u:null,l=null==c?null:(o=c)instanceof gr?null:o.c1e();if(null==l){i=!1;break t}var h=_i(a,s,l);if(wn(),-3===h){ot(),i=!0;break t}}i=!1}}return i}function no(t,n,e){return t.n33_1=!t.z2w().g2v_1.q2w_1&&!n.i2e(e)&&n.f2e(e).v2d(),t.n33_1}function eo(t,n,e,r){Zi.call(this,t,n),this.j33_1=n,this.k33_1=e,this.l33_1=r,this.m33_1=0,this.n33_1=!1}function ro(t,n){Zi.call(this,t,n),this.t33_1=n,this.u33_1=this.t33_1.f(),this.v33_1=-1}function io(t,n){Qi(t,n,null,null,12,0,this),this.g34_1=n,this.h34_1=Ne(this.g34_1.b3()),this.i34_1=tt(this.h34_1.f(),2),this.j34_1=-1}function oo(){if(S)return ot();S=!0,k=new so("OBJ",0,qo(),Oo()),j=new so("LIST",1,Po(),Mo()),z=new so("MAP",2,qo(),Oo()),C=new so("POLY_OBJ",3,Po(),Mo())}function so(t,n,e,r){Re.call(this,t,n),this.f32_1=e,this.g32_1=r}function ao(t,n){var e,r=n.d2e();if(r instanceof Yn)e=po();else if(ht(r,Mn()))e=lo();else if(ht(r,Xn())){var i,o=uo(n.f2e(0),t.n2d()),s=o.d2e();if(s instanceof Kn||ht(s,Rt()))i=ho();else{if(!t.g2v_1.o2w_1)throw ri(o);i=lo()}e=i}else e=co();return e}function uo(t,n){var e;if(ht(t.d2e(),Gn())){var r=Fe(n,t),i=null==r?null:uo(r,n);e=null==i?t:i}else e=t.c2e()?uo(t.f2e(0),n):t;return e}function co(){return oo(),k}function lo(){return oo(),j}function ho(){return oo(),z}function po(){return oo(),C}function fo(t,n,e){return t.k34(n,e),function(t,n){var e=n;-1===(e=t.m34(e))&&t.g2z("Expected escape sequence to continue, got EOF",0,null,6,null);var r=t.l34(),i=e;e=i+1|0;var o=ut(r,i);if(ht(new ct(o),new ct(lt(117))))return yo(t,t.l34(),e);var s=function(t){return t<117?Wo().v34_1[t]:lt(0)}(qe(o));if(ht(new ct(s),new ct(lt(0)))){var a="Invalid escaped char '"+new ct(o)+"'";t.g2z(a,0,null,6,null)}return t.w2v_1.q9(s),e}(t,e+1|0)}function _o(t,n,e){t.k34(n,e);var r=t.w2v_1.toString();return t.w2v_1.vk(0),r}function vo(t){var n=zn(t.v2v_1);return t.v2v_1=null,n}function yo(t,n,e){return(e+4|0)>=mn(n)?(t.t2v_1=e,t.n34(),(t.t2v_1+4|0)>=mn(n)&&t.g2z("Unexpected EOF during unicode escape",0,null,6,null),yo(t,n,t.t2v_1)):(t.w2v_1.q9(Se((((mo(t,n,e)<<12)+(mo(t,n,e+1|0)<<8)|0)+(mo(t,n,e+2|0)<<4)|0)+mo(t,n,e+3|0)|0)),e+4|0)}function mo(t,n,e){var r,i=ut(n,e);if(lt(48)<=i&&i<=lt(57))r=qe(i)-48|0;else if(lt(97)<=i&&i<=lt(102))r=10+(qe(i)-97|0)|0;else if(lt(65)<=i&&i<=lt(70))r=10+(qe(i)-65|0)|0;else{var o="Invalid toHexChar char '"+new ct(i)+"' in unicode escape";t.g2z(o,0,null,6,null)}return r}function go(t,n){var e=t.m34(n);(e>=mn(t.l34())||-1===e)&&t.g2z("EOF",0,null,6,null);var r=t.l34(),i=e;e=i+1|0;var o,s=ut(r,i),a=32|qe(s);if(116===a)$o(t,"rue",e),o=!0;else if(102===a)$o(t,"alse",e),o=!1;else{var u="Expected valid boolean literal prefix, but had '"+t.i30()+"'";t.g2z(u,0,null,6,null)}return o}function $o(t,n,e){(mn(t.l34())-e|0)=0&&(t.eb("."),t.eb(i.h2e(o)))}else i!==gi()&&(t.eb("["),t.eb("'"),t.db(i),t.eb("'"),t.eb("]"))}while(e=0&&ht(new ct(t),new ct(lt(34)))&&"null"===this.i30()&&this.r34("Expected string literal but 'null' literal was found",this.t2v_1-4|0,"Use 'coerceInputValues = true' in 'Json {}` builder to coerce nulls to default values."),this.p34(wo(t))},bo.prototype.p34=function(t){var n="Expected "+(1===t?"quotation mark '\"'":4===t?"comma ','":5===t?"colon ':'":6===t?"start of the object '{'":7===t?"end of the object '}'":8===t?"start of the array '['":9===t?"end of the array ']'":"valid token")+", but had '"+(this.t2v_1===mn(this.l34())||this.t2v_1<=0?"EOF":me(ut(this.l34(),this.t2v_1-1|0)))+"' instead",e=this.t2v_1-1|0;this.g2z(n,e,null,4,null)},bo.prototype.f30=function(){for(var t=this.l34(),n=this.t2v_1;-1!==(n=this.m34(n));){var e=ut(t,n);if(!(ht(new ct(e),new ct(lt(32)))||ht(new ct(e),new ct(lt(10)))||ht(new ct(e),new ct(lt(13)))||ht(new ct(e),new ct(lt(9)))))return this.t2v_1=n,wo(e);n=n+1|0}return this.t2v_1=n,10},bo.prototype.v31=function(){var t=this.s34();t=this.m34(t);var n=mn(this.l34())-t|0;if(n<4||-1===t)return!0;var e=0;if(e<=3)do{var r=e;if(e=e+1|0,!ht(new ct(ut("null",r)),new ct(ut(this.l34(),t+r|0))))return!0}while(e<=3);return n>4&&0===wo(ut(this.l34(),t+4|0))||(this.t2v_1=t+4|0,!1)},bo.prototype.s34=function(){var t=this.t2v_1;t:for(;-1!==(t=this.m34(t));){var n=ut(this.l34(),t);if(!(ht(new ct(n),new ct(lt(32)))||ht(new ct(n),new ct(lt(10)))||ht(new ct(n),new ct(lt(13)))||ht(new ct(n),new ct(lt(9)))))break t;t=t+1|0}return this.t2v_1=t,t},bo.prototype.w31=function(t){var n,e=this.f30();if(t){if(1!==e&&0!==e)return null;n=this.i30()}else{if(1!==e)return null;n=this.h30()}var r=n;return this.v2v_1=r,r},bo.prototype.t34=function(t,n){var e=this.l34();return st(gn(e,t,n))},bo.prototype.h30=function(){return null!=this.v2v_1?vo(this):this.z31()},bo.prototype.consumeString2=function(t,n,e){for(var r=e,i=n,o=ut(t,r),s=!1;!ht(new ct(o),new ct(lt(34)));){if(ht(new ct(o),new ct(lt(92)))){if(s=!0,-1===(r=this.m34(fo(this,i,r)))){var a=r;this.g2z("EOF",a,null,4,null)}i=r}else if((r=r+1|0)>=mn(t)){if(s=!0,this.k34(i,r),-1===(r=this.m34(r))){var u=r;this.g2z("EOF",u,null,4,null)}i=r}o=ut(t,r)}var c=s?_o(this,i,r):this.t34(i,r);return this.t2v_1=r+1|0,c},bo.prototype.a32=function(){var t,n=this.i30();return"null"===n&&!ht(new ct(ut((t=this).l34(),t.t2v_1-1|0)),new ct(lt(34)))&&this.g2z("Unexpected 'null' value instead of string literal",0,null,6,null),n},bo.prototype.i30=function(){if(null!=this.v2v_1)return vo(this);var t=this.s34();if(t>=mn(this.l34())||-1===t){var n=t;this.g2z("EOF",n,null,4,null)}var e=wo(ut(this.l34(),t));if(1===e)return this.h30();if(0!==e){var r="Expected beginning of the string, but got "+new ct(ut(this.l34(),t));this.g2z(r,0,null,6,null)}for(var i=!1;0===wo(ut(this.l34(),t));)if((t=t+1|0)>=mn(this.l34())){i=!0,this.k34(this.t2v_1,t);var o=this.m34(t);if(-1===o)return this.t2v_1=t,_o(this,0,0);t=o}var s=i?_o(this,this.t2v_1,t):this.t34(this.t2v_1,t);return this.t2v_1=t,s},bo.prototype.k34=function(t,n){this.w2v_1.uk(this.l34(),t,n)},bo.prototype.u34=function(t,n,e){if(!t){var r=e();this.g2z(r,n,null,4,null)}},bo.prototype.y31=function(t){var n=xn(),e=this.f30();if(8!==e&&6!==e)return this.i30(),ot();for(;;)if(1!==(e=this.f30())){var r=e;if(8===r||6===r)n.a(e);else if(9===r){if(8!==He(n))throw oi(this.t2v_1,"found ] instead of } at path: "+this.u2v_1,this.l34());Ue(n)}else if(7===r){if(6!==He(n))throw oi(this.t2v_1,"found } instead of ] at path: "+this.u2v_1,this.l34());Ue(n)}else 10===r&&this.g2z("Unexpected end of input due to malformed JSON during ignoring unknown keys",0,null,6,null);if(this.k30(),0===n.f())return ot()}else t?this.i30():this.z31()},bo.prototype.toString=function(){return"JsonReader(source='"+this.l34()+"', currentPosition="+this.t2v_1+")"},bo.prototype.x31=function(t){var n=this.t34(0,this.t2v_1),e=Ve(n,t,0,!1,6,null);this.r34("Encountered an unknown key '"+t+"'",e,"Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.")},bo.prototype.r34=function(t,n,e){var r=0===mn(e)?"":"\n"+e;throw oi(n,t+" at path: "+this.u2v_1.s2z()+r,this.l34())},bo.prototype.g2z=function(t,n,e,r,i){return 0!=(2&r)&&(n=this.t2v_1),0!=(4&r)&&(e=""),this.r34(t,n,e)},bo.prototype.j32=function(){var t,n=this.s34();((n=this.m34(n))>=mn(this.l34())||-1===n)&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))?((n=n+1|0)===mn(this.l34())&&this.g2z("EOF",0,null,6,null),t=!0):t=!1;var e,r=t,i=new We(0,0),o=!1,s=n,a=!0;t:for(;a;){var u=ut(this.l34(),n);if(ht(new ct(u),new ct(lt(45))))n!==s&&this.g2z("Unexpected symbol '-' in numeric literal",0,null,6,null),o=!0,n=n+1|0;else{if(0!==wo(u))break t;a=!((n=n+1|0)===mn(this.l34()));var c=Je(u,lt(48));if(!(0<=c&&c<=9)){var l="Unexpected symbol '"+new ct(u)+"' in numeric literal";this.g2z(l,0,null,6,null)}(i=i.t9(new We(10,0)).v9(on(c))).c1(new We(0,0))>0&&this.g2z("Numeric value overflow",0,null,6,null)}}if((s===n||o&&s===(n-1|0))&&this.g2z("Expected numeric literal",0,null,6,null),r&&(a||this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))||this.g2z("Expected closing quotation mark",0,null,6,null),n=n+1|0),this.t2v_1=n,o)e=i;else{var h=i;Ke(),h.equals(new We(0,-2147483648))?this.g2z("Numeric value overflow",0,null,6,null):e=i.r9()}return e},bo.prototype.h32=function(){return go(this,this.s34())},bo.prototype.i32=function(){var t,n=this.s34();n===mn(this.l34())&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))?(n=n+1|0,t=!0):t=!1;var e=t,r=go(this,n);if(e){this.t2v_1===mn(this.l34())&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),this.t2v_1)),new ct(lt(34)))||this.g2z("Expected closing quotation mark",0,null,6,null);this.t2v_1=this.t2v_1+1|0}return r},bo.$metadata$=it("AbstractJsonLexer"),Vo.$metadata$=et("CharMappings"),Ko.prototype.l34=function(){return this.b35_1},Ko.prototype.m34=function(t){return t=0},Wn.prototype.cu=function(){var t=this.tt_1,n=null==t?null:t.du();return null==n||n},Wn.prototype.eu=function(t){this.rt_1=this.rt_1.u9(Vn(0,t)),t||(this.st_1=!0)},Wn.prototype.fu=function(t){if(this.rt_1=this.rt_1.v9(Vn(0,t)),this.rt_1.c1(new jt(0,0))>0)return N();this.st_1&&this.gu()},Wn.prototype.gu=function(){},Wn.$metadata$=W("EventLoop",void 0,void 0,void 0,void 0,Tn.prototype),Jn.prototype.iu=function(){var t,n=this.hu_1.ku();if(null==n){var e=new Wr;Kn().hu_1.lu(e),t=e}else t=n;return t},Jn.$metadata$=st("ThreadLocalEventLoop"),Yn.$metadata$=W("CompletionHandlerException",void 0,void 0,void 0,void 0,zt.prototype),Gn.$metadata$=W("CoroutinesInternalError",void 0,void 0,void 0,void 0,qt.prototype),Xn.$metadata$=nt("DisposableHandle"),Zn.$metadata$=st("Key",[$t]),te.$metadata$=nt("Job",[Pt]),ne.$metadata$=nt("ChildJob",[te]),ee.$metadata$=nt("ParentJob",[te]),re.$metadata$=nt("ChildHandle",[Xn]),ie.prototype.js=function(){},ie.prototype.gq=function(t){return!1},ie.prototype.toString=function(){return"NonDisposableHandle"},ie.$metadata$=st("NonDisposableHandle",[Xn,re]),fe.prototype.xo=function(){return this.mu_1},fe.prototype.nu=function(){return null},fe.prototype.toString=function(){return"Empty{"+(this.mu_1?"Active":"New")+"}"},fe.$metadata$=W("Empty",[_e]),_e.$metadata$=nt("Incomplete"),de.prototype.xo=function(){return!0},de.prototype.nu=function(){return this},de.prototype.ru=function(t){var n=At();n.eb("List{"),n.eb(t),n.eb("}[");for(var e=!0,r=this.su_1;!Y(r,this);){if(r instanceof ve){var i=r;e?e=!1:n.eb(", "),n.db(i)}r=r.su_1}return n.eb("]"),n.toString()},de.prototype.toString=function(){return Nr()?this.ru("Active"):ii.prototype.toString.call(this)},de.$metadata$=W("NodeList",[_e],void 0,void 0,void 0,ii.prototype),ve.prototype.gv=function(){var t=this.fv_1;if(null!=t)return t;Et("job")},ve.prototype.xo=function(){return!0},ve.prototype.nu=function(){return null},ve.prototype.js=function(){return this.gv().aq(this)},ve.prototype.toString=function(){return Rr(this)+"@"+Fr(this)+"[job@"+Fr(this.gv())+"]"},ve.$metadata$=W("JobNode",[Xn,_e],void 0,void 0,void 0,Ar.prototype),Ie.prototype.nu=function(){return this.jv_1},Ie.prototype.uv=function(t){this.kv_1.no_1=t},Ie.prototype.qv=function(){return this.kv_1.no_1},Ie.prototype.aw=function(t){this.lv_1.jo_1=t},Ie.prototype.tv=function(){return this.lv_1.jo_1},Ie.prototype.rv=function(){return me(this)===he()},Ie.prototype.nv=function(){return!(null==this.tv())},Ie.prototype.xo=function(){return null==this.tv()},Ie.prototype.ov=function(t){var n,e=me(this);if(null==e)n=ge();else if(e instanceof Error){var r=ge();r.a(e),n=r}else{if(!(e instanceof Tt)){var i="State is "+rt(e);throw X(it(i))}n=e instanceof Tt?e:B()}var o=n,s=this.tv(),a=s;return null==a||(o.yf(0,a),N()),null==t||Y(t,s)||o.a(t),ye(this,he()),o},Ie.prototype.sv=function(t){var n=this.tv();if(null==n)return this.aw(t),N();if(t===n)return N();var e=me(this);if(null==e)ye(this,t);else if(e instanceof Error){if(t===e)return N();var r=ge();r.a(e),r.a(t),ye(this,r)}else{if(!(e instanceof Tt)){var i="State is "+rt(e);throw X(it(i))}(e instanceof Tt?e:B()).a(t)}},Ie.prototype.toString=function(){return"Finishing[cancelling="+this.nv()+", completing="+this.qv()+", rootCause="+this.tv()+", exceptions="+rt(me(this))+", list="+this.jv_1+"]"},Ie.$metadata$=W("Finishing",[_e]),De.prototype.ht=function(t){!function(t,n,e,r){var i=Ae(e);if(null!=i&&Me(t,n,i,r))return N();var o=$e(t,n,r);t.hp(o)}(this.fw_1,this.gw_1,this.hw_1,this.iw_1)},De.prototype.invoke=function(t){return this.ht(t)},De.$metadata$=W("ChildCompletion",void 0,void 0,void 0,void 0,ve.prototype),Te.prototype.yw=function(t,n){var e=this.zw(t,n);return e.l7_1=N(),e.m7_1=null,e.q7()},Te.prototype.r7=function(t,n){return this.yw(t instanceof Lt?t:B(),n)},Te.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=8,this.tw_1=this.rw_1.qp(),this.tw_1 instanceof Fe){if(this.j7_1=6,(t=this.sw_1.t4(this.tw_1.zv_1,this))===tt())return t;continue t}var n=this.tw_1;if(null!=n&&et(n,_e)){if(this.uw_1=this.tw_1.nu(),null==this.uw_1){this.vw_1=null,this.j7_1=5;continue t}this.ww_1=this.uw_1.su_1,this.j7_1=1;continue t}this.j7_1=7;continue t;case 1:if(Y(this.ww_1,this.uw_1)){this.j7_1=4;continue t}if(this.ww_1 instanceof Fe){if(this.xw_1=this.ww_1,this.j7_1=2,(t=this.sw_1.t4(this.xw_1.zv_1,this))===tt())return t;continue t}this.j7_1=3;continue t;case 2:this.j7_1=3;continue t;case 3:this.ww_1=this.ww_1.su_1,this.j7_1=1;continue t;case 4:this.vw_1=N(),this.j7_1=5;continue t;case 5:case 6:this.j7_1=7;continue t;case 7:return N();case 8:throw this.m7_1}}catch(t){if(8===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Te.prototype.zw=function(t,n){var e=new Te(this.rw_1,n);return e.sw_1=t,e},Te.$metadata$=W("JobSupport$$slambda",void 0,void 0,void 0,[1],Bt.prototype),Be.prototype.k2=function(){return Qn()},Be.prototype.op=function(t){this.ro_1.jo_1=t},Be.prototype.pp=function(){return this.ro_1.jo_1},Be.prototype.so=function(t){if(null==t)return this.op(oe()),N();t.sp();var n=t.kq(this);this.op(n),this.rp()&&(n.js(),this.op(oe()))},Be.prototype.qp=function(){for(var t=this.qo_1;;){var n=t.jo_1;if(!(n instanceof _r))return n;n.ax(this)}},Be.prototype.xo=function(){var t=this.qp();return!(null==t||!et(t,_e))&&t.xo()},Be.prototype.rp=function(){var t=this.qp();return!(null!=t&&et(t,_e))},Be.prototype.sp=function(){for(;;){var t=ke(this,this.qp());if(0===t)return!1;if(1===t)return!0}},Be.prototype.tp=function(){},Be.prototype.up=function(){var t,n=this.qp();if(n instanceof Ie){var e=n.tv(),r=null==e?null:this.vp(e,Rr(this)+" is cancelling");if(null==r)throw X(it("Job is still new or active: "+this));t=r}else{if(null!=n&&et(n,_e))throw X(it("Job is still new or active: "+this));t=n instanceof qn?this.wp(n.cp_1,null,1,null):new Jr(Rr(this)+" has completed normally",null,this)}return t},Be.prototype.vp=function(t,n){var e,r=t instanceof Dt?t:null;if(null==r){var i=n;e=new Jr(null==i?this.ap():i,t,this)}else e=r;return e},Be.prototype.wp=function(t,n,e,r){return 0!=(1&e)&&(n=null),this.vp(t,n)},Be.prototype.xp=function(t){return this.yp(!1,!0,t)},Be.prototype.yp=function(t,n,e){for(var r=function(t,n,e){var r;if(e){var i=n instanceof Ne?n:null;r=null==i?new He(n):i}else{var o=n instanceof ve?n:null,s=null==o?null:o;r=null==s?new Ue(n):s}var a=r;return a.fv_1=t,a}(this,e,t);;)t:{var i=this.qp(),o=i;if(o instanceof fe)if(i.mu_1){if(this.qo_1.atomicfu$compareAndSet(i,r))return r}else ze(this,i);else{if(null==o||!et(o,_e)){if(n){var s=i instanceof qn?i:null;Er(e,null==s?null:s.cp_1)}return oe()}var a=i.nu();if(null==a)Ce(this,i instanceof ve?i:B());else{var u=null,c=oe();if(t&&i instanceof Ie&&(null==(u=i.tv())||e instanceof Fe&&!i.qv())){if(!je(this,i,a,r)){N();break t}if(null==u)return r;c=r,N()}if(null!=u)return n&&Er(e,u),c;if(je(this,i,a,r))return r}}}},Be.prototype.aq=function(t){for(;;){var n=this.qp();if(!(n instanceof ve))return null!=n&&et(n,_e)?(null!=n.nu()&&t.hv(),N()):N();if(n!==t)return N();if(this.qo_1.atomicfu$compareAndSet(n,pe()))return N()}},Be.prototype.bq=function(){return!1},Be.prototype.cq=function(t){var n,e=t;if(null==e){n=new Jr(this.ap(),null,this)}else n=e;this.eq(n)},Be.prototype.ap=function(){return"Job was cancelled"},Be.prototype.eq=function(t){this.hq(t)},Be.prototype.fq=function(t){this.hq(t)},Be.prototype.gq=function(t){return t instanceof Dt||!!this.hq(t)&&this.nq()},Be.prototype.hq=function(t){var n,e=ae();return!(!this.bq()||(e=function(t,n){for(;;){var e=t.qp();if(null==e||!et(e,_e)||e instanceof Ie&&e.qv())return ae();var r=Pe(t,e,Sn(Se(t,n),!1,2));if(r!==ce())return r}}(this,t))!==ue())||(e===ae()&&(e=function(t,n){for(var e=null;;)t:{var r=t.qp(),i=r;if(i instanceof Ie){if(r.rv())return le();var o=r.nv();if(null!=n||!o){var s,a=e;if(null==a){var u=Se(t,n);e=u,s=u}else s=a;var c=s;r.sv(c)}var l=r.tv(),h=o?null:l;return null==h||(we(t,r.jv_1,h),N()),ae()}if(null==i||!et(i,_e))return le();var p,f=e;if(null==f){var _=Se(t,n);e=_,p=_}else p=f;var d=p;if(!r.xo()){var v=Pe(t,r,Sn(d,!1,2));if(v===ae()){var y="Cannot happen in "+rt(r);throw X(it(y))}if(v===ce()){N();break t}return v}if(Oe(t,r,d))return ae()}}(this,t)),e===ae()||e===ue()?n=!0:e===le()?n=!1:(this.hp(e),n=!0),n)},Be.prototype.iq=function(t,n){var e=t;return new Jr(null==e?this.ap():e,n,this)},Be.prototype.jq=function(){var t,n=this.qp(),e=n;if(e instanceof Ie)t=n.tv();else if(e instanceof qn)t=n.cp_1;else{if(null!=e&&et(e,_e)){var r="Cannot be cancelling child in this state: "+rt(n);throw X(it(r))}t=null}var i=t,o=i instanceof Dt?i:null;return null==o?new Jr("Parent job is "+Ee(0,n),i,this):o},Be.prototype.fp=function(t){for(;;){var n=Pe(this,this.qp(),t);if(n===ae())throw Nt("Job "+this+" is already complete or completing, but is being completed with "+rt(t),(r=void 0,null==(r=(e=t)instanceof qn?e:null)?null:r.cp_1));if(n!==ce())return n;N()}var e,r},Be.prototype.it=function(){return Rt((t=new Te(this,null),(n=function(n,e){return t.yw(n,e)}).$arity=1,n));var t,n},Be.prototype.kq=function(t){var n;n=new Fe(t);var e=this.zp(!0,!1,n,2,null);return et(e,re)?e:B()},Be.prototype.ip=function(t){throw t},Be.prototype.lq=function(t){},Be.prototype.mq=function(){return!1},Be.prototype.nq=function(){return!0},Be.prototype.oq=function(t){return!1},Be.prototype.bp=function(t){},Be.prototype.hp=function(t){},Be.prototype.toString=function(){return this.pq()+"@"+Fr(this)},Be.prototype.pq=function(){return this.jp()+"{"+Ee(0,this.qp())+"}"},Be.prototype.jp=function(){return Rr(this)},Be.$metadata$=W("JobSupport",[te,ne,ee,Mr]),Ne.$metadata$=W("JobCancellingNode",void 0,void 0,void 0,void 0,ve.prototype),Re.prototype.nu=function(){return this.pv_1},Re.prototype.xo=function(){return!1},Re.prototype.toString=function(){return Nr()?this.pv_1.ru("New"):Ft(this)},Re.$metadata$=W("InactiveNodeList",[_e]),Fe.prototype.ht=function(t){return this.zv_1.fq(this.gv())},Fe.prototype.invoke=function(t){return this.ht(t)},Fe.prototype.gq=function(t){return this.gv().gq(t)},Fe.$metadata$=W("ChildHandleNode",[re],void 0,void 0,void 0,Ne.prototype),He.prototype.ht=function(t){this.gx_1.atomicfu$compareAndSet(0,1)&&this.fx_1(t)},He.prototype.invoke=function(t){return this.ht(t)},He.$metadata$=W("InvokeOnCancelling",void 0,void 0,void 0,void 0,Ne.prototype),Ue.prototype.ht=function(t){return this.lx_1(t)},Ue.prototype.invoke=function(t){return this.ht(t)},Ue.$metadata$=W("InvokeOnCompletion",void 0,void 0,void 0,void 0,ve.prototype),We.$metadata$=W("IncompleteStateBox"),Je.prototype.ht=function(t){this.rx_1.vs(this.rx_1.ws(this.gv()))},Je.prototype.invoke=function(t){return this.ht(t)},Je.$metadata$=W("ChildContinuation",void 0,void 0,void 0,void 0,Ne.prototype),Ke.prototype.bq=function(){return!0},Ke.prototype.nq=function(){return this.ux_1},Ke.$metadata$=W("JobImpl",[Cn],void 0,void 0,void 0,Be.prototype),Ge.prototype.toString=function(){var t=this.xx();return null==t?Rr(this)+"@"+Fr(this):t},Ge.prototype.xx=function(){var t,n=Ur().cy();if(this===n)return"Dispatchers.Main";try{t=n.wx()}catch(n){if(!(n instanceof Ht))throw n;t=null}return this===t?"Dispatchers.Main.immediate":null},Ge.$metadata$=W("MainCoroutineDispatcher",void 0,void 0,void 0,void 0,Tn.prototype),Xe.prototype.gq=function(t){return!1},Xe.$metadata$=W("SupervisorJobImpl",void 0,void 0,void 0,void 0,Ke.prototype),Ze.$metadata$=W("TimeoutCancellationException",[Hn],void 0,void 0,void 0,Dt.prototype),Qe.prototype.mt=function(t){return!1},Qe.prototype.nt=function(t,n){var e=t.y7((null==w&&new tr,w));if(null!=e)return e.iy_1=!0,N();throw Ut("Dispatchers.Unconfined.dispatch function can only be used by the yield function. If you wrap Unconfined dispatcher in your code, make sure you properly delegate isDispatchNeeded and dispatch calls.")},Qe.prototype.toString=function(){return"Dispatchers.Unconfined"},Qe.$metadata$=st("Unconfined",void 0,void 0,void 0,void 0,Tn.prototype),tr.$metadata$=st("Key",[$t]),nr.$metadata$=nt("Flow"),er.$metadata$=nt("FlowCollector"),rr.$metadata$=nt("MutableSharedFlow",[ir,er]),ir.$metadata$=nt("SharedFlow",[nr]),or.$metadata$=nt("MutableStateFlow",[sr,rr]),sr.$metadata$=nt("StateFlow",[ir]),ur.prototype.jy=function(t){var n=t;ar(this,null,null==n?hr():n)},ur.prototype.m2=function(){var t=hr(),n=this.ty_1.jo_1;return n===t?null:L(n)?n:B()},ur.prototype.ky=function(t,n){var e=t,r=n;return ar(this,null==e?hr():e,null==r?hr():r)},ur.$metadata$=W("StateFlowImpl",[or,pr,lr],void 0,void 0,void 0,cr.prototype),cr.$metadata$=W("AbstractSharedFlow"),lr.$metadata$=nt("FusibleFlow",[nr]),pr.$metadata$=nt("CancellableFlow",[nr]),fr.prototype.du=function(){return this.wt_1===this.xt_1},fr.prototype.au=function(t){this.vt_1[this.xt_1]=t,this.xt_1=(this.xt_1+1|0)&(this.vt_1.length-1|0),this.xt_1===this.wt_1&&function(t){var n=t.vt_1.length,e=Wt(Array(n<<1),null),r=t.vt_1,i=t.wt_1,o=r.length;Jt(r,e,0,i,o);var s=t.vt_1,a=t.vt_1.length-t.wt_1|0,u=t.wt_1;Jt(s,e,a,0,u),t.vt_1=e,t.wt_1=0,t.xt_1=n}(this)},fr.prototype.yt=function(){if(this.wt_1===this.xt_1)return null;var t=this.vt_1[this.wt_1];return this.vt_1[this.wt_1]=null,this.wt_1=(this.wt_1+1|0)&(this.vt_1.length-1|0),L(t)?t:B()},fr.$metadata$=W("ArrayQueue"),_r.$metadata$=W("OpDescriptor"),gr.prototype.xy=function(){return this.tr_1},gr.prototype.b5=function(){return this.tr_1.b5()},gr.prototype.yy=function(){return this.vr_1},gr.prototype.xr=function(){return!(null==this.wr_1.jo_1)},gr.prototype.zy=function(){for(var t=this.wr_1;;)if(t.jo_1!==vr())return N()},gr.prototype.ot=function(){this.zy();var t,n=(t=this.wr_1.jo_1)instanceof gn?t:null;null==n||n.bs()},gr.prototype.as=function(t){for(var n=this.wr_1;;){var e=n.jo_1;if(e!==vr()){if(e instanceof Error){if(!this.wr_1.atomicfu$compareAndSet(e,null))throw Kt(it("Failed requirement."));return e}var r="Inconsistent state "+rt(e);throw X(it(r))}if(this.wr_1.atomicfu$compareAndSet(vr(),t))return null}},gr.prototype.zr=function(t){for(var n=this.wr_1;;){var e=n.jo_1,r=e;if(Y(r,vr())){if(this.wr_1.atomicfu$compareAndSet(vr(),t))return!0}else{if(r instanceof Error)return!0;if(this.wr_1.atomicfu$compareAndSet(e,null))return!1}}},gr.prototype.ks=function(){var t=this.ur_1;return this.ur_1=dr(),t},gr.prototype.hs=function(){return this},gr.prototype.z4=function(t){var n=this.tr_1.b5(),e=Mn(t,null,1);if(this.sr_1.mt(n))this.ur_1=e,this.yr_1=kr(),this.sr_1.nt(n,this);else{var r=kr(),i=Kn().iu();if(i.bu())this.ur_1=e,this.yr_1=r,i.zt(this);else{i.eu(!0);try{for(this.b5(),this.vr_1,this.tr_1.z4(t),N();i.ut(););}catch(t){if(!(t instanceof Error))throw t;this.ct(t,null)}finally{i.fu(!0)}}}},gr.prototype.ls=function(t,n){t instanceof An&&t.kt_1(n)},gr.prototype.az=function(t){var n=this.b5().y7(Qn());if(null!=n&&!n.xo()){var e,r=n.up();return this.ls(t,r),pt(),e=ft(_t(r)),this.z4(e),N(),!0}return!1},gr.prototype.bz=function(t){this.tr_1,this.vr_1,this.tr_1.z4(t),N()},gr.prototype.toString=function(){return"DispatchedContinuation["+this.sr_1+", "+Dr(this.tr_1)+"]"},gr.$metadata$=W("DispatchedContinuation",[si,V],void 0,void 0,void 0,wr.prototype),wr.prototype.at=function(){return this.yr_1},wr.prototype.ls=function(t,n){},wr.prototype.xs=function(t){return null==t||L(t)?t:B()},wr.prototype.zs=function(t){var n=t instanceof qn?t:null;return null==n?null:n.cp_1},wr.prototype.bt=function(){N(),N();var t=null;try{var n=this.hs(),e=n instanceof gr?n:B(),r=e.tr_1,i=(e.vr_1,r.b5()),o=this.ks(),s=this.zs(o),a=null==s&&xr(this.yr_1)?i.y7(Qn()):null;if(null==a||a.xo()){if(null!=s){var u;pt(),u=ft(_t(s)),r.z4(u),N()}else{var c,l=this.xs(o);pt(),c=ft(l),r.z4(c),N()}}else{var h,p=a.up();this.ls(o,p),pt();var f=ai(p);h=ft(_t(f)),r.z4(h),N()}}catch(n){if(!(n instanceof Error))throw n;t=n}finally{var _;try{pt(),N(),_=ft(N())}catch(t){if(!(t instanceof Error))throw t;pt(),_=ft(_t(t))}var d=_;this.ct(t,lt(d))}},wr.prototype.ct=function(t,n){if(null===t&&null===n)return N();var e=new Gn("Fatal exception in coroutines machinery for "+this+". Please read KDoc to 'handleFatalException' method and report this incident to maintainers",Yt(null==t?n:t));Bn(this.hs().b5(),e)},wr.$metadata$=W("DispatchedTask",void 0,void 0,void 0,void 0,ri.prototype),zr.prototype.wo=function(){return this.cz_1},zr.prototype.toString=function(){return"CoroutineScope(coroutineContext="+this.cz_1+")"},zr.$metadata$=W("ContextScope",[Nn]),Cr.prototype.mq=function(){return!0},Cr.prototype.hp=function(t){mr(Q(this.hr_1),En(t,this.hr_1),null,2)},Cr.prototype.gp=function(t){this.hr_1.z4(En(t,this.hr_1))},Cr.$metadata$=W("ScopeCoroutine",[si],void 0,void 0,void 0,en.prototype),Sr.prototype.toString=function(){return"<"+this.dz_1+">"},Sr.prototype.ez=function(t){return t===this?null:null==t||L(t)?t:B()},Sr.$metadata$=W("Symbol"),Mr.$metadata$=nt("SelectClause0"),Ar.$metadata$=W("CompletionHandlerBase",void 0,void 0,void 0,void 0,oi.prototype),Ir.$metadata$=W("CancelHandlerBase"),Br.prototype.gp=function(t){return this.hr_1.z4(En(t,this.hr_1))},Br.$metadata$=W("UndispatchedCoroutine",void 0,void 0,void 0,void 0,Cr.prototype),Hr.prototype.cy=function(){var t=this.by_1;return null==t?this.ay_1:t},Hr.$metadata$=st("Dispatchers"),Vr.prototype.wx=function(){return this.mz_1},Vr.prototype.mt=function(t){return!this.lz_1},Vr.prototype.nt=function(t,n){return this.kz_1.nt(t,n)},Vr.prototype.toString=function(){var t=this.xx();return null==t?this.kz_1.toString():t},Vr.$metadata$=W("JsMainDispatcher",void 0,void 0,void 0,void 0,Ge.prototype),Wr.prototype.nt=function(t,n){!function(){throw Ut("runBlocking event loop is not supported")}()},Wr.$metadata$=W("UnconfinedEventLoop",void 0,void 0,void 0,void 0,Wn.prototype),Jr.prototype.toString=function(){return Dt.prototype.toString.call(this)+"; job="+this.rz_1},Jr.prototype.equals=function(t){return t===this||!!(t instanceof Jr&&t.message==this.message&&Y(t.rz_1,this.rz_1))&&Y(t.cause,this.cause)},Jr.prototype.hashCode=function(){var t=T(T(Zt(Yt(this.message)),31)+at(this.rz_1)|0,31),n=this.cause,e=null==n?null:at(n);return t+(null==e?0:e)|0},Jr.$metadata$=W("JobCancellationException",void 0,void 0,void 0,void 0,Dt.prototype),Kr.prototype.uz=function(){process.nextTick(this.d10_1.a10_1)},Kr.$metadata$=st("NodeDispatcher",void 0,void 0,void 0,void 0,Zr.prototype),Gr.prototype.uz=function(){setTimeout(this.d10_1.a10_1,0)},Gr.$metadata$=st("SetTimeoutDispatcher",void 0,void 0,void 0,void 0,Zr.prototype),Xr.prototype.m10=function(){this.b10_1.uz()},Xr.prototype.n10=function(){setTimeout(this.a10_1,0)},Xr.$metadata$=W("ScheduledMessageQueue",void 0,void 0,void 0,void 0,Qr.prototype),Zr.prototype.nt=function(t,n){this.d10_1.o10(n)},Zr.$metadata$=W("SetTimeoutBasedDispatcher",[Un],void 0,void 0,void 0,Tn.prototype),Qr.prototype.o10=function(t){this.au(t),this.k10_1||(this.k10_1=!0,this.m10())},Qr.prototype.l10=function(){try{var t=this.j10_1,n=0;if(nn?t+i|0:t,c=t>n?n+i|0:(n+e|0)-2|0,l=this.g1s();o=this.g1s().childNodes[u];var h,p=l.removeChild(a(o)),f=this.g1s();h=this.g1s().childNodes[c],f.insertBefore(p,a(h))}while(r (renderComposable.kt:59)"),v(y,e,0),E()&&(I(),s())),s()})),function(t,n){return d.t1b(t,n)})),p;var d;var v,y}(t,n,e)}(a(document.getElementById(t)),null,n,2)},t}.apply(n,r))||(t.exports=i)},261:function(t,n,e){var r,i,o;i=[n,e(744),e(506),e(769)],void 0===(o="function"==typeof(r=function(t,n,e,r){"use strict";var i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q=Math.imul,tt=n.$_$.p4,nt=n.$_$.ca,et=(n.$_$.q5,n.$_$.j9),rt=n.$_$.a1,it=n.$_$.s,ot=n.$_$.n5,st=n.$_$.hd,at=n.$_$.cc,ut=n.$_$.zb,ct=n.$_$.y8,lt=n.$_$.ub,ht=n.$_$.ga,pt=n.$_$.u1,ft=e.$_$.d,_t=n.$_$.w8,dt=n.$_$.c1,vt=n.$_$.uc,yt=n.$_$.gd,mt=r.$_$.s,gt=r.$_$.o,$t=r.$_$.i,bt=r.$_$.r,wt=n.$_$.za,xt=n.$_$.a9,kt=r.$_$.j,jt=n.$_$.aa,zt=n.$_$.e9,Ct=n.$_$.h9,St=n.$_$.s9,qt=n.$_$.g9,Ot=n.$_$.w4,Pt=r.$_$.q,Mt=r.$_$.z,At=n.$_$.u9,Et=r.$_$.u,It=r.$_$.v,Dt=r.$_$.w,Tt=r.$_$.x,Bt=(r.$_$.m,e.$_$.c),Lt=n.$_$.g6,Nt=n.$_$.f6,Rt=e.$_$.a,Ft=n.$_$.fd,Ht=n.$_$.zc,Ut=r.$_$.n,Vt=e.$_$.b,Wt=r.$_$.t,Jt=r.$_$.b,Kt=n.$_$.pa,Yt=n.$_$.f9;function Gt(t,n){return Xt(),n!==t.value&&(t.value=n),function(t,n){Jn(),Hn().set(t,n),t instanceof HTMLInputElement&&function(t){var n;if(Jn(),"radio"===t.type){var e=t.name;n=_t(e)>0}else n=!1;if(n){if(!Un().u2(t.name)){var r=Un(),i=t.name,o=dt();r.v3(i,o)}vt(Un().a3(t.name)).a(t)}}(t)}(t,n),tt()}function Xt(){o||(o=!0,i=Gt)}function Zt(){s=this,this.k20_1="class",this.l20_1="id",this.m20_1="hidden",this.n20_1="title",this.o20_1="dir",this.p20_1="draggable",this.q20_1="contenteditable",this.r20_1="lang",this.s20_1="tabindex",this.t20_1="spellcheck"}function Qt(){}function tn(t,n,e){return function(t,n,e,r){return 0!=(1&n)&&(t=new sn),nn.call(r,t),r}(t,n,0,Object.create(nn.prototype))}function nn(t){this.c21_1=t;var n;n=rt(),this.d21_1=n,this.e21_1=new ee;var e;e=it(),this.f21_1=e,this.g21_1=null;var r;r=it(),this.h21_1=r,this.i21_1=8}function en(){a=this,this.r21_1="copy",this.s21_1="cut",this.t21_1="paste",this.u21_1="contextmenu",this.v21_1="click",this.w21_1="dblclick",this.x21_1="focus",this.y21_1="blur",this.z21_1="focusin",this.a22_1="focusout",this.b22_1="keydown",this.c22_1="keyup",this.d22_1="mousedown",this.e22_1="mouseup",this.f22_1="mouseenter",this.g22_1="mouseleave",this.h22_1="mousemove",this.i22_1="mouseout",this.j22_1="mouseover",this.k22_1="wheel",this.l22_1="scroll",this.m22_1="select",this.n22_1="touchcancel",this.o22_1="touchend",this.p22_1="touchmove",this.q22_1="touchstart",this.r22_1="animationcancel",this.s22_1="animationend",this.t22_1="animationiteration",this.u22_1="animationstart",this.v22_1="beforeinput",this.w22_1="input",this.x22_1="change",this.y22_1="invalid",this.z22_1="drag",this.a23_1="drop",this.b23_1="dragstart",this.c23_1="dragend",this.d23_1="dragover",this.e23_1="dragenter",this.f23_1="dragleave",this.g23_1="submit",this.h23_1="reset"}function rn(){return null==a&&new en,a}function on(){}function sn(){var t;t=it(),this.k21_1=t,this.l21_1=8}function an(t,n,e){lt.call(this,t,n),this.h20_1=e}function un(){l=this,An.call(this,"button"),this.m23_1=0}function cn(){h=this,En.call(this,"checkbox"),this.u23_1=0}function ln(){return null==h&&new cn,h}function hn(){p=this,Mn.call(this,"color"),this.c24_1=0}function pn(){f=this,Mn.call(this,"date"),this.j24_1=0}function fn(){_=this,Mn.call(this,"datetime-local"),this.n24_1=0}function _n(){d=this,Mn.call(this,"email"),this.r24_1=0}function dn(){v=this,Mn.call(this,"file"),this.v24_1=0}function vn(){y=this,Mn.call(this,"hidden"),this.z24_1=0}function yn(){m=this,Mn.call(this,"month"),this.d25_1=0}function mn(){g=this,In.call(this,"number"),this.h25_1=0}function gn(){$=this,Mn.call(this,"password"),this.o25_1=0}function $n(){b=this,En.call(this,"radio"),this.s25_1=0}function bn(){return null==b&&new $n,b}function wn(){w=this,In.call(this,"range"),this.w25_1=0}function xn(){x=this,Mn.call(this,"search"),this.a26_1=0}function kn(){k=this,An.call(this,"submit"),this.e26_1=0}function jn(){j=this,Mn.call(this,"tel"),this.i26_1=0}function zn(){z=this,Mn.call(this,"text"),this.m26_1=0}function Cn(){return null==z&&new zn,z}function Sn(){C=this,Mn.call(this,"time"),this.q26_1=0}function qn(){S=this,Mn.call(this,"url"),this.u26_1=0}function On(){q=this,Mn.call(this,"week"),this.y26_1=0}function Pn(){return null==q&&new On,q}function Mn(t){Bn.call(this,t),this.f24_1=0}function An(t){Bn.call(this,t),this.p23_1=0}function En(t){Bn.call(this,t),this.x23_1=0}function In(t){Bn.call(this,t),this.k25_1=0}function Dn(){O=this}function Tn(){return null==O&&new Dn,O}function Bn(t){Tn(),this.i20_1=t,this.j20_1=0}function Ln(t,n){this.b27_1=t,this.c27_1=n,this.d27_1=this.b27_1,this.e27_1=0}function Nn(t,n,e){Ln.call(this,t,e),this.k27_1=n}function Rn(t,n){Ln.call(this,t,n)}function Fn(t,n){this.p27_1=t,this.q27_1=n,this.r27_1=8}function Hn(){return Jn(),P}function Un(){return Jn(),M}function Vn(t,n,e){Jn();var r,i=n;i.e12(-1867048565),gt()&&mt(-1867048565,e,-1,"org.jetbrains.compose.web.attributes.builders.DisposeRadioGroupEffect$composable (InternalControlledInputUtils.kt:67)"),$t(null,(r=t,function(t){return new Wn(r.u27(t))}),i,6),gt()&&bt(),i.i12()}function Wn(t){this.t27_1=t}function Jn(){if(A);else{A=!0;var t,n=new WeakMap;P=n,t=rt(),M=t}}function Kn(t){this.v27_1=t,this.w27_1=8}function Yn(t,n){Ln.call(this,t,n)}function Gn(t){rn(),Ln.call(this,"change",t)}function Xn(t){this.h28_1=t,this.i28_1=8}function Zn(){E=this}function Qn(){return null==E&&new Zn,E}function te(t,n){this.n28_1=t,this.o28_1=n,this.p28_1=0}function ne(){}function ee(){var t;t=it(),this.t28_1=t;var n;n=it(),this.u28_1=n,this.v28_1=8}function re(){}function ie(t,n){this.y28_1=t,this.z28_1=n,this.a29_1=8}function oe(t,n){if(t.f()!==n.f())return!1;var e,r=0;t:if(St(t,Ot)&&t.h())e=!0;else{for(var i=t.c();i.d();){var o=i.e(),s=r;r=s+1|0;var a=n.g(s);if(o.y28_1!==a.y28_1||ht(o.z28_1)!==ht(a.z28_1)){e=!1;break t}}e=!0}return e}function se(t,n,e,r,i){var o=r;o=o.n1d(-1594897193),Pt(o,"C(TagElement$composable)P(2)");var s,a,u,c=i;if(0==(14&i)&&(c|=o.j12(t)?4:2),0==(112&i)&&(c|=o.j12(n)?32:16),0==(896&i)&&(c|=o.j12(e)?256:128),146==(731&c)&&o.v1b())o.z17();else{gt()&&mt(-1594897193,c,-1,"org.jetbrains.compose.web.dom.TagElement$composable (Base.kt:106)");var l=o;l.e12(547886695),Pt(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===Mt().h12_1){var _=new ce;p.g12(_),h=_}else h=f;var d=h,v=null==d||At(d)?d:at();l.i12();var y,m=v,g=o;g.c18(),g.c1d()?g.e1d((a=t,u=m,function(){var t=a.u1n();return u.n29(t),new ae(t)})):g.g1d();var $=Et(g),b=tn(null,1);null==n||n(b),y=b.g21_1,It($).e12(509942095);var w=Dt(It($));Tt(w,b.h21_1,((s=function(t,n){return t.j29(n),tt()}).callableName="updateClasses",s)),Tt(w,b.e21_1,function(){var t=function(t,n){return t.h29(n),tt()};return t.callableName="updateStyleDeclarations",t}());var x=b.q21();Tt(w,x,function(){var t=function(t,n){return t.i29(n),tt()};return t.callableName="updateAttrs",t}());var k=b.c21_1.i23();Tt(w,k,function(){var t=function(t,n){return t.f29(n),tt()};return t.callableName="updateEventListeners",t}()),Tt(w,b.f21_1,function(){var t=function(t,n){return t.g29(n),tt()};return t.callableName="updateProperties",t}()),It($).i12(),g.e12(2058660585);var j=g,z=8;if(18==(91&z)&&j.v1b())j.z17();else{var C=e;o.e12(-1128047990),null==C||C(m,j,14&z|112&c>>3),o.i12()}g.i12(),g.h1d(),null==y||($t(null,function(t,n){return function(e){return t(e,n.o29())}}(y,m),o,6),tt(),tt()),gt()&&bt()}var S=o.o1d();null===S||S.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){se(t,n,e,i,1|r)}(t,n,e,r,i),tt()}}(t,n,e,i))}function ae(t){Bt.call(this,t),this.d29_1=t,this.e29_1=Lt()}function ue(){}function ce(){le.call(this)}function le(){this.p29_1=0,this.q29_1=8}function he(){}function pe(t){return Yt("el",1,Kt,(function(t){return pe(t)}),null),t.s29_1.m2()}function fe(t){var n;this.r29_1=t,this.s29_1=Ht((n=this,function(){return document.createElement(n.r29_1)}))}function _e(t,n,e){Ne();var r=n;r=r.n1d(-363526853),Pt(r,"C(Text$composable)");var i,o=e;if(0==(14&e)&&(o|=r.j12(t)?4:2),2==(11&o)&&r.v1b())r.z17();else{gt()&&mt(-363526853,e,-1,"org.jetbrains.compose.web.dom.Text$composable (Elements.kt:479)");var s=r;s.e12(547886695),Pt(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===Mt().h12_1){var l=Me;u.g12(l),a=l}else a=c;var h=a,p=null==h||At(h)?h:at();s.i12();var f=p,_=r;_.e12(-1846754774),Pt(_,"C(ComposeNode$composable):Composables.kt#9igjgp"),_.r1c()instanceof Vt||Ut(),_.c18(),_.c1d()?_.e1d((i=f,function(){return i()})):_.g1d();var d=Dt(_);Tt(d,t,Ae),_.h1d(),_.i12(),gt()&&bt()}var v,y,m=r.o1d();null===m||m.j1e((v=t,y=e,function(t,n){return function(t,n,e,r){_e(t,e,1|n)}(v,y,t),tt()}))}function de(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-915831286),Pt(a,"C(H3$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-915831286,u,-1,"org.jetbrains.compose.web.dom.H3$composable (Elements.kt:539)"),se((Ne(),N),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){de(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ve(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(1021009996),Pt(a,"C(Div$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(1021009996,u,-1,"org.jetbrains.compose.web.dom.Div$composable (Elements.kt:489)"),se((Ne(),D),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){ve(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ye(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-319539737),Pt(c,"C(Form$composable)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j12(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=null),0!=(4&o)&&(u._v=null),gt()&&mt(-319539737,l,-1,"org.jetbrains.compose.web.dom.Form$composable (Elements.kt:637)");var h=(Ne(),J),p=s._v,f=a._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Ee(s,a);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){ye(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function me(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-493483649),Pt(c,"C(Label$composable)P(2)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j12(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=null),0!=(4&o)&&(u._v=null),gt()&&mt(-493483649,l,-1,"org.jetbrains.compose.web.dom.Label$composable (Elements.kt:833)");var h=(Ne(),X),p=s._v,f=a._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Ie(s,a);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){me(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function ge(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-577256683),Pt(a,"C(TextArea$composable)P(1)");var u,c,l,h,p,f=r;if(0!=(1&i)?f|=6:0==(14&r)&&(f|=a.j12(o._v)?4:2),0!=(2&i)?f|=48:0==(112&r)&&(f|=a.j12(s._v)?32:16),18==(91&f)&&a.v1b())a.z17();else{0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-577256683,r,-1,"org.jetbrains.compose.web.dom.TextArea$composable (Elements.kt:729)");var _=a;_.e12(547886695),Pt(_,"C(remember$composable):Composables.kt#9igjgp");var d,v=_,y=v.f12();if(y===Mt().h12_1){var m=!(null==o._v);v.g12(m),d=m}else d=y;var g=d,$=null==g||At(g)?g:at();_.i12();var b=$,w=a;w.e12(547886695),Pt(w,"C(remember$composable):Composables.kt#9igjgp");var x,k=w,j=k.f12();if(j===Mt().h12_1){var z=Wt(0,null,2,null);k.g12(z),x=z}else x=j;var C=x,S=null==C||At(C)?C:at();w.i12();var q=S,O=(Ne(),G),P=[q,s._v,b,o._v],M=a;M.e12(-1603429786),Pt(M,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var A=!1,E=P,I=0,D=E.length;I (Elements.kt:754)");var a=t.m2();$t(a,(i=n,function(t){return n=i.u27(t),Jn(),Hn().has(n)&&(n.value=yt(Hn().get(n))),new De;var n}),o,0),gt()&&(bt(),tt())}return tt()}}(q)),J=a;J.e12(-838505973),Pt(J,"C(remember$composable)P(1):Composables.kt#9igjgp");var K,Y=J,X=J.j12(W),Z=Y.f12();if(X||Z===Mt().h12_1){var Q=(u=W,function(t,n,e){return u.n1y(t,n,e)});Y.g12(Q),K=Q}else K=Z;var nt=K,et=null==nt||At(nt)?nt:at();J.i12(),se(O,V,et,a,384),gt()&&bt()}var rt=a.o1d();null===rt||rt.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){ge(t._v,n._v,i,1|e,r)}(t,n,e,r,i),tt()}}(o,s,r,i))}function $e(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-767970749),Pt(a,"C(Button$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-767970749,u,-1,"org.jetbrains.compose.web.dom.Button$composable (Elements.kt:521)"),se((Ne(),B),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){$e(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function be(t,n,e,r){Ne();var i={_v:t},o=n;o=o.n1d(1126514281),Pt(o,"C(Br$composable)");var s=e;0!=(1&r)?s|=6:0==(14&e)&&(s|=o.j12(i._v)?4:2),2==(11&s)&&o.v1b()?o.z17():(0!=(1&r)&&(i._v=null),gt()&&mt(1126514281,s,-1,"org.jetbrains.compose.web.dom.Br$composable (Elements.kt:599)"),se((Ne(),U),i._v,null,o,384|112&s<<3),gt()&&bt());var a,u,c,l=o.o1d();null===l||l.j1e((a=i,u=e,c=r,function(t,n){return function(t,n,e,r,i){be(t._v,r,1|n,e)}(a,u,c,t),tt()}))}function we(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-2140946851),Pt(a,"C(Canvas$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-2140946851,u,-1,"org.jetbrains.compose.web.dom.Canvas$composable (Elements.kt:430)"),se((Ne(),I),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){we(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function xe(t,n,e,r){Ne();var i=e;i=i.n1d(-1013116589),Pt(i,"C(Input$composable)P(1)");var o,s,a,u,c=r;if(0==(14&r)&&(c|=i.j12(t)?4:2),0==(112&r)&&(c|=i.j12(n)?32:16),18==(91&c)&&i.v1b())i.z17();else{gt()&&mt(-1013116589,c,-1,"org.jetbrains.compose.web.dom.Input$composable (Elements.kt:1054)");var l=i;l.e12(547886695),Pt(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===Mt().h12_1){var _=Wt(0,null,2,null);p.g12(_),h=_}else h=f;var d=h,v=null==d||At(d)?d:at();l.i12();var y=v,m=(Ne(),T),g=i;g.e12(-1058148781),Pt(g,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var $,b=g,w=!!(!!(g.j12(t)|g.j12(y))|g.j12(n)),x=b.f12();if(w||x===Mt().h12_1){var k=(s=t,a=n,u=y,function(t){var n=new Fn(s,t);return function(t,n){Xt(),t.e20("type",n.i20_1)}(n,s),n.s27(function(t){return function(n){return t.jy(t.m2()+1|0),tt()}}(u)),a(n),tt()});b.g12(k),$=k}else $=x;var j=$,z=null==j||At(j)?j:at();g.i12();var C=z,S=Jt(i,558133459,!0,function(t,n){return function(e,r,i){var o,s=r,a=i;if(0==(14&i)&&(a|=s.j12(e)?4:2,tt()),18==(91&a)&&s.v1b())s.z17(),tt();else{gt()&&mt(558133459,a,-1,"org.jetbrains.compose.web.dom.Input$composable. (Elements.kt:1073)"),s.e12(-1270925487),xt(t,bn())&&Vn(e,s,14&a),s.i12();var u=n.m2();$t(u,(o=e,function(t){return function(t){Jn();var n=Tn().a27(t.type);if(Hn().has(t)){if(xt(n,bn())){var e=Un().a3(t.name);if(null==e);else for(var r=e.c();r.d();){var i=r.e();i.checked=wt(yt(Hn().get(i)))}return t.checked=wt(yt(Hn().get(t))),tt()}xt(n,ln())?t.checked=wt(yt(Hn().get(t))):t.value=yt(Hn().get(t))}}(o.u27(t)),new Te}),s,0),gt()&&(bt(),tt())}return tt()}}(t,y)),q=i;q.e12(-838505973),Pt(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,P=q,M=q.j12(S),A=P.f12();if(M||A===Mt().h12_1){var E=(o=S,function(t,n,e){return o.n1y(t,n,e)});P.g12(E),O=E}else O=A;var I=O,D=null==I||At(I)?I:at();q.i12(),se(m,C,D,i,384),gt()&&bt()}var B=i.o1d();null===B||B.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){xe(t,n,r,1|e)}(t,n,e,r),tt()}}(t,n,r))}function ke(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(1065330793),Pt(a,"C(H4$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(1065330793,u,-1,"org.jetbrains.compose.web.dom.H4$composable (Elements.kt:545)"),se((Ne(),R),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){ke(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function je(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-583188148),Pt(a,"C(H1$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-583188148,u,-1,"org.jetbrains.compose.web.dom.H1$composable (Elements.kt:527)"),se((Ne(),L),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){je(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ze(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-140298183),Pt(c,"C(Select$composable)P(!1,2)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j1d(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=!1),0!=(4&o)&&(u._v=null),gt()&&mt(-140298183,l,-1,"org.jetbrains.compose.web.dom.Select$composable (Elements.kt:653)");var h=(Ne(),K),p=a._v,f=s._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Be(a,s);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){ze(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function Ce(t,n,e,r,i,o){Ne();var s={_v:n},a={_v:e},u=r;u=u.n1d(1780967894),Pt(u,"C(Option$composable)P(2)");var c=i;if(0!=(1&o)?c|=6:0==(14&i)&&(c|=u.j12(t)?4:2),0!=(2&o)?c|=48:0==(112&i)&&(c|=u.j12(s._v)?32:16),0!=(4&o)?c|=384:0==(896&i)&&(c|=u.j12(a._v)?256:128),146==(731&c)&&u.v1b())u.z17();else{0!=(2&o)&&(s._v=null),0!=(4&o)&&(a._v=null),gt()&&mt(1780967894,c,-1,"org.jetbrains.compose.web.dom.Option$composable (Elements.kt:669)");var l=(Ne(),Y),h=s._v,p=u;p.e12(-1124426577),Pt(p,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var f,_=p,d=!!(p.j12(t)|p.j12(h)),v=_.f12();if(d||v===Mt().h12_1){var y=Le(t,s);_.g12(y),f=y}else f=v;var m=f,g=null==m||At(m)?m:at();p.i12(),se(l,g,a._v,u,896&c),gt()&&bt()}var $,b,w,x,k,j=u.o1d();null===j||j.j1e(($=t,b=s,w=a,x=i,k=o,function(t,n){return function(t,n,e,r,i,o,s){Ce(t,n._v,e._v,o,1|r,i)}($,b,w,x,k,t),tt()}))}function Se(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-100692211),Pt(a,"C(P$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-100692211,u,-1,"org.jetbrains.compose.web.dom.P$composable (Elements.kt:563)"),se((Ne(),F),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Se(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function qe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-114341698),Pt(a,"C(Ul$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-114341698,u,-1,"org.jetbrains.compose.web.dom.Ul$composable (Elements.kt:603)"),se((Ne(),V),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){qe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Oe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-456299496),Pt(a,"C(Li$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-456299496,u,-1,"org.jetbrains.compose.web.dom.Li$composable (Elements.kt:615)"),se((Ne(),W),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Oe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Pe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-155327957),Pt(a,"C(Span$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-155327957,u,-1,"org.jetbrains.compose.web.dom.Span$composable (Elements.kt:593)"),se((Ne(),H),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Pe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Me(){return Ne(),new Bt(document.createTextNode(""))}function Ae(t,n){Ne();var e=t.g1s();return(e instanceof Text?e:at()).data=n,tt()}function Ee(t,n){return function(e){var r=t._v;return null==r||0===_t(r)||(function(t,n){Xt(),t.e20("action",n)}(e,t._v),tt()),null!=n._v&&n._v(e),tt()}}function Ie(t,n){return function(e){return null!=t._v&&(function(t,n){Xt(),t.e20("for",n)}(e,t._v),tt()),null!=n._v&&n._v(e),tt()}}function De(){}function Te(){}function Be(t,n){return function(e){return t._v&&(r=e,Xt(),r.e20("multiple",""),tt()),null!=n._v&&n._v(new Kn(e)),tt();var r}}function Le(t,n){return function(e){return function(t,n){Xt(),t.e20("value",n)}(e,t),null!=n._v&&n._v(e),tt()}}function Ne(){Z||(Z=!0,new fe("address"),new fe("article"),new fe("aside"),new fe("header"),new fe("area"),new fe("audio"),new fe("map"),new fe("track"),new fe("video"),new fe("datalist"),new fe("fieldset"),new fe("legend"),new fe("meter"),new fe("output"),new fe("progress"),new fe("embed"),new fe("iframe"),new fe("object"),new fe("param"),new fe("picture"),new fe("source"),I=new fe("canvas"),new fe("dl"),new fe("dt"),new fe("dd"),D=new fe("div"),new fe("a"),T=new fe("input"),B=new fe("button"),L=new fe("h1"),new fe("h2"),N=new fe("h3"),R=new fe("h4"),new fe("h5"),new fe("h6"),F=new fe("p"),new fe("em"),new fe("i"),new fe("b"),new fe("small"),H=new fe("span"),U=new fe("br"),V=new fe("ul"),new fe("ol"),W=new fe("li"),new fe("img"),J=new fe("form"),K=new fe("select"),Y=new fe("option"),new fe("optgroup"),new fe("section"),G=new fe("textarea"),new fe("nav"),new fe("pre"),new fe("code"),new fe("main"),new fe("footer"),new fe("hr"),X=new fe("label"),new fe("table"),new fe("caption"),new fe("col"),new fe("colgroup"),new fe("tr"),new fe("thead"),new fe("th"),new fe("td"),new fe("tbody"),new fe("tfoot"),new fe("style"))}function Re(t,n){Fe.call(this,n),this.f2a_1=t,this.g2a_1=0}function Fe(t){this.h2a_1=t;var n;n=this.h2a_1.target,this.i2a_1=n,this.j2a_1=this.h2a_1.bubbles,this.k2a_1=this.h2a_1.cancelable,this.l2a_1=this.h2a_1.composed,this.m2a_1=this.h2a_1.currentTarget,this.n2a_1=this.h2a_1.eventPhase,this.o2a_1=this.h2a_1.defaultPrevented,this.p2a_1=this.h2a_1.timeStamp,this.q2a_1=this.h2a_1.type,this.r2a_1=this.h2a_1.isTrusted,this.s2a_1=8}function He(t,n){Fe.call(this,n),this.f2b_1=t;var e,r=n.data;e=null==r?null:r,this.g2b_1=e;var i,o=n.dataTransfer;i=null==o?null:o,this.h2b_1=i;var s,a=n.inputType;s=null==a?null:a,this.i2b_1=s;var u=n.isComposing,c=null==u?null:u;this.j2b_1=null!=c&&c,this.k2b_1=8}function Ue(t){Fe.call(this,t),this.x2b_1=t,this.y2b_1=t.altKey,this.z2b_1=t.button,this.a2c_1=t.buttons,this.b2c_1=t.clientX,this.c2c_1=t.clientY,this.d2c_1=t.ctrlKey,this.e2c_1=t.metaKey;var n=t.movementX,e=null!=n&&"number"==typeof n?n:null;this.f2c_1=null==e?0:e;var r=t.movementY,i=null!=r&&"number"==typeof r?r:null;this.g2c_1=null==i?0:i,this.h2c_1=t.offsetX,this.i2c_1=t.offsetY,this.j2c_1=t.pageX,this.k2c_1=t.pageY,this.l2c_1=t.region,this.m2c_1=t.relatedTarget,this.n2c_1=t.screenX,this.o2c_1=t.screenY,this.p2c_1=t.shiftKey,this.q2c_1=t.x,this.r2c_1=t.y,this.s2c_1=8}return an.prototype=Object.create(lt.prototype),an.prototype.constructor=an,An.prototype=Object.create(Bn.prototype),An.prototype.constructor=An,un.prototype=Object.create(An.prototype),un.prototype.constructor=un,En.prototype=Object.create(Bn.prototype),En.prototype.constructor=En,cn.prototype=Object.create(En.prototype),cn.prototype.constructor=cn,Mn.prototype=Object.create(Bn.prototype),Mn.prototype.constructor=Mn,hn.prototype=Object.create(Mn.prototype),hn.prototype.constructor=hn,pn.prototype=Object.create(Mn.prototype),pn.prototype.constructor=pn,fn.prototype=Object.create(Mn.prototype),fn.prototype.constructor=fn,_n.prototype=Object.create(Mn.prototype),_n.prototype.constructor=_n,dn.prototype=Object.create(Mn.prototype),dn.prototype.constructor=dn,vn.prototype=Object.create(Mn.prototype),vn.prototype.constructor=vn,yn.prototype=Object.create(Mn.prototype),yn.prototype.constructor=yn,In.prototype=Object.create(Bn.prototype),In.prototype.constructor=In,mn.prototype=Object.create(In.prototype),mn.prototype.constructor=mn,gn.prototype=Object.create(Mn.prototype),gn.prototype.constructor=gn,$n.prototype=Object.create(En.prototype),$n.prototype.constructor=$n,wn.prototype=Object.create(In.prototype),wn.prototype.constructor=wn,xn.prototype=Object.create(Mn.prototype),xn.prototype.constructor=xn,kn.prototype=Object.create(An.prototype),kn.prototype.constructor=kn,jn.prototype=Object.create(Mn.prototype),jn.prototype.constructor=jn,zn.prototype=Object.create(Mn.prototype),zn.prototype.constructor=zn,Sn.prototype=Object.create(Mn.prototype),Sn.prototype.constructor=Sn,qn.prototype=Object.create(Mn.prototype),qn.prototype.constructor=qn,On.prototype=Object.create(Mn.prototype),On.prototype.constructor=On,Nn.prototype=Object.create(Ln.prototype),Nn.prototype.constructor=Nn,Rn.prototype=Object.create(Ln.prototype),Rn.prototype.constructor=Rn,Yn.prototype=Object.create(Ln.prototype),Yn.prototype.constructor=Yn,Gn.prototype=Object.create(Ln.prototype),Gn.prototype.constructor=Gn,ae.prototype=Object.create(Bt.prototype),ae.prototype.constructor=ae,ce.prototype=Object.create(le.prototype),ce.prototype.constructor=ce,Re.prototype=Object.create(Fe.prototype),Re.prototype.constructor=Re,He.prototype=Object.create(Fe.prototype),He.prototype.constructor=He,Ue.prototype=Object.create(Fe.prototype),Ue.prototype.constructor=Ue,Zt.$metadata$=nt("Companion"),Qt.$metadata$=et("AttrsScope",[on]),nn.prototype.j21=function(){return this.c21_1},nn.prototype.a21=function(t){this.c21_1.a21(t)},nn.prototype.b21=function(t){this.c21_1.b21(t)},nn.prototype.z20=function(t){this.c21_1.z20(t)},nn.prototype.m21=function(){return this.e21_1},nn.prototype.n21=function(){return this.f21_1},nn.prototype.o21=function(){return this.g21_1},nn.prototype.p21=function(){return this.h21_1},nn.prototype.v20=function(t){this.h21_1.j1(t)},nn.prototype.w20=function(t){ot(this.h21_1,t)},nn.prototype.u20=function(t){t(this.e21_1)},nn.prototype.e20=function(t,n){return this.d21_1.v3(t,n),this},nn.prototype.y20=function(t,n){var e=st(t,n);this.f21_1.a(e instanceof ut?e:at())},nn.prototype.q21=function(){return this.d21_1},nn.$metadata$=ct("AttrsScopeBuilder",[Qt,on]),en.$metadata$=nt("Companion"),on.$metadata$=et("EventsListenerScope"),sn.prototype.z20=function(t){this.k21_1.a(t)},sn.prototype.i23=function(){return this.k21_1},sn.$metadata$=ct("EventsListenerScopeBuilder",[on]),an.$metadata$=ct("ButtonType",void 0,void 0,void 0,void 0,lt.prototype),un.$metadata$=nt("Button",void 0,void 0,void 0,void 0,An.prototype),cn.$metadata$=nt("Checkbox",void 0,void 0,void 0,void 0,En.prototype),hn.$metadata$=nt("Color",void 0,void 0,void 0,void 0,Mn.prototype),pn.$metadata$=nt("Date",void 0,void 0,void 0,void 0,Mn.prototype),fn.$metadata$=nt("DateTimeLocal",void 0,void 0,void 0,void 0,Mn.prototype),_n.$metadata$=nt("Email",void 0,void 0,void 0,void 0,Mn.prototype),dn.$metadata$=nt("File",void 0,void 0,void 0,void 0,Mn.prototype),vn.$metadata$=nt("Hidden",void 0,void 0,void 0,void 0,Mn.prototype),yn.$metadata$=nt("Month",void 0,void 0,void 0,void 0,Mn.prototype),mn.$metadata$=nt("Number",void 0,void 0,void 0,void 0,In.prototype),gn.$metadata$=nt("Password",void 0,void 0,void 0,void 0,Mn.prototype),$n.$metadata$=nt("Radio",void 0,void 0,void 0,void 0,En.prototype),wn.$metadata$=nt("Range",void 0,void 0,void 0,void 0,In.prototype),xn.$metadata$=nt("Search",void 0,void 0,void 0,void 0,Mn.prototype),kn.$metadata$=nt("Submit",void 0,void 0,void 0,void 0,An.prototype),jn.$metadata$=nt("Tel",void 0,void 0,void 0,void 0,Mn.prototype),zn.$metadata$=nt("Text",void 0,void 0,void 0,void 0,Mn.prototype),Sn.$metadata$=nt("Time",void 0,void 0,void 0,void 0,Mn.prototype),qn.$metadata$=nt("Url",void 0,void 0,void 0,void 0,Mn.prototype),On.$metadata$=nt("Week",void 0,void 0,void 0,void 0,Mn.prototype),Mn.prototype.y23=function(t){return Pn().z26(t)},Mn.$metadata$=ct("InputTypeWithStringValue",void 0,void 0,void 0,void 0,Bn.prototype),An.prototype.q23=function(t){return tt()},An.prototype.y23=function(t){return this.q23(t),tt()},An.$metadata$=ct("InputTypeWithUnitValue",void 0,void 0,void 0,void 0,Bn.prototype),En.prototype.y23=function(t){var n,e,r=t.target,i=null==(n=null==r?null:r)?null:n.checked;return null!=(e=null==i?null:i)&&e},En.$metadata$=ct("InputTypeCheckedValue",void 0,void 0,void 0,void 0,Bn.prototype),In.prototype.y23=function(t){var n,e=t.target,r=null==(n=null==e?null:e)?null:n.valueAsNumber;return null==r?null:r},In.$metadata$=ct("InputTypeNumberValue",void 0,void 0,void 0,void 0,Bn.prototype),Dn.prototype.a27=function(t){var n;switch(t){case"button":null==l&&new un,n=l;break;case"checkbox":n=ln();break;case"color":null==p&&new hn,n=p;break;case"date":null==f&&new pn,n=f;break;case"datetime-local":null==_&&new fn,n=_;break;case"email":null==d&&new _n,n=d;break;case"file":null==v&&new dn,n=v;break;case"hidden":null==y&&new vn,n=y;break;case"month":null==m&&new yn,n=m;break;case"number":null==g&&new mn,n=g;break;case"password":null==$&&new gn,n=$;break;case"radio":n=bn();break;case"range":null==w&&new wn,n=w;break;case"search":null==x&&new xn,n=x;break;case"submit":null==k&&new kn,n=k;break;case"tel":null==j&&new jn,n=j;break;case"text":n=Cn();break;case"time":null==C&&new Sn,n=C;break;case"url":null==S&&new qn,n=S;break;case"week":n=Pn();break;default:throw pt(ht("fromString got unknown type - "+t))}return n},Dn.$metadata$=nt("Companion"),Bn.prototype.z26=function(t){var n,e,r=t.target,i=null==(n=null==r?null:r)?null:n.value;return null==(e=null==i?null:i)?"":e},Bn.$metadata$=ct("InputType"),Ln.prototype.y1y=function(){return this.d27_1},Ln.prototype.f27=function(t){var n;n=new Fe(t),this.c27_1(n)},Ln.prototype.handleEvent=function(t){return this.f27(t)},Ln.$metadata$=ct("SyntheticEventListener",[ft]),Nn.prototype.f27=function(t){var n=this.k27_1.y23(t);this.c27_1(new He(n,t))},Nn.prototype.handleEvent=function(t){return this.f27(t)},Nn.$metadata$=ct("InputEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Rn.prototype.f27=function(t){var n;n=t,this.c27_1(new Ue(n))},Rn.prototype.handleEvent=function(t){return this.f27(t)},Rn.$metadata$=ct("MouseEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Fn.prototype.e20=function(t,n){return this.q27_1.e20(t,n)},Fn.prototype.w20=function(t){this.q27_1.w20(t)},Fn.prototype.v20=function(t){this.q27_1.v20(t)},Fn.prototype.x20=function(t){return this.q27_1.x20(t)},Fn.prototype.a21=function(t){this.q27_1.a21(t)},Fn.prototype.b21=function(t){this.q27_1.b21(t)},Fn.prototype.y20=function(t,n){this.q27_1.y20(t,n)},Fn.prototype.z20=function(t){this.q27_1.z20(t)},Fn.prototype.u20=function(t){this.q27_1.u20(t)},Fn.prototype.s27=function(t){rn(),this.z20(new Nn("input",this.p27_1,t))},Fn.$metadata$=ct("InputAttrsScope",[Qt]),Wn.prototype.js=function(){var t=Un().a3(this.t27_1.name);null==t||t.jf(this.t27_1);var n=Un().a3(this.t27_1.name);!0===(null==n?null:n.h())&&Un().og(this.t27_1.name)},Wn.$metadata$=ct(void 0,[kt]),Kn.prototype.e20=function(t,n){return this.v27_1.e20(t,n)},Kn.prototype.w20=function(t){this.v27_1.w20(t)},Kn.prototype.v20=function(t){this.v27_1.v20(t)},Kn.prototype.x20=function(t){return this.v27_1.x20(t)},Kn.prototype.a21=function(t){this.v27_1.a21(t)},Kn.prototype.b21=function(t){this.v27_1.b21(t)},Kn.prototype.y20=function(t,n){this.v27_1.y20(t,n)},Kn.prototype.z20=function(t){this.v27_1.z20(t)},Kn.prototype.u20=function(t){this.v27_1.u20(t)},Kn.prototype.x27=function(t){rn(),this.z20(new Yn("input",t))},Kn.prototype.y27=function(t){this.z20(new Gn(t))},Kn.$metadata$=ct("SelectAttrsScope",[Qt]),Yn.prototype.f27=function(t){var n=t.target,e=(null==n?null:n).value,r=null==e?null:ht(e);this.c27_1(new He(r,t))},Yn.prototype.handleEvent=function(t){return this.f27(t)},Yn.$metadata$=ct("SelectInputEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Gn.prototype.f27=function(t){var n=t.target,e=(null==n?null:n).value,r=null==e?null:ht(e);this.c27_1(new Re(r,t))},Gn.prototype.handleEvent=function(t){return this.f27(t)},Gn.$metadata$=ct("SelectChangeEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Xn.prototype.e20=function(t,n){return this.h28_1.e20(t,n)},Xn.prototype.w20=function(t){this.h28_1.w20(t)},Xn.prototype.v20=function(t){this.h28_1.v20(t)},Xn.prototype.x20=function(t){return this.h28_1.x20(t)},Xn.prototype.a21=function(t){this.h28_1.a21(t)},Xn.prototype.b21=function(t){this.h28_1.b21(t)},Xn.prototype.y20=function(t,n){this.h28_1.y20(t,n)},Xn.prototype.z20=function(t){this.h28_1.z20(t)},Xn.prototype.u20=function(t){this.h28_1.u20(t)},Xn.prototype.j28=function(t){return this.y20((Xt(),i),t),this},Xn.prototype.k28=function(t){rn(),this.z20(new Nn("input",Cn(),t))},Xn.$metadata$=ct("TextAreaAttrsScope",[Qt]),Zn.prototype.l28=function(){return"%"},Zn.prototype.m28=function(){return"px"},Zn.$metadata$=nt("Companion"),te.prototype.m2=function(){return this.n28_1},te.prototype.q28=function(){return this.o28_1},te.prototype.toString=function(){return""+this.n28_1+this.o28_1},te.prototype.hashCode=function(){var t=zt(this.n28_1);return Q(t,31)+Ct(this.o28_1)|0},te.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof te))return!1;var n=t instanceof te?t:at();return!!xt(this.n28_1,n.n28_1)&&!!xt(this.o28_1,n.o28_1)},te.$metadata$=ct("CSSUnitValueTyped"),Object.defineProperty(te.prototype,"value",{configurable:!0,get:function(){return this.m2()}}),Object.defineProperty(te.prototype,"unit",{configurable:!0,get:function(){return this.q28()}}),ne.$metadata$=et("StyleScope"),ee.prototype.w28=function(){return this.t28_1},ee.prototype.x28=function(){return this.u28_1},ee.prototype.r28=function(t,n){this.w28().a(new ie(t,n))},ee.prototype.equals=function(t){return!(null==t||!St(t,re))&&!!oe(this.w28(),t.w28())&&oe(this.x28(),t.x28())},ee.$metadata$=ct("StyleScopeBuilder",[ne,re]),re.$metadata$=et("StyleHolder"),ie.prototype.y1y=function(){return this.y28_1},ie.prototype.m2=function(){return this.z28_1},ie.prototype.l4=function(){return this.y28_1},ie.prototype.m4=function(){return this.z28_1},ie.prototype.toString=function(){return"StylePropertyDeclaration(name="+this.y28_1+", value="+this.z28_1+")"},ie.prototype.hashCode=function(){var t=qt(this.y28_1);return Q(t,31)+Ct(this.z28_1)|0},ie.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ie))return!1;var n=t instanceof ie?t:at();return this.y28_1===n.y28_1&&!!xt(this.z28_1,n.z28_1)},ie.$metadata$=ct("StylePropertyDeclaration"),ae.prototype.g1s=function(){return this.d29_1},ae.prototype.f29=function(t){for(var n=this.e29_1.c();n.d();){var e=n.e();this.d29_1.removeEventListener(e.y1y(),e)}this.e29_1=t;for(var r=this.e29_1.c();r.d();){var i=r.e();this.d29_1.addEventListener(i.y1y(),i)}},ae.prototype.g29=function(t){for(var n=t.c();n.d();){var e=n.e(),r=e.l4(),i=e.m4();r(this.d29_1,i)}},ae.prototype.h29=function(t){var n=this.d29_1;if(n instanceof HTMLElement||n instanceof SVGElement){this.d29_1.removeAttribute("style");for(var e=this.d29_1.style,r=t.w28().c();r.d();){var i=r.e(),o=i.l4(),s=i.m4();e.setProperty(o,ht(s))}for(var a=t.x28().c();a.d();){var u=a.e(),c=u.l4(),l=u.m4();e.setProperty(c,ht(l))}}},ae.prototype.i29=function(t){for(var n=this.d29_1.getAttributeNames(),e=0,r=n.length;e{"use strict";function r(){}e.r(n),e.d(n,{Animation:()=>ye,Animations:()=>ge,ArcElement:()=>bi,BarController:()=>Ne,BarElement:()=>Ti,BasePlatform:()=>qr,BasicPlatform:()=>Or,BubbleController:()=>Re,CategoryScale:()=>zo,Chart:()=>di,DatasetController:()=>Pe,Decimation:()=>Ri,DomPlatform:()=>Ur,DoughnutController:()=>Fe,Element:()=>Je,Filler:()=>ro,Interaction:()=>vr,Legend:()=>so,LineController:()=>He,LineElement:()=>qi,LinearScale:()=>qo,LogarithmicScale:()=>Po,PieController:()=>Ve,PointElement:()=>Pi,PolarAreaController:()=>Ue,RadarController:()=>We,RadialLinearScale:()=>Bo,Scale:()=>rr,ScatterController:()=>sr,SubTitle:()=>lo,Ticks:()=>Ye,TimeScale:()=>Wo,TimeSeriesScale:()=>Ko,Title:()=>uo,Tooltip:()=>ko,_adapters:()=>lr,_detectPlatform:()=>Vr,animator:()=>_e,controllers:()=>ar,defaults:()=>Xt,elements:()=>Bi,layouts:()=>Sr,plugins:()=>jo,registerables:()=>Go,registry:()=>or,scales:()=>Yo});const i=function(){let t=0;return function(){return t++}}();function o(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const n=Object.prototype.toString.call(t);return"[object"===n.slice(0,7)&&"Array]"===n.slice(-6)}function a(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const u=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function c(t,n){return u(t)?t:n}function l(t,n){return void 0===t?n:t}const h=(t,n)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*n:+t;function p(t,n,e){if(t&&"function"==typeof t.call)return t.apply(e,n)}function f(t,n,e,r){let i,o,u;if(s(t))if(o=t.length,r)for(i=o-1;i>=0;i--)n.call(e,t[i],i);else for(i=0;it,x:t=>t.x,y:t=>t.y};function w(t,n){const e=b[n]||(b[n]=function(t){const n=function(t){const n=t.split("."),e=[];let r="";for(const t of n)r+=t,r.endsWith("\\")?r=r.slice(0,-1)+".":(e.push(r),r="");return e}(t);return t=>{for(const e of n){if(""===e)break;t=t&&t[e]}return t}}(n));return e(t)}function x(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,j=t=>"function"==typeof t,z=(t,n)=>{if(t.size!==n.size)return!1;for(const e of t)if(!n.has(e))return!1;return!0},C=Math.PI,S=2*C,q=S+C,O=Number.POSITIVE_INFINITY,P=C/180,M=C/2,A=C/4,E=2*C/3,I=Math.log10,D=Math.sign;function T(t){const n=Math.round(t);t=L(t,n,t/1e3)?n:t;const e=Math.pow(10,Math.floor(I(t))),r=t/e;return(r<=1?1:r<=2?2:r<=5?5:10)*e}function B(t){return!isNaN(parseFloat(t))&&isFinite(t)}function L(t,n,e){return Math.abs(t-n)u&&c=Math.min(n,e)-r&&t<=Math.max(n,e)+r}function X(t,n,e){e=e||(e=>t[e]1;)r=o+i>>1,e(r)?o=r:i=r;return{lo:o,hi:i}}const Z=(t,n,e,r)=>X(t,e,r?r=>t[r][n]<=e:r=>t[r][n]X(t,e,(r=>t[r][n]>=e)),tt=["push","pop","shift","splice","unshift"];function nt(t,n){const e=t._chartjs;if(!e)return;const r=e.listeners,i=r.indexOf(n);-1!==i&&r.splice(i,1),r.length>0||(tt.forEach((n=>{delete t[n]})),delete t._chartjs)}function et(t){const n=new Set;let e,r;for(e=0,r=t.length;eArray.prototype.slice.call(t));let i=!1,o=[];return function(...e){o=r(e),i||(i=!0,rt.call(window,(()=>{i=!1,t.apply(n,o)})))}}const ot=t=>"start"===t?"left":"end"===t?"right":"center",st=(t,n,e)=>"start"===t?n:"end"===t?e:(n+e)/2;function at(t,n,e){const r=n.length;let i=0,o=r;if(t._sorted){const{iScale:s,_parsed:a}=t,u=s.axis,{min:c,max:l,minDefined:h,maxDefined:p}=s.getUserBounds();h&&(i=Y(Math.min(Z(a,s.axis,c).lo,e?r:Z(n,u,s.getPixelForValue(c)).lo),0,r-1)),o=p?Y(Math.max(Z(a,s.axis,l,!0).hi+1,e?0:Z(n,u,s.getPixelForValue(l),!0).hi+1),i,r)-i:r-i}return{start:i,count:o}}function ut(t){const{xScale:n,yScale:e,_scaleRanges:r}=t,i={xmin:n.min,xmax:n.max,ymin:e.min,ymax:e.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==n.min||r.xmax!==n.max||r.ymin!==e.min||r.ymax!==e.max;return Object.assign(r,i),o}const ct=t=>0===t||1===t,lt=(t,n,e)=>-Math.pow(2,10*(t-=1))*Math.sin((t-n)*S/e),ht=(t,n,e)=>Math.pow(2,-10*t)*Math.sin((t-n)*S/e)+1,pt={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*M),easeOutSine:t=>Math.sin(t*M),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ct(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ct(t)?t:lt(t,.075,.3),easeOutElastic:t=>ct(t)?t:ht(t,.075,.3),easeInOutElastic(t){const n=.1125;return ct(t)?t:t<.5?.5*lt(2*t,n,.45):.5+.5*ht(2*t-1,n,.45)},easeInBack(t){const n=1.70158;return t*t*((n+1)*t-n)},easeOutBack(t){const n=1.70158;return(t-=1)*t*((n+1)*t+n)+1},easeInOutBack(t){let n=1.70158;return(t/=.5)<1?t*t*((1+(n*=1.525))*t-n)*.5:.5*((t-=2)*t*((1+(n*=1.525))*t+n)+2)},easeInBounce:t=>1-pt.easeOutBounce(1-t),easeOutBounce(t){const n=7.5625,e=2.75;return t<1/e?n*t*t:t<2/e?n*(t-=1.5/e)*t+.75:t<2.5/e?n*(t-=2.25/e)*t+.9375:n*(t-=2.625/e)*t+.984375},easeInOutBounce:t=>t<.5?.5*pt.easeInBounce(2*t):.5*pt.easeOutBounce(2*t-1)+.5};function ft(t){return t+.5|0}const _t=(t,n,e)=>Math.max(Math.min(t,e),n);function dt(t){return _t(ft(2.55*t),0,255)}function vt(t){return _t(ft(255*t),0,255)}function yt(t){return _t(ft(t/2.55)/100,0,1)}function mt(t){return _t(ft(100*t),0,100)}const gt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},$t=[..."0123456789ABCDEF"],bt=t=>$t[15&t],wt=t=>$t[(240&t)>>4]+$t[15&t],xt=t=>(240&t)>>4==(15&t);const kt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function jt(t,n,e){const r=n*Math.min(e,1-e),i=(n,i=(n+t/30)%12)=>e-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function zt(t,n,e){const r=(r,i=(r+t/60)%6)=>e-e*n*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function Ct(t,n,e){const r=jt(t,1,.5);let i;for(n+e>1&&(i=1/(n+e),n*=i,e*=i),i=0;i<3;i++)r[i]*=1-n-e,r[i]+=n;return r}function St(t){const n=t.r/255,e=t.g/255,r=t.b/255,i=Math.max(n,e,r),o=Math.min(n,e,r),s=(i+o)/2;let a,u,c;return i!==o&&(c=i-o,u=s>.5?c/(2-i-o):c/(i+o),a=function(t,n,e,r,i){return t===i?(n-e)/r+(nt<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Tt=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Bt(t,n,e){if(t){let r=St(t);r[n]=Math.max(0,Math.min(r[n]+r[n]*e,0===n?360:1)),r=Ot(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function Lt(t,n){return t?Object.assign(n||{},t):t}function Nt(t){var n={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(n={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(n.a=vt(t[3]))):(n=Lt(t,{r:0,g:0,b:0,a:1})).a=vt(n.a),n}function Rt(t){return"r"===t.charAt(0)?function(t){const n=It.exec(t);let e,r,i,o=255;if(n){if(n[7]!==e){const t=+n[7];o=n[8]?dt(t):_t(255*t,0,255)}return e=+n[1],r=+n[3],i=+n[5],e=255&(n[2]?dt(e):_t(e,0,255)),r=255&(n[4]?dt(r):_t(r,0,255)),i=255&(n[6]?dt(i):_t(i,0,255)),{r:e,g:r,b:i,a:o}}}(t):function(t){const n=kt.exec(t);let e,r=255;if(!n)return;n[5]!==e&&(r=n[6]?dt(+n[5]):vt(+n[5]));const i=Pt(+n[2]),o=+n[3]/100,s=+n[4]/100;return e="hwb"===n[1]?function(t,n,e){return qt(Ct,t,n,e)}(i,o,s):"hsv"===n[1]?function(t,n,e){return qt(zt,t,n,e)}(i,o,s):Ot(i,o,s),{r:e[0],g:e[1],b:e[2],a:r}}(t)}class Ft{constructor(t){if(t instanceof Ft)return t;const n=typeof t;let e;var r,i,o;"object"===n?e=Nt(t):"string"===n&&(o=(r=t).length,"#"===r[0]&&(4===o||5===o?i={r:255&17*gt[r[1]],g:255&17*gt[r[2]],b:255&17*gt[r[3]],a:5===o?17*gt[r[4]]:255}:7!==o&&9!==o||(i={r:gt[r[1]]<<4|gt[r[2]],g:gt[r[3]]<<4|gt[r[4]],b:gt[r[5]]<<4|gt[r[6]],a:9===o?gt[r[7]]<<4|gt[r[8]]:255})),e=i||function(t){Et||(Et=function(){const t={},n=Object.keys(At),e=Object.keys(Mt);let r,i,o,s,a;for(r=0;r>16&255,o>>8&255,255&o]}return t}(),Et.transparent=[0,0,0,0]);const n=Et[t.toLowerCase()];return n&&{r:n[0],g:n[1],b:n[2],a:4===n.length?n[3]:255}}(t)||Rt(t)),this._rgb=e,this._valid=!!e}get valid(){return this._valid}get rgb(){var t=Lt(this._rgb);return t&&(t.a=yt(t.a)),t}set rgb(t){this._rgb=Nt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${yt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?(t=this._rgb,n=(t=>xt(t.r)&&xt(t.g)&&xt(t.b)&&xt(t.a))(t)?bt:wt,t?"#"+n(t.r)+n(t.g)+n(t.b)+((t,n)=>t<255?n(t):"")(t.a,n):void 0):void 0;var t,n}hslString(){return this._valid?function(t){if(!t)return;const n=St(t),e=n[0],r=mt(n[1]),i=mt(n[2]);return t.a<255?`hsla(${e}, ${r}%, ${i}%, ${yt(t.a)})`:`hsl(${e}, ${r}%, ${i}%)`}(this._rgb):void 0}mix(t,n){if(t){const e=this.rgb,r=t.rgb;let i;const o=n===i?.5:n,s=2*o-1,a=e.a-r.a,u=((s*a==-1?s:(s+a)/(1+s*a))+1)/2;i=1-u,e.r=255&u*e.r+i*r.r+.5,e.g=255&u*e.g+i*r.g+.5,e.b=255&u*e.b+i*r.b+.5,e.a=o*e.a+(1-o)*r.a,this.rgb=e}return this}interpolate(t,n){return t&&(this._rgb=function(t,n,e){const r=Tt(yt(t.r)),i=Tt(yt(t.g)),o=Tt(yt(t.b));return{r:vt(Dt(r+e*(Tt(yt(n.r))-r))),g:vt(Dt(i+e*(Tt(yt(n.g))-i))),b:vt(Dt(o+e*(Tt(yt(n.b))-o))),a:t.a+e*(n.a-t.a)}}(this._rgb,t._rgb,n)),this}clone(){return new Ft(this.rgb)}alpha(t){return this._rgb.a=vt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,n=ft(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=n,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Bt(this._rgb,2,t),this}darken(t){return Bt(this._rgb,2,-t),this}saturate(t){return Bt(this._rgb,1,t),this}desaturate(t){return Bt(this._rgb,1,-t),this}rotate(t){return function(t,n){var e=St(t);e[0]=Pt(e[0]+n),e=Ot(e),t.r=e[0],t.g=e[1],t.b=e[2]}(this._rgb,t),this}}function Ht(t){return new Ft(t)}function Ut(t){if(t&&"object"==typeof t){const n=t.toString();return"[object CanvasPattern]"===n||"[object CanvasGradient]"===n}return!1}function Vt(t){return Ut(t)?t:Ht(t)}function Wt(t){return Ut(t)?t:Ht(t).saturate(.5).darken(.1).hexString()}const Jt=Object.create(null),Kt=Object.create(null);function Yt(t,n){if(!n)return t;const e=n.split(".");for(let n=0,r=e.length;nt.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,n)=>Wt(n.backgroundColor),this.hoverBorderColor=(t,n)=>Wt(n.borderColor),this.hoverColor=(t,n)=>Wt(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,n){return Gt(this,t,n)}get(t){return Yt(this,t)}describe(t,n){return Gt(Kt,t,n)}override(t,n){return Gt(Jt,t,n)}route(t,n,e,r){const i=Yt(this,t),o=Yt(this,e),s="_"+n;Object.defineProperties(i,{[s]:{value:i[n],writable:!0},[n]:{enumerable:!0,get(){const t=this[s],n=o[r];return a(t)?Object.assign({},n,t):l(t,n)},set(t){this[s]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Zt(t,n,e,r,i){let o=n[i];return o||(o=n[i]=t.measureText(i).width,e.push(i)),o>r&&(r=o),r}function Qt(t,n,e,r){let i=(r=r||{}).data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==n&&(i=r.data={},o=r.garbageCollect=[],r.font=n),t.save(),t.font=n;let a=0;const u=e.length;let c,l,h,p,f;for(c=0;ce.length){for(c=0;c<_;c++)delete i[o[c]];o.splice(0,_)}return a}function tn(t,n,e){const r=t.currentDevicePixelRatio,i=0!==e?Math.max(e/2,.5):0;return Math.round((n-i)*r)/r+i}function nn(t,n){(n=n||t.getContext("2d")).save(),n.resetTransform(),n.clearRect(0,0,t.width,t.height),n.restore()}function en(t,n,e,r){rn(t,n,e,r,null)}function rn(t,n,e,r,i){let o,s,a,u,c,l;const h=n.pointStyle,p=n.rotation,f=n.radius;let _=(p||0)*P;if(h&&"object"==typeof h&&(o=h.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(e,r),t.rotate(_),t.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void t.restore();if(!(isNaN(f)||f<=0)){switch(t.beginPath(),h){default:i?t.ellipse(e,r,i/2,f,0,0,S):t.arc(e,r,f,0,S),t.closePath();break;case"triangle":t.moveTo(e+Math.sin(_)*f,r-Math.cos(_)*f),_+=E,t.lineTo(e+Math.sin(_)*f,r-Math.cos(_)*f),_+=E,t.lineTo(e+Math.sin(_)*f,r-Math.cos(_)*f),t.closePath();break;case"rectRounded":c=.516*f,u=f-c,s=Math.cos(_+A)*u,a=Math.sin(_+A)*u,t.arc(e-s,r-a,c,_-C,_-M),t.arc(e+a,r-s,c,_-M,_),t.arc(e+s,r+a,c,_,_+M),t.arc(e-a,r+s,c,_+M,_+C),t.closePath();break;case"rect":if(!p){u=Math.SQRT1_2*f,l=i?i/2:u,t.rect(e-l,r-u,2*l,2*u);break}_+=A;case"rectRot":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+a,r-s),t.lineTo(e+s,r+a),t.lineTo(e-a,r+s),t.closePath();break;case"crossRot":_+=A;case"cross":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s);break;case"star":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s),_+=A,s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s);break;case"line":s=i?i/2:Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a);break;case"dash":t.moveTo(e,r),t.lineTo(e+Math.cos(_)*f,r+Math.sin(_)*f)}t.fill(),n.borderWidth>0&&t.stroke()}}function on(t,n,e){return e=e||.5,!n||t&&t.x>n.left-e&&t.xn.top-e&&t.y0&&""!==a.strokeColor;let l,h;for(t.save(),t.font=i.string,function(t,n){n.translation&&t.translate(n.translation[0],n.translation[1]),o(n.rotation)||t.rotate(n.rotation),n.color&&(t.fillStyle=n.color),n.textAlign&&(t.textAlign=n.textAlign),n.textBaseline&&(t.textBaseline=n.textBaseline)}(t,a),l=0;ll(t[e],t[n[e]]):n=>t[n]:()=>t;for(const t of i)e[t]=+o(t)||0;return e}function yn(t){return vn(t,{top:"y",right:"x",bottom:"y",left:"x"})}function mn(t){return vn(t,["topLeft","topRight","bottomLeft","bottomRight"])}function gn(t){const n=yn(t);return n.width=n.left+n.right,n.height=n.top+n.bottom,n}function $n(t,n){t=t||{},n=n||Xt.font;let e=l(t.size,n.size);"string"==typeof e&&(e=parseInt(e,10));let r=l(t.style,n.style);r&&!(""+r).match(_n)&&(console.warn('Invalid font style specified: "'+r+'"'),r="");const i={family:l(t.family,n.family),lineHeight:dn(l(t.lineHeight,n.lineHeight),e),size:e,style:r,weight:l(t.weight,n.weight),string:""};return i.string=function(t){return!t||o(t.size)||o(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(i),i}function bn(t,n,e,r){let i,o,a,u=!0;for(i=0,o=t.length;it[0])){k(r)||(r=En("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:e,_fallback:r,_getTarget:i,override:i=>xn([i,...t],n,e,r)};return new Proxy(o,{deleteProperty:(n,e)=>(delete n[e],delete n._keys,delete t[0][e],!0),get:(e,r)=>Sn(e,r,(()=>function(t,n,e,r){let i;for(const o of n)if(i=En(zn(o,t),e),k(i))return Cn(t,i)?Mn(e,r,t,i):i}(r,n,t,e))),getOwnPropertyDescriptor:(t,n)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],n),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,n)=>In(t).includes(n),ownKeys:t=>In(t),set(t,n,e){const r=t._storage||(t._storage=i());return t[n]=r[n]=e,delete t._keys,!0}})}function kn(t,n,e,r){const i={_cacheable:!1,_proxy:t,_context:n,_subProxy:e,_stack:new Set,_descriptors:jn(t,r),setContext:n=>kn(t,n,e,r),override:i=>kn(t.override(i),n,e,r)};return new Proxy(i,{deleteProperty:(n,e)=>(delete n[e],delete t[e],!0),get:(t,n,e)=>Sn(t,n,(()=>function(t,n,e){const{_proxy:r,_context:i,_subProxy:o,_descriptors:u}=t;let c=r[n];return j(c)&&u.isScriptable(n)&&(c=function(t,n,e,r){const{_proxy:i,_context:o,_subProxy:s,_stack:a}=e;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);return a.add(t),n=n(o,s||r),a.delete(t),Cn(t,n)&&(n=Mn(i._scopes,i,t,n)),n}(n,c,t,e)),s(c)&&c.length&&(c=function(t,n,e,r){const{_proxy:i,_context:o,_subProxy:s,_descriptors:u}=e;if(k(o.index)&&r(t))n=n[o.index%n.length];else if(a(n[0])){const e=n,r=i._scopes.filter((t=>t!==e));n=[];for(const a of e){const e=Mn(r,i,t,a);n.push(kn(e,o,s&&s[t],u))}}return n}(n,c,t,u.isIndexable)),Cn(n,c)&&(c=kn(c,i,o&&o[n],u)),c}(t,n,e))),getOwnPropertyDescriptor:(n,e)=>n._descriptors.allKeys?Reflect.has(t,e)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,e),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(n,e)=>Reflect.has(t,e),ownKeys:()=>Reflect.ownKeys(t),set:(n,e,r)=>(t[e]=r,delete n[e],!0)})}function jn(t,n={scriptable:!0,indexable:!0}){const{_scriptable:e=n.scriptable,_indexable:r=n.indexable,_allKeys:i=n.allKeys}=t;return{allKeys:i,scriptable:e,indexable:r,isScriptable:j(e)?e:()=>e,isIndexable:j(r)?r:()=>r}}const zn=(t,n)=>t?t+x(n):n,Cn=(t,n)=>a(n)&&"adapters"!==t&&(null===Object.getPrototypeOf(n)||n.constructor===Object);function Sn(t,n,e){if(Object.prototype.hasOwnProperty.call(t,n))return t[n];const r=e();return t[n]=r,r}function qn(t,n,e){return j(t)?t(n,e):t}const On=(t,n)=>!0===t?n:"string"==typeof t?w(n,t):void 0;function Pn(t,n,e,r,i){for(const o of n){const n=On(e,o);if(n){t.add(n);const o=qn(n._fallback,e,i);if(k(o)&&o!==e&&o!==r)return o}else if(!1===n&&k(r)&&e!==r)return null}return!1}function Mn(t,n,e,r){const i=n._rootScopes,o=qn(n._fallback,e,r),u=[...t,...i],c=new Set;c.add(r);let l=An(c,u,e,o||e,r);return null!==l&&(!k(o)||o===e||(l=An(c,u,o,l,r),null!==l))&&xn(Array.from(c),[""],i,o,(()=>function(t,n,e){const r=t._getTarget();n in r||(r[n]={});const i=r[n];return s(i)&&a(e)?e:i}(n,e,r)))}function An(t,n,e,r,i){for(;e;)e=Pn(t,n,e,r,i);return e}function En(t,n){for(const e of n){if(!e)continue;const n=e[t];if(k(n))return n}}function In(t){let n=t._keys;return n||(n=t._keys=function(t){const n=new Set;for(const e of t)for(const t of Object.keys(e).filter((t=>!t.startsWith("_"))))n.add(t);return Array.from(n)}(t._scopes)),n}function Dn(t,n,e,r){const{iScale:i}=t,{key:o="r"}=this._parsing,s=new Array(r);let a,u,c,l;for(a=0,u=r;an"x"===t?"y":"x";function Nn(t,n,e,r){const i=t.skip?n:t,o=n,s=e.skip?n:e,a=V(o,i),u=V(s,o);let c=a/(a+u),l=u/(a+u);c=isNaN(c)?0:c,l=isNaN(l)?0:l;const h=r*c,p=r*l;return{previous:{x:o.x-h*(s.x-i.x),y:o.y-h*(s.y-i.y)},next:{x:o.x+p*(s.x-i.x),y:o.y+p*(s.y-i.y)}}}function Rn(t,n,e){return Math.max(Math.min(t,e),n)}function Fn(t,n,e,r,i){let o,s,a,u;if(n.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===n.cubicInterpolationMode)!function(t,n="x"){const e=Ln(n),r=t.length,i=Array(r).fill(0),o=Array(r);let s,a,u,c=Bn(t,0);for(s=0;swindow.getComputedStyle(t,null),Jn=["top","right","bottom","left"];function Kn(t,n,e){const r={};e=e?"-"+e:"";for(let i=0;i<4;i++){const o=Jn[i];r[o]=parseFloat(t[n+"-"+o+e])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}function Yn(t,n){if("native"in t)return t;const{canvas:e,currentDevicePixelRatio:r}=n,i=Wn(e),o="border-box"===i.boxSizing,s=Kn(i,"padding"),a=Kn(i,"border","width"),{x:u,y:c,box:l}=function(t,n){const e=t.touches,r=e&&e.length?e[0]:t,{offsetX:i,offsetY:o}=r;let s,a,u=!1;if(((t,n,e)=>(t>0||n>0)&&(!e||!e.shadowRoot))(i,o,t.target))s=i,a=o;else{const t=n.getBoundingClientRect();s=r.clientX-t.left,a=r.clientY-t.top,u=!0}return{x:s,y:a,box:u}}(t,e),h=s.left+(l&&a.left),p=s.top+(l&&a.top);let{width:f,height:_}=n;return o&&(f-=s.width+a.width,_-=s.height+a.height),{x:Math.round((u-h)/f*e.width/r),y:Math.round((c-p)/_*e.height/r)}}const Gn=t=>Math.round(10*t)/10;function Xn(t,n,e){const r=n||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const s=t.canvas;return s.style&&(e||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||s.height!==i||s.width!==o)&&(t.currentDevicePixelRatio=r,s.height=i,s.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const Zn=function(){let t=!1;try{const n={get passive(){return t=!0,!1}};window.addEventListener("test",null,n),window.removeEventListener("test",null,n)}catch(t){}return t}();function Qn(t,n){const e=function(t,n){return Wn(t).getPropertyValue(n)}(t,n),r=e&&e.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function te(t,n,e,r){return{x:t.x+e*(n.x-t.x),y:t.y+e*(n.y-t.y)}}function ne(t,n,e,r){return{x:t.x+e*(n.x-t.x),y:"middle"===r?e<.5?t.y:n.y:"after"===r?e<1?t.y:n.y:e>0?n.y:t.y}}function ee(t,n,e,r){const i={x:t.cp2x,y:t.cp2y},o={x:n.cp1x,y:n.cp1y},s=te(t,i,e),a=te(i,o,e),u=te(o,n,e),c=te(s,a,e),l=te(a,u,e);return te(c,l,e)}const re=new Map;function ie(t,n,e){return function(t,n){n=n||{};const e=t+JSON.stringify(n);let r=re.get(e);return r||(r=new Intl.NumberFormat(t,n),re.set(e,r)),r}(n,e).format(t)}function oe(t,n,e){return t?function(t,n){return{x:e=>t+t+n-e,setWidth(t){n=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,n)=>t-n,leftForLtr:(t,n)=>t-n}}(n,e):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,n)=>t+n,leftForLtr:(t,n)=>t}}function se(t,n){let e,r;"ltr"!==n&&"rtl"!==n||(e=t.canvas.style,r=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",n,"important"),t.prevTextDirection=r)}function ae(t,n){void 0!==n&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",n[0],n[1]))}function ue(t){return"angle"===t?{between:K,compare:W,normalize:J}:{between:G,compare:(t,n)=>t-n,normalize:t=>t}}function ce({start:t,end:n,count:e,loop:r,style:i}){return{start:t%e,end:n%e,loop:r&&(n-t+1)%e==0,style:i}}function le(t,n,e){if(!e)return[t];const{property:r,start:i,end:o}=e,s=n.length,{compare:a,between:u,normalize:c}=ue(r),{start:l,end:h,loop:p,style:f}=function(t,n,e){const{property:r,start:i,end:o}=e,{between:s,normalize:a}=ue(r),u=n.length;let c,l,{start:h,end:p,loop:f}=t;if(f){for(h+=u,p+=u,c=0,l=u;cr({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(e-n.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=rt.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let n=0;this._charts.forEach(((e,r)=>{if(!e.running||!e.items.length)return;const i=e.items;let o,s=i.length-1,a=!1;for(;s>=0;--s)o=i[s],o._active?(o._total>e.duration&&(e.duration=o._total),o.tick(t),a=!0):(i[s]=i[i.length-1],i.pop());a&&(r.draw(),this._notify(r,e,t,"progress")),i.length||(e.running=!1,this._notify(r,e,t,"complete"),e.initial=!1),n+=i.length})),this._lastDate=t,0===n&&(this._running=!1)}_getAnims(t){const n=this._charts;let e=n.get(t);return e||(e={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,e)),e}listen(t,n,e){this._getAnims(t).listeners[n].push(e)}add(t,n){n&&n.length&&this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce(((t,n)=>Math.max(t,n._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!!(n&&n.running&&n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const e=n.items;let r=e.length-1;for(;r>=0;--r)e[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};const de="transparent",ve={boolean:(t,n,e)=>e>.5?n:t,color(t,n,e){const r=Vt(t||de),i=r.valid&&Vt(n||de);return i&&i.valid?i.mix(r,e).hexString():n},number:(t,n,e)=>t+(n-t)*e};class ye{constructor(t,n,e,r){const i=n[e];r=bn([t.to,r,i,t.from]);const o=bn([t.from,i,r]);this._active=!0,this._fn=t.fn||ve[t.type||typeof o],this._easing=pt[t.easing]||pt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=e,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,e){if(this._active){this._notify(!1);const r=this._target[this._prop],i=e-this._start,o=this._duration-i;this._start=e,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=i,this._loop=!!t.loop,this._to=bn([t.to,n,r,t.from]),this._from=bn([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,e=this._duration,r=this._prop,i=this._from,o=this._loop,s=this._to;let a;if(this._active=i!==s&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(i,s,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((n,e)=>{t.push({res:n,rej:e})}))}_notify(t){const n=t?"res":"rej",e=this._promises||[];for(let t=0;t"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),Xt.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),Xt.describe("animations",{_fallback:"animation"}),Xt.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class ge{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!a(t))return;const n=this._properties;Object.getOwnPropertyNames(t).forEach((e=>{const r=t[e];if(!a(r))return;const i={};for(const t of me)i[t]=r[t];(s(r.properties)&&r.properties||[e]).forEach((t=>{t!==e&&n.has(t)||n.set(t,i)}))}))}_animateOptions(t,n){const e=n.options,r=function(t,n){if(!n)return;let e=t.options;if(e)return e.$shared&&(t.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e;t.options=n}(t,e);if(!r)return[];const i=this._createAnimations(r,e);return e.$shared&&function(t,n){const e=[],r=Object.keys(n);for(let n=0;n{t.options=e}),(()=>{})),i}_createAnimations(t,n){const e=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(n),s=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if("$"===u.charAt(0))continue;if("options"===u){r.push(...this._animateOptions(t,n));continue}const c=n[u];let l=i[u];const h=e.get(u);if(l){if(h&&l.active()){l.update(h,c,s);continue}l.cancel()}h&&h.duration?(i[u]=l=new ye(h,t,u,c),r.push(l)):t[u]=c}return r}update(t,n){if(0===this._properties.size)return void Object.assign(t,n);const e=this._createAnimations(t,n);return e.length?(_e.add(this._chart,e),!0):void 0}}function $e(t,n){const e=t&&t.options||{},r=e.reverse,i=void 0===e.min?n:0,o=void 0===e.max?n:0;return{start:r?o:i,end:r?i:o}}function be(t,n){const e=[],r=t._getSortedDatasetMetas(n);let i,o;for(i=0,o=r.length;i0||!e&&n<0)return i.index}return null}function ze(t,n){const{chart:e,_cachedMeta:r}=t,i=e._stacks||(e._stacks={}),{iScale:o,vScale:s,index:a}=r,u=o.axis,c=s.axis,l=function(t,n,e){return`${t.id}.${n.id}.${e.stack||e.type}`}(o,s,r),h=n.length;let p;for(let t=0;te[t].axis===n)).shift()}function Se(t,n){const e=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){n=n||t._parsed;for(const t of n){const n=t._stacks;if(!n||void 0===n[r]||void 0===n[r][e])return;delete n[r][e]}}}const qe=t=>"reset"===t||"none"===t,Oe=(t,n)=>n?t:Object.assign({},t);class Pe{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=xe(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Se(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,e=this.getDataset(),r=(t,n,e,r)=>"x"===t?n:"r"===t?r:e,i=n.xAxisID=l(e.xAxisID,Ce(t,"x")),o=n.yAxisID=l(e.yAxisID,Ce(t,"y")),s=n.rAxisID=l(e.rAxisID,Ce(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,i,o,s),c=n.vAxisID=r(a,o,i,s);n.xScale=this.getScaleForId(i),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(s),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&nt(this._data,this),t._stacked&&Se(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),e=this._data;if(a(n))this._data=function(t){const n=Object.keys(t),e=new Array(n.length);let r,i,o;for(r=0,i=n.length;r{const n="_onData"+x(t),e=r[t];Object.defineProperty(r,t,{configurable:!0,enumerable:!1,value(...t){const i=e.apply(this,t);return r._chartjs.listeners.forEach((e=>{"function"==typeof e[n]&&e[n](...t)})),i}})})))),this._syncList=[],this._data=n}var r}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,e=this.getDataset();let r=!1;this._dataCheck();const i=n._stacked;n._stacked=xe(n.vScale,n),n.stack!==e.stack&&(r=!0,Se(n),n.stack=e.stack),this._resyncElements(t),(r||i!==n._stacked)&&ze(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),e=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(e,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:e,_data:r}=this,{iScale:i,_stacked:o}=e,u=i.axis;let c,l,h,p=0===t&&n===r.length||e._sorted,f=t>0&&e._parsed[t-1];if(!1===this._parsing)e._parsed=r,e._sorted=!0,h=r;else{h=s(r[t])?this.parseArrayData(e,r,t,n):a(r[t])?this.parseObjectData(e,r,t,n):this.parsePrimitiveData(e,r,t,n);const i=()=>null===l[u]||f&&l[u]t&&!n.hidden&&n._stacked&&{keys:be(e,!0),values:null})(n,e,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:l,max:h}=function(t){const{min:n,max:e,minDefined:r,maxDefined:i}=t.getUserBounds();return{min:r?n:Number.NEGATIVE_INFINITY,max:i?e:Number.POSITIVE_INFINITY}}(s);let p,f;function _(){f=r[p];const n=f[s.axis];return!u(f[t.axis])||l>n||h=0;--p)if(!_()){this.updateRangeFromParsed(c,t,f,a);break}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,e=[];let r,i,o;for(r=0,i=n.length;r=0&&tthis.getContext(e,r)),l);return f.$shared&&(f.$shared=a,i[o]=Object.freeze(Oe(f,a))),f}_resolveAnimations(t,n,e){const r=this.chart,i=this._cachedDataOpts,o=`animation-${n}`,s=i[o];if(s)return s;let a;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,n),o=r.getOptionScopes(this.getDataset(),i);a=r.createResolver(o,this.getContext(t,e,n))}const u=new ge(r,a&&a.animations);return a&&a._cacheable&&(i[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||qe(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const e=this.resolveDataElementOptions(t,n),r=this._sharedOptions,i=this.getSharedOptions(e),o=this.includeOptions(n,i)||i!==r;return this.updateSharedOptions(i,n,e),{sharedOptions:i,includeOptions:o}}updateElement(t,n,e,r){qe(r)?Object.assign(t,e):this._resolveAnimations(n,r).update(t,e)}updateSharedOptions(t,n,e){t&&!qe(n)&&this._resolveAnimations(void 0,n).update(t,e)}_setStyle(t,n,e,r){t.active=r;const i=this.getStyle(n,r);this._resolveAnimations(n,e,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,n,e){this._setStyle(t,e,"active",!1)}setHoverStyle(t,n,e){this._setStyle(t,e,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,e=this._cachedMeta.data;for(const[t,n,e]of this._syncList)this[t](n,e);this._syncList=[];const r=e.length,i=n.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=n,s=t.length-1;s>=o;s--)t[s]=t[s-n]};for(a(i),s=t;st-n)))}return t._cache.$bar}(n,t.type);let r,i,o,s,a=n._length;const u=()=>{32767!==o&&-32768!==o&&(k(s)&&(a=Math.min(a,Math.abs(o-s)||a)),s=o)};for(r=0,i=e.length;rMath.abs(a)&&(u=a,c=s),n[e.axis]=c,n._custom={barStart:u,barEnd:c,start:i,end:o,min:s,max:a}}(t,n,e,r):n[e.axis]=e.parse(t,r),n}function Ee(t,n,e,r){const i=t.iScale,o=t.vScale,s=i.getLabels(),a=i===o,u=[];let c,l,h,p;for(c=e,l=e+r;ct.x,e="left",r="right"):(n=t.baset.controller.options.grouped)),i=e.options.stacked,s=[],a=t=>{const e=t.controller.getParsed(n),r=e&&e[t.vScale.axis];if(o(r)||isNaN(r))return!0};for(const e of r)if((void 0===n||!a(e))&&((!1===i||-1===s.indexOf(e.stack)||void 0===i&&void 0===e.stack)&&s.push(e.stack),e.index===t))break;return s.length||s.push(void 0),s}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,e){const r=this._getStacks(t,e),i=void 0!==n?r.indexOf(n):-1;return-1===i?r.length-1:i}_getRuler(){const t=this.options,n=this._cachedMeta,e=n.iScale,r=[];let i,o;for(i=0,o=n.data.length;i=e?1:-1)}(h,n,s)*i,p===s&&(v-=h/2);const t=n.getPixelForDecimal(0),e=n.getPixelForDecimal(1),r=Math.min(t,e),o=Math.max(t,e);v=Math.max(Math.min(v,o),r),l=v+h}if(v===n.getPixelForValue(s)){const t=D(h)*n.getLineWidthForValue(s)/2;v+=t,h-=t}return{size:h,base:v,head:l,center:l+h/2}}_calculateBarIndexPixels(t,n){const e=n.scale,r=this.options,i=r.skipNull,s=l(r.maxBarThickness,1/0);let a,u;if(n.grouped){const e=i?this._getStackCount(t):n.stackCount,c="flex"===r.barThickness?function(t,n,e,r){const i=n.pixels,o=i[t];let s=t>0?i[t-1]:null,a=t=0;--e)n=Math.max(n,t[e].size(this.resolveDataElementOptions(e))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,{xScale:e,yScale:r}=n,i=this.getParsed(t),o=e.getLabelForValue(i.x),s=r.getLabelForValue(i.y),a=i._custom;return{label:n.label,value:"("+o+", "+s+(a?", "+a:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,e,r){const i="reset"===r,{iScale:o,vScale:s}=this._cachedMeta,{sharedOptions:a,includeOptions:u}=this._getSharedOptions(n,r),c=o.axis,l=s.axis;for(let h=n;h""}}}};class Fe extends Pe{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const e=this.getDataset().data,r=this._cachedMeta;if(!1===this._parsing)r._parsed=e;else{let i,o,s=t=>+e[t];if(a(e[t])){const{key:t="value"}=this._parsing;s=n=>+w(e[n],t)}for(i=t,o=t+n;iK(t,a,u,!0)?1:Math.max(n,n*e,r,r*e),_=(t,n,r)=>K(t,a,u,!0)?-1:Math.min(n,n*e,r,r*e),d=f(0,c,h),v=f(M,l,p),y=_(C,c,h),m=_(C+M,l,p);r=(d-y)/2,i=(v-m)/2,o=-(d+y)/2,s=-(v+m)/2}return{ratioX:r,ratioY:i,offsetX:o,offsetY:s}}(f,p,a),m=(e.width-o)/_,g=(e.height-o)/d,$=Math.max(Math.min(m,g)/2,0),b=h(this.options.radius,$),w=(b-Math.max(b*a,0))/this._getVisibleDatasetWeightTotal();this.offsetX=v*b,this.offsetY=y*b,r.total=this.calculateTotal(),this.outerRadius=b-w*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-w*l,0),this.updateElements(i,0,i.length,t)}_circumference(t,n){const e=this.options,r=this._cachedMeta,i=this._getCircumference();return n&&e.animation.animateRotate||!this.chart.getDataVisibility(t)||null===r._parsed[t]||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*i/S)}updateElements(t,n,e,r){const i="reset"===r,o=this.chart,s=o.chartArea,a=o.options.animation,u=(s.left+s.right)/2,c=(s.top+s.bottom)/2,l=i&&a.animateScale,h=l?0:this.innerRadius,p=l?0:this.outerRadius,{sharedOptions:f,includeOptions:_}=this._getSharedOptions(n,r);let d,v=this._getRotation();for(d=0;d0&&!isNaN(t)?S*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,e=this.chart,r=e.data.labels||[],i=ie(n._parsed[t],e.options.locale);return{label:r[t]||"",value:i}}getMaxBorderWidth(t){let n=0;const e=this.chart;let r,i,o,s,a;if(!t)for(r=0,i=e.data.datasets.length;r"spacing"!==t,_indexable:t=>"spacing"!==t},Fe.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:e}}=t.legend.options;return n.labels.map(((n,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:e,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,n,e){e.chart.toggleDataVisibility(n.index),e.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let n=t.label;const e=": "+t.formattedValue;return s(n)?(n=n.slice(),n[0]+=e):n+=e,n}}}}};class He extends Pe{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:e,data:r=[],_dataset:i}=n,o=this.chart._animationsDisabled;let{start:s,count:a}=at(n,r,o);this._drawStart=s,this._drawCount=a,ut(n)&&(s=0,a=r.length),e._chart=this.chart,e._datasetIndex=this.index,e._decimated=!!i._decimated,e.points=r;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(e,void 0,{animated:!o,options:u},t),this.updateElements(r,s,a,t)}updateElements(t,n,e,r){const i="reset"===r,{iScale:s,vScale:a,_stacked:u,_dataset:c}=this._cachedMeta,{sharedOptions:l,includeOptions:h}=this._getSharedOptions(n,r),p=s.axis,f=a.axis,{spanGaps:_,segment:d}=this.options,v=B(_)?_:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||i||"none"===r;let m=n>0&&this.getParsed(n-1);for(let _=n;_0&&Math.abs(e[p]-m[p])>v,d&&(g.parsed=e,g.raw=c.data[_]),h&&(g.options=l||this.resolveDataElementOptions(_,n.active?"active":r)),y||this.updateElement(n,_,g,r),m=e}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,e=n.options&&n.options.borderWidth||0,r=t.data||[];if(!r.length)return e;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(e,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}He.id="line",He.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},He.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class Ue extends Pe{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,e=this.chart,r=e.data.labels||[],i=ie(n._parsed[t].r,e.options.locale);return{label:r[t]||"",value:i}}parseObjectData(t,n,e,r){return Dn.bind(this)(t,n,e,r)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,e)=>{const r=this.getParsed(e).r;!isNaN(r)&&this.chart.getDataVisibility(e)&&(rn.max&&(n.max=r))})),n}_updateRadius(){const t=this.chart,n=t.chartArea,e=t.options,r=Math.min(n.right-n.left,n.bottom-n.top),i=Math.max(r/2,0),o=(i-Math.max(e.cutoutPercentage?i/100*e.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=i-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,n,e,r){const i="reset"===r,o=this.chart,s=o.options.animation,a=this._cachedMeta.rScale,u=a.xCenter,c=a.yCenter,l=a.getIndexAngle(0)-.5*C;let h,p=l;const f=360/this.countVisibleElements();for(h=0;h{!isNaN(this.getParsed(e).r)&&this.chart.getDataVisibility(e)&&n++})),n}_computeAngle(t,n,e){return this.chart.getDataVisibility(t)?R(this.resolveDataElementOptions(t,n).angle||e):0}}Ue.id="polarArea",Ue.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},Ue.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:e}}=t.legend.options;return n.labels.map(((n,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:e,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,n,e){e.chart.toggleDataVisibility(n.index),e.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class Ve extends Fe{}Ve.id="pie",Ve.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class We extends Pe{getLabelAndValue(t){const n=this._cachedMeta.vScale,e=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(e[n.axis])}}parseObjectData(t,n,e,r){return Dn.bind(this)(t,n,e,r)}update(t){const n=this._cachedMeta,e=n.dataset,r=n.data||[],i=n.iScale.getLabels();if(e.points=r,"resize"!==t){const n=this.resolveDatasetElementOptions(t);this.options.showLine||(n.borderWidth=0);const o={_loop:!0,_fullLoop:i.length===r.length,options:n};this.updateElement(e,void 0,o,t)}this.updateElements(r,0,r.length,t)}updateElements(t,n,e,r){const i=this._cachedMeta.rScale,o="reset"===r;for(let s=n;s{r[t]=e[t]&&e[t].active()?e[t]._to:this[t]})),r}}Je.defaults={},Je.defaultRoutes=void 0;const Ke={values:t=>s(t)?t:""+t,numeric(t,n,e){if(0===t)return"0";const r=this.chart.options.locale;let i,o=t;if(e.length>1){const n=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(n<1e-4||n>1e15)&&(i="scientific"),o=function(t,n){let e=n.length>3?n[2].value-n[1].value:n[1].value-n[0].value;return Math.abs(e)>=1&&t!==Math.floor(t)&&(e=t-Math.floor(t)),e}(t,e)}const s=I(Math.abs(o)),a=Math.max(Math.min(-1*Math.floor(s),20),0),u={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(u,this.options.ticks.format),ie(t,r,u)},logarithmic(t,n,e){if(0===t)return"0";const r=t/Math.pow(10,Math.floor(I(t)));return 1===r||2===r||5===r?Ke.numeric.call(this,t,n,e):""}};var Ye={formatters:Ke};function Ge(t,n,e,r,i){const o=l(r,0),s=Math.min(l(i,t.length),t.length);let a,u,c,h=0;for(e=Math.ceil(e),i&&(a=i-r,e=a/Math.floor(a/e)),c=o;c<0;)h++,c=Math.round(o+h*e);for(u=Math.max(o,0);un.lineWidth,tickColor:(t,n)=>n.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ye.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),Xt.route("scale.ticks","color","","color"),Xt.route("scale.grid","color","","borderColor"),Xt.route("scale.grid","borderColor","","borderColor"),Xt.route("scale.title","color","","color"),Xt.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),Xt.describe("scales",{_fallback:"scale"}),Xt.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Xe=(t,n,e)=>"top"===n||"left"===n?t[n]+e:t[n]-e;function Ze(t,n){const e=[],r=t.length/n,i=t.length;let o=0;for(;os+a)))return c}function tr(t){return t.drawTicks?t.tickLength:0}function nr(t,n){if(!t.display)return 0;const e=$n(t.font,n),r=gn(t.padding);return(s(t.text)?t.text.length:1)*e.lineHeight+r.height}function er(t,n,e){let r=ot(t);return(e&&"right"!==n||!e&&"right"===n)&&(r=(t=>"left"===t?"right":"right"===t?"left":t)(r)),r}class rr extends Je{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:e,_suggestedMax:r}=this;return t=c(t,Number.POSITIVE_INFINITY),n=c(n,Number.NEGATIVE_INFINITY),e=c(e,Number.POSITIVE_INFINITY),r=c(r,Number.NEGATIVE_INFINITY),{min:c(t,e),max:c(n,r),minDefined:u(t),maxDefined:u(n)}}getMinMax(t){let n,{min:e,max:r,minDefined:i,maxDefined:o}=this.getUserBounds();if(i&&o)return{min:e,max:r};const s=this.getMatchingVisibleMetas();for(let a=0,u=s.length;ar?r:e,r=i&&e>r?e:r,{min:c(e,c(r,e)),max:c(r,c(e,r))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){p(this.options.beforeUpdate,[this])}update(t,n,e){const{beginAtZero:r,grace:i,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=e=Object.assign({left:0,right:0,top:0,bottom:0},e),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+e.left+e.right:this.height+e.top+e.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(t,n,e){const{min:r,max:i}=t,o=h(n,(i-r)/2),s=(t,n)=>e&&0===t?0:t+n;return{min:s(r,-Math.abs(o)),max:s(i,o)}}(this,i,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=ar)return function(t,n,e,r){let i,o=0,s=e[0];for(r=Math.ceil(r),i=0;it-n)).pop(),n}(r);for(let t=0,n=o.length-1;ti)return n}return Math.max(i,1)}(i,n,r);if(s>0){let t,e;const r=s>1?Math.round((u-a)/(s-1)):null;for(Ge(n,c,l,o(r)?0:a-r,a),t=0,e=s-1;t=i||e<=1||!this.isHorizontal())return void(this.labelRotation=r);const c=this._getLabelSizes(),l=c.widest.width,h=c.highest.height,p=Y(this.chart.width-l,0,this.maxWidth);o=t.offset?this.maxWidth/e:p/(e-1),l+6>o&&(o=p/(e-(t.offset?.5:1)),s=this.maxHeight-tr(t.grid)-n.padding-nr(t.title,this.chart.options.font),a=Math.sqrt(l*l+h*h),u=F(Math.min(Math.asin(Y((c.highest.height+6)/o,-1,1)),Math.asin(Y(s/a,-1,1))-Math.asin(Y(h/a,-1,1)))),u=Math.max(r,Math.min(i,u))),this.labelRotation=u}afterCalculateLabelRotation(){p(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){p(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:e,title:r,grid:i}}=this,o=this._isVisible(),s=this.isHorizontal();if(o){const o=nr(r,n.options.font);if(s?(t.width=this.maxWidth,t.height=tr(i)+o):(t.height=this.maxHeight,t.width=tr(i)+o),e.display&&this.ticks.length){const{first:n,last:r,widest:i,highest:o}=this._getLabelSizes(),a=2*e.padding,u=R(this.labelRotation),c=Math.cos(u),l=Math.sin(u);if(s){const n=e.mirror?0:l*i.width+c*o.height;t.height=Math.min(this.maxHeight,t.height+n+a)}else{const n=e.mirror?0:c*i.width+l*o.height;t.width=Math.min(this.maxWidth,t.width+n+a)}this._calculatePadding(n,r,l,c)}}this._handleMargins(),s?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,e,r){const{ticks:{align:i,padding:o},position:s}=this.options,a=0!==this.labelRotation,u="top"!==s&&"x"===this.axis;if(this.isHorizontal()){const s=this.getPixelForTick(0)-this.left,c=this.right-this.getPixelForTick(this.ticks.length-1);let l=0,h=0;a?u?(l=r*t.width,h=e*n.height):(l=e*t.height,h=r*n.width):"start"===i?h=n.width:"end"===i?l=t.width:"inner"!==i&&(l=t.width/2,h=n.width/2),this.paddingLeft=Math.max((l-s+o)*this.width/(this.width-s),0),this.paddingRight=Math.max((h-c+o)*this.width/(this.width-c),0)}else{let e=n.height/2,r=t.height/2;"start"===i?(e=0,r=t.height):"end"===i&&(e=n.height,r=0),this.paddingTop=e+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){p(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return"top"===n||"bottom"===n||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let n,e;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),n=0,e=t.length;n{const e=t.gc,r=e.length/2;let i;if(r>n){for(i=0;i({width:i[t]||0,height:a[t]||0});return{first:k(0),last:k(n-1),widest:k(w),highest:k(x),widths:i,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Y(this._alignToPixels?tn(this.chart,n,0):n,-32768,32767)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ts*r?s/e:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,e=this.chart,r=this.options,{grid:i,position:o}=r,s=i.offset,u=this.isHorizontal(),c=this.ticks.length+(s?1:0),h=tr(i),p=[],f=i.setContext(this.getContext()),_=f.drawBorder?f.borderWidth:0,d=_/2,v=function(t){return tn(e,t,_)};let y,m,g,$,b,w,x,k,j,z,C,S;if("top"===o)y=v(this.bottom),w=this.bottom-h,k=y-d,z=v(t.top)+d,S=t.bottom;else if("bottom"===o)y=v(this.top),z=t.top,S=v(t.bottom)-d,w=y+d,k=this.top+h;else if("left"===o)y=v(this.right),b=this.right-h,x=y-d,j=v(t.left)+d,C=t.right;else if("right"===o)y=v(this.left),j=t.left,C=v(t.right)-d,b=y+d,x=this.left+h;else if("x"===n){if("center"===o)y=v((t.top+t.bottom)/2+.5);else if(a(o)){const t=Object.keys(o)[0],n=o[t];y=v(this.chart.scales[t].getPixelForValue(n))}z=t.top,S=t.bottom,w=y+d,k=w+h}else if("y"===n){if("center"===o)y=v((t.left+t.right)/2);else if(a(o)){const t=Object.keys(o)[0],n=o[t];y=v(this.chart.scales[t].getPixelForValue(n))}b=y-d,x=b-h,j=t.left,C=t.right}const q=l(r.ticks.maxTicksLimit,c),O=Math.max(1,Math.ceil(c/q));for(m=0;mn.value===t));return e>=0?n.setContext(this.getContext(e)).lineWidth:0}drawGrid(t){const n=this.options.grid,e=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const s=(t,n,r)=>{r.width&&r.color&&(e.save(),e.lineWidth=r.width,e.strokeStyle=r.color,e.setLineDash(r.borderDash||[]),e.lineDashOffset=r.borderDashOffset,e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(n.x,n.y),e.stroke(),e.restore())};if(n.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:e+1,draw:()=>{this.drawBorder()}},{z:n,draw:t=>{this.drawLabels(t)}}]:[{z:n,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),e=this.axis+"AxisID",r=[];let i,o;for(i=0,o=n.length;i{const r=e.split("."),i=r.pop(),o=[t].concat(r).join("."),s=n[e].split("."),a=s.pop(),u=s.join(".");Xt.route(o,i,u,a)}))}(n,t.defaultRoutes),t.descriptors&&Xt.describe(n,t.descriptors)}(t,o,e),this.override&&Xt.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const n=this.items,e=t.id,r=this.scope;e in n&&delete n[e],r&&e in Xt[r]&&(delete Xt[r][e],this.override&&delete Jt[e])}}var or=new class{constructor(){this.controllers=new ir(Pe,"datasets",!0),this.elements=new ir(Je,"elements"),this.plugins=new ir(Object,"plugins"),this.scales=new ir(rr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,e){[...n].forEach((n=>{const r=e||this._getRegistryForType(n);e||r.isForType(n)||r===this.plugins&&n.id?this._exec(t,r,n):f(n,(n=>{const r=e||this._getRegistryForType(n);this._exec(t,r,n)}))}))}_exec(t,n,e){const r=x(t);p(e["before"+r],[],e),n[t](e),p(e["after"+r],[],e)}_getRegistryForType(t){for(let n=0;n0&&this.getParsed(n-1);for(let l=n;l0&&Math.abs(e[f]-g[f])>y,v&&(d.parsed=e,d.raw=c.data[l]),p&&(d.options=h||this.resolveDataElementOptions(l,n.active?"active":r)),m||this.updateElement(n,l,d,r),g=e}this.updateSharedOptions(h,r,l)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let t=0;for(let e=n.length-1;e>=0;--e)t=Math.max(t,n[e].size(this.resolveDataElementOptions(e))/2);return t>0&&t}const e=t.dataset,r=e.options&&e.options.borderWidth||0;if(!n.length)return r;const i=n[0].size(this.resolveDataElementOptions(0)),o=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(r,i,o)/2}}sr.id="scatter",sr.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},sr.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var ar=Object.freeze({__proto__:null,BarController:Ne,BubbleController:Re,DoughnutController:Fe,LineController:He,PolarAreaController:Ue,PieController:Ve,RadarController:We,ScatterController:sr});function ur(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class cr{constructor(t){this.options=t||{}}init(t){}formats(){return ur()}parse(t,n){return ur()}format(t,n){return ur()}add(t,n,e){return ur()}diff(t,n,e){return ur()}startOf(t,n,e){return ur()}endOf(t,n){return ur()}}cr.override=function(t){Object.assign(cr.prototype,t)};var lr={_date:cr};function hr(t,n,e,r){const{controller:i,data:o,_sorted:s}=t,a=i._cachedMeta.iScale;if(a&&n===a.axis&&"r"!==n&&s&&o.length){const t=a._reversePixels?Q:Z;if(!r)return t(o,n,e);if(i._sharedOptions){const r=o[0],i="function"==typeof r.getRange&&r.getRange(n);if(i){const r=t(o,n,e-i),s=t(o,n,e+i);return{lo:r.lo,hi:s.hi}}}}return{lo:0,hi:o.length-1}}function pr(t,n,e,r,i){const o=t.getSortedVisibleDatasetMetas(),s=e[n];for(let t=0,e=o.length;t{t[s](n[e],i)&&(o.push({element:t,datasetIndex:r,index:u}),a=a||t.inRange(n.x,n.y,i))})),r&&!a?[]:o}var vr={evaluateInteractionItems:pr,modes:{index(t,n,e,r){const i=Yn(n,t),o=e.axis||"x",s=e.includeInvisible||!1,a=e.intersect?fr(t,i,o,r,s):_r(t,i,o,!1,r,s),u=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const n=a[0].index,e=t.data[n];e&&!e.skip&&u.push({element:e,datasetIndex:t.index,index:n})})),u):[]},dataset(t,n,e,r){const i=Yn(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;let a=e.intersect?fr(t,i,o,r,s):_r(t,i,o,!1,r,s);if(a.length>0){const n=a[0].datasetIndex,e=t.getDatasetMeta(n).data;a=[];for(let t=0;tfr(t,Yn(n,t),e.axis||"xy",r,e.includeInvisible||!1),nearest(t,n,e,r){const i=Yn(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;return _r(t,i,o,e.intersect,r,s)},x:(t,n,e,r)=>dr(t,Yn(n,t),"x",e.intersect,r),y:(t,n,e,r)=>dr(t,Yn(n,t),"y",e.intersect,r)}};const yr=["left","top","right","bottom"];function mr(t,n){return t.filter((t=>t.pos===n))}function gr(t,n){return t.filter((t=>-1===yr.indexOf(t.pos)&&t.box.axis===n))}function $r(t,n){return t.sort(((t,e)=>{const r=n?e:t,i=n?t:e;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function br(t,n,e,r){return Math.max(t[e],n[e])+Math.max(t[r],n[r])}function wr(t,n){t.top=Math.max(t.top,n.top),t.left=Math.max(t.left,n.left),t.bottom=Math.max(t.bottom,n.bottom),t.right=Math.max(t.right,n.right)}function xr(t,n,e,r){const{pos:i,box:o}=e,s=t.maxPadding;if(!a(i)){e.size&&(t[i]-=e.size);const n=r[e.stack]||{size:0,count:1};n.size=Math.max(n.size,e.horizontal?o.height:o.width),e.size=n.size/n.count,t[i]+=e.size}o.getPadding&&wr(s,o.getPadding());const u=Math.max(0,n.outerWidth-br(s,t,"left","right")),c=Math.max(0,n.outerHeight-br(s,t,"top","bottom")),l=u!==t.w,h=c!==t.h;return t.w=u,t.h=c,e.horizontal?{same:l,other:h}:{same:h,other:l}}function kr(t,n){const e=n.maxPadding;return function(t){const r={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{r[t]=Math.max(n[t],e[t])})),r}(t?["left","right"]:["top","bottom"])}function jr(t,n,e,r){const i=[];let o,s,a,u,c,l;for(o=0,s=t.length,c=0;ot.box.fullSize)),!0),r=$r(mr(n,"left"),!0),i=$r(mr(n,"right")),o=$r(mr(n,"top"),!0),s=$r(mr(n,"bottom")),a=gr(n,"x"),u=gr(n,"y");return{fullSize:e,leftAndTop:r.concat(o),rightAndBottom:i.concat(u).concat(s).concat(a),chartArea:mr(n,"chartArea"),vertical:r.concat(i).concat(u),horizontal:o.concat(s).concat(a)}}(t.boxes),u=a.vertical,c=a.horizontal;f(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const l=u.reduce(((t,n)=>n.box.options&&!1===n.box.options.display?t:t+1),0)||1,h=Object.freeze({outerWidth:n,outerHeight:e,padding:i,availableWidth:o,availableHeight:s,vBoxMaxWidth:o/2/l,hBoxMaxHeight:s/2}),p=Object.assign({},i);wr(p,gn(r));const _=Object.assign({maxPadding:p,w:o,h:s,x:i.left,y:i.top},i),d=function(t,n){const e=function(t){const n={};for(const e of t){const{stack:t,pos:r,stackWeight:i}=e;if(!t||!yr.includes(r))continue;const o=n[t]||(n[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=i}return n}(t),{vBoxMaxWidth:r,hBoxMaxHeight:i}=n;let o,s,a;for(o=0,s=t.length;o{const e=n.box;Object.assign(e,t.chartArea),e.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})}))}};class qr{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,e){}removeEventListener(t,n,e){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,e,r){return n=Math.max(0,n||t.width),e=e||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):e)}}isAttached(t){return!0}updateConfig(t){}}class Or extends qr{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Pr={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Mr=t=>null===t||""===t,Ar=!!Zn&&{passive:!0};function Er(t,n,e){t.canvas.removeEventListener(n,e,Ar)}function Ir(t,n){for(const e of t)if(e===n||e.contains(n))return!0}function Dr(t,n,e){const r=t.canvas,i=new MutationObserver((t=>{let n=!1;for(const e of t)n=n||Ir(e.addedNodes,r),n=n&&!Ir(e.removedNodes,r);n&&e()}));return i.observe(document,{childList:!0,subtree:!0}),i}function Tr(t,n,e){const r=t.canvas,i=new MutationObserver((t=>{let n=!1;for(const e of t)n=n||Ir(e.removedNodes,r),n=n&&!Ir(e.addedNodes,r);n&&e()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Br=new Map;let Lr=0;function Nr(){const t=window.devicePixelRatio;t!==Lr&&(Lr=t,Br.forEach(((n,e)=>{e.currentDevicePixelRatio!==t&&n()})))}function Rr(t,n,e){const r=t.canvas,i=r&&Un(r);if(!i)return;const o=it(((t,n)=>{const r=i.clientWidth;e(t,n),r{const n=t[0],e=n.contentRect.width,r=n.contentRect.height;0===e&&0===r||o(e,r)}));return s.observe(i),function(t,n){Br.size||window.addEventListener("resize",Nr),Br.set(t,n)}(t,o),s}function Fr(t,n,e){e&&e.disconnect(),"resize"===n&&function(t){Br.delete(t),Br.size||window.removeEventListener("resize",Nr)}(t)}function Hr(t,n,e){const r=t.canvas,i=it((n=>{null!==t.ctx&&e(function(t,n){const e=Pr[t.type]||t.type,{x:r,y:i}=Yn(t,n);return{type:e,chart:n,native:t,x:void 0!==r?r:null,y:void 0!==i?i:null}}(n,t))}),t,(t=>{const n=t[0];return[n,n.offsetX,n.offsetY]}));return function(t,n,e){t.addEventListener(n,e,Ar)}(r,n,i),i}class Ur extends qr{acquireContext(t,n){const e=t&&t.getContext&&t.getContext("2d");return e&&e.canvas===t?(function(t,n){const e=t.style,r=t.getAttribute("height"),i=t.getAttribute("width");if(t.$chartjs={initial:{height:r,width:i,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Mr(i)){const n=Qn(t,"width");void 0!==n&&(t.width=n)}if(Mr(r))if(""===t.style.height)t.height=t.width/(n||2);else{const n=Qn(t,"height");void 0!==n&&(t.height=n)}}(t,n),e):null}releaseContext(t){const n=t.canvas;if(!n.$chartjs)return!1;const e=n.$chartjs.initial;["height","width"].forEach((t=>{const r=e[t];o(r)?n.removeAttribute(t):n.setAttribute(t,r)}));const r=e.style||{};return Object.keys(r).forEach((t=>{n.style[t]=r[t]})),n.width=n.width,delete n.$chartjs,!0}addEventListener(t,n,e){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),i={attach:Dr,detach:Tr,resize:Rr}[n]||Hr;r[n]=i(t,n,e)}removeEventListener(t,n){const e=t.$proxies||(t.$proxies={}),r=e[n];r&&(({attach:Fr,detach:Fr,resize:Fr}[n]||Er)(t,n,r),e[n]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,e,r){return function(t,n,e,r){const i=Wn(t),o=Kn(i,"margin"),s=Vn(i.maxWidth,t,"clientWidth")||O,a=Vn(i.maxHeight,t,"clientHeight")||O,u=function(t,n,e){let r,i;if(void 0===n||void 0===e){const o=Un(t);if(o){const t=o.getBoundingClientRect(),s=Wn(o),a=Kn(s,"border","width"),u=Kn(s,"padding");n=t.width-u.width-a.width,e=t.height-u.height-a.height,r=Vn(s.maxWidth,o,"clientWidth"),i=Vn(s.maxHeight,o,"clientHeight")}else n=t.clientWidth,e=t.clientHeight}return{width:n,height:e,maxWidth:r||O,maxHeight:i||O}}(t,n,e);let{width:c,height:l}=u;if("content-box"===i.boxSizing){const t=Kn(i,"border","width"),n=Kn(i,"padding");c-=n.width+t.width,l-=n.height+t.height}return c=Math.max(0,c-o.width),l=Math.max(0,r?Math.floor(c/r):l-o.height),c=Gn(Math.min(c,s,u.maxWidth)),l=Gn(Math.min(l,a,u.maxHeight)),c&&!l&&(l=Gn(c/2)),{width:c,height:l}}(t,n,e,r)}isAttached(t){const n=Un(t);return!(!n||!n.isConnected)}}function Vr(t){return!Hn()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Or:Ur}class Wr{constructor(){this._init=[]}notify(t,n,e,r){"beforeInit"===n&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const i=r?this._descriptors(t).filter(r):this._descriptors(t),o=this._notify(i,t,n,e);return"afterDestroy"===n&&(this._notify(i,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,n,e,r){r=r||{};for(const i of t){const t=i.plugin;if(!1===p(t[e],[n,r,i.options],t)&&r.cancelable)return!1}return!0}invalidate(){o(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const e=t&&t.config,r=l(e.options&&e.options.plugins,{}),i=function(t){const n={},e=[],r=Object.keys(or.plugins.items);for(let t=0;tt.filter((t=>!n.some((n=>t.plugin.id===n.plugin.id))));this._notify(r(n,e),t,"stop"),this._notify(r(e,n),t,"start")}}function Jr(t,n){return n||!1!==t?!0===t?{}:t:null}function Kr(t,{plugin:n,local:e},r,i){const o=t.pluginScopeKeys(n),s=t.getOptionScopes(r,o);return e&&n.defaults&&s.push(n.defaults),t.createResolver(s,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Yr(t,n){const e=Xt.datasets[t]||{};return((n.datasets||{})[t]||{}).indexAxis||n.indexAxis||e.indexAxis||"x"}function Gr(t,n){return"x"===t||"y"===t?t:n.axis||("top"===(e=n.position)||"bottom"===e?"x":"left"===e||"right"===e?"y":void 0)||t.charAt(0).toLowerCase();var e}function Xr(t){const n=t.options||(t.options={});n.plugins=l(n.plugins,{}),n.scales=function(t,n){const e=Jt[t.type]||{scales:{}},r=n.scales||{},i=Yr(t.type,n),o=Object.create(null),s=Object.create(null);return Object.keys(r).forEach((t=>{const n=r[t];if(!a(n))return console.error(`Invalid scale configuration for scale: ${t}`);if(n._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const u=Gr(t,n),c=function(t,n){return t===n?"_index_":"_value_"}(u,i),l=e.scales||{};o[u]=o[u]||t,s[t]=g(Object.create(null),[{axis:u},n,l[u],l[c]])})),t.data.datasets.forEach((e=>{const i=e.type||t.type,a=e.indexAxis||Yr(i,n),u=(Jt[i]||{}).scales||{};Object.keys(u).forEach((t=>{const n=function(t,n){let e=t;return"_index_"===t?e=n:"_value_"===t&&(e="x"===n?"y":"x"),e}(t,a),i=e[n+"AxisID"]||o[n]||n;s[i]=s[i]||Object.create(null),g(s[i],[{axis:n},r[i],u[t]])}))})),Object.keys(s).forEach((t=>{const n=s[t];g(n,[Xt.scales[n.type],Xt.scale])})),s}(t,n)}function Zr(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const Qr=new Map,ti=new Set;function ni(t,n){let e=Qr.get(t);return e||(e=n(),Qr.set(t,e),ti.add(e)),e}const ei=(t,n,e)=>{const r=w(n,e);void 0!==r&&t.add(r)};class ri{constructor(t){this._config=function(t){return(t=t||{}).data=Zr(t.data),Xr(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Zr(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Xr(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return ni(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,n){return ni(`${t}.transition.${n}`,(()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,n){return ni(`${t}-${n}`,(()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]]))}pluginScopeKeys(t){const n=t.id;return ni(`${this.type}-plugin-${n}`,(()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,n){const e=this._scopeCache;let r=e.get(t);return r&&!n||(r=new Map,e.set(t,r)),r}getOptionScopes(t,n,e){const{options:r,type:i}=this,o=this._cachedScopes(t,e),s=o.get(n);if(s)return s;const a=new Set;n.forEach((n=>{t&&(a.add(t),n.forEach((n=>ei(a,t,n)))),n.forEach((t=>ei(a,r,t))),n.forEach((t=>ei(a,Jt[i]||{},t))),n.forEach((t=>ei(a,Xt,t))),n.forEach((t=>ei(a,Kt,t)))}));const u=Array.from(a);return 0===u.length&&u.push(Object.create(null)),ti.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Jt[n]||{},Xt.datasets[n]||{},{type:n},Xt,Kt]}resolveNamedOptions(t,n,e,r=[""]){const i={$shared:!0},{resolver:o,subPrefixes:a}=ii(this._resolverCache,t,r);let u=o;(function(t,n){const{isScriptable:e,isIndexable:r}=jn(t);for(const i of n){const n=e(i),o=r(i),a=(o||n)&&t[i];if(n&&(j(a)||oi(a))||o&&s(a))return!0}return!1})(o,n)&&(i.$shared=!1,u=kn(o,e=j(e)?e():e,this.createResolver(t,e,a)));for(const t of n)i[t]=u[t];return i}createResolver(t,n,e=[""],r){const{resolver:i}=ii(this._resolverCache,t,e);return a(n)?kn(i,n,void 0,r):i}}function ii(t,n,e){let r=t.get(n);r||(r=new Map,t.set(n,r));const i=e.join();let o=r.get(i);return o||(o={resolver:xn(n,e),subPrefixes:e.filter((t=>!t.toLowerCase().includes("hover")))},r.set(i,o)),o}const oi=t=>a(t)&&Object.getOwnPropertyNames(t).reduce(((n,e)=>n||j(t[e])),!1),si=["top","bottom","left","right","chartArea"];function ai(t,n){return"top"===t||"bottom"===t||-1===si.indexOf(t)&&"x"===n}function ui(t,n){return function(e,r){return e[t]===r[t]?e[n]-r[n]:e[t]-r[t]}}function ci(t){const n=t.chart,e=n.options.animation;n.notifyPlugins("afterRender"),p(e&&e.onComplete,[t],n)}function li(t){const n=t.chart,e=n.options.animation;p(e&&e.onProgress,[t],n)}function hi(t){return Hn()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const pi={},fi=t=>{const n=hi(t);return Object.values(pi).filter((t=>t.canvas===n)).pop()};function _i(t,n,e){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=n){const o=t[i];delete t[i],(e>0||r>n)&&(t[r+e]=o)}}}class di{constructor(t,n){const e=this.config=new ri(n),r=hi(t),o=fi(r);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const s=e.createResolver(e.chartOptionScopes(),this.getContext());this.platform=new(e.platform||Vr(r)),this.platform.updateConfig(e);const a=this.platform.acquireContext(r,s.aspectRatio),u=a&&a.canvas,c=u&&u.height,l=u&&u.width;this.id=i(),this.ctx=a,this.canvas=u,this.width=l,this.height=c,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Wr,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(t,n){let e;return function(...r){return n?(clearTimeout(e),e=setTimeout(t,n,r)):t.apply(this,r),n}}((t=>this.update(t)),s.resizeDelay||0),this._dataChanges=[],pi[this.id]=this,a&&u?(_e.listen(this,"complete",ci),_e.listen(this,"progress",li),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:e,height:r,_aspectRatio:i}=this;return o(t)?n&&i?i:r?e/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Xn(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return nn(this.canvas,this.ctx),this}stop(){return _e.stop(this),this}resize(t,n){_e.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const e=this.options,r=this.canvas,i=e.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,i),s=e.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Xn(this,s,!0)&&(this.notifyPlugins("resize",{size:o}),p(e.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){f(this.options.scales||{},((t,n)=>{t.id=n}))}buildOrUpdateScales(){const t=this.options,n=t.scales,e=this.scales,r=Object.keys(e).reduce(((t,n)=>(t[n]=!1,t)),{});let i=[];n&&(i=i.concat(Object.keys(n).map((t=>{const e=n[t],r=Gr(t,e),i="r"===r,o="x"===r;return{options:e,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),f(i,(n=>{const i=n.options,o=i.id,s=Gr(o,i),a=l(i.type,n.dtype);void 0!==i.position&&ai(i.position,s)===ai(n.dposition)||(i.position=n.dposition),r[o]=!0;let u=null;o in e&&e[o].type===a?u=e[o]:(u=new(or.getScale(a))({id:o,type:a,ctx:this.ctx,chart:this}),e[u.id]=u),u.init(i,t)})),f(r,((t,n)=>{t||delete e[n]})),f(e,(t=>{Sr.configure(this,t,t.options),Sr.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,e=t.length;if(t.sort(((t,n)=>t.index-n.index)),e>n){for(let t=n;tn.length&&delete this._stacks,t.forEach(((t,e)=>{0===n.filter((n=>n===t._dataset)).length&&this._destroyDatasetMeta(e)}))}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let e,r;for(this._removeUnreferencedMetasets(),e=0,r=n.length;e{this.getDatasetMeta(n).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const e=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!e.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,n=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(ui("z","_idx"));const{_active:s,_lastEvent:a}=this;a?this._eventHandler(a,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){f(this.scales,(t=>{Sr.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),e=new Set(t.events);z(n,e)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:e,start:r,count:i}of n)_i(t,r,"_removeElements"===e?-i:i)}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,e=n=>new Set(t.filter((t=>t[0]===n)).map(((t,n)=>n+","+t.splice(1).join(",")))),r=e(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Sr.update(this,this.width,this.height,t);const n=this.chartArea,e=n.width<=0||n.height<=0;this._layers=[],f(this.boxes,(t=>{e&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,n)=>{t._idx=n})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,n=this.data.datasets.length;t=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,e=t._clip,r=!e.disabled,i=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(r&&sn(n,{left:!1===e.left?0:i.left-e.left,right:!1===e.right?this.width:i.right+e.right,top:!1===e.top?0:i.top-e.top,bottom:!1===e.bottom?this.height:i.bottom+e.bottom}),t.controller.draw(),r&&an(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return on(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,e,r){const i=vr.modes[n];return"function"==typeof i?i(this,t,e,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],e=this._metasets;let r=e.filter((t=>t&&t._dataset===n)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},e.push(r)),r}getContext(){return this.$context||(this.$context=wn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!n.hidden}setDatasetVisibility(t,n){this.getDatasetMeta(t).hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,e){const r=e?"show":"hide",i=this.getDatasetMeta(t),o=i.controller._resolveAnimations(void 0,r);k(n)?(i.data[n].hidden=!e,this.update()):(this.setDatasetVisibility(t,e),o.update(i,{visible:e}),this.update((n=>n.datasetIndex===t?r:void 0)))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),_e.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,e,r),t[e]=r},r=(t,n,e)=>{t.offsetX=n,t.offsetY=e,this._eventHandler(t)};f(this.options.events,(t=>e(t,r)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,e=(e,r)=>{n.addEventListener(this,e,r),t[e]=r},r=(e,r)=>{t[e]&&(n.removeEventListener(this,e,r),delete t[e])},i=(t,n)=>{this.canvas&&this.resize(t,n)};let o;const s=()=>{r("attach",s),this.attached=!0,this.resize(),e("resize",i),e("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),e("attach",s)},n.isAttached(this.canvas)?s():o()}unbindEvents(){f(this._listeners,((t,n)=>{this.platform.removeEventListener(this,n,t)})),this._listeners={},f(this._responsiveListeners,((t,n)=>{this.platform.removeEventListener(this,n,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,n,e){const r=e?"set":"remove";let i,o,s,a;for("dataset"===n&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),s=0,a=t.length;s{const e=this.getDatasetMeta(t);if(!e)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:e.data[n],index:n}}));!_(e,n)&&(this._active=e,this._lastEvent=null,this._updateHoverStyles(e,n))}notifyPlugins(t,n,e){return this._plugins.notify(this,t,n,e)}_updateHoverStyles(t,n,e){const r=this.options.hover,i=(t,n)=>t.filter((t=>!n.some((n=>t.datasetIndex===n.datasetIndex&&t.index===n.index)))),o=i(n,t),s=e?t:i(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),s.length&&r.mode&&this.updateHoverStyle(s,r.mode,!0)}_eventHandler(t,n){const e={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=n=>(n.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",e,r))return;const i=this._handleEvent(t,n,e.inChartArea);return e.cancelable=!1,this.notifyPlugins("afterEvent",e,r),(i||e.changed)&&this.render(),this}_handleEvent(t,n,e){const{_active:r=[],options:i}=this,o=n,s=this._getActiveElements(t,r,e,o),a=function(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(t),u=function(t,n,e,r){return e&&"mouseout"!==t.type?r?n:t:null}(t,this._lastEvent,e,a);e&&(this._lastEvent=null,p(i.onHover,[t,s,this],this),a&&p(i.onClick,[t,s,this],this));const c=!_(s,r);return(c||n)&&(this._active=s,this._updateHoverStyles(s,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,e,r){if("mouseout"===t.type)return[];if(!e)return n;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}const vi=()=>f(di.instances,(t=>t._plugins.invalidate())),yi=!0;function mi(t,n,e){const{startAngle:r,pixelMargin:i,x:o,y:s,outerRadius:a,innerRadius:u}=n;let c=i/a;t.beginPath(),t.arc(o,s,a,r-c,e+c),u>i?(c=i/u,t.arc(o,s,u,e+c,r-c,!0)):t.arc(o,s,i,e+M,r-M),t.closePath(),t.clip()}function gi(t,n,e,r){return{x:e+t*Math.cos(n),y:r+t*Math.sin(n)}}function $i(t,n,e,r,i,o){const{x:s,y:a,startAngle:u,pixelMargin:c,innerRadius:l}=n,h=Math.max(n.outerRadius+r+e-c,0),p=l>0?l+r+e+c:0;let f=0;const _=i-u;if(r){const t=((l>0?l-r:0)+(h>0?h-r:0))/2;f=(_-(0!==t?_*t/(t+r):_))/2}const d=(_-Math.max(.001,_*h-e/C)/h)/2,v=u+d+f,y=i-d-f,{outerStart:m,outerEnd:g,innerStart:$,innerEnd:b}=function(t,n,e,r){const i=vn(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),o=(e-n)/2,s=Math.min(o,r*n/2),a=t=>{const n=(e-Math.min(o,t))*r/2;return Y(t,0,Math.min(o,n))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:Y(i.innerStart,0,s),innerEnd:Y(i.innerEnd,0,s)}}(n,p,h,y-v),w=h-m,x=h-g,k=v+m/w,j=y-g/x,z=p+$,S=p+b,q=v+$/z,O=y-b/S;if(t.beginPath(),o){if(t.arc(s,a,h,k,j),g>0){const n=gi(x,j,s,a);t.arc(n.x,n.y,g,j,y+M)}const n=gi(S,y,s,a);if(t.lineTo(n.x,n.y),b>0){const n=gi(S,O,s,a);t.arc(n.x,n.y,b,y+M,O+Math.PI)}if(t.arc(s,a,p,y-b/p,v+$/p,!0),$>0){const n=gi(z,q,s,a);t.arc(n.x,n.y,$,q+Math.PI,v-M)}const e=gi(w,v,s,a);if(t.lineTo(e.x,e.y),m>0){const n=gi(w,k,s,a);t.arc(n.x,n.y,m,v-M,k)}}else{t.moveTo(s,a);const n=Math.cos(k)*h+s,e=Math.sin(k)*h+a;t.lineTo(n,e);const r=Math.cos(j)*h+s,i=Math.sin(j)*h+a;t.lineTo(r,i)}t.closePath()}Object.defineProperties(di,{defaults:{enumerable:yi,value:Xt},instances:{enumerable:yi,value:pi},overrides:{enumerable:yi,value:Jt},registry:{enumerable:yi,value:or},version:{enumerable:yi,value:"3.9.1"},getChart:{enumerable:yi,value:fi},register:{enumerable:yi,value:(...t)=>{or.add(...t),vi()}},unregister:{enumerable:yi,value:(...t)=>{or.remove(...t),vi()}}});class bi extends Je{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,n,e){const r=this.getProps(["x","y"],e),{angle:i,distance:o}=U(r,{x:t,y:n}),{startAngle:s,endAngle:a,innerRadius:u,outerRadius:c,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],e),p=this.options.spacing/2,f=l(h,a-s)>=S||K(i,s,a),_=G(o,u+p,c+p);return f&&_}getCenterPoint(t){const{x:n,y:e,startAngle:r,endAngle:i,innerRadius:o,outerRadius:s}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:a,spacing:u}=this.options,c=(r+i)/2,l=(o+s+u+a)/2;return{x:n+Math.cos(c)*l,y:e+Math.sin(c)*l}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:n,circumference:e}=this,r=(n.offset||0)/2,i=(n.spacing||0)/2,o=n.circular;if(this.pixelMargin="inner"===n.borderAlign?.33:0,this.fullCircles=e>S?Math.floor(e/S):0,0===e||this.innerRadius<0||this.outerRadius<0)return;t.save();let s=0;if(r){s=r/2;const n=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(n)*s,Math.sin(n)*s),this.circumference>=C&&(s=r)}t.fillStyle=n.backgroundColor,t.strokeStyle=n.borderColor;const a=function(t,n,e,r,i){const{fullCircles:o,startAngle:s,circumference:a}=n;let u=n.endAngle;if(o){$i(t,n,e,r,s+S,i);for(let n=0;na&&o>a;return{count:r,start:u,loop:n.loop,ilen:c(s+(c?a-t:t))%o,g=()=>{f!==_&&(t.lineTo(v,_),t.lineTo(v,f),t.lineTo(v,d))};for(u&&(h=i[m(0)],t.moveTo(h.x,h.y)),l=0;l<=a;++l){if(h=i[m(l)],h.skip)continue;const n=h.x,e=h.y,r=0|n;r===p?(e_&&(_=e),v=(y*v+n)/++y):(g(),t.lineTo(n,e),p=r,y=0,f=_=e),d=e}g()}function Ci(t){const n=t.options,e=n.borderDash&&n.borderDash.length;return t._decimated||t._loop||n.tension||"monotone"===n.cubicInterpolationMode||n.stepped||e?ji:zi}bi.id="arc",bi.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},bi.defaultRoutes={backgroundColor:"backgroundColor"};const Si="function"==typeof Path2D;class qi extends Je{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const e=this.options;if((e.tension||"monotone"===e.cubicInterpolationMode)&&!e.stepped&&!this._pointsUpdated){const r=e.spanGaps?this._loop:this._fullLoop;Fn(this._points,e,t,r,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(t,n){const e=t.points,r=t.options.spanGaps,i=e.length;if(!i)return[];const o=!!t._loop,{start:s,end:a}=function(t,n,e,r){let i=0,o=n-1;if(e&&!r)for(;ii&&t[o%n].skip;)o--;return o%=n,{start:i,end:o}}(e,i,o,r);return function(t,n,e,r){return r&&r.setContext&&e?function(t,n,e,r){const i=t._chart.getContext(),o=pe(t.options),{_datasetIndex:s,options:{spanGaps:a}}=t,u=e.length,c=[];let l=o,h=n[0].start,p=h;function f(t,n,r,i){const o=a?-1:1;if(t!==n){for(t+=u;e[t%u].skip;)t-=o;for(;e[n%u].skip;)n+=o;t%u!=n%u&&(c.push({start:t%u,end:n%u,loop:r,style:i}),l=i,h=n%u)}}for(const t of n){h=a?h:t.start;let n,o=e[h%u];for(p=h+1;p<=t.end;p++){const a=e[p%u];n=pe(r.setContext(wn(i,{type:"segment",p0:o,p1:a,p0DataIndex:(p-1)%u,p1DataIndex:p%u,datasetIndex:s}))),fe(n,l)&&f(h,p-1,t.loop,l),o=a,l=n}h"borderDash"!==t&&"fill"!==t};class Pi extends Je{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,n,e){const r=this.options,{x:i,y:o}=this.getProps(["x","y"],e);return Math.pow(t-i,2)+Math.pow(n-o,2){Li(t)}))}var Ri={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,n,e)=>{if(!e.enabled)return void Ni(t);const r=t.width;t.data.datasets.forEach(((n,i)=>{const{_data:s,indexAxis:a}=n,u=t.getDatasetMeta(i),c=s||n.data;if("y"===bn([a,t.options.indexAxis]))return;if(!u.controller.supportsDecimation)return;const l=t.scales[u.xAxisID];if("linear"!==l.type&&"time"!==l.type)return;if(t.options.parsing)return;let h,{start:p,count:f}=function(t,n){const e=n.length;let r,i=0;const{iScale:o}=t,{min:s,max:a,minDefined:u,maxDefined:c}=o.getUserBounds();return u&&(i=Y(Z(n,o.axis,s).lo,0,e-1)),r=c?Y(Z(n,o.axis,a).hi+1,i,e)-i:e-i,{start:i,count:r}}(u,c);if(f<=(e.threshold||4*r))Li(n);else{switch(o(s)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),e.algorithm){case"lttb":h=function(t,n,e,r,i){const o=i.samples||r;if(o>=e)return t.slice(n,n+e);const s=[],a=(e-2)/(o-2);let u=0;const c=n+e-1;let l,h,p,f,_,d=n;for(s[u++]=t[d],l=0;lp&&(p=f,h=t[r],_=r);s[u++]=h,d=_}return s[u++]=t[c],s}(c,p,f,r,e);break;case"min-max":h=function(t,n,e,r){let i,s,a,u,c,l,h,p,f,_,d=0,v=0;const y=[],m=n+e-1,g=t[n].x,$=t[m].x-g;for(i=n;i_&&(_=u,h=i),d=(v*d+s.x)/++v;else{const e=i-1;if(!o(l)&&!o(h)){const n=Math.min(l,h),r=Math.max(l,h);n!==p&&n!==e&&y.push({...t[n],x:d}),r!==p&&r!==e&&y.push({...t[r],x:d})}i>0&&e!==p&&y.push(t[e]),y.push(s),c=n,v=0,f=_=u,l=h=p=i}}return y}(c,p,f,r);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=h}}))},destroy(t){Ni(t)}};function Fi(t,n,e,r){if(r)return;let i=n[t],o=e[t];return"angle"===t&&(i=J(i),o=J(o)),{property:t,start:i,end:o}}function Hi(t,n,e){for(;n>t;n--){const t=e[n];if(!isNaN(t.x)&&!isNaN(t.y))break}return n}function Ui(t,n,e,r){return t&&n?r(t[e],n[e]):t?t[e]:n?n[e]:0}function Vi(t,n){let e=[],r=!1;return s(t)?(r=!0,e=t):e=function(t,n){const{x:e=null,y:r=null}=t||{},i=n.points,o=[];return n.segments.forEach((({start:t,end:n})=>{n=Hi(t,n,i);const s=i[t],a=i[n];null!==r?(o.push({x:s.x,y:r}),o.push({x:a.x,y:r})):null!==e&&(o.push({x:e,y:s.y}),o.push({x:e,y:a.y}))})),o}(t,n),e.length?new qi({points:e,options:{tension:0},_loop:r,_fullLoop:r}):null}function Wi(t){return t&&!1!==t.fill}function Ji(t,n,e){let r=t[n].fill;const i=[n];let o;if(!e)return r;for(;!1!==r&&-1===i.indexOf(r);){if(!u(r))return r;if(o=t[r],!o)return!1;if(o.visible)return r;i.push(r),r=o.fill}return!1}function Ki(t,n,e){const r=function(t){const n=t.options,e=n.fill;let r=l(e&&e.target,e);return void 0===r&&(r=!!n.backgroundColor),!1!==r&&null!==r&&(!0===r?"origin":r)}(t);if(a(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return u(i)&&Math.floor(i)===i?function(t,n,e,r){return"-"!==t&&"+"!==t||(e=n+e),!(e===n||e<0||e>=r)&&e}(r[0],n,i,e):["origin","start","end","stack","shape"].indexOf(r)>=0&&r}function Yi(t,n,e){const r=[];for(let i=0;i=0;--n){const e=i[n].$filler;e&&(e.line.updateControlPoints(o,e.axis),r&&e.fill&&Zi(t.ctx,e,o))}},beforeDatasetsDraw(t,n,e){if("beforeDatasetsDraw"!==e.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let n=r.length-1;n>=0;--n){const e=r[n].$filler;Wi(e)&&Zi(t.ctx,e,t.chartArea)}},beforeDatasetDraw(t,n,e){const r=n.meta.$filler;Wi(r)&&"beforeDatasetDraw"===e.drawTime&&Zi(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const io=(t,n)=>{let{boxHeight:e=n,boxWidth:r=n}=t;return t.usePointStyle&&(e=Math.min(e,n),r=t.pointStyleWidth||Math.min(r,n)),{boxWidth:r,boxHeight:e,itemHeight:Math.max(n,e)}};class oo extends Je{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,e){this.maxWidth=t,this.maxHeight=n,this._margins=e,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=p(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter((n=>t.filter(n,this.chart.data)))),t.sort&&(n=n.sort(((n,e)=>t.sort(n,e,this.chart.data)))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display)return void(this.width=this.height=0);const e=t.labels,r=$n(e.font),i=r.size,o=this._computeTitleHeight(),{boxWidth:s,itemHeight:a}=io(e,i);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,i,s,a)+10):(c=this.maxHeight,u=this._fitCols(o,i,s,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,e,r){const{ctx:i,maxWidth:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+s;let l=t;i.textAlign="left",i.textBaseline="middle";let h=-1,p=-c;return this.legendItems.forEach(((t,f)=>{const _=e+n/2+i.measureText(t.text).width;(0===f||u[u.length-1]+_+2*s>o)&&(l+=c,u[u.length-(f>0?0:1)]=0,p+=c,h++),a[f]={left:0,top:p,row:h,width:_,height:r},u[u.length-1]+=_+s})),l}_fitCols(t,n,e,r){const{ctx:i,maxHeight:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let l=s,h=0,p=0,f=0,_=0;return this.legendItems.forEach(((t,o)=>{const d=e+n/2+i.measureText(t.text).width;o>0&&p+r+2*s>c&&(l+=h+s,u.push({width:h,height:p}),f+=h+s,_++,h=p=0),a[o]={left:f,top:p,col:_,width:d,height:r},h=Math.max(h,d),p+=r+s})),l+=h,u.push({width:h,height:p}),l}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:e,labels:{padding:r},rtl:i}}=this,o=oe(i,this.left,this.width);if(this.isHorizontal()){let i=0,s=st(e,this.left+r,this.right-this.lineWidths[i]);for(const a of n)i!==a.row&&(i=a.row,s=st(e,this.left+r,this.right-this.lineWidths[i])),a.top+=this.top+t+r,a.left=o.leftForLtr(o.x(s),a.width),s+=a.width+r}else{let i=0,s=st(e,this.top+t+r,this.bottom-this.columnSizes[i].height);for(const a of n)a.col!==i&&(i=a.col,s=st(e,this.top+t+r,this.bottom-this.columnSizes[i].height)),a.top=s,a.left+=this.left+r,a.left=o.leftForLtr(o.x(a.left),a.width),s+=a.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;sn(t,this),this._draw(),an(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:e,ctx:r}=this,{align:i,labels:o}=t,s=Xt.color,a=oe(t.rtl,this.left,this.width),u=$n(o.font),{color:c,padding:h}=o,p=u.size,f=p/2;let _;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:d,boxHeight:v,itemHeight:y}=io(o,p),m=this.isHorizontal(),g=this._computeTitleHeight();_=m?{x:st(i,this.left+h,this.right-e[0]),y:this.top+h+g,line:0}:{x:this.left+h,y:st(i,this.top+g+h,this.bottom-n[0].height),line:0},se(this.ctx,t.textDirection);const $=y+h;this.legendItems.forEach(((b,w)=>{r.strokeStyle=b.fontColor||c,r.fillStyle=b.fontColor||c;const x=r.measureText(b.text).width,k=a.textAlign(b.textAlign||(b.textAlign=o.textAlign)),j=d+f+x;let z=_.x,C=_.y;a.setWidth(this.width),m?w>0&&z+j+h>this.right&&(C=_.y+=$,_.line++,z=_.x=st(i,this.left+h,this.right-e[_.line])):w>0&&C+$>this.bottom&&(z=_.x=z+n[_.line].width+h,_.line++,C=_.y=st(i,this.top+g+h,this.bottom-n[_.line].height)),function(t,n,e){if(isNaN(d)||d<=0||isNaN(v)||v<0)return;r.save();const i=l(e.lineWidth,1);if(r.fillStyle=l(e.fillStyle,s),r.lineCap=l(e.lineCap,"butt"),r.lineDashOffset=l(e.lineDashOffset,0),r.lineJoin=l(e.lineJoin,"miter"),r.lineWidth=i,r.strokeStyle=l(e.strokeStyle,s),r.setLineDash(l(e.lineDash,[])),o.usePointStyle){const s={radius:v*Math.SQRT2/2,pointStyle:e.pointStyle,rotation:e.rotation,borderWidth:i},u=a.xPlus(t,d/2);rn(r,s,u,n+f,o.pointStyleWidth&&d)}else{const o=n+Math.max((p-v)/2,0),s=a.leftForLtr(t,d),u=mn(e.borderRadius);r.beginPath(),Object.values(u).some((t=>0!==t))?pn(r,{x:s,y:o,w:d,h:v,radius:u}):r.rect(s,o,d,v),r.fill(),0!==i&&r.stroke()}r.restore()}(a.x(z),C,b),z=((t,n,e,r)=>t===(r?"left":"right")?e:"center"===t?(n+e)/2:n)(k,z+d+f,m?z+j:this.right,t.rtl),function(t,n,e){ln(r,e.text,t,n+y/2,u,{strikethrough:e.hidden,textAlign:a.textAlign(e.textAlign)})}(a.x(z),C,b),m?_.x+=j+h:_.y+=$})),ae(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,e=$n(n.font),r=gn(n.padding);if(!n.display)return;const i=oe(t.rtl,this.left,this.width),o=this.ctx,s=n.position,a=e.size/2,u=r.top+a;let c,l=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,l=st(t.align,l,this.right-h);else{const n=this.columnSizes.reduce(((t,n)=>Math.max(t,n.height)),0);c=u+st(t.align,this.top,this.bottom-n-t.labels.padding-this._computeTitleHeight())}const p=st(s,l,l+h);o.textAlign=i.textAlign(ot(s)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=e.string,ln(o,n.text,p,c,e)}_computeTitleHeight(){const t=this.options.title,n=$n(t.font),e=gn(t.padding);return t.display?n.lineHeight+e.height:0}_getLegendItemAt(t,n){let e,r,i;if(G(t,this.left,this.right)&&G(n,this.top,this.bottom))for(i=this.legendHitBoxes,e=0;et.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const n=t.data.datasets,{labels:{usePointStyle:e,pointStyle:r,textAlign:i,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const s=t.controller.getStyle(e?0:void 0),a=gn(s.borderWidth);return{text:n[t.index].label,fillStyle:s.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:s.borderCapStyle,lineDash:s.borderDash,lineDashOffset:s.borderDashOffset,lineJoin:s.borderJoinStyle,lineWidth:(a.width+a.height)/4,strokeStyle:s.borderColor,pointStyle:r||s.pointStyle,rotation:s.rotation,textAlign:i||s.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class ao extends Je{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const e=this.options;if(this.left=0,this.top=0,!e.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=n;const r=s(e.text)?e.text.length:1;this._padding=gn(e.padding);const i=r*$n(e.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:n,left:e,bottom:r,right:i,options:o}=this,s=o.align;let a,u,c,l=0;return this.isHorizontal()?(u=st(s,e,i),c=n+t,a=i-e):("left"===o.position?(u=e+t,c=st(s,r,n),l=-.5*C):(u=i-t,c=st(s,n,r),l=.5*C),a=r-n),{titleX:u,titleY:c,maxWidth:a,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const e=$n(n.font),r=e.lineHeight/2+this._padding.top,{titleX:i,titleY:o,maxWidth:s,rotation:a}=this._drawArgs(r);ln(t,n.text,0,0,e,{color:n.color,maxWidth:s,rotation:a,textAlign:ot(n.align),textBaseline:"middle",translation:[i,o]})}}var uo={id:"title",_element:ao,start(t,n,e){!function(t,n){const e=new ao({ctx:t.ctx,options:n,chart:t});Sr.configure(t,e,n),Sr.addBox(t,e),t.titleBlock=e}(t,e)},stop(t){const n=t.titleBlock;Sr.removeBox(t,n),delete t.titleBlock},beforeUpdate(t,n,e){const r=t.titleBlock;Sr.configure(t,r,e),r.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const co=new WeakMap;var lo={id:"subtitle",start(t,n,e){const r=new ao({ctx:t.ctx,options:e,chart:t});Sr.configure(t,r,e),Sr.addBox(t,r),co.set(t,r)},stop(t){Sr.removeBox(t,co.get(t)),co.delete(t)},beforeUpdate(t,n,e){const r=co.get(t);Sr.configure(t,r,e),r.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ho={average(t){if(!t.length)return!1;let n,e,r=0,i=0,o=0;for(n=0,e=t.length;n-1?t.split("\n"):t}function _o(t,n){const{element:e,datasetIndex:r,index:i}=n,o=t.getDatasetMeta(r).controller,{label:s,value:a}=o.getLabelAndValue(i);return{chart:t,label:s,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:e}}function vo(t,n){const e=t.chart.ctx,{body:r,footer:i,title:o}=t,{boxWidth:s,boxHeight:a}=n,u=$n(n.bodyFont),c=$n(n.titleFont),l=$n(n.footerFont),h=o.length,p=i.length,_=r.length,d=gn(n.padding);let v=d.height,y=0,m=r.reduce(((t,n)=>t+n.before.length+n.lines.length+n.after.length),0);m+=t.beforeBody.length+t.afterBody.length,h&&(v+=h*c.lineHeight+(h-1)*n.titleSpacing+n.titleMarginBottom),m&&(v+=_*(n.displayColors?Math.max(a,u.lineHeight):u.lineHeight)+(m-_)*u.lineHeight+(m-1)*n.bodySpacing),p&&(v+=n.footerMarginTop+p*l.lineHeight+(p-1)*n.footerSpacing);let g=0;const $=function(t){y=Math.max(y,e.measureText(t).width+g)};return e.save(),e.font=c.string,f(t.title,$),e.font=u.string,f(t.beforeBody.concat(t.afterBody),$),g=n.displayColors?s+2+n.boxPadding:0,f(r,(t=>{f(t.before,$),f(t.lines,$),f(t.after,$)})),g=0,e.font=l.string,f(t.footer,$),e.restore(),y+=d.width,{width:y,height:v}}function yo(t,n,e,r){const{x:i,width:o}=e,{width:s,chartArea:{left:a,right:u}}=t;let c="center";return"center"===r?c=i<=(a+u)/2?"left":"right":i<=o/2?c="left":i>=s-o/2&&(c="right"),function(t,n,e,r){const{x:i,width:o}=r,s=e.caretSize+e.caretPadding;return"left"===t&&i+o+s>n.width||"right"===t&&i-o-s<0||void 0}(c,t,n,e)&&(c="center"),c}function mo(t,n,e){const r=e.yAlign||n.yAlign||function(t,n){const{y:e,height:r}=n;return et.height-r/2?"bottom":"center"}(t,e);return{xAlign:e.xAlign||n.xAlign||yo(t,n,e,r),yAlign:r}}function go(t,n,e,r){const{caretSize:i,caretPadding:o,cornerRadius:s}=t,{xAlign:a,yAlign:u}=e,c=i+o,{topLeft:l,topRight:h,bottomLeft:p,bottomRight:f}=mn(s);let _=function(t,n){let{x:e,width:r}=t;return"right"===n?e-=r:"center"===n&&(e-=r/2),e}(n,a);const d=function(t,n,e){let{y:r,height:i}=t;return"top"===n?r+=e:r-="bottom"===n?i+e:i/2,r}(n,u,c);return"center"===u?"left"===a?_+=c:"right"===a&&(_-=c):"left"===a?_-=Math.max(l,p)+i:"right"===a&&(_+=Math.max(h,f)+i),{x:Y(_,0,r.width-n.width),y:Y(d,0,r.height-n.height)}}function $o(t,n,e){const r=gn(e.padding);return"center"===n?t.x+t.width/2:"right"===n?t.x+t.width-r.right:t.x+r.left}function bo(t){return po([],fo(t))}function wo(t,n){const e=n&&n.dataset&&n.dataset.tooltip&&n.dataset.tooltip.callbacks;return e?t.override(e):t}class xo extends Je{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,e=this.options.setContext(this.getContext()),r=e.enabled&&n.options.animation&&e.animations,i=new ge(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=(this,wn(this.chart.getContext(),{tooltip:this,tooltipItems:this._tooltipItems,type:"tooltip"})))}getTitle(t,n){const{callbacks:e}=n,r=e.beforeTitle.apply(this,[t]),i=e.title.apply(this,[t]),o=e.afterTitle.apply(this,[t]);let s=[];return s=po(s,fo(r)),s=po(s,fo(i)),s=po(s,fo(o)),s}getBeforeBody(t,n){return bo(n.callbacks.beforeBody.apply(this,[t]))}getBody(t,n){const{callbacks:e}=n,r=[];return f(t,(t=>{const n={before:[],lines:[],after:[]},i=wo(e,t);po(n.before,fo(i.beforeLabel.call(this,t))),po(n.lines,i.label.call(this,t)),po(n.after,fo(i.afterLabel.call(this,t))),r.push(n)})),r}getAfterBody(t,n){return bo(n.callbacks.afterBody.apply(this,[t]))}getFooter(t,n){const{callbacks:e}=n,r=e.beforeFooter.apply(this,[t]),i=e.footer.apply(this,[t]),o=e.afterFooter.apply(this,[t]);let s=[];return s=po(s,fo(r)),s=po(s,fo(i)),s=po(s,fo(o)),s}_createItems(t){const n=this._active,e=this.chart.data,r=[],i=[],o=[];let s,a,u=[];for(s=0,a=n.length;st.filter(n,r,i,e)))),t.itemSort&&(u=u.sort(((n,r)=>t.itemSort(n,r,e)))),f(u,(n=>{const e=wo(t.callbacks,n);r.push(e.labelColor.call(this,n)),i.push(e.labelPointStyle.call(this,n)),o.push(e.labelTextColor.call(this,n))})),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=o,this.dataPoints=u,u}update(t,n){const e=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=ho[e.position].call(this,r,this._eventPosition);o=this._createItems(e),this.title=this.getTitle(o,e),this.beforeBody=this.getBeforeBody(o,e),this.body=this.getBody(o,e),this.afterBody=this.getAfterBody(o,e),this.footer=this.getFooter(o,e);const n=this._size=vo(this,e),s=Object.assign({},t,n),a=mo(this.chart,e,s),u=go(e,s,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,i={opacity:1,x:u.x,y:u.y,width:n.width,height:n.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&e.external&&e.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,e,r){const i=this.getCaretPosition(t,e,r);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(t,n,e){const{xAlign:r,yAlign:i}=this,{caretSize:o,cornerRadius:s}=e,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:l}=mn(s),{x:h,y:p}=t,{width:f,height:_}=n;let d,v,y,m,g,$;return"center"===i?(g=p+_/2,"left"===r?(d=h,v=d-o,m=g+o,$=g-o):(d=h+f,v=d+o,m=g-o,$=g+o),y=d):(v="left"===r?h+Math.max(a,c)+o:"right"===r?h+f-Math.max(u,l)-o:this.caretX,"top"===i?(m=p,g=m-o,d=v-o,y=v+o):(m=p+_,g=m+o,d=v+o,y=v-o),$=m),{x1:d,x2:v,x3:y,y1:m,y2:g,y3:$}}drawTitle(t,n,e){const r=this.title,i=r.length;let o,s,a;if(i){const u=oe(e.rtl,this.x,this.width);for(t.x=$o(this,e.titleAlign,e),n.textAlign=u.textAlign(e.titleAlign),n.textBaseline="middle",o=$n(e.titleFont),s=e.titleSpacing,n.fillStyle=e.titleColor,n.font=o.string,a=0;a0!==t))?(t.beginPath(),t.fillStyle=i.multiKeyBackground,pn(t,{x:n,y:d,w:c,h:u,radius:s}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),pn(t,{x:e,y:d+1,w:c-2,h:u-2,radius:s}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(n,d,c,u),t.strokeRect(n,d,c,u),t.fillStyle=o.backgroundColor,t.fillRect(e,d+1,c-2,u-2))}t.fillStyle=this.labelTextColors[e]}drawBody(t,n,e){const{body:r}=this,{bodySpacing:i,bodyAlign:o,displayColors:s,boxHeight:a,boxWidth:u,boxPadding:c}=e,l=$n(e.bodyFont);let h=l.lineHeight,p=0;const _=oe(e.rtl,this.x,this.width),d=function(e){n.fillText(e,_.x(t.x+p),t.y+h/2),t.y+=h+i},v=_.textAlign(o);let y,m,g,$,b,w,x;for(n.textAlign=o,n.textBaseline="middle",n.font=l.string,t.x=$o(this,v,e),n.fillStyle=e.bodyColor,f(this.beforeBody,d),p=s&&"right"!==v?"center"===o?u/2+c:u+2+c:0,$=0,w=r.length;$0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,e=this.$animations,r=e&&e.x,i=e&&e.y;if(r||i){const e=ho[t.position].call(this,this._active,this._eventPosition);if(!e)return;const o=this._size=vo(this,t),s=Object.assign({},e,this._size),a=mo(n,t,s),u=go(t,s,a,n);r._to===u.x&&i._to===u.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=o.width,this.height=o.height,this.caretX=e.x,this.caretY=e.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let e=this.opacity;if(!e)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},i={x:this.x,y:this.y};e=Math.abs(e)<.001?0:e;const o=gn(n.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&s&&(t.save(),t.globalAlpha=e,this.drawBackground(i,t,r,n),se(t,n.textDirection),i.y+=o.top,this.drawTitle(i,t,n),this.drawBody(i,t,n),this.drawFooter(i,t,n),ae(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const e=this._active,r=t.map((({datasetIndex:t,index:n})=>{const e=this.chart.getDatasetMeta(t);if(!e)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:e.data[n],index:n}})),i=!_(e,r),o=this._positionChanged(r,n);(i||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,e=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,i=this._active||[],o=this._getActiveElements(t,i,n,e),s=this._positionChanged(o,t),a=n||!_(o,i)||s;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,e,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,e);return i.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:e,caretY:r,options:i}=this,o=ho[i.position].call(this,t,n);return!1!==o&&(e!==o.x||r!==o.y)}}xo.positioners=ho;var ko={id:"tooltip",_element:xo,positioners:ho,afterInit(t,n,e){e&&(t.tooltip=new xo({chart:t,options:e}))},beforeUpdate(t,n,e){t.tooltip&&t.tooltip.initialize(e)},reset(t,n,e){t.tooltip&&t.tooltip.initialize(e)},afterDraw(t){const n=t.tooltip;if(n&&n._willRender()){const e={tooltip:n};if(!1===t.notifyPlugins("beforeTooltipDraw",e))return;n.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",e)}},afterEvent(t,n){if(t.tooltip){const e=n.replay;t.tooltip.handleEvent(n.event,e,n.inChartArea)&&(n.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,n)=>n.bodyFont.size,boxWidth:(t,n)=>n.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:r,title(t){if(t.length>0){const n=t[0],e=n.chart.data.labels,r=e?e.length:0;if(this&&this.options&&"dataset"===this.options.mode)return n.dataset.label||"";if(n.label)return n.label;if(r>0&&n.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},jo=Object.freeze({__proto__:null,Decimation:Ri,Filler:ro,Legend:so,SubTitle:lo,Title:uo,Tooltip:ko});class zo extends rr{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const t=this.getLabels();for(const{index:e,label:r}of n)t[e]===r&&t.splice(e,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(o(t))return null;const e=this.getLabels();return((t,n)=>null===t?null:Y(Math.round(t),0,n))(n=isFinite(n)&&e[n]===t?n:function(t,n,e,r){const i=t.indexOf(n);return-1===i?((t,n,e,r)=>("string"==typeof n?(e=t.push(n)-1,r.unshift({index:e,label:n})):isNaN(n)&&(e=null),e))(t,n,e,r):i!==t.lastIndexOf(n)?e:i}(e,t,l(n,t),this._addedLabels),e.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:e,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(e=0),n||(r=this.getLabels().length-1)),this.min=e,this.max=r}buildTicks(){const t=this.min,n=this.max,e=this.options.offset,r=[];let i=this.getLabels();i=0===t&&n===i.length-1?i:i.slice(t,n+1),this._valueRange=Math.max(i.length-(e?0:1),1),this._startValue=this.min-(e?.5:0);for(let e=t;e<=n;e++)r.push({value:e});return r}getLabelForValue(t){const n=this.getLabels();return t>=0&&tn.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Co(t,n,{horizontal:e,minRotation:r}){const i=R(r),o=(e?Math.sin(i):Math.cos(i))||.001,s=.75*n*(""+t).length;return Math.min(n/o,s)}zo.id="category",zo.defaults={ticks:{callback:zo.prototype.getLabelForValue}};class So extends rr{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return o(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:e}=this.getUserBounds();let{min:r,max:i}=this;const o=t=>r=n?r:t,s=t=>i=e?i:t;if(t){const t=D(r),n=D(i);t<0&&n<0?s(0):t>0&&n>0&&o(0)}if(r===i){let n=1;(i>=Number.MAX_SAFE_INTEGER||r<=Number.MIN_SAFE_INTEGER)&&(n=Math.abs(.05*i)),s(i+n),t||o(r-n)}this.min=r,this.max=i}getTickLimit(){const t=this.options.ticks;let n,{maxTicksLimit:e,stepSize:r}=t;return r?(n=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let e=this.getTickLimit();e=Math.max(2,e);const r=function(t,n){const e=[],{bounds:r,step:i,min:s,max:a,precision:u,count:c,maxTicks:l,maxDigits:h,includeBounds:p}=t,f=i||1,_=l-1,{min:d,max:v}=n,y=!o(s),m=!o(a),g=!o(c),$=(v-d)/(h+1);let b,w,x,k,j=T((v-d)/_/f)*f;if(j<1e-14&&!y&&!m)return[{value:d},{value:v}];k=Math.ceil(v/j)-Math.floor(d/j),k>_&&(j=T(k*j/_/f)*f),o(u)||(b=Math.pow(10,u),j=Math.ceil(j*b)/b),"ticks"===r?(w=Math.floor(d/j)*j,x=Math.ceil(v/j)*j):(w=d,x=v),y&&m&&i&&function(t,n){const e=Math.round(t);return e-n<=t&&e+n>=t}((a-s)/i,j/1e3)?(k=Math.round(Math.min((a-s)/j,l)),j=(a-s)/k,w=s,x=a):g?(w=y?s:w,x=m?a:x,k=c-1,j=(x-w)/k):(k=(x-w)/j,k=L(k,Math.round(k),j/1e3)?Math.round(k):Math.ceil(k));const z=Math.max(H(j),H(w));b=Math.pow(10,o(u)?z:u),w=Math.round(w*b)/b,x=Math.round(x*b)/b;let C=0;for(y&&(p&&w!==s?(e.push({value:s}),w0?e:null;this._zero=!0}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=u(t)?Math.max(0,t):null,this.max=u(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let e=this.min,r=this.max;const i=n=>e=t?e:n,o=t=>r=n?r:t,s=(t,n)=>Math.pow(10,Math.floor(I(t))+n);e===r&&(e<=0?(i(1),o(10)):(i(s(e,-1)),o(s(r,1)))),e<=0&&i(s(r,-1)),r<=0&&o(s(e,1)),this._zero&&this.min!==this._suggestedMin&&e===s(this.min,0)&&i(s(e,-1)),this.min=e,this.max=r}buildTicks(){const t=this.options,n=function(t,n){const e=Math.floor(I(n.max)),r=Math.ceil(n.max/Math.pow(10,e)),i=[];let o=c(t.min,Math.pow(10,Math.floor(I(n.min)))),s=Math.floor(I(o)),a=Math.floor(o/Math.pow(10,s)),u=s<0?Math.pow(10,Math.abs(s)):1;do{i.push({value:o,major:Oo(o)}),++a,10===a&&(a=1,++s,u=s>=0?1:u),o=Math.round(a*Math.pow(10,s)*u)/u}while(si?{start:n-e,end:n}:{start:n,end:n+e}}function Eo(t,n,e,r,i){const o=Math.abs(Math.sin(e)),s=Math.abs(Math.cos(e));let a=0,u=0;r.startn.r&&(a=(r.end-n.r)/o,t.r=Math.max(t.r,n.r+a)),i.startn.b&&(u=(i.end-n.b)/s,t.b=Math.max(t.b,n.b+u))}function Io(t){return 0===t||180===t?"center":t<180?"left":"right"}function Do(t,n,e){return 90===e||270===e?t-=n/2:(e>270||e<90)&&(t-=n),t}function To(t,n,e,r){const{ctx:i}=t;if(e)i.arc(t.xCenter,t.yCenter,n,0,S);else{let e=t.getPointPosition(0,n);i.moveTo(e.x,e.y);for(let o=1;o{const e=p(this.options.pointLabels.callback,[t,n],this);return e||0===e?e:""})).filter(((t,n)=>this.chart.getDataVisibility(n)))}fit(){const t=this.options;t.display&&t.pointLabels.display?function(t){const n={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},e=Object.assign({},n),r=[],i=[],o=t._pointLabels.length,a=t.options.pointLabels,u=a.centerPointLabels?C/o:0;for(let p=0;p=0&&t=0;i--){const n=r.setContext(t.getPointLabelContext(i)),s=$n(n.font),{x:a,y:u,textAlign:c,left:l,top:h,right:p,bottom:f}=t._pointLabelItems[i],{backdropColor:_}=n;if(!o(_)){const t=mn(n.borderRadius),r=gn(n.backdropPadding);e.fillStyle=_;const i=l-r.left,o=h-r.top,s=p-l+r.width,a=f-h+r.height;Object.values(t).some((t=>0!==t))?(e.beginPath(),pn(e,{x:i,y:o,w:s,h:a,radius:t}),e.fill()):e.fillRect(i,o,s,a)}ln(e,t._pointLabels[i],a,u+s.lineHeight/2,s,{color:n.color,textAlign:c,textBaseline:"middle"})}}(this,i),r.display&&this.ticks.forEach(((t,n)=>{0!==n&&(a=this.getDistanceFromCenterForValue(t.value),function(t,n,e,r){const i=t.ctx,o=n.circular,{color:s,lineWidth:a}=n;!o&&!r||!s||!a||e<0||(i.save(),i.strokeStyle=s,i.lineWidth=a,i.setLineDash(n.borderDash),i.lineDashOffset=n.borderDashOffset,i.beginPath(),To(t,e,o,r),i.closePath(),i.stroke(),i.restore())}(this,r.setContext(this.getContext(n-1)),a,i))})),e.display){for(t.save(),s=i-1;s>=0;s--){const r=e.setContext(this.getPointLabelContext(s)),{color:i,lineWidth:o}=r;o&&i&&(t.lineWidth=o,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(s,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,e=n.ticks;if(!e.display)return;const r=this.getIndexAngle(0);let i,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((r,s)=>{if(0===s&&!n.reverse)return;const a=e.setContext(this.getContext(s)),u=$n(a.font);if(i=this.getDistanceFromCenterForValue(this.ticks[s].value),a.showLabelBackdrop){t.font=u.string,o=t.measureText(r.label).width,t.fillStyle=a.backdropColor;const n=gn(a.backdropPadding);t.fillRect(-o/2-n.left,-i-u.size/2-n.top,o+n.width,u.size+n.height)}ln(t,r.label,0,-i,u,{color:a.color})})),t.restore()}drawTitle(){}}Bo.id="radialLinear",Bo.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ye.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},Bo.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},Bo.descriptors={angleLines:{_fallback:"grid"}};const Lo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},No=Object.keys(Lo);function Ro(t,n){return t-n}function Fo(t,n){if(o(n))return null;const e=t._adapter,{parser:r,round:i,isoWeekday:s}=t._parseOpts;let a=n;return"function"==typeof r&&(a=r(a)),u(a)||(a="string"==typeof r?e.parse(a,r):e.parse(a)),null===a?null:(i&&(a="week"!==i||!B(s)&&!0!==s?e.startOf(a,i):e.startOf(a,"isoWeek",s)),+a)}function Ho(t,n,e,r){const i=No.length;for(let o=No.indexOf(t);o=n?e[r]:e[i]]=!0}}else t[n]=!0}function Vo(t,n,e){const r=[],i={},o=n.length;let s,a;for(s=0;s=0&&(n[u].major=!0);return n}(t,r,i,e):r}class Wo extends rr{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n){const e=t.time||(t.time={}),r=this._adapter=new lr._date(t.adapters.date);r.init(n),g(e.displayFormats,r.formats()),this._parseOpts={parser:e.parser,round:e.round,isoWeekday:e.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return void 0===t?null:Fo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,e=t.time.unit||"day";let{min:r,max:i,minDefined:o,maxDefined:s}=this.getUserBounds();function a(t){o||isNaN(t.min)||(r=Math.min(r,t.min)),s||isNaN(t.max)||(i=Math.max(i,t.max))}o&&s||(a(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||a(this.getMinMax(!1))),r=u(r)&&!isNaN(r)?r:+n.startOf(Date.now(),e),i=u(i)&&!isNaN(i)?i:+n.endOf(Date.now(),e)+1,this.min=Math.min(r,i-1),this.max=Math.max(r+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],e=t[t.length-1]),{min:n,max:e}}buildTicks(){const t=this.options,n=t.time,e=t.ticks,r="labels"===e.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);const i=this.min,o=function(t,n,e){let r=0,i=t.length;for(;rr&&t[i-1]>e;)i--;return r>0||i=No.indexOf(e);o--){const e=No[o];if(Lo[e].common&&t._adapter.diff(i,r,e)>=n-1)return e}return No[e?No.indexOf(e):0]}(this,o.length,n.minUnit,this.min,this.max)),this._majorUnit=e.major.enabled&&"year"!==this._unit?function(t){for(let n=No.indexOf(t)+1,e=No.length;n+t.value)))}initOffsets(t){let n,e,r=0,i=0;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),r=1===t.length?1-n:(this.getDecimalForValue(t[1])-n)/2,e=this.getDecimalForValue(t[t.length-1]),i=1===t.length?e:(e-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;r=Y(r,0,o),i=Y(i,0,o),this._offsets={start:r,end:i,factor:1/(r+1+i)}}_generate(){const t=this._adapter,n=this.min,e=this.max,r=this.options,i=r.time,o=i.unit||Ho(i.minUnit,n,e,this._getLabelCapacity(n)),s=l(i.stepSize,1),a="week"===o&&i.isoWeekday,u=B(a)||!0===a,c={};let h,p,f=n;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(e,n,o)>1e5*s)throw new Error(n+" and "+e+" are too far apart with stepSize of "+s+" "+o);const _="data"===r.ticks.source&&this.getDataTimestamps();for(h=f,p=0;ht-n)).map((t=>+t))}getLabelForValue(t){const n=this._adapter,e=this.options.time;return e.tooltipFormat?n.format(t,e.tooltipFormat):n.format(t,e.displayFormats.datetime)}_tickFormatFunction(t,n,e,r){const i=this.options,o=i.time.displayFormats,s=this._unit,a=this._majorUnit,u=s&&o[s],c=a&&o[a],l=e[n],h=a&&c&&l&&l.major,f=this._adapter.format(t,r||(h?c:u)),_=i.ticks.callback;return _?p(_,[f,n,e],this):f}generateTickLabels(t){let n,e,r;for(n=0,e=t.length;n0?s:1}getDataTimestamps(){let t,n,e=this._cache.data||[];if(e.length)return e;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=t[a].pos&&n<=t[u].pos&&({lo:a,hi:u}=Z(t,"pos",n)),({pos:r,time:o}=t[a]),({pos:i,time:s}=t[u])):(n>=t[a].time&&n<=t[u].time&&({lo:a,hi:u}=Z(t,"time",n)),({time:r,pos:o}=t[a]),({time:i,pos:s}=t[u]));const c=i-r;return c?o+(s-o)*(n-r)/c:o}Wo.id="time",Wo.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class Ko extends Wo{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Jo(n,this.min),this._tableRange=Jo(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:e}=this,r=[],i=[];let o,s,a,u,c;for(o=0,s=t.length;o=n&&u<=e&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:e,pos:1}];for(o=0,s=r.length;o{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e(608)})())); +!function(t,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.benchart=n():t.benchart=n()}(this,(()=>(()=>{var t={868:function(t,n,e){var r,i,o;i=[n,e(744)],void 0===(o="function"==typeof(r=function(t,n){"use strict";var e,r=n.$_$.ca,i=n.$_$.y8,o=n.$_$.gd;function s(){e=this,u.call(this)}function a(){return null==e&&new s,e}function u(){}function c(t){this.jo_1=t}function l(t){this.no_1=t}function h(t){this.ko_1=t}return s.prototype=Object.create(u.prototype),s.prototype.constructor=s,s.$metadata$=r("None",void 0,void 0,void 0,void 0,u.prototype),u.prototype.atomicfu$Trace$append$1=function(t){},u.prototype.atomicfu$Trace$append$2=function(t,n){},u.prototype.atomicfu$Trace$append$3=function(t,n,e){},u.prototype.atomicfu$Trace$append$4=function(t,n,e,r){},u.$metadata$=i("TraceBase"),c.prototype.lo=function(t){this.jo_1=t},c.prototype.mo=function(){return this.jo_1},c.prototype.atomicfu$compareAndSet=function(t,n){return this.jo_1===t&&(this.jo_1=n,!0)},c.prototype.atomicfu$getAndSet=function(t){var n=this.jo_1;return this.jo_1=t,n},c.prototype.toString=function(){return o(this.jo_1)},c.$metadata$=i("AtomicRef"),Object.defineProperty(c.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:c.prototype.mo,set:c.prototype.lo}),l.prototype.oo=function(t){this.no_1=t},l.prototype.mo=function(){return this.no_1},l.prototype.atomicfu$compareAndSet=function(t,n){return this.no_1===t&&(this.no_1=n,!0)},l.prototype.atomicfu$getAndSet=function(t){var n=this.no_1;return this.no_1=t,n},l.prototype.toString=function(){return this.no_1.toString()},l.$metadata$=i("AtomicBoolean"),Object.defineProperty(l.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:l.prototype.mo,set:l.prototype.oo}),h.prototype.po=function(t){this.ko_1=t},h.prototype.mo=function(){return this.ko_1},h.prototype.atomicfu$compareAndSet=function(t,n){return this.ko_1===t&&(this.ko_1=n,!0)},h.prototype.atomicfu$getAndSet=function(t){var n=this.ko_1;return this.ko_1=t,n},h.prototype.atomicfu$getAndIncrement=function(){var t=this.ko_1;return this.ko_1=t+1|0,t},h.prototype.atomicfu$getAndDecrement=function(){var t=this.ko_1;return this.ko_1=t-1|0,t},h.prototype.atomicfu$getAndAdd=function(t){var n=this.ko_1;return this.ko_1=this.ko_1+t|0,n},h.prototype.atomicfu$addAndGet=function(t){return this.ko_1=this.ko_1+t|0,this.ko_1},h.prototype.atomicfu$incrementAndGet=function(){var t=this;return t.ko_1=t.ko_1+1|0,t.ko_1},h.prototype.atomicfu$decrementAndGet=function(){var t=this;return t.ko_1=t.ko_1-1|0,t.ko_1},h.prototype.toString=function(){return this.ko_1.toString()},h.$metadata$=i("AtomicInt"),Object.defineProperty(h.prototype,"kotlinx$atomicfu$value",{configurable:!0,get:h.prototype.mo,set:h.prototype.po}),i("ReentrantLock"),t.$_$=t.$_$||{},t.$_$.a=function(t){return function(t,n){return new l(t)}(t,a())},t.$_$.b=function(t){return function(t,n){return new c(t)}(t,a())},t.$_$.c=function(t){return function(t,n){return new h(t)}(t,a())},t})?r.apply(n,i):r)||(t.exports=o)},769:function(t,n,e){var r,i;r=[n,e(744),e(646)],void 0===(i=function(t,n,e){"use strict";var r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt,ht,pt,ft,_t,dt,vt,yt,mt,gt,$t=Math.imul,bt=n.$_$.j9,wt=n.$_$.p4,xt=n.$_$.ga,kt=n.$_$.y8,jt=n.$_$.s,zt=n.$_$.cc,Ct=n.$_$.u9,St=n.$_$.u1,qt=n.$_$.dd,Ot=n.$_$.ed,Pt=n.$_$.k4,Mt=n.$_$.i2,At=n.$_$.tc,Et=n.$_$.fd,It=n.$_$.y7,Dt=e.$_$.n,Tt=e.$_$.i,Bt=n.$_$.g8,Lt=n.$_$.f8,Nt=n.$_$.h8,Rt=n.$_$.k8,Ft=n.$_$.s9,Ht=n.$_$.a9,Ut=n.$_$.c1,Vt=n.$_$.j,Wt=n.$_$.v,Jt=n.$_$.h9,Kt=n.$_$.ub,Yt=n.$_$.g6,Gt=n.$_$.r7,Xt=n.$_$.j7,Zt=n.$_$.rb,Qt=n.$_$.r,tn=n.$_$.hd,nn=n.$_$.u7,en=n.$_$.ca,rn=n.$_$.r1,on=n.$_$.zc,sn=n.$_$.l6,an=n.$_$.z8,un=n.$_$.pa,cn=n.$_$.f9,ln=n.$_$.k9,hn=n.$_$.m5,pn=n.$_$.uc,fn=n.$_$.y,_n=n.$_$.c7,dn=e.$_$.k,vn=e.$_$.e,yn=e.$_$.f,mn=n.$_$.gd,gn=n.$_$.j8,$n=n.$_$.i8,bn=n.$_$.g9,wn=n.$_$.w4,xn=n.$_$.o5,kn=n.$_$.l8,jn=e.$_$.l,zn=n.$_$.w7,Cn=e.$_$.c,Sn=n.$_$.u,qn=n.$_$.o7,On=n.$_$.o6,Pn=e.$_$.h,Mn=n.$_$.g1,An=n.$_$.v7,En=n.$_$.pc,In=e.$_$.o,Dn=e.$_$.b,Tn=n.$_$.i,Bn=n.$_$.yb,Ln=e.$_$.g,Nn=e.$_$.m,Rn=n.$_$.a1,Fn=n.$_$.f7,Hn=(n.$_$.m8,n.$_$.n8,n.$_$.p5),Un=n.$_$.j6,Vn=n.$_$.c9,Wn=n.$_$.c4,Jn=n.$_$.a5,Kn=n.$_$.z4,Yn=n.$_$.m6,Gn=n.$_$.x6,Xn=n.$_$.m1,Zn=n.$_$.e6,Qn=n.$_$.d6,te=n.$_$.h5,ne=n.$_$.j5,ee=n.$_$.e5,re=n.$_$.g5,ie=n.$_$.x1,oe=n.$_$.d5,se=n.$_$.r4,ae=n.$_$.ia,ue=n.$_$.r8,ce=n.$_$.t4,le=n.$_$.t1,he=n.$_$.i5,pe=n.$_$.q6,fe=n.$_$.v6,_e=n.$_$.s4,de=n.$_$.f5,ve=n.$_$.u4,ye=n.$_$.q4,me=n.$_$.la,ge=n.$_$.ka,$e=n.$_$.rc,be=n.$_$.n1,we=n.$_$.w1,xe=n.$_$.l1,ke=n.$_$.x,je=n.$_$.qb,ze=n.$_$.o9,Ce=n.$_$.t5,Se=n.$_$.e,qe=n.$_$.i7,Oe=n.$_$.ra,Pe=n.$_$.i9,Me=n.$_$.j4,Ae=n.$_$.n7,Ee=n.$_$.ta,Ie=n.$_$.q8,De=n.$_$.s5,Te=n.$_$.a2,Be=n.$_$.g,Le=n.$_$.ob,Ne=n.$_$.d2,Re=n.$_$.h1;function Fe(){}function He(){}function Ue(){return Po()}function Ve(){}function We(t,n){this.i11_1=t,this.j11_1=n,this.k11_1=0}function Je(t){this.l11_1=t;var n;n=jt(),this.m11_1=n,this.n11_1=this.l11_1,this.o11_1=8}function Ke(t,n){this.r11_1=t,this.s11_1=n}function Ye(t){this.v11_1=t,this.w11_1=Va(),this.x11_1=null;var n;n=jt(),this.y11_1=n;var e;e=jt(),this.z11_1=e,this.a12_1=8}function Ge(){return Ji(),r}function Xe(){return Ji(),s}function Ze(){return Ji(),c}function Qe(){return Ji(),l}function tr(){}function nr(t,n){Ji();for(var e=t.h13();e.d();){var r=e.e(),i=r;if(null!=i&&Ft(i,xs))n.l12(r);else if(i instanceof To){var o=r.j13_1;null!=o&&(o.c14_1=!0,r.ot())}}t.k14()}function er(t){var n;t.r15_1=t.n14_1.t16(),ir(t,100),t.m14_1.v16(),t.f15_1=t.m14_1.w16(),t.i15_1.z16((n=t.h15_1,Ji(),n?1:0)),t.h15_1=t.j12(t.f15_1),t.v15_1=null,t.a15_1||(t.a15_1=t.m14_1.a17());var e=function(t,n,e){return function(t,n){return Ji(),t.u2(n instanceof vo?n:zt())}(e,n)?function(t,n){Ji();var e=t.a3(n instanceof vo?n:zt()),r=null==e?null:e.m2();return null==r||Ct(r)?r:zt()}(e,n):n.w17_1.m2()}(0,(Ah(),_t),t.f15_1);null==e||(e.a(t.n14_1),t.m14_1.b17(e),wt()),ir(t,t.m14_1.c17())}function rr(t){sr(t),t.m14_1.d17(),sr(t),function(t){t.d16_1&&(Mr(t,!1,Xe(),2),t.d16_1=!1)}(t),function(t){Ar(t),t.s14_1.h()||Oi(xt("Start/end imbalance")),t.f16_1.h()||Oi(xt("Missed recording an endGroup()")),Hr(t)}(t),t.r15_1.p17(),t.b15_1=!1}function ir(t,n){return lr(t,n,null,!1,null)}function or(t,n,e){return lr(t,n,e,!1,null)}function sr(t){return pr(t,!1)}function ar(t,n){if(null==n){var e=t.v15_1;if(null!=e)return e}if(t.y15_1&&t.u15_1)for(var r=t.t15_1.e13_1;r>0;){if(202===t.t15_1.u17(r)&&Ht(t.t15_1.t17(r),Qe())){var i=t.t15_1.s17(r),o=null!=i&&Ft(i,_u)?i:zt();return t.v15_1=o,o}r=t.t15_1.v17(r)}if(t.r15_1.f()>0)for(var s=n,a=null==s?t.r15_1.l17_1:s;a>0;){if(202===t.r15_1.u17(a)&&Ht(t.r15_1.t17(a),Qe())){var u,c=t.g15_1.a3(a);if(null==c){var l=t.r15_1.s17(a);u=null!=l&&Ft(l,_u)?l:zt()}else u=c;var h=u;return t.v15_1=h,h}a=t.r15_1.v17(a)}return t.v15_1=t.f15_1,t.f15_1}function ur(t){mi(t.t15_1.f13_1),t.s15_1=new ra;var n,e=t,r=t.s15_1.y17();r.p17(),n=r,e.t15_1=n}function cr(t,n,e){var r;n?t.r15_1.c18():(null!=e&&t.r15_1.a18()!==e&&Mr(t,!1,(r=e,function(t,n,e){return n.r1b(r),wt()}),2),t.r15_1.b18())}function lr(t,n,e,r,i){if(Cr(t),Jr(t,n,e,i),t.y15_1){t.r15_1.d18();var o=t.t15_1.d13_1;if(r)t.t15_1.g18(fi().h12_1);else if(null!=i){var s=e;t.t15_1.f18(n,null==s?fi().h12_1:s,i)}else{var a=e;t.t15_1.e18(n,null==a?fi().h12_1:a)}var u=t.t14_1;if(null==u);else{var c=new Ma(n,-1,_r(0,o),-1,0);u.n18(c,t.u14_1-u.i18_1|0),u.o18(c)}return hr(t,r,null),wt()}null==t.t14_1&&(t.r15_1.p18()===n&&Ht(e,t.r15_1.r18())?cr(t,r,i):t.t14_1=new ki(t.r15_1.q18(),t.u14_1));var l,h=t.t14_1,p=null;if(null!=h){var f=h.s18(n,e);if(null!=f){h.o18(f);var _=f.x18_1;t.u14_1=h.a19(f)+h.i18_1|0;var d=h.b19(f),v=d-h.j18_1|0;h.c19(d,h.j18_1),Rr(t,_),t.r15_1.d19(_),v>0&&Or(t,(l=v,function(t,n,e){return n.s1b(l),wt()})),cr(t,r,i)}else{t.r15_1.d18(),t.y15_1=!0,t.v15_1=null,function(t){t.t15_1.f13_1&&(t.t15_1=t.s15_1.y17(),t.t15_1.z17(),t.u15_1=!1,t.v15_1=null)}(t),t.t15_1.t18();var y=t.t15_1.d13_1;if(r)t.t15_1.g18(fi().h12_1);else if(null!=i){var m=e;t.t15_1.f18(n,null==m?fi().h12_1:m,i)}else{var g=e;t.t15_1.e18(n,null==g?fi().h12_1:g)}t.w15_1=t.t15_1.u18(y);var $=new Ma(n,-1,_r(0,y),-1,0);h.n18($,t.u14_1-h.i18_1|0),h.o18($),p=new ki(jt(),r?0:t.u14_1)}}hr(t,r,p)}function hr(t,n,e){t.s14_1.e19(t.t14_1),t.t14_1=e,t.v14_1.z16(t.u14_1),n&&(t.u14_1=0),t.x14_1.z16(t.w14_1),t.w14_1=0}function pr(t,n){if(t.y15_1){var e=t.t15_1.e13_1;Yr(t,t.t15_1.u17(e),t.t15_1.t17(e),t.t15_1.s17(e))}else{var r=t.r15_1.l17_1;Yr(t,t.r15_1.u17(r),t.r15_1.t17(r),t.r15_1.s17(r))}var i=t.w14_1,o=t.t14_1;if(null!=o&&o.h18_1.f()>0){for(var s=o.h18_1,a=o.g19(),u=function(t){var n=ke(t.f()),e=0,r=t.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.g(i);n.a(o)}while(e<=r);return n}(a),c=Ut(),l=0,h=a.f(),p=0,f=s.f(),_=0;p0&&(Rr(t,t.r15_1.l19()),t.r15_1.z17())}for(var g=t.u14_1;!t.r15_1.m19();){var $=t.r15_1.j17_1;Nr(t);var b=t.r15_1.r17();Ur(t,g,b),zi(t.d15_1,$,t.r15_1.j17_1)}var w=t.y15_1;if(w){n&&(function(t){t.x15_1.a(t.g16_1.f19())}(t),i=1),t.r15_1.o19();var x=t.t15_1.e13_1;if(t.t15_1.p19(),!t.r15_1.r19()){var k=_r(0,x);t.t15_1.q19(),t.t15_1.p17(),function(t,n){if(t.x15_1.h())Or(t,(r=t.s15_1,i=n,function(t,n,e){return n.t18(),n.m1c(r,i.l1c(r)),n.q19(),wt()}));else{var e=Gt(t.x15_1);t.x15_1.s7(),Ar(t),Ir(t),Or(t,function(t,n,e){return function(r,i,o){var s=t.y17();try{var a=0,u=n.f()-1|0;if(a<=u){do{var c=a;a=a+1|0,n.g(c)(r,s,o)}while(a<=u);wt()}}finally{s.p17()}return i.t18(),i.m1c(t,e.l1c(t)),i.q19(),wt()}}(t.s15_1,e,n))}var r,i}(t,t.w15_1),t.y15_1=!1,t.n14_1.du()||(mr(t,k,0),dr(t,k,i))}}else{n&&Tr(t),function(t){var n=t.r15_1.l17_1;t.f16_1.q1a(-1)<=n||Oi(xt("Missed recording an endGroup")),t.f16_1.q1a(-1)===n&&(t.f16_1.f19(),Mr(t,!1,Xe(),2))}(t);var j=t.r15_1.l17_1;i!==yr(t,j)&&dr(t,j,i),n&&(i=1),t.r15_1.n19(),Wr(t)}!function(t,n,e){var r=t.s14_1.f19();if(null!=r&&!e){var i=r,o=i.j18_1;i.j18_1=o+1|0}t.t14_1=r,t.u14_1=t.v14_1.f19()+n|0,t.w14_1=t.x14_1.f19()+n|0}(t,i,w)}function fr(t){var n=t.p15_1;t.p15_1=!0;for(var e=!1,r=t.r15_1.l17_1,i=r+t.r15_1.i19(r)|0,o=t.u14_1,s=t.z15_1,a=t.w14_1,u=r,c=Ci(t.d15_1,t.r15_1.j17_1,i);null!=c;){var l=c.t19_1;if(Si(t.d15_1,l),c.y19()){e=!0,t.r15_1.d19(l);var h=t.r15_1.j17_1;gr(t,u,h,r),u=h,t.u14_1=vr(t,l,h,r,o),t.z15_1=br(t,t.r15_1.v17(h),r,s),t.v15_1=null,c.s19_1.w19(t),t.v15_1=null,t.r15_1.x19(r)}else t.o15_1.e19(c.s19_1),c.s19_1.v19(),t.o15_1.f19();c=Ci(t.d15_1,t.r15_1.j17_1,i)}if(e){gr(t,u,r,r),t.r15_1.z17();var p=yr(t,r);t.u14_1=o+p|0,t.w14_1=a+p|0}else wr(t);t.z15_1=s,t.p15_1=n}function _r(t,n){return-2-n|0}function dr(t,n,e){var r=yr(t,n);if(r!==e){var i=e-r|0,o=n,s=t.s14_1.f()-1|0;t:for(;-1!==o;){var a=yr(t,o)+i|0;mr(t,o,a);var u=s;if(0<=u)n:do{var c=u;u=u+-1|0;var l=t.s14_1.z19(c);if(null!=l&&l.h19(o,a)){s=c-1|0;break n}}while(0<=u);if(o<0)o=t.r15_1.l17_1;else{if(t.r15_1.a1a(o))break t;o=t.r15_1.v17(o)}}}}function vr(t,n,e,r,i){for(var o=t.r15_1.v17(e);o!==r&&!t.r15_1.a1a(o);)o=t.r15_1.v17(o);var s=t.r15_1.a1a(o)?0:i;if(o===e)return s;var a=o,u=s+(yr(t,o)-t.r15_1.b1a(e)|0)|0;t:for(;s=0)return o}return t.r15_1.b1a(n)}function mr(t,n,e){if(yr(t,n)!==e)if(n<0){var r,i=t.z14_1;if(null==i){var o=Wt();t.z14_1=o,r=o}else r=i;r.v3(n,e)}else{var s,a=t.y14_1;if(null==a){var u=new Int32Array(t.r15_1.f());Vt(u,-1,0,0,6,null),t.y14_1=u,s=u}else s=a;s[n]=e}}function gr(t,n,e,r){for(var i=t.r15_1,o=function(t,n,e,r){if(Ji(),n===e)return n;if(n===r||e===r)return r;if(t.v17(n)===e)return e;if(t.v17(e)===n)return n;if(t.v17(n)===t.v17(e))return t.v17(n);var i=n,o=e,s=Di(t,n,r),a=Di(t,e,r),u=s-a|0,c=0;if(c0&&s!==o;)i.a1a(s)&&Tr(t),s=i.v17(s);$r(t,e,o)}function $r(t,n,e){var r,i;n>0&&n!==e&&($r(t,t.r15_1.v17(n),e),t.r15_1.a1a(n)&&Dr(t,(r=t.r15_1,i=n,r.n1a(i))))}function br(t,n,e,r){var i;if(n===e)i=r;else{var o,s=function(t,n,e){var r;if(t.c1a(e)){var i,o=t.t17(e);if(null==o)i=null;else{var s=o;i=s instanceof Kt?o.s1_1:s instanceof wi?Ao():Jt(o)}r=null==i?0:i}else{var a,u=t.u17(e);if(207===u){var c,l=t.s17(e);a=null==(c=null==l?null:Ht(l,fi().h12_1)?u:Jt(l))?u:c}else a=u;r=a}return r}(t.r15_1,0,n);if(s===Ao())o=s;else{var a=br(t,t.r15_1.v17(n),e,r);o=qt(a,3)^s}i=o}return i}function wr(t){t.w14_1=t.r15_1.d1a(),t.r15_1.z17()}function xr(t,n,e,r,i){t.h1a(Ao(),n),t.j12(r);var o=t.z15_1;t.z15_1=Ao(),t.y15_1&&t.t15_1.i1a(0,1,null);var s,a,u,c=!t.y15_1&&!Ht(t.r15_1.a18(),e);if(c){var l=t.g15_1,h=t.r15_1.j17_1;l.v3(h,e)}if(lr(t,202,Qe(),!1,e),t.y15_1&&!i){t.u15_1=!0,t.v15_1=null;var p=t.t15_1.u18(t.t15_1.v17(t.t15_1.e13_1)),f=t.s15_1,_=Yt(),d=new yi(n,r,t.r14_1,f,p,_,function(t,n,e,r){return 0!=(2&e)&&(n=null),ar(t,n)}(t,null,2));t.m14_1.j1a(d)}else{var v=t.h15_1;t.h15_1=c,Hh(t,(s=cl(1378964644,!0,(a=n,u=r,function(t,n){var e=t;return $i(e,"C2821@107760L18:Composer.kt#9igjgp"),2==(11&n)&&e.v1b()?(e.z17(),wt()):a.u1b_1(u,e,0),wt()})),function(t,n){return s.t1b(t,n)})),t.h15_1=v}sr(t),t.z15_1=o,t.k1a()}function kr(t,n,e,r,i,o){var s=t.e16_1,a=t.p15_1,u=t.u14_1;try{t.e16_1=!1,t.p15_1=!0,t.u14_1=0;var c,l=0,h=i.f()-1|0;if(l<=h)do{var p=l;l=l+1|0;var f=i.g(p),_=f.l4(),d=f.m4();if(null!=d)for(var v=d.c();v.d();){var y=v.e();t.l1a(_,y)}else t.l1a(_,null)}while(l<=h);if(null==n)c=null;else{var m=r;c=n.m1a(e,null==m?-1:m,o)}var g=c;return null==g?o():g}finally{t.e16_1=s,t.p15_1=a,t.u14_1=u}}function jr(t,n,e,r,i,o,s,a){return 0!=(2&s)&&(n=null),0!=(4&s)&&(e=null),0!=(8&s)&&(r=null),0!=(16&s)&&(i=Yt()),kr(t,n,e,r,i,o)}function zr(t){t.c15_1||Oi(xt("A call to createNode(), emitNode() or useNode() expected was not expected")),t.c15_1=!1}function Cr(t){!t.c15_1||Oi(xt("A call to createNode(), emitNode() or useNode() expected"))}function Sr(t,n){t.p14_1.a(n)}function qr(t,n){Ar(t),Ir(t),Sr(t,n)}function Or(t,n){(function(t,n,e,r){0!=(2&e)&&(n=!1),Br(t,n)})(t,!1,2),Fr(t),Sr(t,n)}function Pr(t,n,e){Br(t,n),Sr(t,e)}function Mr(t,n,e,r,i){return 0!=(2&r)&&(n=!1),Pr(t,n,e)}function Ar(t){var n,e=t.a16_1;e>0&&(t.a16_1=0,Sr(t,(n=e,function(t,e,r){var i=0;if(i=0||Oi(xt("Tried to seek backward")),i>0&&(Sr(t,(e=i,function(t,n,r){return n.k1c(e),wt()})),t.c16_1=r)}function Lr(t,n){t.x15_1.a(n)}function Nr(t){(function(t,n){ti(t,n,!1,0),Wr(t)})(t,t.r15_1.j17_1),Or(t,(Ji(),i));var n=t;n.c16_1=n.c16_1+t.r15_1.p1a()|0}function Rr(t,n){var e=t.r15_1.j17_1-t.c16_1|0;t.c16_1=n-e|0}function Fr(t){if(t.r15_1.f()>0){var n=t.r15_1,e=n.l17_1;if(t.f16_1.q1a(-1)!==e){!t.d16_1&&t.e16_1&&(Mr(t,!1,(Ji(),a),2),t.d16_1=!0);var r=n.u18(e);t.f16_1.z16(e),Mr(t,!1,(i=r,function(t,n,e){return n.n1c(i),wt()}),2)}}var i}function Hr(t){t.t14_1=null,t.u14_1=0,t.w14_1=0,t.c16_1=0,t.z15_1=0,t.c15_1=!1,t.d16_1=!1,t.f16_1.s7(),t.o15_1.s7(),function(t){t.y14_1=null,t.z14_1=null}(t)}function Ur(t,n,e){if(e>0)if(n>=0||Oi(xt("Invalid remove index "+n)),t.h16_1===n){var r=t;r.k16_1=r.k16_1+e|0}else Wr(t),t.h16_1=n,t.k16_1=e}function Vr(t,n,e,r){if(r>0)if(t.k16_1>0&&t.i16_1===(n-t.k16_1|0)&&t.j16_1===(e-t.k16_1|0)){var i=t;i.k16_1=i.k16_1+r|0}else Wr(t),t.i16_1=n,t.j16_1=e,t.k16_1=r}function Wr(t){var n,e,r=t.k16_1;if(t.k16_1=0,r>0)if(t.h16_1>=0){var i=t.h16_1;t.h16_1=-1,qr(t,(n=i,e=r,function(t,r,i){return t.g11(n,e),wt()}))}else{var o=t.i16_1;t.i16_1=-1;var s=t.j16_1;t.j16_1=-1,qr(t,function(t,n,e){return function(r,i,o){return r.h11(t,n,e),wt()}}(o,s,r))}}function Jr(t,n,e,r){null==e?null==r||207!==n||Ht(r,fi().h12_1)?Kr(t,n):Kr(t,Jt(r)):Kr(t,e instanceof Kt?e.s1_1:Jt(e))}function Kr(t,n){var e,r=t,i=t.z15_1;e=qt(i,3),r.z15_1=e^n}function Yr(t,n,e,r){null==e?null==r||207!==n||Ht(r,fi().h12_1)?Gr(t,n):Gr(t,Jt(r)):Gr(t,e instanceof Kt?e.s1_1:Jt(e))}function Gr(t,n){var e,r=t,i=t.z15_1^n;e=Ot(i,3),r.z15_1=e}function Xr(t,n,e){!t.p15_1||Oi(xt("Reentrant composition is not supported"));t:{var r=Fh().r1a("Compose:recompose");try{t.m15_1=Hl(),t.n15_1=t.m15_1.x1a(),t.g15_1.s7();var i=0,o=n.a1b_1;if(i1&&(_=new Zr(ci),Xt(d,_)),t.u14_1=0;var v=!1;t.p15_1=!0;try{er(t);var y=t.c1b();y!==e&&null!=e&&t.e1a(null==e||Ct(e)?e:zt()),function(t,n,e){bo();var r=go().ku();try{var i=go(),o=go().ku();i.q1h((null==o?gu():o).a(tn(t,n))),e()}finally{go().q1h(r)}}((m=t,function(t){var n=m,e=n.l15_1;return n.l15_1=e+1|0,wt()}),function(t){return function(n){var e=t,r=e.l15_1;return e.l15_1=r-1|0,wt()}}(t),function(t,n,e){return function(){return null!=t?(or(n,200,Ze()),Hh(n,t),sr(n),wt()):n.b15_1&&null!=e&&!Ht(e,fi().h12_1)?(or(n,200,Ze()),Hh(n,null!=e&&"function"==typeof e?e:zt()),sr(n),wt()):(n.o1c(),wt()),wt()}}(e,t,y)),rr(t),v=!0,wt()}finally{t.p15_1=!1,t.d15_1.s7(),v||function(t){Hr(t),t.s14_1.s7(),t.v14_1.s7(),t.x14_1.s7(),t.e15_1.s7(),t.i15_1.s7(),t.g15_1.s7(),t.r15_1.p17(),t.z15_1=0,t.l15_1=0,t.c15_1=!1,t.p15_1=!1,t.b15_1=!1}(t)}break t}finally{Fh().d1b(r)}}var m}function Zr(t){this.e1b_1=t}function Qr(t,n,e){for(;!t.f1b(e);)t.z17(),t.a1a(t.e13_1)&&n.d11(),t.p19()}function ti(t,n,e,r){var i;if(t.r15_1.n1b(n)){var o=t.r15_1.t17(n),s=o instanceof wi?o:zt(),a=t.r15_1.l1b(n,0),u=t.r15_1.u18(n),c=n+t.r15_1.i19(n)|0,l=function(t,n,e){Ji();var r=jt(),i=Ei(t,n);t:for(;i0&&Ur(t,r,$),y=0}else y=t.r15_1.b1a(n);i=y}else if(t.r15_1.k1b(n)){for(var b=n+t.r15_1.i19(n)|0,w=n+1|0,x=0;w=0&&!t.a1a(e);)e=t.v17(e);var r=0;for(e=e+1|0;e0?new We(e,t._v):e,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,n.g(u)(o,r,i)}while(s<=a);wt()}return wt()}}function ii(t,n){return function(e,r,i){var o=t._v,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var c=n.g(u);Ft(e,Ve)||zt(),e.f11(o+u|0,c),e.e11(o+u|0,c)}while(s<=a);wt()}return wt()}}function oi(t,n,e){return function(r,i,o){var s,a=t.m14_1.e1c(n);null==a?Oi("Could not resolve state for movable content"):s=a;var u=s,c=i.h1c(1,u.f1c_1,1);if(!c.h()){var l=e.y1b_1,h=l instanceof so?l:zt(),p=0,f=c.f()-1|0;if(p<=f){do{var _=p;p=p+1|0;var d=c.g(_),v=i.i1c(d,0),y=v instanceof To?v:null;null==y||y.j1c(h)}while(p<=f);wt()}}return wt()}}function si(t,n){return function(){return xr(t,n.w1b_1,n.c1c_1,n.x1b_1,!0),wt()}}function ai(t,n){return function(e,r,i){var o=t._v>0?new We(e,t._v):e,s=0,a=n.f()-1|0;if(s<=a){do{var u=s;s=s+1|0,n.g(u)(o,r,i)}while(s<=a);wt()}return wt()}}function ui(t,n,e){return Ft(t,Ve)||zt(),Qr(n,t,0),n.p19(),wt()}function ci(t,n){var e,r=t.t19_1;return e=n.t19_1,nn(r,e)}function li(t,n,e,r,i,o,s){this.l14_1=t,this.m14_1=n,this.n14_1=e,this.o14_1=r,this.p14_1=i,this.q14_1=o,this.r14_1=s,this.s14_1=new Ha,this.t14_1=null,this.u14_1=0,this.v14_1=new Fa,this.w14_1=0,this.x14_1=new Fa,this.y14_1=null,this.z14_1=null,this.a15_1=!1,this.b15_1=!1,this.c15_1=!1;var a;a=jt(),this.d15_1=a,this.e15_1=new Fa,this.f15_1=mu(),this.g15_1=Wt(),this.h15_1=!1,this.i15_1=new Fa,this.j15_1=!1,this.k15_1=-1,this.l15_1=0,this.m15_1=Hl(),this.n15_1=0,this.o15_1=new Ha,this.p15_1=!1,this.q15_1=!1;var u,c=this.n14_1.t16();c.p17(),u=c,this.r15_1=u,this.s15_1=new ra;var l,h=this.s15_1.y17();h.p17(),l=h,this.t15_1=l,this.u15_1=!1,this.v15_1=null;var p,f,_=this.s15_1.t16();try{f=_.u18(0)}finally{_.p17()}p=f,this.w15_1=p;var d;d=jt(),this.x15_1=d,this.y15_1=!1,this.z15_1=0,this.a16_1=0,this.b16_1=new Ha,this.c16_1=0,this.d16_1=!1,this.e16_1=!0,this.f16_1=new Fa,this.g16_1=new Ha,this.h16_1=-1,this.i16_1=-1,this.j16_1=-1,this.k16_1=0}function hi(){}function pi(){h=this,this.h12_1=new hi}function fi(){return null==h&&new pi,h}function _i(){}function di(){if(v)return wt();v=!0,p=new vi("IGNORED",0),f=new vi("SCHEDULED",1),_=new vi("DEFERRED",2),d=new vi("IMMINENT",3)}function vi(t,n){Kt.call(this,t,n)}function yi(t,n,e,r,i,o,s){this.w1b_1=t,this.x1b_1=n,this.y1b_1=e,this.z1b_1=r,this.a1c_1=i,this.b1c_1=o,this.c1c_1=s,this.d1c_1=8}function mi(t){return Ji(),void(t||Oi(xt("Check failed")))}function gi(t){this.f1c_1=t,this.g1c_1=8}function $i(t,n){Ji(),t.t1d(n)}function bi(){}function wi(){}function xi(t){return function(){var n,e=(Ji(),Wt()),r=0,i=t.h18_1.f();if(r=0))throw rn(xt("Invalid start index"));var e;e=jt(),this.k18_1=e;var r,i=0,o=Wt(),s=0,a=this.h18_1.f();if(s=0?t.n4(e):null}function qi(t,n){Ji();var e=jt(),r=t.t16();try{Li(r,e,t.h1b(n)),wt()}finally{r.p17()}return e}function Oi(t){throw Ji(),St(xt("Compose Runtime internal error. Unexpected or incorrect use of the Compose internal runtime API ("+t+"). Please report to Google or use https://goo.gle/compose-feedback"))}function Pi(t,n,e){this.n1e_1=t,this.o1e_1=n,this.p1e_1=e}function Mi(t,n,e){Ji();var r,i=t.a3(n);if(null==i){var o=Ut();t.v3(n,o),r=o}else r=i;return r.a(e)}function Ai(t,n){Ji();var e,r=t.a3(n),i=null==r?null:sn(r);return null==i?e=null:(function(t,n,e){Ji();var r,i=t.a3(n);null==i?r=null:(i.jf(e),i.h()&&(t.og(n),wt()),r=wt())}(t,n,i),e=i),e}function Ei(t,n){Ji();var e=Ii(t,n);return e<0?0|-(e+1|0):e}function Ii(t,n){Ji();for(var e=0,r=t.f()-1|0;e<=r;){var i=(e+r|0)>>>1|0,o=t.g(i),s=an(o.t19_1,n);if(s<0)e=i+1|0;else{if(!(s>0))return i;r=i-1|0}}return 0|-(e+1|0)}function Di(t,n,e){Ji();for(var r=0,i=n;i>0&&i!==e;)i=t.v17(i),r=r+1|0;return r}function Ti(t){this.e1f_1=t}function Bi(t){this.f1f_1=t}function Li(t,n,e){if(t.a1a(e))n.a(t.n1a(e));else for(var r=e+1|0,i=e+t.i19(e)|0;r=0)for(var u=iu(s,a).c();u.d();)oo(t,e,r,u.e())}}if(e&&!t.w13_1.h()){var c=t.v13_1,l=0,h=0,p=c.p1f_1;if(h0){if(l!==f){var C=c.m1f_1[l];c.m1f_1[l]=_,c.m1f_1[f]=C}l=l+1|0}}while(h0){if(A!==D){var K=M.m1f_1[A];M.m1f_1[A]=T,M.m1f_1[D]=K}A=A+1|0}}while(E0){if(e!==o){var y=n.m1f_1[e];n.m1f_1[e]=s,n.m1f_1[o]=y}e=e+1|0}}while(r=0)for(var i=iu(e,r).c();i.d();){var o=i.e();o.l1f(n).equals(Wi())&&t.a14_1.s1f(n,o)}}function no(t,n){var e=new io(t.t13_1);try{if(n.h())return wt();t:{var r=Fh().r1a("Compose:applyChanges");try{t.q13_1.a11();var i=t.u13_1.y17();try{var o=t.q13_1,s=0,a=n.f()-1|0;if(s<=a)do{var u=s;s=s+1|0,n.g(u)(o,i,e)}while(s<=a);n.s7(),wt()}finally{i.p17()}t.q13_1.b11(),wt();break t}finally{Fh().d1b(r)}}if(e.x1f(),e.y1f(),t.c14_1)t:{var c=Fh().r1a("Compose:unobserve");try{t.c14_1=!1;var l=t.v13_1,h=0,p=0,f=l.p1f_1;if(p0){if(h!==_){var z=l.m1f_1[h];l.m1f_1[h]=d,l.m1f_1[_]=z}h=h+1|0}}while(p=0)for(var s=iu(i,o).c();s.d();){var a=s.e();if(!t.a14_1.i1g(r,a)&&!a.l1f(r).equals(Vi()))if(a.r1f()&&!n)t.w13_1.a(a);else{var u,c=e._v;if(null==c){var l=fn();e._v=l,u=l}else u=c;u.a(a)}}}function so(t,n,e){this.p13_1=t,this.q13_1=n,this.r13_1=new Eh(null),this.s13_1=Va(),this.t13_1=fn(),this.u13_1=new ra,this.v13_1=new au,this.w13_1=fn(),this.x13_1=new au;var r;r=jt(),this.y13_1=r;var i;i=jt(),this.z13_1=i,this.a14_1=new au,this.b14_1=Ga(0,1,null),this.c14_1=!1,this.d14_1=null,this.e14_1=0;var o,s=new li(this.q13_1,this.p13_1,this.u13_1,this.t13_1,this.y13_1,this.z13_1,this);this.p13_1.j1g(s),o=s,this.f14_1=o,this.g14_1=e;var a=this.p13_1;this.h14_1=a instanceof gs,this.i14_1=!1,this.j14_1=(null==g&&new lo,g).k1g_1}function ao(){}function uo(t,n){var e=t;return $i(e,"C:Composition.kt#9igjgp"),2==(11&n)&&e.v1b()&&e.z17(),wt()}function co(t,n){var e=t;return $i(e,"C:Composition.kt#9igjgp"),2==(11&n)&&e.v1b()&&e.z17(),wt()}function lo(){var t;g=this,this.k1g_1=(t=cl(954879418,!1,uo),function(n,e){return t.t1b(n,e)}),this.l1g_1=function(t){return function(n,e){return t.t1b(n,e)}}(cl(1918065384,!1,co))}function ho(){}function po(){$||($=!0,m=new Object)}function fo(){return w||(w=!0,b=mu()),b}function _o(){this.u16_1=0}function vo(t){this.w17_1=new Ja(t)}function yo(t){vo.call(this,t)}function mo(t){yo.call(this,t)}function go(){return bo(),x}function $o(){}function bo(){k||(k=!0,x=new Ih,new Ih)}function wo(t){this.r1h_1=t}function xo(){this.s1h_1=0}function ko(){}function jo(t,n){this.u1h_1=n,this.v1h_1=dn(t),this.w1h_1=null}function zo(t){this.x1h_1=t,this.y1h_1=null}function Co(){z||(z=!0,j=new xo)}function So(t,n){var e;if(n instanceof Kt)e=n.s1_1;else{var r=null==n?null:Jt(n);e=null==r?0:r}return e}function qo(t,n){this.z1h_1=t,this.a1i_1=n}function Oo(){C=this}function Po(){return null==C&&new Oo,C}function Mo(){}function Ao(){return S}function Eo(t){this.b1i_1=t}function Io(t,n){t.i13_1=n?32|t.i13_1:-33&t.i13_1}function Do(t,n){t.i13_1=n?16|t.i13_1:-17&t.i13_1}function To(t){this.i13_1=0,this.j13_1=t,this.k13_1=null,this.l13_1=null,this.m13_1=0,this.n13_1=null,this.o13_1=null}function Bo(){}function Lo(){if(I)return wt();I=!0,q=new Jo("ShutDown",0),O=new Jo("ShuttingDown",1),P=new Jo("Inactive",2),M=new Jo("InactivePendingWork",3),A=new Jo("Idle",4),E=new Jo("PendingWork",5)}function No(t,n){t:for(;;){var e=t.h1i_1.m2(),r=e.a(n);if(e===r||t.h1i_1.ky(e,r))break t}}function Ro(t,n){t:for(;;){var e=t.h1i_1.m2(),r=e.jf(n);if(e===r||t.h1i_1.ky(e,r))break t}}function Fo(t,n){t.s7(),n.n1i_1;var e=n.u1i_1,r=0,i=e.f()-1|0;if(r<=i)do{var o=r;r=r+1|0;var s=e.g(o);t.a(s)}while(r<=i);n.u1i_1.s7(),wt()}function Ho(t,n,e,r,i,o){return function(s){var a;if(t.k1i_1.b12())t:{var u=Fh().r1a("Recomposer:animation");try{t.k1i_1.c12(s),Ml().d1j(),wt();break t}finally{Fh().d1b(u)}}t:{var c=Fh().r1a("Recomposer:recompose");try{t.n1i_1,Xo(t);var l=t.s1i_1,h=0,p=l.f()-1|0;if(h<=p)do{var f=h;h=h+1|0;var _=l.g(f);n.a(_)}while(h<=p);t.s1i_1.s7(),wt();var d=new ru,v=new ru;n:for(;!n.h()||!e.h();){try{var y=0,m=n.f()-1|0;if(y<=m)do{var g=y;y=y+1|0;var $=n.g(g);v.w1e($);var b=ns(t,$,d);null==b||(r.a(b),wt())}while(y<=m)}finally{n.s7()}if(d.o1a()){t.n1i_1;var w=t.q1i_1,x=0,k=w.f()-1|0;if(x<=k){do{var j=x;x=x+1|0;var z=w.g(j);!v.l3(z)&&z.p1g(d)&&n.a(z)}while(x<=k);wt()}}if(n.h())for(Fo(e,t);!e.h();){var C=es(t,e,d);xn(i,C),Fo(e,t)}}if(!r.h()){var S=t,q=S.j1i_1;S.j1i_1=q.cn();try{xn(o,r);var O=0,P=r.f()-1|0;if(O<=P)do{var M=O;O=O+1|0,r.g(M).y1g()}while(O<=P)}finally{r.s7()}}if(!i.h())try{xn(o,i);for(var A=i.c();A.d();)A.e().z1g()}finally{i.s7()}if(!o.h())try{for(var E=o.c();E.d();)E.e().b1d()}finally{o.s7()}(function(t){var n;if(t.n1i_1,t.v1i_1.h())n=Yt();else{var e=On(t.v1i_1.c3());t.v1i_1.s7();var r=Qt(e.f()),i=0,o=e.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=e.g(s),u=tn(a,t.w1i_1.a3(a));r.a(u)}while(i<=o);var c=r;t.w1i_1.s7(),n=c}var l=n,h=0,p=l.f()-1|0;if(h<=p)do{var f=h;h=h+1|0;var _=l.g(f),d=_.l4(),v=_.m4();null!=v&&d.y1b_1.x1g(v)}while(h<=p)})(t),t.n1i_1,a=Ko(t);break t}finally{Fh().d1b(c)}}return a}}function Uo(t){return function(n,e){var r;t.n1i_1,t.a1j_1.m2().w1(vs())>=0?(t.r1i_1.a(n),r=Ko(t)):r=null;var i,o=r;return null==o||(Pt(),i=Mt(wt()),o.z4(i),wt()),wt()}}function Vo(t,n,e){this.m1j_1=t,this.n1j_1=n,kn.call(this,e)}function Wo(t,n,e){var r=new Vo(t,n,e),i=function(t,n){return r.p1j(t,n)};return i.$arity=1,i}function Jo(t,n){Kt.call(this,t,n)}function Ko(t){if(t.a1j_1.m2().w1(_s())<=0){t.q1i_1.s7(),t.r1i_1.s7(),t.s1i_1.s7(),t.t1i_1.s7(),t.u1i_1.s7();var n=t.x1i_1;return null==n||n.jr(null,1,null),t.x1i_1=null,null}var e;null==t.o1i_1?(t.r1i_1.s7(),t.s1i_1.s7(),e=t.k1i_1.b12()?(Lo(),M):ds()):e=!!(!!(!t.s1i_1.h()||!t.r1i_1.h())||!t.t1i_1.h())||!t.u1i_1.h()||t.y1i_1>0||t.k1i_1.b12()?ys():vs();var r,i=e;if(t.a1j_1.jy(i),i.equals(ys())){var o=t.x1i_1;t.x1i_1=null,r=o}else r=null;return r}function Yo(t){var n;if(t.n1i_1,t.z1i_1){var e;t:{for(var r=t.l1i_1.it().c();r.d();)if(r.e().xo()){e=!0;break t}e=!1}n=e}else n=!0;return n}function Go(t){this.r1j_1=t}function Xo(t){if(!t.r1i_1.h()){var n=t.r1i_1,e=0,r=n.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=n.g(i),s=t.q1i_1,a=0,u=s.f()-1|0;if(a<=u)do{var c=a;a=a+1|0,s.g(c).n1g(o)}while(a<=u)}while(e<=r);if(t.r1i_1.s7(),null!=Ko(t))throw St("called outside of runRecomposeAndApplyChanges")}}function Zo(t,n){t.n1i_1;var e=t.p1i_1;if(null!=e)throw e;if(t.a1j_1.m2().w1(_s())<=0)throw St("Recomposer shut down");if(null!=t.o1i_1)throw St("Recomposer already running");t.o1i_1=n,Ko(t)}function Qo(t){return t.n1i_1,!(t.r1i_1.h()&&t.s1i_1.h())||t.k1i_1.b12()}function ts(t,n,e){var r,i,o=function(t){var n=t.y7(Po());if(null==n)throw St(xt("A MonotonicFrameClock is not available in this CoroutineContext. Callers should supply an appropriate MonotonicFrameClock using withContext."));return n}(e.b5());return Cn(t.k1i_1,(r=new ps(t,n,o,null),i=function(t,n){return r.p1j(t,n)},i.$arity=1,i),e)}function ns(t,n,e){if(n.c1g()||n.m1g())return null;var r,i,o;t:{var s=Ml().e1k(rs(0,n),is(0,n,e));try{var a;n:{var u=s.f1k();try{!0===(null==e?null:e.o1a())&&n.v1d((i=e,o=n,function(){for(var t=i.c();t.d();){var n=t.e();o.u1g(n)}return wt()})),a=n.v1g();break n}finally{s.g1k(u)}}r=a;break t}finally{os(0,s)}}return r?n:null}function es(t,n,e){var r=Sn(n.f()),i=0,o=n.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a,u=n.g(s),c=u.y1b_1,l=r.a3(c);if(null==l){var h=jt();r.v3(c,h),a=h}else a=l;a.a(u)}while(i<=o);for(var p=r,f=p.u().c();f.d();){var _=f.e(),d=_.k2(),v=_.m2();mi(!d.c1g());t:{var y=Ml().e1k(rs(0,d),is(0,d,e));try{n:{var m=y.f1k();try{t.n1i_1;var g=Qt(v.f()),$=0,b=v.f()-1|0;if($<=b)do{var w=$;$=$+1|0;var x=v.g(w),k=tn(x,bs(t.v1i_1,x.w1b_1));g.a(k)}while($<=b);var j=g;d.w1g(j),wt();break n}finally{y.g1k(m)}}break t}finally{os(0,y)}}}return qn(p.b3())}function rs(t,n){return e=n,function(t){return e.q1g(t),wt()};var e}function is(t,n,e){return r=n,i=e,function(t){return r.u1g(t),null==i||i.w1e(t),wt()};var r,i}function os(t,n){try{if(n.u1k()instanceof Bl)throw St(xt("Unsupported concurrent change during composition. A state object was modified by composition as well as being modified outside composition."))}finally{n.js()}}function ss(t){return!t.s1i_1.h()||t.k1i_1.b12()}function as(){D=this,this.h1i_1=Pn(Zc().y1o())}function us(){return null==D&&new as,D}function cs(t,n,e){t.s7(),n.n1i_1;for(var r=n.u1i_1.c();r.d();){var i=r.e();Ht(i.y1b_1,e)&&(t.a(i),r.o4())}wt()}function ls(t){return function(n){var e=Mn("Recomposer effect job completed",n),r=null,i=(t.n1i_1,t.o1i_1);null!=i?(t.a1j_1.jy(_s()),t.z1i_1?null!=t.x1i_1&&(r=t.x1i_1):i.cq(e),t.x1i_1=null,i.xp(function(t,n){return function(e){t.n1i_1;var r,i,o=t,s=n;return null==s?r=null:(null==(i=null==e||e instanceof An?null:e)||(En(s,i),wt()),r=s),o.p1i_1=r,t.a1j_1.jy(fs()),wt(),wt()}}(t,n))):(t.p1i_1=e,t.a1j_1.jy(fs()),wt());var o,s=r;return null==s||(Pt(),o=Mt(wt()),s.z4(o),wt()),wt()}}function hs(t,n){this.d1l_1=t,kn.call(this,n)}function ps(t,n,e,r){this.w1l_1=t,this.x1l_1=n,this.y1l_1=e,kn.call(this,r)}function fs(){return Lo(),q}function _s(){return Lo(),O}function ds(){return Lo(),P}function vs(){return Lo(),A}function ys(){return Lo(),E}function ms(t,n){kn.call(this,n),this.a1k_1=t}function gs(t){var n;us(),_o.call(this),this.j1i_1=new Bn(0,0),this.k1i_1=new Ye((n=this,function(){n.n1i_1;var t=Ko(n);if(n.a1j_1.m2().w1(_s())<=0)throw Mn("Recomposer shutdown; frame clock awaiter will never resume",n.p1i_1);var e,r=t;return null==r||(Pt(),e=Mt(wt()),r.z4(e),wt()),wt()}));var e,r=Nn(t.y7(Ln()));r.xp(ls(this)),e=r,this.l1i_1=e,this.m1i_1=t.f8(this.k1i_1).f8(this.l1i_1),this.n1i_1=Va(),this.o1i_1=null,this.p1i_1=null;var i;i=jt(),this.q1i_1=i;var o;o=jt(),this.r1i_1=o;var s;s=jt(),this.s1i_1=s;var a;a=jt(),this.t1i_1=a;var u;u=jt(),this.u1i_1=u;var c;c=Rn(),this.v1i_1=c;var l;l=Rn(),this.w1i_1=l,this.x1i_1=null,this.y1i_1=0,this.z1i_1=!1,this.a1j_1=Pn(ds()),this.b1j_1=new Go(this),this.c1j_1=8}function $s(){}function bs(t,n){ws();var e,r=t.a3(n);if(null==r)e=null;else{var i=Fn(r);r.h()&&t.og(n),e=i}return e}function ws(){T||(T=!0,new Object,new Object)}function xs(){}function ks(t,n,e,r,i,o){var s=n.i19(e),a=e+s|0,u=Vs(n,e),c=Vs(n,a),l=c-u|0,h=function(t,n){return n>=0&&wa(t.n12_1,Fs(t,n))}(n,e);Ds(r,s),Ts(r,l,r.d13_1),n.q12_1=0;U&&(n.b18(),n.k1c(H-n.d13_1|0),n.b18()),n.k1c(e-n.d13_1|0);var V=n.k14();U&&(n.z17(),n.p19(),n.z17(),n.p19()),R=V}else{var W=Bs(n,e,s);Ls(n,u,l,e-1|0),R=W}!R||Oi(xt("Unexpectedly removed anchors"));var J=r;return J.z12_1=J.z12_1+(oa(p,f)?1:sa(p,f))|0,o&&(r.d13_1=f+s|0,r.t12_1=g+l|0),h&&qs(r,b),F}function js(t,n,e,r,i){var o=t.y12_1>0;t.c13_1.z16(t.z12_1);var s,a=t;if(o){Ds(t,1);var u=t.d13_1,c=Fs(t,u),l=!(e===fi().h12_1),h=!(r||i===fi().h12_1);(function(t,n,e,r,i,o,s,a){var u=r?1073741824:0,c=i?536870912:0,l=o?268435456:0,h=$t(n,5);t[h+0|0]=e,t[h+1|0]=u|c|l,t[h+2|0]=s,t[h+3|0]=0,t[h+4|0]=a})(t.n12_1,c,n,r,l,h,t.e13_1,t.t12_1),t.u12_1=t.t12_1;var p=((r?1:0)+(l?1:0)|0)+(h?1:0)|0;if(p>0){Ts(t,p,u);var f=t.o12_1,_=t.t12_1;if(r){var d=_;_=d+1|0,f[d]=i}if(l){var v=_;_=v+1|0,f[v]=e}if(h){var y=_;_=y+1|0,f[y]=i}t.t12_1=_}t.z12_1=0;var m=u+1|0;t.e13_1=u,t.d13_1=m,s=m}else{var g=t.e13_1;t.a13_1.z16(g),Ps(t);var $=t.d13_1,b=Fs(t,$);Ht(i,fi().h12_1)||(r?t.j1m(i):t.r1b(i)),t.t12_1=Js(t.n12_1,t,b),t.u12_1=Ws(t.n12_1,t,Fs(t,t.d13_1+1|0)),t.z12_1=sa(t.n12_1,b),t.e13_1=$,t.d13_1=$+1|0,s=$+la(t.n12_1,b)|0}a.s12_1=s}function zs(){B=this}function Cs(){return null==B&&new zs,B}function Ss(t){var n=t.g13_1;if(null==n);else{for(;n.o1a();)Os(t,n.l1m(),n);wt()}}function qs(t,n){if(n>=0){var e,r=t.g13_1;if(null==r){var i=function(t,n,e,r){var i;return 0!=(1&n)&&(i=jt(),wt(),t=i),_a.call(r,t),r}(null,1,0,Object.create(_a.prototype));t.g13_1=i,e=i}else e=r;e.m1m(n)}}function Os(t,n,e){var r,i,o,s=Fs(t,n),a=function(t,n){for(var e=n+1|0,r=n+t.i19(n)|0;e=0&&e.m1m(u)}}function Ps(t){t.b13_1.z16((Rs(t)-t.r12_1|0)-t.s12_1|0)}function Ms(t){var n=(Rs(t)-t.r12_1|0)-t.b13_1.f19()|0;return t.s12_1=n,n}function As(t,n,e,r){for(var i=Qs(t,n,t.q12_1),o=r;o=0))break t;c.b1b_1=0|-(i-l|0),u=u+1|0}}}(t,r,n),e>0){var i=t.n12_1,o=$t(n,5),s=$t(e,5),a=$t(r,5);n=0||Oi(xt("Unexpected anchor value, expected a positive anchor")),ya(t.n12_1,h,0|-(1+(l-_|0)|0)),(h=h+1|0)===f&&(h=h+t.r12_1|0)}else for(var d=Fs(t,o),v=Fs(t,c);d0){var e=t.d13_1;Es(t,e);var r=t.q12_1,i=t.r12_1,o=t.n12_1.length/5|0,s=o-i|0;if(i=r&&(t.s12_1=$+n|0),t.q12_1=r+n|0,t.r12_1=i-n|0;var b=Xs(0,s>0?Vs(t,e+n|0):0,t.x12_1=r&&(t.x12_1=j+n|0)}}function Ts(t,n,e){if(n>0){Is(t,t.t12_1,e);var r=t.v12_1,i=t.w12_1;if(i=r&&(t.u12_1=g+n|0),t.v12_1=r+n|0,t.w12_1=i-n|0}}function Bs(t,n,e){var r;if(e>0){var i=!1,o=t.p12_1;Es(t,n),!o.h()&&(i=function(t,n,e){var r=t.r12_1,i=n+e|0,o=Rs(t)-r|0,s=ma(t.p12_1,n+e|0,o),a=s>=t.p12_1.f()?s-1|0:s,u=0,c=a+1|0;t:for(;a>=0;){var l=t.p12_1.g(a),h=t.h1b(l);if(!(h>=n))break t;hn){var u,c=t,l=a-e|0;u=Math.max(n,l),c.x12_1=u}if(t.s12_1>=t.q12_1){var h=t;h.s12_1=h.s12_1-e|0}(function(t,n){return n>=0&&ba(t.n12_1,Fs(t,n))})(t,t.e13_1)&&qs(t,t.e13_1),r=i}else r=!1;return r}function Ls(t,n,e,r){if(e>0){var i=t.w12_1;Is(t,n+e|0,r),t.v12_1=n,t.w12_1=i+e|0,Un(t.o12_1,null,n,n+e|0);var o=t.u12_1;o>=n&&(t.u12_1=o-e|0)}}function Ns(t,n,e){var r=Fs(t,n);r=Rs(n)?n.o12_1.length-n.w12_1|0:Zs(0,ga(t,e),n.w12_1,n.o12_1.length)}function Js(t,n,e){return e>=Rs(n)?n.o12_1.length-n.w12_1|0:Zs(0,xa(t,e),n.w12_1,n.o12_1.length)}function Ks(t,n,e,r){ya(t,e,Xs(0,r,n.v12_1,n.w12_1,n.o12_1.length))}function Ys(t,n,e){return Ws(t,n,e)}function Gs(t,n,e){return Ws(t,n,e)+ka(function(t,n){return t[$t(n,5)+1|0]}(t,e)>>29)|0}function Xs(t,n,e,r,i){return n>e?0|-(1+((i-r|0)-n|0)|0):n}function Zs(t,n,e,r){return n<0?1+((r-e|0)+n|0)|0:n}function Qs(t,n,e){return n-2?n:(t.f()+n|0)- -2|0}function na(t,n,e){this.o1m_1=n,this.p1m_1=e,this.n1m_1=t}function ea(t){Cs(),this.m12_1=t,this.n12_1=this.m12_1.l16_1,this.o12_1=this.m12_1.n16_1,this.p12_1=this.m12_1.s16_1,this.q12_1=this.m12_1.m16_1,this.r12_1=(this.n12_1.length/5|0)-this.m12_1.m16_1|0,this.s12_1=this.m12_1.m16_1,this.t12_1=0,this.u12_1=0,this.v12_1=this.m12_1.o16_1,this.w12_1=this.o12_1.length-this.m12_1.o16_1|0,this.x12_1=this.m12_1.m16_1,this.y12_1=0,this.z12_1=0,this.a13_1=new Fa,this.b13_1=new Fa,this.c13_1=new Fa,this.d13_1=0,this.e13_1=-1,this.f13_1=!1,this.g13_1=null}function ra(){this.l16_1=new Int32Array(0),this.m16_1=0;for(var t=0,n=Vn(Array(0),null);t<0;){null,n[t]=null,t=t+1|0}this.n16_1=n,this.o16_1=0,this.p16_1=0,this.q16_1=!1,this.r16_1=0;var e;e=jt(),this.s16_1=e}function ia(t){this.b1b_1=t}function oa(t,n){return!(0==(1073741824&t[$t(n,5)+1|0]))}function sa(t,n){return 67108863&t[$t(n,5)+1|0]}function aa(t,n){return t[$t(n,5)]}function ua(t,n){return!(0==(536870912&t[$t(n,5)+1|0]))}function ca(t,n){var e=$t(n,5);return t[e+4|0]+ka(t[e+1|0]>>30)|0}function la(t,n){return t[$t(n,5)+3|0]}function ha(t,n){return!(0==(268435456&t[$t(n,5)+1|0]))}function pa(t,n,e){if(!(e>=0))throw rn(xt("Failed requirement."));t[$t(n,5)+3|0]=e}function fa(t,n,e){if(!(e>=0&&e<67108863))throw rn(xt("Failed requirement."));t[$t(n,5)+1|0]=-67108864&t[$t(n,5)+1|0]|e}function _a(t){this.k1m_1=t}function da(t,n,e){t[$t(n,5)+2|0]=e}function va(t,n){return t[$t(n,5)+2|0]}function ya(t,n,e){t[$t(n,5)+4|0]=e}function ma(t,n,e){var r=Aa(t,n,e);return r>=0?r:0|-(r+1|0)}function ga(t,n){return t[$t(n,5)+4|0]}function $a(t,n){return!(0==(134217728&t[$t(n,5)+1|0]))}function ba(t,n){return!(0==(67108864&t[$t(n,5)+1|0]))}function wa(t,n){return!(0==(201326592&t[$t(n,5)+1|0]))}function xa(t,n){var e=$t(n,5);return t[e+4|0]+ka(t[e+1|0]>>28)|0}function ka(t){switch(t){case 0:return 0;case 1:case 2:case 4:return 1;case 3:case 5:case 6:return 2;default:return 3}}function ja(t,n,e){return oa(t,e)?n.h17_1[function(t,n){return t[$t(n,5)+4|0]}(t,e)]:fi().h12_1}function za(t,n,e){return ha(t,e)?n.h17_1[function(t,n){var e=$t(n,5);return e>=t.length?t.length:t[e+4|0]+ka(t[e+1|0]>>29)|0}(t,e)]:fi().h12_1}function Ca(t,n,e){return ua(t,e)?n.h17_1[ca(t,e)]:null}function Sa(t){this.e17_1=t,this.f17_1=this.e17_1.l16_1,this.g17_1=this.e17_1.m16_1,this.h17_1=this.e17_1.n16_1,this.i17_1=this.e17_1.o16_1,this.j17_1=0,this.k17_1=this.g17_1,this.l17_1=-1,this.m17_1=0,this.n17_1=0,this.o17_1=0}function qa(t){if(t.f1n_1.r16_1!==t.i1n_1)throw Xn()}function Oa(t,n){this.j1n_1=t,this.k1n_1=n}function Pa(t,n,e){if(this.f1n_1=t,this.g1n_1=e,this.h1n_1=n,this.i1n_1=this.f1n_1.r16_1,this.f1n_1.q16_1)throw Xn()}function Ma(t,n,e,r,i){this.v18_1=t,this.w18_1=n,this.x18_1=e,this.y18_1=r,this.z18_1=i}function Aa(t,n,e){return function(t,n,e){for(var r=0,i=t.f()-1|0;r<=i;){var o=(r+i|0)>>>1|0,s=t.g(o).b1b_1,a=an(s<0?e+s|0:s,n);if(a<0)r=o+1|0;else{if(!(a>0))return o;i=o-1|0}}return 0|-(r+1|0)}(t,n,e)}function Ea(){}function Ia(){var t=(null==L&&new Da,L);return Ft(t,Ea)?t:zt()}function Da(){L=this}function Ta(){}function Ba(){}function La(t,n){return function(t,n){return Nh(),new Ra(t,n)}(t,n)}function Na(t){Rl.call(this),this.s1n_1=t}function Ra(t,n){this.a1o_1=n,this.b1o_1=new Na(t)}function Fa(){this.x16_1=new Int32Array(10),this.y16_1=0}function Ha(){this.q17_1=jt()}function Ua(){}function Va(){return new Ua}function Wa(t){return cn("current",1,un,(function(t){return Wa(t)}),null),t.x17_1.m2()}function Ja(t){this.x17_1=on(t)}function Ka(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.d1i_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.c1i_1;if(a>>1|0,s=t.y1a_1[o],a=Dh(s);if(ae))return n===s?o:Za(t,o,n,e);i=o-1|0}}return 0|-(r+1|0)}function Za(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.y1a_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.a1b_1;if(a>>1|0,s=t.g(o),a=Dh(s);if(ai))return s===n?o:nu(t,o,n,i);r=o-1|0}}return 0|-(e+1|0)}function nu(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o=i;i=i+-1|0;var s=t.v1e_1[o];if(s===e)return o;if(Dh(s)!==r)break t}while(0<=i);var a=n+1|0,u=t.u1e_1;if(a>>1|0,s=pn(t.n1f_1[t.m1f_1[o]]),a=Dh(s);if(ae))return n===s?o:su(t,o,n,e);i=o-1|0}}return 0|-(r+1|0)}function su(t,n,e,r){var i=n-1|0;if(0<=i)t:do{var o,s=i;if(i=i+-1|0,(o=pn(t.n1f_1[t.m1f_1[s]]))===e)return s;if(Dh(o)!==r)break t}while(0<=i);var a=n+1|0,u=t.p1f_1;if(a>hc()>1<ac()))throw i="Trie-based persistent vector should have at least "+(ac()+1|0)+" elements, got "+this.j1p_1,rn(xt(i));this.j1p_1,lc(this.j1p_1),ae(this.i1p_1.length,ac())}function Au(t){return t.u1p_1<=ac()?0:lc(t.u1p_1)}function Eu(t){return n=t.u1p_1,n<=ac()?n:n-lc(n)|0;var n}function Iu(t,n){if(null==n)return Tu(t);if(function(t,n){return n.length===_c()&&n[_c()-1|0]===t.r1p_1}(t,n))return n;var e=Tu(t),r=ae(n.length,ac());return Hn(n,e,0,0,r),e}function Du(t,n){var e=_c(),r=Vn(Array(e),null);return r[0]=n,r[_c()-1|0]=t.r1p_1,r}function Tu(t){var n=_c(),e=Vn(Array(n),null);return e[_c()-1|0]=t.r1p_1,e}function Bu(t,n,e,r){var i;if(t.u1p_1>>hc()>1<=0))throw St(xt("Check failed."));if(0===r)return i.e();var o=Iu(t,n),s=pc(e,r),a=s,u=o[s];for(o[a]=Ru(t,null==u||ln(u)?u:zt(),e,r-hc()|0,i);(s=s+1|0)0){var r=(t.c1q_1-1|0)-(e/hc()|0)|0;ec(t,t.z1o_1,r+1|0)}}function ic(t){var n=t.z1o_1&cc(),e=t.d1q_1[t.c1q_1-1|0];return(null!=e&&ln(e)?e:zt())[n]}function oc(t,n,e,r){$u.call(this,n,e),this.c1q_1=r;var i,o=this.c1q_1;i=Vn(Array(o),null),this.d1q_1=i,this.e1q_1=n===e,this.d1q_1[0]=t,ec(this,n-(this.e1q_1?1:0)|0,1)}function sc(){return tc().m1q_1}function ac(){return R}function uc(t){var n=Vn(Array(32),null);return n[0]=t,n}function cc(){return F}function lc(t){return-32&(t-1|0)}function hc(){return H}function pc(t,n){return t>>n&31}function fc(t){this.l1p_1=t}function _c(){return U}function dc(){V=this,this.v1o_1=new yc(Vc().o1q_1,0)}function vc(){return null==V&&new dc,V}function yc(t,n){vc(),_e.call(this),this.r1q_1=t,this.s1q_1=n}function mc(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new wc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function gc(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new xc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function $c(t){for(var n=0,e=Vn(Array(8),null);n<8;){var r,i=n;r=new Sc,e[i]=r,n=n+1|0}zc.call(this,t,e)}function bc(){this.g1r_1=Vc().o1q_1.w1q_1,this.h1r_1=0,this.i1r_1=0}function wc(){bc.call(this)}function xc(){bc.call(this)}function kc(t,n){if(t.d1r_1[n].l1r())return n;if(t.d1r_1[n].m1r()){var e=t.d1r_1[n].n1r();return 6===n?t.d1r_1[n+1|0].k1r(e.w1q_1,e.w1q_1.length):t.d1r_1[n+1|0].k1r(e.w1q_1,$t(Jc(),e.v1r())),kc(t,n+1|0)}return-1}function jc(t){if(t.d1r_1[t.e1r_1].l1r())return wt();var n=t.e1r_1;if(0<=n)do{var e=n;n=n+-1|0;var r=kc(t,e);if(-1===r&&t.d1r_1[e].m1r()&&(t.d1r_1[e].o1r(),r=kc(t,e)),-1!==r)return t.e1r_1=r,wt();e>0&&t.d1r_1[e-1|0].o1r(),t.d1r_1[e].k1r(Vc().o1q_1.w1q_1,0)}while(0<=n);t.f1r_1=!1}function zc(t,n){this.d1r_1=n,this.e1r_1=0,this.f1r_1=!0,this.d1r_1[0].k1r(t.w1q_1,$t(Jc(),t.v1r())),this.e1r_1=0,jc(this)}function Cc(t,n){this.w1r_1=t,this.x1r_1=n}function Sc(){bc.call(this)}function qc(t){ve.call(this),this.b1s_1=t}function Oc(t){ye.call(this),this.c1s_1=t}function Pc(t){ve.call(this),this.d1s_1=t}function Mc(t,n,e){return function(t,n,e,r){return Wc.call(r,t,n,e,null),r}(t,n,e,Object.create(Wc.prototype))}function Ac(t,n){this.a1r_1=t,this.b1r_1=n}function Ec(t){return new Ac(t,1)}function Ic(t){return new Ac(t,0)}function Dc(t,n){return!(0==(t.u1q_1&n))}function Tc(t,n){var e=t.w1q_1[n];return null==e||Ct(e)?e:zt()}function Bc(t,n){var e=t.w1q_1[n+1|0];return null==e||Ct(e)?e:zt()}function Lc(t,n,e,r){var i=r.w1q_1;if(2===i.length&&0===r.u1q_1){if(1===t.w1q_1.length)return r.t1q_1=t.u1q_1,r;var o=t.i1s(e),s=function(t,n,e,r,i){var o=Qn(t,t.length+1|0),s=n+2|0,a=n+1|0,u=t.length;return Hn(o,o,s,a,u),Hn(o,o,e+2|0,e,n),o[e]=r,o[e+1|0]=i,o}(t.w1q_1,n,o,i[0],i[1]);return Mc(t.t1q_1^e,t.u1q_1^e,s)}var a=Qn(t.w1q_1,t.w1q_1.length);return a[n]=r,Mc(t.t1q_1,t.u1q_1,a)}function Nc(t,n,e){if(1===t.w1q_1.length)return null;var r=function(t,n){var e=t.length-1|0,r=Vn(Array(e),null);Hn(t,r,0,0,n);var i=n+1|0,o=t.length;return Hn(t,r,n,i,o),r}(t.w1q_1,n);return Mc(t.t1q_1,t.u1q_1^e,r)}function Rc(t,n,e,r,i,o,s,a){var u=Tc(t,n),c=null==u?null:Jt(u),l=Fc(t,null==c?0:c,u,Bc(t,n),r,i,o,s+5|0,a),h=t.j1s(e)+1|0;return function(t,n,e,r){var i=e-2|0,o=1+(t.length-2|0)|0,s=Vn(Array(o),null);Hn(t,s,0,0,n),Hn(t,s,n,n+2|0,e),s[i]=r;var a=i+1|0,u=t.length;return Hn(t,s,a,e,u),s}(t.w1q_1,n,h,l)}function Fc(t,n,e,r,i,o,s,a,u){if(a>30)return new Wc(0,0,[e,r,o,s],u);var c=Yc(n,a),l=Yc(i,a);return c!==l?new Wc(1<>n&31}function Gc(t,n){var e=t.length-2|0,r=Vn(Array(e),null);Hn(t,r,0,0,n);var i=n+2|0,o=t.length;return Hn(t,r,n,i,o),r}function Xc(){K=this,this.x1o_1=new Qc(ol(),ol(),vc().w1o())}function Zc(){return null==K&&new Xc,K}function Qc(t,n,e){Zc(),ve.call(this),this.m1s_1=t,this.n1s_1=n,this.o1s_1=e}function tl(){return t=Object.create(el.prototype),el.call(t,ol(),ol()),t;var t}function nl(t){return function(t,n){return el.call(n,t,ol()),n}(t,Object.create(el.prototype))}function el(t,n){this.p1s_1=t,this.q1s_1=n}function rl(t,n){this.v1s_1=t,this.w1s_1=n,this.x1s_1=0}function il(){Y=this}function ol(){return null==Y&&new il,Y}function sl(){G=this}function al(){return null==G&&new sl,G}function ul(){}function cl(t,n,e){var r=new Wh(t,n);return r.d1t(e),r}function ll(t,n){return null==t||!!(t instanceof To&&n instanceof To)&&(!(t.z1f()&&!Ht(t,n))||Ht(t.k13_1,n.k13_1))}function hl(t){return fl(2,t)}function pl(t){return fl(1,t)}function fl(t,n){return t<<($t(n%10|0,3)+1|0)}function _l(t,n,e,r,i,o,s){return function(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=0,l=t.f()-1|0;if(c<=l)t:do{var h=c;c=c+1|0;var p=t.g(h);if((u=u+1|0)>1&&n.b(e),!(o<0||u<=o))break t;dl(n,p,a)}while(c<=l);return o>=0&&u>o&&n.b(s),n.b(i),n}(t,xe(),n,e,r,i,o,s).toString()}function dl(t,n,e){null!=e?t.b(e(n)):null==n||ze(n)?t.b(n):n instanceof je?t.q9(n.k1_1):t.b(mn(n))}function vl(){return hh(),X}function yl(){return hh(),Z}function ml(){return hh(),Q}function gl(t){hh(),tt=t}function $l(){return hh(),tt}function bl(t){hh(),nt=t}function wl(){return hh(),nt}function xl(){return hh(),et}function kl(){return hh(),rt}function jl(){return hh(),it}function zl(){return hh(),ot}function Cl(){return hh(),st}function Sl(){}function ql(t){this.e1t_1=t}function Ol(t){this.f1t_1=t}function Pl(){at=this}function Ml(){return null==at&&new Pl,at}function Al(t,n){Ml(),this.s1a_1=n,this.t1a_1=t,this.u1a_1=!1,this.v1a_1=0!==t?function(t,n){hh();var e=n.r1v(t);return ml(),xl().x1v(e)}(t,this.j1t()):-1,this.w1a_1=8}function El(){}function Il(t,n,e,r){Al.call(this,t,n),this.m1k_1=e,this.n1k_1=r,this.o1k_1=null,this.p1k_1=vh().g1u_1,this.q1k_1=new Int32Array(0),this.r1k_1=1,this.s1k_1=!1,this.t1k_1=8}function Dl(){ut=this,Ll.call(this),this.x1u_1=0}function Tl(){return null==ut&&new Dl,ut}function Bl(t){Ll.call(this),this.z1u_1=t,this.a1v_1=8}function Ll(){this.b1v_1=0}function Nl(t,n){ml();var e,r,i,o=jl().h()?null:Gt(jl());if(null==o)r=null;else{var s=qe(o);r=null==s?(i=o,function(t){var n=0,e=i.f()-1|0;if(n<=e){do{var r=n;n=n+1|0,i.g(r)(t)}while(n<=e);wt()}return wt()}):s}e=r,Il.call(this,t,n,null,e)}function Rl(){this.v1n_1=Hl().x1a(),this.w1n_1=null,this.x1n_1=8}function Fl(t){hh(),xl().y1v(t)}function Hl(){hh();var t=yl().ku();return null==t?zl().ku():t}function Ul(t){hh();var n=zl().ku(),e=(ml(),Ql(n,t)),r=n.i1t();if(null!=r){ml();var i=Gt(kl()),o=0,s=i.f()-1|0;if(o<=s)do{var a=o;o=o+1|0,i.g(a)(r,n)}while(o<=s)}return e}function Vl(){return hh(),Ul(lh)}function Wl(t){t.n1w_1||(t.n1w_1=!0,t.m1w_1.l1u(t))}function Jl(t,n,e,r,i){Il.call(this,t,n,e,r),this.m1w_1=i,this.n1w_1=!1,this.m1w_1.m1u(this)}function Kl(t,n,e){hh();var r=t,i=n;if(i0;){var o=((i+1|0)>>1)-1|0;if(!(e[o]>r))break t;fh(t,o,i),i=o}}function fh(t,n,e){var r=t.t1v_1,i=t.u1v_1,o=t.v1v_1,s=r[n];r[n]=r[e],r[e]=s,s=i[n],i[n]=i[e],i[e]=s,o[i[n]]=n,o[i[e]]=e}function _h(){this.s1v_1=0,this.t1v_1=new Int32Array(16),this.u1v_1=new Int32Array(16);for(var t=0,n=new Int32Array(16);t<16;){var e;e=t+1|0,n[t]=e,t=t+1|0}this.v1v_1=n,this.w1v_1=0}function dh(){lt=this,this.g1u_1=new mh(new Bn(0,0),new Bn(0,0),0,null)}function vh(){return null==lt&&new dh,lt}function yh(t,n){this.y1w_1=t,kn.call(this,n)}function mh(t,n,e,r){vh(),this.x1t_1=t,this.y1t_1=n,this.z1t_1=e,this.a1u_1=r}function gh(t,n){for(var e=0,r=t.length-1|0;e<=r;){var i=(e+r|0)>>>1|0,o=t[i];if(n>o)e=i+1|0;else{if(!(n0||Oi(xt("OffsetApplier up called with no corresponding down"));var t=this.k11_1;this.k11_1=t-1|0,this.i11_1.d11()},We.prototype.e11=function(t,n){this.i11_1.e11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.f11=function(t,n){this.i11_1.f11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.g11=function(t,n){this.i11_1.g11(t+(0===this.k11_1?this.j11_1:0)|0,n)},We.prototype.h11=function(t,n,e){var r=0===this.k11_1?this.j11_1:0;this.i11_1.h11(t+r|0,n+r|0,e)},We.$metadata$=kt("OffsetApplier",[Ve]),Je.prototype.p11=function(t){this.n11_1=t},Je.prototype.z10=function(){return this.n11_1},Je.prototype.q11=function(t){this.m11_1.a(this.z10()),this.p11(t)},Je.prototype.c11=function(t){return this.q11(null==t||Ct(t)?t:zt())},Je.prototype.d11=function(){if(this.m11_1.h())throw St(xt("Check failed."));this.p11(this.m11_1.n4(this.m11_1.f()-1|0))},Je.$metadata$=kt("AbstractApplier",[Ve]),Ke.prototype.t11=function(){return this.r11_1},Ke.prototype.xy=function(){return this.s11_1},Ke.prototype.u11=function(t){var n,e;try{var r;Pt(),r=this.r11_1(t),e=Mt(r)}catch(t){if(!(t instanceof Error))throw t;Pt(),e=Mt(At(t))}n=e,this.s11_1.z4(n)},Ke.$metadata$=kt("FrameAwaiter"),Ye.prototype.b12=function(){return this.w11_1,!this.y11_1.h()},Ye.prototype.c12=function(t){this.w11_1;var n=this.y11_1;this.y11_1=this.z11_1,this.z11_1=n;var e=0,r=n.f();if(e0},li.prototype.t1c=function(){return this.s15_1},li.prototype.u1c=function(){return this.m14_1.v1c()},li.prototype.e12=function(t){return lr(this,t,null,!1,null)},li.prototype.i12=function(){return sr(this)},li.prototype.w1c=function(){return lr(this,-127,null,!1,null)},li.prototype.x1c=function(){sr(this);var t=this.y1c();null!=t&&t.g19()&&t.z1c(!0)},li.prototype.a1d=function(){var t;if(this.h15_1)t=!0;else{var n=this.y1c();t=!0===(null==n?null:n.a1d())}return t},li.prototype.h1a=function(t,n){return lr(this,t,n,!1,null)},li.prototype.k1a=function(){return sr(this)},li.prototype.b1d=function(){this.g15_1.s7()},li.prototype.c1d=function(){return this.y15_1},li.prototype.v1b=function(){var t;if(this.y15_1||this.j15_1||this.h15_1)t=!1;else{var n=this.y1c();t=!1===(null==n?null:n.d1d())}return!!t&&!this.b15_1},li.prototype.c18=function(){lr(this,this.y15_1?125:this.j15_1?125===this.r15_1.p18()?126:125:126===this.r15_1.p18()?126:125,null,!0,null),this.c15_1=!0},li.prototype.e1d=function(t){zr(this),this.y15_1||Oi(xt("createNode() can only be called when inserting"));var n,e,r,i,o,s=this.v14_1.f1d(),a=this.t15_1.u18(this.t15_1.e13_1),u=this.w14_1;this.w14_1=u+1|0,Lr(this,(r=t,i=a,o=s,function(t,n,e){var s=r();return n.o1b(i,s),(Ft(t,Ve)?t:zt()).e11(o,s),t.c11(s),wt()})),n=this,e=function(t,n){return function(e,r,i){var o=r.p1b(t);return e.d11(),(Ft(e,Ve)?e:zt()).f11(n,o),wt()}}(a,s),n.g16_1.e19(e)},li.prototype.g1d=function(){var t;zr(this),!this.y15_1||Oi(xt("useNode() called while inserting")),Dr(this,(t=this.r15_1).n1a(t.l17_1))},li.prototype.h1d=function(){return pr(this,!0)},li.prototype.i1d=function(t,n){var e,r,i=(e=n,r=t,function(t,n,i){var o=t.z10();return e(null==o||Ct(o)?o:zt(),r),wt()});this.y15_1?Lr(this,i):qr(this,i)},li.prototype.c1b=function(){var t;if(this.y15_1)Cr(this),t=fi().h12_1;else{var n=this.r15_1.e();t=this.j15_1?fi().h12_1:n}return t},li.prototype.j12=function(t){var n;return Ht(this.c1b(),t)?n=!1:(this.e1a(t),n=!0),n},li.prototype.j1d=function(t){var n=this.c1b();return(null==n||"boolean"!=typeof n||t!==n)&&(this.e1a(t),!0)},li.prototype.e1a=function(t){if(this.y15_1)this.t15_1.l1d(t),null!=t&&Ft(t,xs)&&(Sr(this,(e=t,function(t,n,r){return r.k12(e),wt()})),this.o14_1.a(t));else{var n=this.r15_1.k1d()-1|0;null!=t&&Ft(t,xs)&&this.o14_1.a(t),Pr(this,!0,function(t,n){return function(e,r,i){null!=t&&Ft(t,xs)&&(i.k12(t),wt());var o=r.q1b(n,t);if(null!=o&&Ft(o,xs))i.l12(o),wt();else if(o instanceof To){var s=o.j13_1;null!=s&&(o.ot(),s.c14_1=!0,wt())}return wt()}}(t,n))}var e},li.prototype.y1c=function(){var t=this.o15_1;return 0===this.l15_1&&t.o1a()?t.f1d():null},li.prototype.l1a=function(t,n){var e=t.k13_1;if(null==e)return!1;var r=e.l1c(this.n14_1);return!!(this.p15_1&&r>=this.r15_1.j17_1)&&(function(t,n,e,r){Ji();var i=Ii(t,n);if(i<0){var o,s=0|-(i+1|0),a=r;if(null==a)o=null;else{var u=new ru;u.w1e(a),o=u}t.yf(s,new ji(e,n,o))}else if(null==r)t.g(i).u19_1=null;else{var c=t.g(i).u19_1;null==c||c.w1e(r)}}(this.d15_1,r,t,n),!0)},li.prototype.o1c=function(){if(this.d15_1.h())(o=i=this).w14_1=o.w14_1+i.r15_1.r17()|0;else{var t=this.r15_1,n=t.p18(),e=t.r18(),r=t.a18();Jr(this,n,e,r),cr(this,t.i1b(),null),fr(this),t.n19(),Yr(this,n,e,r)}var i,o},li.prototype.z17=function(){0===this.w14_1||Oi(xt("No nodes can be emitted before calling skipAndEndGroup"));var t=this.y1c();null==t||t.m1d(),this.d15_1.h()?wr(this):fr(this)},li.prototype.n1d=function(t){return lr(this,t,null,!1,null),function(t){if(t.y15_1){var n=t.r14_1,e=new To(n instanceof so?n:zt());t.o15_1.e19(e),t.e1a(e),e.g1a(t.n15_1)}else{var r,i=Si(t.d15_1,t.r15_1.l17_1),o=t.r15_1.e();if(Ht(o,fi().h12_1)){var s=t.r14_1,a=new To(s instanceof so?s:zt());t.e1a(a),r=a}else r=o instanceof To?o:zt();var u=r;u.f1a(!(null==i)),t.o15_1.e19(u),u.g1a(t.n15_1)}}(this),this},li.prototype.o1d=function(){var t=this.o15_1.o1a()?this.o15_1.f19():null;null==t||t.f1a(!1);var n,e,r,i=null==t?null:t.p1d(this.n15_1);if(null==i||(Sr(this,(e=i,r=this,function(t,n,i){return e(r.r14_1),wt()})),wt()),null==t||t.r1d()||!t.g19()&&!this.a15_1)n=null;else{if(null==t.k13_1){var o,s=t;o=this.y15_1?this.t15_1.u18(this.t15_1.e13_1):this.r15_1.u18(this.r15_1.l17_1),s.k13_1=o}t.q1d(!1),n=t}var a=n;return pr(this,!1),a},li.prototype.s1d=function(t){t:{var n=this.q14_1,e=this.p14_1;try{this.p14_1=n,Sr(this,(Ji(),u));var r=0,i=t.f()-1|0;if(r<=i)do{var s=r;r=r+1|0;var a=t.g(s),c=a.l4(),l=a.m4(),h=c.a1c_1,p=c.z1b_1.h1b(h),f={_v:0};if(Ar(this),Sr(this,ni(f,h)),null==l){var _=c.z1b_1;Ht(_,this.s15_1)&&ur(this);var d=c.z1b_1.t16();try{d.d19(p),this.c16_1=p;var v=jt();jr(this,null,null,null,null,ei(this,v,d,c),30),!v.h()&&(Sr(this,ri(f,v)),wt())}finally{d.p17()}}else{var y=qi(l.z1b_1,l.a1c_1);if(!y.h()){Sr(this,ii(f,y));var m=this.n14_1.h1b(h);mr(this,m,yr(this,m)+y.f()|0)}Sr(this,oi(this,l,c));var g=l.z1b_1,$=g.t16();try{n:{var b=this.r15_1,w=this.y14_1;this.y14_1=null;try{this.r15_1=$;var x=g.h1b(l.a1c_1);$.d19(x),this.c16_1=x;var k,j=jt();e:{var z=this.p14_1;try{this.p14_1=j;var C=$.j17_1;kr(this,l.y1b_1,c.y1b_1,C,l.b1c_1,si(this,c));break e}finally{this.p14_1=z}}!j.h()&&(Sr(this,ai(f,j)),k=wt()),k;break n}finally{this.r15_1=b,this.y14_1=w}}}finally{$.p17()}}Sr(this,(Ji(),o))}while(r<=i);Sr(this,ui),this.c16_1=0,wt();break t}finally{this.p14_1=e}}Hr(this)},li.prototype.t1d=function(t){this.y15_1&&this.t15_1.u1d(t)},li.prototype.v1d=function(t){!this.p15_1||Oi(xt("Preparing a composition while composing is not supported")),this.p15_1=!0;try{t()}finally{this.p15_1=!1}},li.prototype.w1d=function(t){return this.p14_1.h()||Oi(xt("Expected applyChanges() to have been called")),!(!t.o1a()&&this.d15_1.h()&&!this.b15_1||(Xr(this,t,null),this.p14_1.h()))},li.prototype.x1d=function(){return this.y1c()},li.prototype.f12=function(){return this.c1b()},li.prototype.g12=function(t){return this.e1a(t)},li.prototype.y1d=function(t){var n=t instanceof To?t:null;null==n||n.z1d(!0)},li.prototype.a1e=function(t,n){this.p14_1.h()||Oi(xt("Expected applyChanges() to have been called")),Xr(this,t,n)},li.$metadata$=kt("ComposerImpl",[_i]),hi.prototype.toString=function(){return"Empty"},hi.$metadata$=kt(),pi.prototype.b1e=function(){return this.h12_1},pi.$metadata$=en("Companion"),_i.$metadata$=bt("Composer"),vi.$metadata$=kt("InvalidationResult",void 0,void 0,void 0,void 0,Kt.prototype),yi.prototype.c1e=function(){return this.w1b_1},yi.prototype.d1e=function(){return this.x1b_1},yi.prototype.e1e=function(){return this.y1b_1},yi.prototype.f1e=function(){return this.z1b_1},yi.prototype.g1e=function(){return this.a1c_1},yi.prototype.h1e=function(){return this.b1c_1},yi.prototype.i1e=function(){return this.c1c_1},yi.$metadata$=kt("MovableContentStateReference"),gi.prototype.f1e=function(){return this.f1c_1},gi.$metadata$=kt("MovableContentState"),bi.$metadata$=bt("ScopeUpdateScope"),wi.$metadata$=kt("MovableContent"),ki.prototype.k1e=function(){return this.h18_1},ki.prototype.l1e=function(){return this.i18_1},ki.prototype.m1e=function(){return cn("keyMap",1,un,(function(t){return t.m1e()}),null),this.m18_1.m2()},ki.prototype.s18=function(t,n){var e=null!=n?new qo(t,n):t;return Ai(this.m1e(),e)},ki.prototype.o18=function(t){return this.k18_1.a(t)},ki.prototype.g19=function(){return this.k18_1},ki.prototype.c19=function(t,n){if(t>n)for(var e=this.l18_1.c3().c();e.d();){var r=e.e(),i=r.n1e_1;i===t?r.n1e_1=n:n<=i&&it)for(var o=this.l18_1.c3().c();o.d();){var s=o.e(),a=s.n1e_1;a===t?s.n1e_1=n:(t+1|0)<=a&&an)for(var r=this.l18_1.c3().c();r.d();){var i=r.e(),o=i.o1e_1;t<=o&&o<(t+e|0)?i.o1e_1=n+(o-t|0)|0:n<=o&&ot)for(var s=this.l18_1.c3().c();s.d();){var a=s.e(),u=a.o1e_1;t<=u&&u<(t+e|0)?a.o1e_1=n+(u-t|0)|0:(t+1|0)<=u&&u=r&&!Ht(s,e)){var a=s.o1e_1+i|0;a>=0&&(s.o1e_1=a)}}return!0}return!1},ki.prototype.b19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.n1e_1;return null==e?-1:e},ki.prototype.a19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.o1e_1;return null==e?-1:e},ki.prototype.j19=function(t){var n=this.l18_1.a3(t.x18_1),e=null==n?null:n.p1e_1;return null==e?t.y18_1:e},ki.$metadata$=kt("Pending"),ji.prototype.q1e=function(){return this.s19_1},ji.prototype.r1e=function(){return this.t19_1},ji.prototype.s1e=function(){return this.u19_1},ji.prototype.y19=function(){return this.s19_1.t1e(this.u19_1)},ji.$metadata$=kt("Invalidation"),Pi.prototype.x1e=function(t){this.n1e_1=t},Pi.prototype.y1e=function(){return this.n1e_1},Pi.prototype.z1e=function(t){this.o1e_1=t},Pi.prototype.a1f=function(){return this.o1e_1},Pi.$metadata$=kt("GroupInfo"),Ti.prototype.toString=function(){return"Updater(composer="+this.e1f_1+")"},Ti.prototype.hashCode=function(){return t=this.e1f_1,Jt(t);var t},Ti.prototype.equals=function(t){return function(t,n){if(!(n instanceof Ti))return!1;var e=n instanceof Ti?n.e1f_1:zt();return!!Ht(t,e)}(this.e1f_1,t)},Ti.$metadata$=kt("Updater"),Bi.prototype.toString=function(){return"SkippableUpdater(composer="+this.f1f_1+")"},Bi.prototype.hashCode=function(){return t=this.f1f_1,Jt(t);var t},Bi.prototype.equals=function(t){return function(t,n){if(!(n instanceof Bi))return!1;var e=n instanceof Bi?n.f1f_1:zt();return!!Ht(t,e)}(this.f1f_1,t)},Bi.$metadata$=kt("SkippableUpdater"),io.prototype.k12=function(t){var n=this.v1f_1.i2(t);n>=0?(this.v1f_1.n4(n),this.t1f_1.jf(t)):this.u1f_1.a(t)},io.prototype.l12=function(t){var n=this.u1f_1.i2(t);n>=0?(this.u1f_1.n4(n),this.t1f_1.jf(t)):this.v1f_1.a(t)},io.prototype.x1f=function(){if(!this.v1f_1.h())t:{var t=Fh().r1a("Compose:onForgotten");try{var n=this.v1f_1.f()-1|0;if(0<=n){do{var e=n;n=n+-1|0;var r=this.v1f_1.g(e);this.t1f_1.i(r)||r.f1g()}while(0<=n);wt()}break t}finally{Fh().d1b(t)}}if(!this.u1f_1.h())t:{var i=Fh().r1a("Compose:onRemembered");try{var o=this.u1f_1,s=0,a=o.f()-1|0;if(s<=a){do{var u=s;s=s+1|0;var c=o.g(u);this.t1f_1.jf(c),c.g1g()}while(s<=a);wt()}break t}finally{Fh().d1b(i)}}},io.prototype.y1f=function(){if(!this.w1f_1.h())t:{var t=Fh().r1a("Compose:sideeffects");try{var n=this.w1f_1,e=0,r=n.f()-1|0;if(e<=r)do{var i=e;e=e+1|0,n.g(i)()}while(e<=r);this.w1f_1.s7(),wt();break t}finally{Fh().d1b(t)}}},io.prototype.a1g=function(){if(!this.t1f_1.h())t:{var t=Fh().r1a("Compose:abandons");try{for(var n=this.t1f_1.c();n.d();){var e=n.e();n.o4(),e.h1g()}wt();break t}finally{Fh().d1b(t)}}},io.$metadata$=kt("RememberEventDispatcher",[tr]),so.prototype.f1e=function(){return this.u13_1},so.prototype.c1g=function(){return this.f14_1.p15_1},so.prototype.m1g=function(){return this.i14_1},so.prototype.n1g=function(t){t:for(;;){var n,e=this.r13_1.ku(),r=e;if(null==r||Ht(r,Ki()))n=t;else if(null!=r&&Ft(r,hn))n=[e,t];else{if(null==r||!ln(r)){var i="corrupt pendingModifications: "+this.r13_1;throw St(xt(i))}n=_n(null!=e&&ln(e)?e:zt(),t)}var o=n;if(this.r13_1.o1g(e,o)){null==e&&(this.s13_1,Xi(this),wt());break t}}},so.prototype.p1g=function(t){for(var n=t.c();n.d();){var e=n.e();if(this.v13_1.q1f(e)||this.x13_1.q1f(e))return!0}return!1},so.prototype.v1d=function(t){return this.f14_1.v1d(t)},so.prototype.q1g=function(t){if(!this.f14_1.s1c()){var n=this.f14_1.y1c();if(null==n);else{if(n.z1d(!0),this.v13_1.s1f(t,n),Ft(t,$o)){this.x13_1.r1g(t);for(var e=t.s1g().c();e.d();){var r=e.e();this.x13_1.s1f(r,t)}}n.t1g(t),wt()}}},so.prototype.u1g=function(t){this.s13_1,to(this,t);var n,e=this.x13_1,r=ou(e,t);if(r>=0){for(var i=iu(e,r).c();i.d();)to(this,i.e());n=wt()}return n},so.prototype.v1g=function(){this.s13_1,Gi(this);var t,n=!1;try{var e=this.f14_1.w1d(ro(this));e||Xi(this),n=!0,t=e}finally{!n&&!this.t13_1.h()&&new io(this.t13_1).a1g()}return t},so.prototype.w1g=function(t){var n;t:{var e=0,r=t.f()-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.g(i);if(!Ht(o.j4_1.y1b_1,this)){n=!1;break t}}while(e<=r);n=!0}mi(n);var s=!1;try{this.f14_1.s1d(t);wt();s=!0}finally{!s&&!this.t13_1.h()&&new io(this.t13_1).a1g()}},so.prototype.x1g=function(t){var n=new io(this.t13_1),e=t.f1c_1.y17();try{nr(e,n),wt()}finally{e.p17()}n.x1f()},so.prototype.y1g=function(){this.s13_1,no(this,this.y13_1),Xi(this),wt()},so.prototype.z1g=function(){this.s13_1,!this.z13_1.h()&&(no(this,this.z13_1),wt())},so.prototype.b1d=function(){this.s13_1,this.f14_1.b1d(),!this.t13_1.h()&&(new io(this.t13_1).a1g(),wt())},so.prototype.a1h=function(){this.s13_1;for(var t=this.u13_1.n16_1,n=0,e=t.length;n=0){var i;this.d14_1=t instanceof so?t:zt(),this.e14_1=n;try{i=e()}finally{this.d14_1=null,this.e14_1=0}r=i}else r=e();return r},so.prototype.c1h=function(t,n){t.d1h()&&t.q1d(!0);var e=t.k13_1;return null!=e&&this.u13_1.e1h(e)&&e.z1f()&&e.z1f()&&t.f1h()?eo(this,t,e,n):Vi()},so.prototype.g1h=function(t,n){this.v13_1.i1g(t,n)},so.prototype.h1h=function(t){this.v13_1.q1f(t)||this.x13_1.r1g(t)},so.prototype.i1h=function(t){this.j14_1=t},so.prototype.j1h=function(t){if(this.i14_1)throw St(xt("The composition is disposed"));this.i1h(t),this.p13_1.k1h(this,this.j14_1)},so.prototype.l1h=function(t){var n=!1;try{this.s13_1,Gi(this),this.f14_1.a1e(ro(this),t),wt(),n=!0}finally{!n&&!this.t13_1.h()&&new io(this.t13_1).a1g()}},so.$metadata$=kt("CompositionImpl",[ao]),ao.$metadata$=bt("ControlledComposition",[ho]),lo.$metadata$=en("ComposableSingletons$CompositionKt"),ho.$metadata$=bt("Composition"),_o.prototype.b17=function(t){},_o.prototype.j1g=function(t){},_o.prototype.w16=function(){return fo()},_o.prototype.v16=function(){},_o.prototype.d17=function(){},_o.prototype.e1c=function(t){return null},_o.$metadata$=kt("CompositionContext"),vo.$metadata$=kt("CompositionLocal"),yo.$metadata$=kt("ProvidableCompositionLocal",void 0,void 0,void 0,void 0,vo.prototype),mo.$metadata$=kt("StaticProvidableCompositionLocal",void 0,void 0,void 0,void 0,yo.prototype),$o.$metadata$=bt("DerivedState",[Ta]),wo.prototype.js=function(){this.r1h_1()},wo.$metadata$=kt(void 0,[ko]),xo.prototype.t1h=function(t){return new wo(t)},xo.$metadata$=kt("DisposableEffectScope"),ko.$metadata$=bt("DisposableEffectResult"),jo.prototype.g1g=function(){var t=this.w1h_1;null==t||vn(t,"Old job was still running!",null,2,null),this.w1h_1=yn(this.v1h_1,null,null,this.u1h_1,3,null)},jo.prototype.f1g=function(){var t=this.w1h_1;null==t||t.dq(null,1,null),this.w1h_1=null},jo.prototype.h1g=function(){var t=this.w1h_1;null==t||t.dq(null,1,null),this.w1h_1=null},jo.$metadata$=kt("LaunchedEffectImpl",[xs]),zo.prototype.g1g=function(){this.y1h_1=this.x1h_1((Co(),j))},zo.prototype.f1g=function(){var t=this.y1h_1;null==t||t.js(),this.y1h_1=null},zo.prototype.h1g=function(){},zo.$metadata$=kt("DisposableEffectImpl",[xs]),qo.prototype.hashCode=function(){return $t(So(0,this.z1h_1),31)+So(0,this.a1i_1)|0},qo.prototype.toString=function(){return"JoinedKey(left="+mn(this.z1h_1)+", right="+mn(this.a1i_1)+")"},qo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof qo))return!1;var n=t instanceof qo?t:zt();return!!Ht(this.z1h_1,n.z1h_1)&&!!Ht(this.a1i_1,n.a1i_1)},qo.$metadata$=kt("JoinedKey"),Oo.$metadata$=en("Key",[gn]),Mo.$metadata$=bt("MonotonicFrameClock",[$n]),Eo.prototype.toString=function(){return"OpaqueKey(key="+this.b1i_1+")"},Eo.prototype.hashCode=function(){return bn(this.b1i_1)},Eo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Eo))return!1;var n=t instanceof Eo?t:zt();return this.b1i_1===n.b1i_1},Eo.$metadata$=kt("OpaqueKey"),To.prototype.g1e=function(){return this.k13_1},To.prototype.z1f=function(){var t;if(null!=this.j13_1){var n=this.k13_1,e=null==n?null:n.z1f();t=null!=e&&e}else t=!1;return t},To.prototype.f1h=function(){return!(null==this.l13_1)},To.prototype.z1d=function(t){this.i13_1=t?1|this.i13_1:-2&this.i13_1},To.prototype.g19=function(){return!(0==(1&this.i13_1))},To.prototype.z1c=function(t){this.i13_1=t?2|this.i13_1:-3&this.i13_1},To.prototype.d1h=function(){return!(0==(2&this.i13_1))},To.prototype.q1d=function(t){this.i13_1=t?4|this.i13_1:-5&this.i13_1},To.prototype.a1d=function(){return!(0==(4&this.i13_1))},To.prototype.f1a=function(t){this.i13_1=t?8|this.i13_1:-9&this.i13_1},To.prototype.d1d=function(){return!(0==(8&this.i13_1))},To.prototype.w19=function(t){var n=this.l13_1;if(null==(null==n?null:n(t,1)))throw St("Invalid restart scope")},To.prototype.l1f=function(t){var n=this.j13_1,e=null==n?null:n.c1h(this,t);return null==e?Vi():e},To.prototype.ot=function(){this.j13_1=null,this.n13_1=null,this.o13_1=null},To.prototype.j1c=function(t){this.j13_1=t},To.prototype.b1h=function(){var t=this.j13_1;null==t||t.c1h(this,null)},To.prototype.j1e=function(t){this.l13_1=t},To.prototype.r1d=function(){return!(0==(16&this.i13_1))},To.prototype.g1a=function(t){this.m13_1=t,Do(this,!1)},To.prototype.m1d=function(){Do(this,!0)},To.prototype.t1g=function(t){if(0!=(32&this.i13_1))return wt();var n,e=this.n13_1;if(null==e){var r=new Ya;this.n13_1=r,n=r}else n=e;if(n.g1i(t,this.m13_1),Ft(t,$o)){var i,o=this.o13_1;if(null==o){var s=Ga(0,1);this.o13_1=s,i=s}else i=o;i.d1g(t,t.o1h())}},To.prototype.r1f=function(){return!(null==this.o13_1)},To.prototype.t1e=function(t){if(null==t)return!0;var n=this.o13_1;if(null==n)return!0;var e,r=n;if(t.o1a()){var i;t:if(null!=t&&Ft(t,wn)&&t.h())i=!0;else{for(var o=t.c();o.d();){var s=o.e();if(!Ft(s,$o)||!Ht(r.m1h(s),s.o1h())){i=!1;break t}}i=!0}e=i}else e=!1;return!e},To.prototype.v19=function(){var t=this.j13_1;if(null==t);else{var n=this.n13_1;if(null==n);else{Io(this,!0);try{var e=0,r=n.c1i_1;if(e0&&(this.q1i_1.i(t)||(this.q1i_1.a(t),wt())),function(t,n){var e;t.n1i_1;t:{var r=t.u1i_1,i=0,o=r.f()-1|0;if(i<=o)do{var s=i;i=i+1|0;var a=r.g(s);if(Ht(a.y1b_1,n)){e=!0;break t}}while(i<=o);e=!1}if(!e)return wt();var u=jt();for(cs(u,t,n);!u.h();)es(t,u,null),cs(u,t,n)}(this,t),t.y1g(),t.z1g(),e||Ml().i1m()},gs.$metadata$=kt("Recomposer",void 0,void 0,void 0,void 0,_o.prototype),$s.$metadata$=bt("RecomposerInfo"),xs.$metadata$=bt("RememberObserver"),zs.$metadata$=en("Companion"),na.prototype.d=function(){return this.n1m_1this.e13_1&&tthis.a13_1.q1a(0))e=n+this.i19(n)|0;else{var r=this.a13_1.r1m(n);e=r<0?n+this.i19(n)|0:(Rs(this)-this.r12_1|0)-this.b13_1.z19(r)|0}return t>n&&t=0||Oi(xt("Cannot insert auxiliary data when not inserting"));var n=this.e13_1,e=Fs(this,n);!ha(this.n12_1,e)||Oi(xt("Group already has auxiliary data")),Ts(this,1,n);var r,i,o=Gs(this.n12_1,this,e),s=Hs(this,o);if(this.t12_1>o){var a=this.t12_1-o|0;if(!(a<3))throw St(xt("Moving more than two slot not supported"));a>1&&(this.o12_1[s+2|0]=this.o12_1[s+1|0]),this.o12_1[s+1|0]=this.o12_1[s]}r=this.n12_1,i=$t(e,5)+1|0,r[i]=268435456|r[i],this.o12_1[s]=t;var u=this.t12_1;this.t12_1=u+1|0},ea.prototype.j1m=function(t){return Ns(this,this.d13_1,t)},ea.prototype.o1b=function(t,n){return Ns(this,t.s1m(this),n)},ea.prototype.w1m=function(t){this.t12_1<=this.u12_1||Oi(xt("Writing to an invalid slot")),this.o12_1[Hs(this,this.t12_1-1|0)]=t},ea.prototype.q1b=function(t,n){var e,r=Fs(this,this.d13_1),i=Js(this.n12_1,this,r),o=Ws(this.n12_1,this,Fs(this,this.d13_1+1|0)),s=i+t|0;s>=i&&s0&&Ts(this,1,this.e13_1);var t=this.o12_1,n=this.t12_1;return this.t12_1=n+1|0,t[Hs(this,n)]},ea.prototype.i1c=function(t,n){return this.x1m(this.h1b(t),n)},ea.prototype.x1m=function(t,n){var e=Fs(this,t),r=Js(this.n12_1,this,e),i=Ws(this.n12_1,this,Fs(this,t+1|0)),o=r+n|0;if(!(r<=o&&o=0))throw rn(xt("Cannot seek backwards"));if(!(this.y12_1<=0))throw St(xt("Cannot call seek() while inserting"));if(0===t)return wt();var n,e=this.d13_1+t|0;e>=this.e13_1&&e<=this.s12_1||(n="Cannot seek outside the current group ("+this.e13_1+"-"+this.s12_1+")",Oi(xt(n))),this.d13_1=e;var r=Ws(this.n12_1,this,Fs(this,e));this.t12_1=r,this.u12_1=r},ea.prototype.z17=function(){var t=this.s12_1;this.d13_1=t,this.t12_1=Ws(this.n12_1,this,Fs(this,t))},ea.prototype.t18=function(){var t=this.y12_1;this.y12_1=t+1|0,0===t&&Ps(this)},ea.prototype.q19=function(){if(!(this.y12_1>0))throw St(xt("Unbalanced begin/end insert"));var t=this;t.y12_1=t.y12_1-1|0,0===t.y12_1&&(this.c13_1.f()!==this.a13_1.f()&&Oi(xt("startGroup/endGroup mismatch while inserting")),Ms(this))},ea.prototype.b18=function(){if(0!==this.y12_1)throw rn(xt("Key must be supplied when inserting"));js(this,0,fi().h12_1,!1,fi().h12_1)},ea.prototype.e18=function(t,n){return js(this,t,n,!1,fi().h12_1)},ea.prototype.g18=function(t){return js(this,125,t,!0,fi().h12_1)},ea.prototype.f18=function(t,n,e){return js(this,t,n,!1,e)},ea.prototype.p19=function(){var t=this.y12_1>0,n=this.d13_1,e=this.s12_1,r=this.e13_1,i=Fs(this,r),o=this.z12_1,s=n-r|0,a=oa(this.n12_1,i);if(t)pa(this.n12_1,i,s),fa(this.n12_1,i,o),this.z12_1=this.c13_1.f19()+(a?1:o)|0,this.e13_1=Us(this.n12_1,this,r);else{if(n!==e)throw rn(xt("Expected to be at the end of a group"));var u=la(this.n12_1,i),c=sa(this.n12_1,i);pa(this.n12_1,i,s),fa(this.n12_1,i,o);var l=this.a13_1.f19();Ms(this),this.e13_1=l;var h=Us(this.n12_1,this,r);if(this.z12_1=this.c13_1.f19(),h===l){this.z12_1=this.z12_1+(a?0:o-c|0)|0}else{var p=s-u|0,f=a?0:o-c|0;if(0!==p||0!==f)for(var _=h;0!==_&&_!==l&&(0!==f||0!==p);){var d=Fs(this,_);if(0!==p){var v=la(this.n12_1,d)+p|0;pa(this.n12_1,d,v)}0!==f&&fa(this.n12_1,d,sa(this.n12_1,d)+f|0),oa(this.n12_1,d)&&(f=0),_=Us(this.n12_1,this,_)}this.z12_1=this.z12_1+f|0}}return o},ea.prototype.g1f=function(t){if(!(this.y12_1<=0))throw rn(xt("Cannot call ensureStarted() while inserting"));var n=this.e13_1;if(n!==t){if(!(t>=n&&t=t;)r.l1m();wt()}var i=Bs(this,t,this.d13_1-t|0);Ls(this,n,this.t12_1-n|0,t-1|0),this.d13_1=t,this.t12_1=n;return this.z12_1=this.z12_1-e|0,i},ea.prototype.h13=function(){return new na(Ws(this.n12_1,this,Fs(this,this.d13_1)),Ws(this.n12_1,this,Fs(this,this.d13_1+this.i19(this.d13_1)|0)),this)},ea.prototype.s1b=function(t){if(0!==this.y12_1)throw rn(xt("Cannot move a group while inserting"));if(!(t>=0))throw rn(xt("Parameter offset is out of bounds"));if(0===t)return wt();for(var n=this.d13_1,e=this.e13_1,r=this.s12_1,i=t,o=n;i>0;){if(!((o=o+la(this.n12_1,Fs(this,o))|0)<=r))throw rn(xt("Parameter offset is out of bounds"));i=i-1|0}var s=la(this.n12_1,Fs(this,o)),a=this.t12_1,u=Ws(this.n12_1,this,Fs(this,o)),c=Ws(this.n12_1,this,Fs(this,o+s|0)),l=c-u|0,h=this.d13_1-1|0;Ts(this,l,Math.max(h,0)),Ds(this,s);var p=this.n12_1,f=Fs(this,o+s|0),_=$t(f,5),d=Fs(this,n),v=$t(d,5),y=_+$t(s,5)|0;if(Hn(p,p,v,_,y),l>0){var m=this.o12_1,g=Hs(this,u+l|0),$=Hs(this,c+l|0);Hn(m,m,a,g,$)}var b=(u+l|0)-a|0,w=this.v12_1,x=this.w12_1,k=this.o12_1.length,j=this.x12_1,z=n,C=n+s|0;if(z=0)t:for(;s=n&&c=t.q12_1?_.b1b_1=0|-(o-d|0):_.b1b_1=d;var v=ma(t.p12_1,d,o);t.p12_1.yf(v,_)}while(h<=p)})(this,o+s|0,n,s),!Bs(this,o+s|0,s)||Oi(xt("Unexpectedly removed anchors")),As(this,e,this.s12_1,n),l>0&&Ls(this,u+l|0,l,(o+s|0)-1|0)},ea.prototype.p1c=function(t,n,e){if(!(e.y12_1>0))throw rn(xt("Failed requirement."));if(0!==this.y12_1)throw rn(xt("Failed requirement."));if(!t.z1f())throw rn(xt("Failed requirement."));var r=this.h1b(t)+n|0,i=this.d13_1;if(!(i<=r&&r0;c>=i;){var h=Fs(this,c);pa(this.n12_1,h,la(this.n12_1,h)-s|0),l&&(oa(this.n12_1,h)?l=!1:fa(this.n12_1,h,sa(this.n12_1,h)-a|0)),c=this.v17(c)}if(l){mi(this.z12_1>=a);this.z12_1=this.z12_1-a|0}return u},ea.prototype.m1c=function(t,n){if(!(this.y12_1>0))throw rn(xt("Failed requirement."));if(0===n&&0===this.d13_1&&0===this.m12_1.m16_1){var e=this.n12_1,r=this.o12_1,i=this.p12_1,o=t.l16_1,s=t.m16_1,a=t.n16_1,u=t.o16_1;return this.n12_1=o,this.o12_1=a,this.p12_1=t.s16_1,this.q12_1=s,this.r12_1=(o.length/5|0)-s|0,this.v12_1=u,this.w12_1=a.length-u|0,this.x12_1=s,t.y1m(e,0,r,0,i),this.p12_1}var c,l=t.y17();try{c=ks(Cs(),l,n,this,!0,!0)}finally{l.p17()}return c},ea.prototype.h1c=function(t,n,e){mi(this.y12_1<=0&&1===this.i19(this.d13_1+t|0));var r=this.d13_1,i=this.t12_1,o=this.u12_1;this.k1c(t),this.b18(),this.t18();var s,a=n.y17();try{s=ks(Cs(),a,e,this,!1,!0)}finally{a.p17()}var u=s;return this.q19(),this.p19(),this.d13_1=r,this.t12_1=i,this.u12_1=o,u},ea.prototype.u18=function(t){var n,e=this.p12_1,r=Aa(e,t,this.f());if(r<0){var i=new ia(t<=this.q12_1?t:0|-(this.f()-t|0));e.yf(0|-(r+1|0),i),n=i}else n=e.g(r);return n},ea.prototype.z1m=function(t){var n,e,r,i=Fs(this,t);$a(this.n12_1,i)||(n=this.n12_1,e=!0,r=$t(i,5)+1|0,n[r]=e?134217728|n[r]:-134217729&n[r],ba(this.n12_1,i)||qs(this,this.v17(t)))},ea.prototype.i1a=function(t,n,e){return 0!=(1&n)&&(t=this.e13_1),this.z1m(t)},ea.prototype.h1b=function(t){var n=t.b1b_1;return n<0?this.f()+n|0:n},ea.prototype.toString=function(){return"SlotWriter(current = "+this.d13_1+" end="+this.s12_1+" size = "+this.f()+" gap="+this.q12_1+"-"+(this.q12_1+this.r12_1|0)+")"},ea.prototype.f=function(){return Rs(this)-this.r12_1|0},ea.$metadata$=kt("SlotWriter"),ra.prototype.a1n=function(){return this.s16_1},ra.prototype.du=function(){return 0===this.m16_1},ra.prototype.b1n=function(t){var n,e=this.t16();try{n=t(e)}finally{e.p17()}return n},ra.prototype.c1n=function(t){var n,e=this.y17();try{n=t(e)}finally{e.p17()}return n},ra.prototype.t16=function(){if(this.q16_1)throw St("Cannot read while a writer is pending");var t=this.p16_1;return this.p16_1=t+1|0,new Sa(this)},ra.prototype.y17=function(){!this.q16_1||Oi(xt("Cannot start a writer when another writer is pending")),this.p16_1<=0||Oi(xt("Cannot start a writer when a reader is pending")),this.q16_1=!0;var t=this.r16_1;return this.r16_1=t+1|0,new ea(this)},ra.prototype.h1b=function(t){if(!this.q16_1||Oi(xt("Use active SlotWriter to determine anchor location instead")),!t.z1f())throw rn(xt("Anchor refers to a group that was removed"));return t.b1b_1},ra.prototype.e1h=function(t){var n;if(t.z1f()){var e=Aa(this.s16_1,t.b1b_1,this.m16_1);n=e>=0&&Ht(this.s16_1.g(e),t)}else n=!1;return n},ra.prototype.b1g=function(t,n){var e;if(!this.q16_1||Oi(xt("Writer is active")),0<=t&&t0))throw rn(xt("Unexpected reader close()"));var n=this.p16_1;this.p16_1=n-1|0},ra.prototype.u1m=function(t,n,e,r,i,o){if(t.m12_1!==this||!this.q16_1)throw rn(xt("Unexpected writer close()"));this.q16_1=!1,this.y1m(n,e,r,i,o)},ra.prototype.y1m=function(t,n,e,r,i){this.l16_1=t,this.m16_1=n,this.n16_1=e,this.o16_1=r,this.s16_1=i},ra.prototype.c=function(){return new Pa(this,0,this.m16_1)},ra.$metadata$=kt("SlotTable",[Oh,Kn]),ia.prototype.e1n=function(t){this.b1b_1=t},ia.prototype.r1e=function(){return this.b1b_1},ia.prototype.z1f=function(){return!(this.b1b_1===Wn().w_1)},ia.prototype.l1c=function(t){return t.h1b(this)},ia.prototype.s1m=function(t){return t.h1b(this)},ia.$metadata$=kt("Anchor"),_a.prototype.m1m=function(t){if(!this.k1m_1.h()&&(this.k1m_1.g(0)===t||this.k1m_1.g(this.k1m_1.f()-1|0)===t))return wt();var n=this.k1m_1.f();this.k1m_1.a(t);t:for(;n>0;){var e=((n+1|0)>>>1|0)-1|0,r=this.k1m_1.g(e);if(!(t>r))break t;this.k1m_1.p4(n,r),n=e}this.k1m_1.p4(n,t)},_a.prototype.o1a=function(){return!this.k1m_1.h()},_a.prototype.f1d=function(){return Yn(this.k1m_1)},_a.prototype.l1m=function(){this.k1m_1.f()>0||Oi(xt("Set is empty"));for(var t=this.k1m_1.g(0);!this.k1m_1.h()&&this.k1m_1.g(0)===t;){this.k1m_1.p4(0,Gn(this.k1m_1)),this.k1m_1.n4(this.k1m_1.f()-1|0);var n=0,e=this.k1m_1.f(),r=this.k1m_1.f()>>>1|0;t:for(;ns){if(u>i){this.k1m_1.p4(n,u),this.k1m_1.p4(a,i),n=a;continue t}break t}}if(!(s>i))break t;this.k1m_1.p4(n,s),this.k1m_1.p4(o,i),n=o}}return t},_a.$metadata$=kt("PrioritySet"),Sa.prototype.q1m=function(){return this.j17_1},Sa.prototype.f=function(){return this.g17_1},Sa.prototype.v17=function(t){return va(this.f17_1,t)},Sa.prototype.i1b=function(){return oa(this.f17_1,this.j17_1)},Sa.prototype.a1a=function(t){return oa(this.f17_1,t)},Sa.prototype.b1a=function(t){return sa(this.f17_1,t)},Sa.prototype.n1a=function(t){return oa(this.f17_1,t)?ja(this.f17_1,this,t):null},Sa.prototype.m19=function(){return!!this.r19()||this.j17_1===this.k17_1},Sa.prototype.r19=function(){return this.m17_1>0},Sa.prototype.p1a=function(){return la(this.f17_1,this.j17_1)},Sa.prototype.i19=function(t){return la(this.f17_1,t)},Sa.prototype.l19=function(){return this.k17_1},Sa.prototype.p18=function(){return this.j17_1=0?sa(this.f17_1,this.l17_1):0},Sa.prototype.l1b=function(t,n){var e=t+1|0,r=xa(this.f17_1,t)+n|0;return r<(e0||this.n17_1>=this.o17_1)return fi().h12_1;var t=this.n17_1;return this.n17_1=t+1|0,this.h17_1[t]},Sa.prototype.d18=function(){var t=this.m17_1;this.m17_1=t+1|0},Sa.prototype.o19=function(){if(!(this.m17_1>0))throw rn(xt("Unbalanced begin/end empty"));var t=this.m17_1;this.m17_1=t-1|0},Sa.prototype.p17=function(){return this.e17_1.d1n(this)},Sa.prototype.b18=function(){if(this.m17_1<=0){if(va(this.f17_1,this.j17_1)!==this.l17_1)throw rn(xt("Invalid slot table detected"));this.l17_1=this.j17_1,this.k17_1=this.j17_1+la(this.f17_1,this.j17_1)|0;var t=this.j17_1;this.j17_1=t+1|0;var n=t;this.n17_1=xa(this.f17_1,n),this.o17_1=n>=(this.g17_1-1|0)?this.i17_1:ga(this.f17_1,n+1|0)}},Sa.prototype.c18=function(){if(this.m17_1<=0){if(!oa(this.f17_1,this.j17_1))throw rn(xt("Expected a node group"));this.b18()}},Sa.prototype.r17=function(){if(0!==this.m17_1)throw rn(xt("Cannot skip while in an empty region"));var t=oa(this.f17_1,this.j17_1)?1:sa(this.f17_1,this.j17_1);return this.j17_1=this.j17_1+la(this.f17_1,this.j17_1)|0,t},Sa.prototype.z17=function(){if(0!==this.m17_1)throw rn(xt("Cannot skip the enclosing group while in an empty region"));this.j17_1=this.k17_1},Sa.prototype.d19=function(t){if(0!==this.m17_1)throw rn(xt("Cannot reposition while in an empty region"));this.j17_1=t;var n=t=t&&e<=n))throw rn(xt("Index "+t+" is not a parent of "+e));this.l17_1=t,this.k17_1=n,this.n17_1=0,this.o17_1=0},Sa.prototype.n19=function(){if(0===this.m17_1){if(this.j17_1!==this.k17_1)throw rn(xt("endGroup() not called at the end of a group"));var t=va(this.f17_1,this.l17_1);this.l17_1=t,this.k17_1=t<0?this.g17_1:t+la(this.f17_1,t)|0}},Sa.prototype.q18=function(){var t=jt();if(this.m17_1>0)return t;for(var n=0,e=this.j17_1;e=this.x16_1.length&&(this.x16_1=Zn(this.x16_1,$t(this.x16_1.length,2)));var n=this.x16_1,e=this.y16_1;this.y16_1=e+1|0,n[e]=t},Fa.prototype.f19=function(){var t=this.x16_1,n=this;return n.y16_1=n.y16_1-1|0,t[n.y16_1]},Fa.prototype.q1a=function(t){return this.y16_1>0?this.f1d():t},Fa.prototype.f1d=function(){return this.x16_1[this.y16_1-1|0]},Fa.prototype.z19=function(t){return this.x16_1[t]},Fa.prototype.h=function(){return 0===this.y16_1},Fa.prototype.s7=function(){this.y16_1=0},Fa.prototype.r1m=function(t){var n=0,e=this.y16_1;if(n0){if((e=function(t,n){for(var e=0,r=t.c1i_1-1|0,i=Dh(n);e<=r;){var o=(e+r|0)>>>1|0,s=t.d1i_1[o],a=Dh(s);if(ai))return s===n?o:Ka(t,o,n,i);r=o-1|0}}return 0|-(e+1|0)}(this,t))>=0)return this.e1i_1[e]=n,wt()}else e=-1;var r=0|-(e+1|0);if(this.c1i_1===this.d1i_1.length){var i=$t(this.d1i_1.length,2),o=Vn(Array(i),null),s=new Int32Array($t(this.d1i_1.length,2)),a=this.d1i_1,u=r+1|0,c=this.c1i_1;Hn(a,o,u,r,c);var l=this.e1i_1,h=r+1|0,p=this.c1i_1;Hn(l,s,h,r,p);var f,_=this.d1i_1;Hn(_,o,0,0,r),f=this.e1i_1,Hn(f,s,0,0,r),this.d1i_1=o,this.e1i_1=s}else{var d=this.d1i_1,v=this.d1i_1,y=r+1|0,m=this.c1i_1;Hn(d,v,y,r,m);var g=this.e1i_1,$=this.e1i_1,b=r+1|0,w=this.c1i_1;Hn(g,$,b,r,w)}this.d1i_1[r]=t,this.e1i_1[r]=n;var x=this.c1i_1;this.c1i_1=x+1|0},Ya.prototype.h1o=function(t){var n=0,e=0,r=this.c1i_1;if(e0},Qa.prototype.n1h=function(t){return Xa(this,t)>=0},Qa.prototype.m1h=function(t){var n,e=Xa(this,t);if(e>=0){var r=this.z1a_1[e];n=null==r||Ct(r)?r:zt()}else n=null;return n},Qa.prototype.d1g=function(t,n){var e=Xa(this,t);if(e>=0)this.z1a_1[e]=n;else{var r,i=0|-(e+1|0),o=this.a1b_1===this.y1a_1.length;if(o){var s=$t(this.a1b_1,2);r=Vn(Array(s),null)}else r=this.y1a_1;var a,u=r,c=this.y1a_1,l=i+1|0,h=this.a1b_1;if(Hn(c,u,l,i,h),o){var p=this.y1a_1;Hn(p,u,0,0,i)}if(u[i]=t,this.y1a_1=u,o){var f=$t(this.a1b_1,2);a=Vn(Array(f),null)}else a=this.z1a_1;var _=a,d=this.z1a_1,v=i+1|0,y=this.a1b_1;if(Hn(d,_,v,i,y),o){var m=this.z1a_1;Hn(m,_,0,0,i)}_[i]=n,this.z1a_1=_;var g=this.a1b_1;this.a1b_1=g+1|0}},Qa.prototype.f1i=function(t){var n=Xa(this,t);if(n>=0){var e=this.a1b_1,r=this.y1a_1,i=this.z1a_1;Hn(r,r,n,n+1|0,e),Hn(i,i,n,n+1|0,e);var o=e-1|0;return r[o]=null,i[o]=null,this.a1b_1=o,!0}return!1},Qa.prototype.k1o=function(t){var n=0,e=this.a1b_1;if(n=0},ru.prototype.i=function(t){return!!Ct(t)&&this.l3(Ct(t)?t:zt())},ru.prototype.g=function(t){var n=this.v1e_1[t];return Ct(n)?n:zt()},ru.prototype.w1e=function(t){var n;if(this.u1e_1>0){if((n=tu(this,t))>=0)return!1}else n=-1;var e=0|-(n+1|0);if(this.u1e_1===this.v1e_1.length){var r=$t(this.v1e_1.length,2),i=Vn(Array(r),null),o=this.v1e_1,s=e+1|0,a=this.u1e_1;Hn(o,i,s,e,a);var u=this.v1e_1;Hn(u,i,0,0,e),this.v1e_1=i}else{var c=this.v1e_1,l=this.v1e_1,h=e+1|0,p=this.u1e_1;Hn(c,l,h,e,p)}this.v1e_1[e]=t;var f=this.u1e_1;return this.u1e_1=f+1|0,!0},ru.prototype.h=function(){return 0===this.u1e_1},ru.prototype.o1a=function(){return this.u1e_1>0},ru.prototype.n1o=function(t){var n=tu(this,t);if(n>=0){if(n<(this.u1e_1-1|0)){var e=this.v1e_1,r=this.v1e_1,i=n+1|0,o=this.u1e_1;Hn(e,r,n,i,o)}var s=this.u1e_1;return this.u1e_1=s-1|0,this.v1e_1[this.u1e_1]=null,!0}return!1},ru.prototype.o1o=function(t){var n=0,e=0,r=this.u1e_1;if(e0){if((e=ou(t,n))>=0)return iu(t,e)}else e=-1;var r=0|-(e+1|0);if(t.p1f_10&&(m=t.m1f_1,Hn(m,g,0,0,r)),t.m1f_1=g;var j=t,z=j.p1f_1;return j.p1f_1=z+1|0,y}(this,t).w1e(n)},au.prototype.q1f=function(t){return ou(this,t)>=0},au.prototype.r1o=function(t,n){var e=ou(this,t);if(e>=0)for(var r=iu(this,e).c();r.d();)n(r.e())},au.prototype.i1g=function(t,n){var e=ou(this,t);if(e>=0){var r=this.m1f_1[e],i=this.o1f_1[r];if(null==i)return!1;var o=i,s=o.n1o(n);if(0===o.u1e_1){var a=e+1|0,u=this.p1f_1;if(a0){if(n!==i){var v=this.m1f_1[n];this.m1f_1[n]=o,this.m1f_1[i]=v}n=n+1|0}}while(e0){if(n!==i){var a=this.m1f_1[n];this.m1f_1[n]=o,this.m1f_1[i]=a}n=n+1|0}}while(e0},$u.prototype.p=function(){return this.z1o_1},$u.prototype.b1p=function(){if(!this.d())throw ie()},$u.prototype.c1p=function(){if(!this.o())throw ie()},$u.$metadata$=kt("AbstractListIterator",[oe]),bu.prototype.j1=function(t){var n=this.u1o();return n.j1(t),n.s1o()},bu.prototype.jf=function(t){var n=this.j(t);return-1!==n?this.n4(n):this},bu.prototype.i=function(t){return!(-1===this.j(t))},bu.prototype.n1=function(t){var n;t:if(Ft(t,wn)&&t.h())n=!0;else{for(var e=t.c();e.d();){var r=e.e();if(!this.i(r)){n=!1;break t}}n=!0}return n},bu.prototype.c=function(){return this.d1p()},bu.prototype.d1p=function(){return this.n(0)},bu.$metadata$=kt("AbstractPersistentList",[pu],void 0,void 0,void 0,se.prototype),wu.prototype.e=function(){if(!this.d())throw ie();var t=this.z1o_1;return this.z1o_1=t+1|0,this.g1p_1[t]},wu.prototype.q=function(){if(!this.o())throw ie();var t=this;return t.z1o_1=t.z1o_1-1|0,this.g1p_1[t.z1o_1]},wu.$metadata$=kt("BufferIterator",void 0,void 0,void 0,void 0,$u.prototype),Mu.prototype.f=function(){return this.j1p_1},Mu.prototype.a=function(t){var n=this.j1p_1-xu(this)|0;if(n=e)return zu(this,this.h1p_1,t-e|0,n);var r=new fc(null);return zu(this,Cu(this,this.h1p_1,this.k1p_1,t,n,r),0,r.l1p_1)},Mu.prototype.n4=function(t){al().d2(t,this.j1p_1);var n=xu(this);return t>=n?Su(this,this.h1p_1,n,this.k1p_1,t-n|0):Su(this,Ou(this,this.h1p_1,this.k1p_1,t,new fc(this.i1p_1[0])),n,this.k1p_1,0)},Mu.prototype.u1o=function(){return new Ku(this,this.h1p_1,this.i1p_1,this.k1p_1)},Mu.prototype.n=function(t){al().c2(t,this.j1p_1);var n=this.i1p_1;return new Yu(this.h1p_1,ln(n)?n:zt(),t,this.j1p_1,1+(this.k1p_1/hc()|0)|0)},Mu.prototype.g=function(t){al().d2(t,this.j1p_1);var n=function(t,n){if(xu(t)<=n)return t.i1p_1;for(var e=t.h1p_1,r=t.k1p_1;r>0;){var i=e[pc(n,r)];e=null!=i&&ln(i)?i:zt(),r=r-hc()|0}return e}(this,t)[t&cc()];return null==n||Ct(n)?n:zt()},Mu.prototype.p4=function(t,n){if(al().d2(t,this.j1p_1),xu(this)<=t){var e=Qn(this.i1p_1,ac());return e[t&cc()]=n,new Mu(this.h1p_1,e,this.j1p_1,this.k1p_1)}return new Mu(Pu(this,this.h1p_1,this.k1p_1,t,n),this.i1p_1,this.j1p_1,this.k1p_1)},Mu.$metadata$=kt("PersistentVector",[pu],void 0,void 0,void 0,bu.prototype),Ku.prototype.f=function(){return this.u1p_1},Ku.prototype.v1p=function(){return this.pf_1},Ku.prototype.s1o=function(){var t;return this.s1p_1===this.o1p_1&&this.t1p_1===this.p1p_1?t=this.n1p_1:(this.r1p_1=new ul,this.o1p_1=this.s1p_1,this.p1p_1=this.t1p_1,t=null==this.s1p_1?0===this.t1p_1.length?sc():new nc(Qn(this.t1p_1,this.u1p_1)):new Mu(pn(this.s1p_1),this.t1p_1,this.u1p_1,this.q1p_1)),this.n1p_1=t,this.n1p_1},Ku.prototype.a=function(t){this.pf_1=this.pf_1+1|0;var n=Eu(this);if(n=t.f()){this.t1p_1=Nu(0,Iu(this,this.t1p_1),e,r);this.u1p_1=this.u1p_1+t.f()|0}else{var i=((t.f()+e|0)-1|0)/ac()|0,o=Vn(Array(i),null);o[0]=Nu(0,Iu(this,this.t1p_1),e,r);var s=1;if(s>hc()<1<=e)return Fu(this,this.s1p_1,t-e|0,n),wt();var r=new fc(null),i=Hu(this,pn(this.s1p_1),this.q1p_1,t,n,r),o=r.l1p_1;Fu(this,i,0,null==o||Ct(o)?o:zt())},Ku.prototype.g=function(t){al().d2(t,this.u1p_1);var n=function(t,n){if(Au(t)<=n)return t.t1p_1;for(var e=pn(t.s1p_1),r=t.q1p_1;r>0;){var i=e[pc(n,r)];e=null!=i&&ln(i)?i:zt(),r=r-hc()|0}return e}(this,t)[t&cc()];return null==n||Ct(n)?n:zt()},Ku.prototype.n4=function(t){al().d2(t,this.u1p_1);this.pf_1=this.pf_1+1|0;var n=Au(this);if(t>=n){var e=Uu(this,this.s1p_1,n,this.q1p_1,t-n|0);return null==e||Ct(e)?e:zt()}var r=new fc(this.t1p_1[0]);Uu(this,Vu(this,pn(this.s1p_1),this.q1p_1,t,r),n,this.q1p_1,0);var i=r.l1p_1;return null==i||Ct(i)?i:zt()},Ku.prototype.p4=function(t,n){if(al().d2(t,this.u1p_1),Au(this)<=t){var e=Iu(this,this.t1p_1);if(e!==this.t1p_1){var r=this.pf_1;this.pf_1=r+1|0}var i=t&cc(),o=e[i];return e[i]=n,this.t1p_1=e,null==o||Ct(o)?o:zt()}var s=new fc(null);this.s1p_1=Ju(this,pn(this.s1p_1),this.q1p_1,t,n,s);var a=s.l1p_1;return null==a||Ct(a)?a:zt()},Ku.prototype.c=function(){return this.d1p()},Ku.prototype.d1p=function(){return this.n(0)},Ku.prototype.n=function(t){return al().c2(t,this.u1p_1),new Zu(this,t)},Ku.$metadata$=kt("PersistentVectorBuilder",[hu],void 0,void 0,void 0,ce.prototype),Yu.prototype.e=function(){if(this.b1p(),this.z1p_1.d()){var t=this.z1o_1;return this.z1o_1=t+1|0,this.z1p_1.e()}var n=this.z1o_1;return this.z1o_1=n+1|0,this.y1p_1[n-this.z1p_1.a1p_1|0]},Yu.prototype.q=function(){if(this.c1p(),this.z1o_1>this.z1p_1.a1p_1){var t=this;return t.z1o_1=t.z1o_1-1|0,this.y1p_1[t.z1o_1-this.z1p_1.a1p_1|0]}var n=this.z1o_1;return this.z1o_1=n-1|0,this.z1p_1.q()},Yu.$metadata$=kt("PersistentVectorIterator",void 0,void 0,void 0,void 0,$u.prototype),Zu.prototype.q=function(){Xu(this),this.c1p(),this.k1q_1=this.z1o_1-1|0;var t=this.j1q_1;if(null==t){var n=this.h1q_1.t1p_1,e=this;e.z1o_1=e.z1o_1-1|0;var r=n[e.z1o_1];return null==r||Ct(r)?r:zt()}var i=t;if(this.z1o_1>i.a1p_1){var o=this.h1q_1.t1p_1,s=this;s.z1o_1=s.z1o_1-1|0;var a=o[s.z1o_1-i.a1p_1|0];return null==a||Ct(a)?a:zt()}var u=this.z1o_1;return this.z1o_1=u-1|0,i.q()},Zu.prototype.e=function(){Xu(this),this.b1p(),this.k1q_1=this.z1o_1;var t=this.j1q_1;if(null==t){var n=this.h1q_1.t1p_1,e=this.z1o_1;this.z1o_1=e+1|0;var r=n[e];return null==r||Ct(r)?r:zt()}var i=t;if(i.d()){var o=this.z1o_1;return this.z1o_1=o+1|0,i.e()}var s=this.h1q_1.t1p_1,a=this.z1o_1;this.z1o_1=a+1|0;var u=s[a-i.a1p_1|0];return null==u||Ct(u)?u:zt()},Zu.prototype.o4=function(){var t;Xu(this),function(t){if(-1===t.k1q_1)throw le()}(this),this.h1q_1.n4(this.k1q_1),this.k1q_10&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,t.w1q_1[s]))return!0}while(s!==i);return!1}(i,n):i.x1q(t,n,e+5|0)}return!1},Wc.prototype.y1q=function(t,n,e){var r=1<0&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,Tc(t,s)))return Bc(t,s)}while(s!==i);return null}(o,n):o.y1q(t,n,e+5|0)}return null},Wc.prototype.z1q=function(t,n,e,r){var i=1<0&&i<=o||s<0&&o<=i)do{var a=i;if(i=i+s|0,Ht(n,Tc(t,a))){if(e===Bc(t,a))return null;var u=t.w1q_1.slice();return u[a+1|0]=e,Ic(Mc(0,0,u))}}while(a!==o);return Ec(Mc(0,0,Kc(t.w1q_1,0,n,e)))}(u,n,e);if(null==c)return null;s=c}else{var l=u.z1q(t,n,e,r+5|0);if(null==l)return null;s=l}var h,p=s,f=p;return h=Lc(this,a,i,p.a1r_1),f.a1r_1=h,p}return Ec(function(t,n,e,r){var i=t.i1s(n),o=Kc(t.w1q_1,i,e,r);return Mc(t.t1q_1|n,t.u1q_1,o)}(this,i,n,e))},Wc.prototype.c1r=function(t,n,e){var r=1<0&&r<=i||o<0&&i<=r)do{var s=r;if(r=r+o|0,Ht(n,Tc(t,s)))return Hc(t,s)}while(s!==i);return t}(a,n):a.c1r(t,n,e+5|0),function(t,n,e,r,i){return null==e?Nc(t,r,i):n!==e?Lc(t,r,i,e):t}(this,a,o,s,r)}return this},Wc.$metadata$=kt("TrieNode"),Xc.prototype.y1o=function(){return this.x1o_1},Xc.$metadata$=en("Companion"),Qc.prototype.f=function(){return this.o1s_1.s1q_1},Qc.prototype.i=function(t){return this.o1s_1.u2(t)},Qc.prototype.a=function(t){if(this.o1s_1.u2(t))return this;if(this.h())return new Qc(t,t,this.o1s_1.v3(t,tl()));var n=this.n1s_1,e=null==n||Ct(n)?n:zt(),r=pn(this.o1s_1.a3(e)),i=this.o1s_1.v3(e,r.r1s(t)).v3(t,nl(e));return new Qc(this.m1s_1,t,i)},Qc.prototype.jf=function(t){var n=this.o1s_1.a3(t);if(null==n)return this;var e=n,r=this.o1s_1.og(t);if(e.s1s()){var i,o=r,s=e.p1s_1;i=(Ft(o,re)?o:zt()).a3(s);var a=pn(i),u=r,c=e.p1s_1;r=u.v3(null==c||Ct(c)?c:zt(),a.r1s(e.q1s_1))}if(e.u1s()){var l,h=r,p=e.q1s_1;l=(Ft(h,re)?h:zt()).a3(p);var f=pn(l),_=r,d=e.q1s_1;r=_.v3(null==d||Ct(d)?d:zt(),f.t1s(e.p1s_1))}return new Qc(e.s1s()?this.m1s_1:e.q1s_1,e.u1s()?this.n1s_1:e.p1s_1,r)},Qc.prototype.c=function(){return new rl(this.m1s_1,this.o1s_1)},Qc.$metadata$=kt("PersistentOrderedSet",[vu],void 0,void 0,void 0,ve.prototype),el.prototype.r1s=function(t){return new el(this.p1s_1,t)},el.prototype.t1s=function(t){return new el(t,this.q1s_1)},el.prototype.u1s=function(){return!(this.q1s_1===ol())},el.prototype.s1s=function(){return!(this.p1s_1===ol())},el.$metadata$=kt("Links"),rl.prototype.d=function(){return this.x1s_1=n)throw we("index: "+t+", size: "+n)},sl.prototype.c2=function(t,n){if(t<0||t>n)throw we("index: "+t+", size: "+n)},sl.$metadata$=en("ListImplementation"),ul.$metadata$=kt("MutabilityOwnership"),Sl.$metadata$=bt("StateObject"),ql.prototype.js=function(){return this.e1t_1()},ql.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[El]),Ol.prototype.js=function(){return this.f1t_1()},Ol.$metadata$=kt("sam$androidx_compose_runtime_snapshots_ObserverHandle$0",[El]),Pl.prototype.z10=function(){return Hl()},Pl.prototype.e1k=function(t,n){var e=Hl(),r=e instanceof Il?e:null,i=null==r?null:r.g1t(t,n);if(null==i)throw St("Cannot create a mutable snapshot of an read-only snapshot");return i},Pl.prototype.f1m=function(t){return Ul(vl()),ml(),kl().a(t),new ql((n=t,function(){return ml(),kl().jf(n),wt(),wt()}));var n},Pl.prototype.h1t=function(t){return ml(),jl().a(t),Vl(),new Ol((n=t,function(){return ml(),jl().jf(n),Vl(),wt()}));var n},Pl.prototype.i1m=function(){return Hl().i1m()},Pl.prototype.d1j=function(){ml();var t=zl().ku().i1t();!0===(null==t?null:!t.h())&&Vl()},Pl.$metadata$=en("Companion"),Al.prototype.k1t=function(t){this.s1a_1=t},Al.prototype.j1t=function(){return this.s1a_1},Al.prototype.l1t=function(t){this.t1a_1=t},Al.prototype.x1a=function(){return this.t1a_1},Al.prototype.js=function(){this.u1a_1=!0,ml(),this.n1t(),wt()},Al.prototype.o1t=function(t){var n=this.f1k();try{return t()}finally{this.g1k(n)}},Al.prototype.f1k=function(){var t=yl().ku();return yl().q1h(this),t},Al.prototype.g1k=function(t){yl().q1h(t)},Al.prototype.p1t=function(){return this.u1a_1},Al.prototype.q1t=function(){return this.v1a_1>=0},Al.prototype.u1t=function(){ml(),this.v1t(),this.w1t(),wt()},Al.prototype.v1t=function(){gl($l().b1u(this.x1a()))},Al.prototype.w1t=function(){this.n1t()},Al.prototype.c1u=function(){if(this.u1a_1)throw rn(xt("Cannot use a disposed snapshot"))},Al.prototype.n1t=function(){this.v1a_1>=0&&(Fl(this.v1a_1),this.v1a_1=-1)},Al.prototype.d1u=function(){var t=this.v1a_1;return this.v1a_1=-1,t},Al.$metadata$=kt("Snapshot"),El.$metadata$=bt("ObserverHandle"),Il.prototype.r1t=function(){return this.m1k_1},Il.prototype.s1t=function(){return this.n1k_1},Il.prototype.g1t=function(t,n){this.c1u(),this.h1u(),this.i1u(this.x1a()),ml();var e=wl();bl(e+1|0);var r=e;gl($l().j1u(r));var i=this.j1t();this.k1t(i.j1u(r));var o=new Jl(r,Kl(i,this.x1a()+1|0,r),function(t,n,e,r,i){return 0!=(4&r)&&(e=!0),Yl(t,n,e)}(t,this.r1t(),!1,4),Gl(n,this.s1t()),this);if(!this.s1k_1&&!this.u1a_1){var s=this.x1a(),a=(ml(),wl());bl(a+1|0),this.l1t(a),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),s+1|0,this.x1a()))}return o},Il.prototype.u1k=function(){var t,n=this.i1t(),e=null!=n?Xl(zl().ku(),this,$l().b1u(zl().ku().x1a())):null;if(ml(),Zl(this),null==n||0===n.f()){this.v1t();var r=zl().ku();Ql(r,vl());var i=r.i1t();t=null!=i&&!i.h()?tn(Gt(kl()),i):tn(Yt(),null)}else{var o=zl().ku(),s=this.k1u(wl(),e,$l().b1u(o.x1a()));if(!Ht(s,Tl()))return s;this.v1t(),Ql(o,vl());var a=o.i1t();this.f1u(null),o.f1u(null),t=tn(Gt(kl()),a)}var u=t,c=u.l4(),l=u.m4();if(this.s1k_1=!0,null!=l&&!l.h()){var h=0,p=c.f()-1|0;if(h<=p)do{var f=h;h=h+1|0,c.g(f)(l,this)}while(h<=p)}if(null!=n&&!n.h()){var _=0,d=c.f()-1|0;if(_<=d)do{var v=_;_=_+1|0,c.g(v)(n,this)}while(_<=d)}return ml(),this.w1t(),wt(),Tl()},Il.prototype.m1t=function(){return!1},Il.prototype.js=function(){this.u1a_1||(Al.prototype.js.call(this),this.l1u(this))},Il.prototype.m1u=function(t){var n=this.r1k_1;this.r1k_1=n+1|0},Il.prototype.l1u=function(t){if(!(this.r1k_1>0))throw rn(xt("Failed requirement."));var n=this;n.r1k_1=n.r1k_1-1|0,0===n.r1k_1&&(this.s1k_1||function(t){var n=t.i1t();if(null!=n){t.e1u(),t.f1u(null);for(var e=t.x1a(),r=n.c();r.d();)for(var i=r.e().d1o();null!=i;)(i.v1n_1===e||Ce(t.p1k_1,i.v1n_1))&&(i.v1n_1=0),i=i.w1n_1}t.u1t()}(this))},Il.prototype.i1m=function(){if(this.s1k_1||this.u1a_1)return wt();this.n1u()},Il.prototype.v1t=function(){gl($l().b1u(this.x1a()).o1u(this.p1k_1))},Il.prototype.w1t=function(){this.p1u(),Al.prototype.w1t.call(this)},Il.prototype.e1u=function(){if(this.s1k_1)throw St(xt("Unsupported operation on a snapshot that has been applied"))},Il.prototype.h1u=function(){if(this.s1k_1&&!(this.v1a_1>=0))throw St(xt("Unsupported operation on a disposed or applied snapshot"))},Il.prototype.k1u=function(t,n,e){for(var r=null,i=this.j1t().j1u(this.x1a()).q1u(this.p1k_1),o=pn(this.i1t()),s=null,a=o.c();a.d();){var u=a.e(),c=u.d1o(),l=th(c,t,e);if(null!=l){var h=l,p=th(c,this.x1a(),i);if(null!=p){var f=p;if(!Ht(h,f)){var _,d=th(c,this.x1a(),this.j1t());null==d?nh():_=d;var v=_,y=null==n?null:n.a3(h),m=null==y?u.f1o(f,h,v):y,g=m;if(null==g)return new Bl(this);if(Ht(g,v));else if(Ht(g,h)){var $,b,w=r;null==w?(r=b=jt(),$=b):$=w,$.a(tn(u,h.u1n()));var x,k,j=s;null==j?(s=k=jt(),x=k):x=j,x.a(u)}else{var z,C,S=r;null==S?(r=C=jt(),z=C):z=S,z.a(Ht(m,f)?tn(u,f.u1n()):tn(u,m))}}}}}var q=r;if(null==q);else{this.n1u();var O=0,P=q.f()-1|0;if(O<=P){do{var M=O;O=O+1|0;var A=q.g(M),E=A.l4(),I=A.m4();I.v1n_1=this.x1a(),ml(),I.w1n_1=E.d1o(),E.e1o(I),wt()}while(O<=P);wt()}}var D=s;return null==D||o.lf(D),Tl()},Il.prototype.r1u=function(t){this.i1u(this.x1a());var n=t();if(!this.s1k_1&&!this.u1a_1){var e=this.x1a(),r=(ml(),wl());bl(r+1|0),this.l1t(r),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),e+1|0,this.x1a()))}return n},Il.prototype.n1u=function(){this.i1u(this.x1a());var t=wt();if(!this.s1k_1&&!this.u1a_1){var n=this.x1a(),e=(ml(),wl());bl(e+1|0),this.l1t(e),gl($l().j1u(this.x1a())),wt(),this.k1t(Kl(this.j1t(),n+1|0,this.x1a()))}return t},Il.prototype.i1u=function(t){ml(),this.p1k_1=this.p1k_1.j1u(t),wt()},Il.prototype.s1u=function(t){if(t>=0){var n,e,r=this.q1k_1;e=new Int32Array([t]),n=Se([r,e]),this.q1k_1=n}},Il.prototype.t1u=function(t){if(0===t.length)return wt();var n=this.q1k_1;if(0===n.length)this.q1k_1=t;else{var e;e=Se([n,t]),this.q1k_1=e}},Il.prototype.p1u=function(){var t=0,n=this.q1k_1.length-1|0;if(t<=n)do{var e=t;t=t+1|0,Fl(this.q1k_1[e])}while(t<=n)},Il.prototype.u1u=function(t){ml(),this.p1k_1=this.p1k_1.q1u(t),wt()},Il.prototype.t1t=function(t){var n,e=this.i1t();if(null==e){var r=fn();this.f1u(r),n=r}else n=e;n.a(t)},Il.prototype.f1u=function(t){this.o1k_1=t},Il.prototype.i1t=function(){return this.o1k_1},Il.prototype.v1u=function(){return this.s1k_1},Il.$metadata$=kt("MutableSnapshot",void 0,void 0,void 0,void 0,Al.prototype),Dl.$metadata$=en("Success",void 0,void 0,void 0,void 0,Ll.prototype),Bl.$metadata$=kt("Failure",void 0,void 0,void 0,void 0,Ll.prototype),Ll.$metadata$=kt("SnapshotApplyResult"),Nl.prototype.g1t=function(t,n){return eh((e=t,r=n,function(t){ml();var n=wl();return bl(n+1|0),new Il(n,t,e,r)}));var e,r},Nl.prototype.i1m=function(){Vl()},Nl.prototype.p1v=function(t){qh()},Nl.prototype.l1u=function(t){return this.p1v(t)},Nl.prototype.q1v=function(t){qh()},Nl.prototype.m1u=function(t){return this.q1v(t)},Nl.prototype.u1k=function(){throw St("Cannot apply the global snapshot directly. Call Snapshot.advanceGlobalSnapshot")},Nl.prototype.js=function(){ml(),this.n1t(),wt()},Nl.$metadata$=kt("GlobalSnapshot",void 0,void 0,void 0,void 0,Il.prototype),Rl.prototype.y1n=function(t){this.v1n_1=t},Rl.prototype.z1n=function(t){this.w1n_1=t},Rl.$metadata$=kt("StateRecord"),Jl.prototype.t1m=function(){return this.m1w_1},Jl.prototype.js=function(){this.u1a_1||(Il.prototype.js.call(this),Wl(this))},Jl.prototype.u1k=function(){if(this.m1w_1.s1k_1||this.m1w_1.u1a_1)return new Bl(this);var t=this.i1t(),n=this.x1a(),e=null!=t?Xl(this.m1w_1,this,this.m1w_1.j1t()):null;if(ml(),Zl(this),null==t||0===t.f())this.u1t();else{var r=this.k1u(this.m1w_1.x1a(),e,this.m1w_1.j1t());if(!Ht(r,Tl()))return r;var i,o=this.m1w_1.i1t();if(null==o){var s=fn();this.m1w_1.f1u(s),i=s}else i=o;i.j1(t)}return this.m1w_1.x1a()0?this.t1v_1[0]:t},_h.prototype.x1v=function(t){!function(t,n){var e=t.t1v_1.length;if(n<=e)return wt();var r=$t(e,2),i=new Int32Array(r),o=new Int32Array(r),s=t.t1v_1,a=s.length;Hn(s,i,0,0,a);var u=t.u1v_1,c=u.length;Hn(u,o,0,0,c),t.t1v_1=i,t.u1v_1=o}(this,this.s1v_1+1|0);var n=this.s1v_1;this.s1v_1=n+1|0;var e=n,r=function(t){var n=t.v1v_1.length;if(t.w1v_1>=n){for(var e=0,r=$t(n,2),i=new Int32Array(r);e>1,i=n;i=0?(Me(),n=r<64):n=!1,n)return!new Bn(1,0).jb(r).wc(this.y1t_1).equals(new Bn(0,0));if(Me(),r>=64?(Me(),e=r<$t(64,2)):e=!1,e){var i=new Bn(1,0);return Me(),!i.jb(r-64|0).wc(this.x1t_1).equals(new Bn(0,0))}if(r>0)return!1;var o,s=this.a1u_1;return null!=(o=null==s?null:gh(s,t)>=0)&&o},mh.prototype.j1u=function(t){var n,e=t-this.z1t_1|0;if(e>=0?(Me(),n=e<64):n=!1,n){var r=new Bn(1,0).jb(e);if(this.y1t_1.wc(r).equals(new Bn(0,0)))return new mh(this.x1t_1,this.y1t_1.en(r),this.z1t_1,this.a1u_1)}else{var i;if(Me(),e>=64?(Me(),i=e<$t(64,2)):i=!1,i){var o=new Bn(1,0);Me();var s=o.jb(e-64|0);if(this.x1t_1.wc(s).equals(new Bn(0,0)))return new mh(this.x1t_1.en(s),this.y1t_1,this.z1t_1,this.a1u_1)}else if(Me(),e>=$t(64,2)){if(!this.g(t)){var a=this.x1t_1,u=this.y1t_1,c=this.z1t_1,l=null,h=t+1|0;Me();var p=h/64|0;Me();var f=$t(p,64);t:for(;c=0?(Me(),n=e<64):n=!1,n){var r=new Bn(1,0).jb(e);if(!this.y1t_1.wc(r).equals(new Bn(0,0)))return new mh(this.x1t_1,this.y1t_1.wc(r.dn()),this.z1t_1,this.a1u_1)}else{var i;if(Me(),e>=64?(Me(),i=e<$t(64,2)):i=!1,i){var o=new Bn(1,0);Me();var s=o.jb(e-64|0);if(!this.x1t_1.wc(s).equals(new Bn(0,0)))return new mh(this.x1t_1.wc(s.dn()),this.y1t_1,this.z1t_1,this.a1u_1)}else if(e<0){var a=this.a1u_1;if(null!=a){var u=gh(a,t);if(u>=0){var c=a.length-1|0;if(0===c)return new mh(this.x1t_1,this.y1t_1,this.z1t_1,null);var l=new Int32Array(c);return u>0&&Hn(a,l,0,0,u),u=0},jh.prototype.p=function(){return this.z1x_1+1|0},jh.prototype.q=function(){kh(this),zh(this.z1x_1,this.y1x_1.f());var t=this.y1x_1.g(this.z1x_1),n=this.z1x_1;return this.z1x_1=n-1|0,t},jh.prototype.d=function(){return this.z1x_1<(this.y1x_1.f()-1|0)},jh.prototype.e=function(){kh(this);var t=this.z1x_1+1|0;zh(t,this.y1x_1.f());var n=this.y1x_1.g(t);return this.z1x_1=t,n},jh.prototype.o4=function(){kh(this),this.y1x_1.n4(this.z1x_1);var t=this.z1x_1;this.z1x_1=t-1|0,this.a1y_1=this.y1x_1.q1x()},jh.$metadata$=kt("StateListIterator",[he]),Oh.$metadata$=bt("CompositionData"),Ph.$metadata$=bt("CompositionGroup",[Oh]),Eh.prototype.ku=function(){return this.i1f_1},Eh.prototype.o1w=function(t){this.i1f_1=t},Eh.prototype.k1f=function(t){var n=this.i1f_1;return this.i1f_1=t,n},Eh.prototype.o1g=function(t,n){var e;return Ht(t,this.i1f_1)?(this.i1f_1=n,e=!0):e=!1,e},Eh.$metadata$=kt("AtomicReference"),Ih.prototype.ku=function(){return this.p1h_1},Ih.prototype.q1h=function(t){this.p1h_1=t},Ih.$metadata$=kt("SnapshotThreadLocal"),Bh.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=2,this.j7_1=1,this.l1y_1=this,this.m1y_1=Re(It(this.l1y_1)),window.requestAnimationFrame(Th(this.k1y_1,this.m1y_1)),(t=Tn(this.m1y_1.ni(),this))===zn())return t;continue t;case 1:return t;case 2:throw this.m7_1}}catch(t){if(2===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Bh.$metadata$=kt("$withFrameNanosCOROUTINE$4",void 0,void 0,void 0,void 0,kn.prototype),Lh.prototype.d12=function(t,n){var e=new Bh(this,t,n);return e.l7_1=wt(),e.m7_1=null,e.q7()},Lh.$metadata$=kt("MonotonicClockImpl",[Mo]),Rh.prototype.r1a=function(t){return null},Rh.prototype.d1b=function(t){},Rh.$metadata$=en("Trace"),Uh.$metadata$=bt("ComposableLambda"),Wh.prototype.d1t=function(t){if(!Ht(this.a1t_1,t)){var n=null==this.a1t_1;this.a1t_1=t,n||function(t){if(t.z1s_1){var n=t.b1t_1;null!=n&&(n.b1h(),t.b1t_1=null);var e=t.c1t_1;if(null!=e){var r=0,i=e.f();if(r=2)for(var e=Bt(Tt(n).g35_1.b3()),r=n.c(),i=0;r.d();){var o=i;i=i+1|0;var s=r.e();if(0!==o){var a=Bt(s.g35_1.b3());if(!kt(e,a))throw Lt(It("Invalid order. Expected '"+e+"', but found '"+a+"'"))}}}(0,r);var b=function(t,n){return St(n," vs ",null,null,0,null,dr,30,null)}(0,r);return e.a(new mr(b,"",r)),e}(t,n))}function ur(t,n){return t.y35_1.da(n)}function cr(t,n){var e=t.w35_1.ca(n," "),r=Nt("\\s{2,}").ca(e," ");return It(Et(At(r)?r:xt()))}function lr(t,n){var e=t.x35_1.ca(n," "),r=Nt("\\s{2,}").ca(e," ");return It(Et(At(r)?r:xt()))}function hr(t,n){return!function(t,n){return t.v35_1.da(n)}(t,n)}function pr(t,n,e){var r;if(!Rt(e,n,!1,2,null))throw Lt(It("Invalid "+n+".Expected to start with '"+n+"' but found '"+e+"'"));var i=Ft(e,n,"",!1,4,null);r=Nt("\\s+").ca(i," ");for(var o=Ot(r,[", "],!1,0,6,null),s=Mt(Pt(o,10)),a=o.c();a.d();){var u,c,l=a.e(),h=Ft(l,",","",!1,4,null);c=It(Et(At(h)?h:xt())),u=Ot(c,[" "],!1,0,6,null),s.a(u)}for(var p=s,f=Dt(),_=p.c();_.d();){var d=_.e(),v=d.g(0),y=d.g(1),m=Ht(y);f.v3(v,m)}return f}function fr(t,n){var e;t:{for(var r=n.u35_1.c();r.d();){var i=r.e();if(Rt(t,i,!1,2,null)){e=i;break t}}e=null}return e}function _r(t){return It(Et(At(t)?t:xt()))}function dr(t){return t.f35_1}function vr(){y=this;for(var t,n=er(),e=Mt(n.length),r=n,i=0,o=r.length;i "+_);for(var y=Dt(),m=nn(["rgba(255, 99, 132, 1)","rgba(54, 162, 235, 1)","rgba(255, 206, 86, 1)","rgba(75, 192, 192, 1)","rgba(153, 102, 255, 1)","rgba(255, 159, 64, 1)"]),g=f.c();g.d();){var $,b=g.e(),w=Ot(b,[" "],!1,0,6,null).g(0),x=y.a3(w);if(null==x){m.h()&&m.a("rgba("+jr()+", "+jr()+", "+jr()+", 1)");var k=Tt(m);m.jf(k);var j=k;y.v3(w,j),$=j}else $=x;var z=$;r.v3(b,z)}var C=new xr(r,y);return Jt("groupMap: "+C),C}function jr(){var t=en(0,255);return on(t,rn())}function zr(){return $||($=!0,t=Nt("\\d+(.\\d+)?"),m=t),m;var t}function Cr(){g=this;var t;t=Nt("\\(input count : .+\\)$"),this.p35_1=t}function Sr(){return null==g&&new Cr,g}function qr(t,n){Sr(),this.r35_1=t,this.s35_1=n,this.t35_1=0}function Or(t,n){this.o36_1=t,this.p36_1=n,this.q36_1=8}function Pr(t,n,e,r,i,o){return function(t,n,e,r,i,o,s){return 0!=(8&i)&&(r="col-lg-6"),Mr.call(s,t,n,e,r),s}(t,n,e,r,i,0,Object.create(Mr.prototype))}function Mr(t,n,e,r){this.t36_1=t,this.u36_1=n,this.v36_1=e,this.w36_1=r,this.x36_1=8}function Ar(t,n,e){this.a36_1=t,this.b36_1=n,this.c36_1=e,this.d36_1=0}function Er(){b=this}function Ir(t,n,e){var r=n;return hn()&&ln(2098833845,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-1. (AutoFormUi.kt:30)"),pn("⌨️ Input",r,6),hn()&&fn(),jt()}function Dr(t,n,e){var r=n;return hn()&&ln(-1047390949,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-2. (AutoFormUi.kt:58)"),pn("Benchmark :",r,6),hn()&&fn(),jt()}function Tr(t,n,e){var r=n;return hn()&&ln(-1553178399,e,-1,"components.ComposableSingletons$AutoFormUiKt.lambda-3. (AutoFormUi.kt:89)"),pn("💾 SAVE",r,6),hn()&&fn(),jt()}function Br(){var t;w=this,this.h37_1=(t=_n(2098833845,!1,Ir),function(n,e,r){return t.n1y(n,e,r)}),this.i37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1047390949,!1,Dr)),this.j37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1553178399,!1,Tr))}function Lr(){return null==w&&new Br,w}function Nr(t,n,e,r,i,o,s,a,u,c){var l=u;l=l.n1d(1546286992),dn(l,"C(FormUi$composable)P(!1,7,6,2,4,5,3)");var h,p,f=c;hn()&&ln(1546286992,f,-1,"components.FormUi$composable (AutoFormUi.kt:14)"),vn(jt(),(h=new Rr(r,t,null),(p=function(t,n){return h.p1j(t,n)}).$arity=1,p),l,64),yn(null,Lr().h37_1,l,48,1);var _=mn(l,950905109,!0,function(t,n,e,r,i,o,s,a,u){return function(c,l,h){var p=l;hn()&&ln(950905109,h,-1,"components.FormUi$composable. (AutoFormUi.kt:34)");var f=mn(p,-1972588882,!0,function(t,n,e,r,i,o,s,a,u){return function(c,l,h){var p=l;hn()&&ln(-1972588882,h,-1,"components.FormUi$composable.. (AutoFormUi.kt:35)"),p.h1a(-1629932720,"inputForm"),Hi(t,n,e,r,i,p,64|14&o>>3|896&o>>9|7168&o>>9|57344&o>>9);var f=p;f.e12(547886695),dn(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===gn().h12_1){var y=Fr;d.g12(y),_=y}else _=v;var m=_,g=null==m||$n(m)?m:xt();f.i12();var $=g,b=mn(p,-1534844198,!0,function(t,n){return function(e,r,i){var o=r;hn()&&ln(-1534844198,i,-1,"components.FormUi$composable.... (AutoFormUi.kt:51)");var s=o;s.e12(547886695),dn(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===gn().h12_1){var l=Hr;u.g12(l),a=l}else a=c;var h=a,p=null==h||$n(h)?h:xt();return s.i12(),Cn("benchmark",p,Lr().i37_1,o,390,0),Sn(t.a36_1,function(t,n){return function(e){return e.x20("benchmark"),e.w20(["form-control"]),jn(e,"Benchmark data"),zn(e,20),e.k28(function(t,n){return function(e){return t(n.f37(e.f2b_1,!1,!1,6,null)),jt()}}(t,n)),jt()}}(n,t),o,0,0),hn()&&(fn(),jt()),jt()}}(s,a)),w=p;w.e12(-838505973),dn(w,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k,j=w,z=w.j12(b),C=j.f12();if(z||C===gn().h12_1){var S=(k=b,function(t,n,e){return k.n1y(t,n,e)});j.g12(S),x=S}else x=C;var q=x,O=null==q||$n(q)?q:xt();return w.i12(),bn($,O,p,48,0),An(function(t,n){return function(e){return e.w20(["btn","btn-dark","float-end"]),e.u20(Ur),Wt(t.a36_1)&&(e.e20("disabled","true"),jt()),e.a21(function(t,n){return function(e){return t(n),jt()}}(n,t)),Mn(e,Pn()),jt()}}(s,u),Lr().j37_1,p,48,0),p.k1a(),hn()&&(fn(),jt()),jt()}}(t,n,e,r,i,o,s,a,u)),_=p;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===gn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||$n(b)?b:xt();return _.i12(),En(null,null,w,p,384,3),hn()&&(fn(),jt()),jt()}}(n,e,o,s,a,f,t,r,i)),d=l;d.e12(-838505973),dn(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.j12(_),$=m.f12();if(g||$===gn().h12_1){var b=(y=_,function(t,n,e){return y.n1y(t,n,e)});m.g12(b),v=b}else v=$;var w=v,x=null==w||$n(w)?w:xt();d.i12(),bn(null,x,l,48,1),hn()&&fn();var k=l.o1d();null===k||k.j1e(function(t,n,e,r,i,o,s,a,u){return function(c,l){return function(t,n,e,r,i,o,s,a,u,c,l){Nr(t,n,e,r,i,o,s,a,c,1|u)}(t,n,e,r,i,o,s,a,u,c),jt()}}(t,n,e,r,i,o,s,a,c))}function Rr(t,n,e){this.u37_1=t,this.v37_1=n,wn.call(this,e)}function Fr(t){return t.w20(["form-group"]),jt()}function Hr(t){return t.w20(["form-label"]),jt()}function Ur(t){return On(t,qn(10)),jt()}function Vr(t,n,e){var r=n;return hn()&&ln(1529185564,e,-1,"components.ComposableSingletons$AutoGroupToggleKt.lambda-1. (AutoGroupToggle.kt:29)"),pn("Auto Group:",r,6),hn()&&fn(),jt()}function Wr(){var t;x=this,this.x37_1=(t=_n(1529185564,!1,Vr),function(n,e,r){return t.n1y(n,e,r)})}function Jr(t,n,e,r){var i=e;i=i.n1d(442093563),dn(i,"C(AutoGroup$composable)");var o,s,a,u=r;if(0==(14&r)&&(u|=i.j1d(t)?4:2),0==(112&r)&&(u|=i.j12(n)?32:16),18==(91&u)&&i.v1b())i.z17();else{hn()&&ln(442093563,u,-1,"components.AutoGroup$composable (AutoGroupToggle.kt:10)");var c=i;c.e12(547886695),dn(c,"C(remember$composable):Composables.kt#9igjgp");var l,h=c,p=h.f12();if(p===gn().h12_1){var f=Kr;h.g12(f),l=f}else l=p;var _=l,d=null==_||$n(_)?_:xt();c.i12();var v=d,y=mn(i,1468648411,!0,(s=t,a=n,function(t,n,e){var r=n;hn()&&ln(1468648411,e,-1,"components.AutoGroup$composable. (AutoGroupToggle.kt:21)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,u=i,c=u.f12();if(c===gn().h12_1){var l=Gr;u.g12(l),o=l}else o=c;var h=o,p=null==h||$n(h)?h:xt();i.i12(),Cn("colorMap",p,(null==x&&new Wr,x).x37_1,r,390,0),Dn(null,r,0,1);var f=r;f.e12(-1124426577),dn(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=f,v=!!(f.j12(s)|f.j12(a)),y=d.f12();if(v||y===gn().h12_1){var m=function(t,n){return function(e){return e.x20("colorMap"),e.w20(["btn",t?"btn-success":"btn-secondary"]),e.a21(function(t){return function(n){return t(),jt()}}(n)),Mn(e,Pn()),jt()}}(s,a);d.g12(m),_=m}else _=y;var g=_,$=null==g||$n(g)?g:xt();f.i12();var b=$,w=mn(r,-431302815,!0,function(t){return function(n,e,r){var i=e;return hn()&&ln(-431302815,r,-1,"components.AutoGroup$composable.. (AutoGroupToggle.kt:42)"),pn(t?"ON":"OFF",i,0),hn()&&(fn(),jt()),jt()}}(s)),k=r;k.e12(-838505973),dn(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(w),q=C.f12();if(S||q===gn().h12_1){var O=(z=w,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||$n(P)?P:xt();return k.i12(),An(b,M,r,48,0),hn()&&(fn(),jt()),jt()})),m=i;m.e12(-838505973),dn(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===gn().h12_1){var k=(o=y,function(t,n,e){return o.n1y(t,n,e)});$.g12(k),g=k}else g=w;var j=g,z=null==j||$n(j)?j:xt();m.i12(),bn(v,z,i,48,0),hn()&&fn()}var C=i.o1d();null===C||C.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Jr(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function Kr(t){return t.w20(["form-group"]),t.u20(Yr),jt()}function Yr(t){return In(t,qn(10)),jt()}function Gr(t){return t.w20(["form-label"]),jt()}function Xr(t,n,e,r,i){var o=r;o=o.n1d(-1178138425),dn(o,"C(ChartUi$composable)P(2,1)");var s=i;hn()&&ln(-1178138425,s,-1,"components.ChartUi$composable (ChartUi.kt:14)");var a,u=mn(o,-1469495048,!0,(a=e,function(t,n,e){var r=n;return hn()&&ln(-1469495048,e,-1,"components.ChartUi$composable. (ChartUi.kt:19)"),pn(a.t36_1+" "+a.u36_1,r,0),hn()&&(fn(),jt()),jt()})),c=o;c.e12(-838505973),dn(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,h,p=c,f=c.j12(u),_=p.f12();if(f||_===gn().h12_1){var d=(h=u,function(t,n,e){return h.n1y(t,n,e)});p.g12(d),l=d}else l=_;var v=l,y=null==v||$n(v)?v:xt();c.i12(),yn(null,y,o,48,1);var m=o;m.e12(547886695),dn(m,"C(remember$composable):Composables.kt#9igjgp");var g,$=m,w=$.f12();if(w===gn().h12_1){var x=Zr;$.g12(x),g=x}else g=w;var k=g,j=null==k||$n(k)?k:xt();m.i12();var z=j,C=mn(o,1870993739,!0,function(t,n,e,r){return function(i,o,s){var a=o;return hn()&&ln(1870993739,s,-1,"components.ChartUi$composable. (ChartUi.kt:32)"),Jn(t,n,function(t,n,e,r){return function(i){for(var o=qt(),s=t.v36_1.u().c();s.d();){var a,u,c=s.e(),l=c.k2(),h=c.m2(),p={};p.label=l;var f,_=h.c3();if(u=Un(_),p.data=u,n){var d=e.k36_1,v=p.label;f=(kn(d,Vn)?d:xt()).a3(v)}else f=["rgba(255, 99, 132, 1)","rgba(54, 162, 235, 1)","rgba(255, 206, 86, 1)","rgba(75, 192, 192, 1)","rgba(153, 102, 255, 1)","rgba(255, 159, 64, 1)"];p.borderColor=f,p.borderWidth=3,a=p,o.a(a)}var y,m,g=r.u27(i),$={};null==b&&new Er,y="line",$.type=y;for(var w,x={},k=t.v36_1.c3(),j=qt(),z=k.c();z.d();){var C;C=z.e().b3(),tn(j,C)}var S,q,O=Xt(j),P=Un(O);Jt("labels: "+Wn(P)),w=P,x.labels=w,S=Un(o),x.datasets=S,m=x,$.data=m;var M,A,E={},I={};return A={display:!0},E.title=A,M=I,E.plugins=M,q=E,$.options=q,new ti(new J(g,$))}}(t,n,r,i),a,8|112&e<<3),hn()&&(fn(),jt()),jt()}}(e,t,s,n)),S=o;S.e12(-838505973),dn(S,"C(remember$composable)P(1):Composables.kt#9igjgp");var q,O=S,P=S.j12(C),M=O.f12();if(P||M===gn().h12_1){var A=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(C);O.g12(A),q=A}else q=M;var E=q,I=null==E||$n(E)?E:xt();S.i12(),Tn(z,I,o,48,0),hn()&&fn();var D=o.o1d();null===D||D.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){Xr(t,n,e,i,1|r)}(t,n,e,r,i),jt()}}(t,n,e,i))}function Zr(t){return t.u20(Qr),jt()}function Qr(t){return Ln(t,Bn(100)),Nn(t,Bn(100)),Rn(t,qn(700)),Fn(t,qn(700)),jt()}function ti(t){this.z37_1=t}function ni(t,n,e){var r=n;return hn()&&ln(-646215327,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-1. (EditableTitle.kt:29)"),pn("Title :",r,6),hn()&&fn(),jt()}function ei(t,n,e){var r=n;hn()&&ln(1730974274,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-2. (EditableTitle.kt:23)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=ri;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();i.i12(),Cn("customTitle",l,ci().a38_1,r,390,0);var h=Kn(),p=r;p.e12(547886695),dn(p,"C(remember$composable):Composables.kt#9igjgp");var f,_=p,d=_.f12();if(d===gn().h12_1){var v=ii;_.g12(v),f=v}else f=d;var y=f,m=null==y||$n(y)?y:xt();return p.i12(),Yn(h,m,r,8),hn()&&fn(),jt()}function ri(t){return t.w20(["form-label"]),jt()}function ii(t){return t.x20("customTitle"),t.w20(["form-control"]),Gn(t,"Custom title goes here"),t.u20(oi),jt()}function oi(t){return Xn(t,qn(24)),jt()}function si(t,n,e){var r=n;hn()&&ln(1174811809,e,-1,"components.ComposableSingletons$EditableTitleKt.lambda-3. (EditableTitle.kt:18)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=ai;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();return i.i12(),bn(l,ci().b38_1,r,48,0),hn()&&fn(),jt()}function ai(t){return t.w20(["form-group"]),jt()}function ui(){var t;k=this,this.a38_1=(t=_n(-646215327,!1,ni),function(n,e,r){return t.n1y(n,e,r)}),this.b38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(1730974274,!1,ei)),this.c38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(1174811809,!1,si))}function ci(){return null==k&&new ui,k}function li(t,n){var e=t;if(e=e.n1d(1068528252),dn(e,"C(EditableTitle$composable)"),0===n&&e.v1b())e.z17();else{hn()&&ln(1068528252,n,-1,"components.EditableTitle$composable (EditableTitle.kt:13)");var r=e;r.e12(547886695),dn(r,"C(remember$composable):Composables.kt#9igjgp");var i,o=r,s=o.f12();if(s===gn().h12_1){var a=hi;o.g12(a),i=a}else i=s;var u=i,c=null==u||$n(u)?u:xt();r.i12(),bn(c,ci().c38_1,e,48,0),hn()&&fn()}var l,h=e.o1d();null===h||h.j1e((l=n,function(t,n){return function(t,n,e){li(n,1|t)}(l,t),jt()}))}function hi(t){return t.w20(["row"]),jt()}function pi(t,n,e){var r=n;r=r.n1d(-1873638994),dn(r,"C(ErrorUi$composable)");var i,o,s=e;if(0==(14&e)&&(s|=r.j12(t)?4:2),2==(11&s)&&r.v1b())r.z17();else{hn()&&ln(-1873638994,e,-1,"components.ErrorUi$composable (Error.kt:8)");var a=r;a.e12(547886695),dn(a,"C(remember$composable):Composables.kt#9igjgp");var u,c=a,l=c.f12();if(l===gn().h12_1){var h=fi;c.g12(h),u=h}else u=l;var p=u,f=null==p||$n(p)?p:xt();a.i12();var _=f,d=mn(r,1938269174,!0,(o=t,function(t,n,e){var r=n;hn()&&ln(1938269174,e,-1,"components.ErrorUi$composable. (Error.kt:11)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var s,a=i,u=a.f12();if(u===gn().h12_1){var c=_i;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();i.i12();var p=h,f=mn(r,-1978518889,!0,function(t){return function(n,e,r){var i=e;hn()&&ln(-1978518889,r,-1,"components.ErrorUi$composable.. (Error.kt:14)");var o=i;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===gn().h12_1){var c=di;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();o.i12();var p=h,f=mn(i,153044343,!0,function(t){return function(n,e,r){var i=e;return hn()&&ln(153044343,r,-1,"components.ErrorUi$composable... (Error.kt:17)"),pn("❌ "+t,i,0),hn()&&(fn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===gn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||$n(b)?b:xt();return _.i12(),Zn(p,w,i,48,0),hn()&&(fn(),jt()),jt()}}(o)),_=r;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===gn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||$n(b)?b:xt();return _.i12(),bn(p,w,r,48,0),hn()&&(fn(),jt()),jt()})),v=r;v.e12(-838505973),dn(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.j12(d),$=m.f12();if(g||$===gn().h12_1){var b=(i=d,function(t,n,e){return i.n1y(t,n,e)});m.g12(b),y=b}else y=$;var w=y,x=null==w||$n(w)?w:xt();v.i12(),bn(_,x,r,48,0),hn()&&fn()}var k=r.o1d();null===k||k.j1e(function(t,n){return function(e,r){return function(t,n,e,r){pi(t,e,1|n)}(t,n,e),jt()}}(t,e))}function fi(t){return t.w20(["row"]),jt()}function _i(t){return t.w20(["col-lg-12"]),jt()}function di(t){return t.w20(["text-center"]),jt()}function vi(t,n,e){var r=n;return hn()&&ln(-1817257175,e,-1,"components.ComposableSingletons$HeadingKt.lambda-1. (Heading.kt:21)"),pn("📊 benchart",r,6),hn()&&fn(),jt()}function yi(t,n,e){var r=n;hn()&&ln(-1445218266,e,-1,"components.ComposableSingletons$HeadingKt.lambda-2. (Heading.kt:18)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=mi;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();return i.i12(),Qn(l,xi().d38_1,r,48,0),hn()&&fn(),jt()}function mi(t){return t.w20(["text-center"]),jt()}function gi(t,n,e){var r=n;hn()&&ln(-1522093819,e,-1,"components.ComposableSingletons$HeadingKt.lambda-3. (Heading.kt:11)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=$i;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();return i.i12(),bn(l,xi().e38_1,r,48,0),hn()&&fn(),jt()}function $i(t){return t.w20(["col-lg-12"]),t.u20(bi),jt()}function bi(t){return te(t,qn(30)),On(t,qn(30)),jt()}function wi(){var t;j=this,this.d38_1=(t=_n(-1817257175,!1,vi),function(n,e,r){return t.n1y(n,e,r)}),this.e38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1445218266,!1,yi)),this.f38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1522093819,!1,gi))}function xi(){return null==j&&new wi,j}function ki(t,n){var e=t;if(e=e.n1d(1340484778),dn(e,"C(Heading$composable)"),0===n&&e.v1b())e.z17();else{hn()&&ln(1340484778,n,-1,"components.Heading$composable (Heading.kt:8)");var r=e;r.e12(547886695),dn(r,"C(remember$composable):Composables.kt#9igjgp");var i,o=r,s=o.f12();if(s===gn().h12_1){var a=ji;o.g12(a),i=a}else i=s;var u=i,c=null==u||$n(u)?u:xt();r.i12(),bn(c,xi().f38_1,e,48,0),hn()&&fn()}var l,h=e.o1d();null===h||h.j1e((l=n,function(t,n){return function(t,n,e){ki(n,1|t)}(l,t),jt()}))}function ji(t){return t.w20(["row"]),jt()}function zi(){z=this}function Ci(){C=this;var t=new ne("components.SavedBenchmarkNode",this,2);t.l2m("key",!1),t.l2m("value",!1),this.g38_1=t,this.h38_1=8}function Si(){return null==C&&new Ci,C}function qi(t,n,e,r){return function(t,n,e,r,i){return 3!=(3&t)&&se(t,3,Si().g38_1),i.j38_1=n,i.k38_1=e,i}(t,n,e,0,Object.create(Oi.prototype))}function Oi(t,n){null==z&&new zi,this.j38_1=t,this.k38_1=n,this.l38_1=0}function Pi(){S=this}function Mi(){q=this;var t=new ne("components.SavedBenchmarks",this,1);t.l2m("items",!1),this.m38_1=t,this.n38_1=8}function Ai(){return null==q&&new Mi,q}function Ei(t,n,e){return function(t,n,e,r){return 1!=(1&t)&&se(t,1,Ai().m38_1),r.p38_1=n,r}(t,n,0,Object.create(Ii.prototype))}function Ii(t){null==S&&new Pi,this.p38_1=t,this.q38_1=8}function Di(){return to(),O}function Ti(t,n,e){var r=n;return hn()&&ln(37561396,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-1. (SavedBenchmarksDropDown.kt:35)"),pn("Load Benchmark :",r,6),hn()&&fn(),jt()}function Bi(t,n,e){var r=n;return hn()&&ln(-32633967,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-2. (SavedBenchmarksDropDown.kt:88)"),pn("Unsaved benchmark",r,6),hn()&&fn(),jt()}function Li(t,n,e){var r=n;return hn()&&ln(-652929765,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-3. (SavedBenchmarksDropDown.kt:114)"),pn("LOAD",r,6),hn()&&fn(),jt()}function Ni(t,n,e){var r=n;return hn()&&ln(-1219865148,e,-1,"components.ComposableSingletons$SavedBenchmarksDropDownKt.lambda-4. (SavedBenchmarksDropDown.kt:130)"),pn("DELETE",r,6),hn()&&fn(),jt()}function Ri(){var t;P=this,this.r38_1=(t=_n(37561396,!1,Ti),function(n,e,r){return t.n1y(n,e,r)}),this.s38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-32633967,!1,Bi)),this.t38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-652929765,!1,Li)),this.u38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1219865148,!1,Ni))}function Fi(){return null==P&&new Ri,P}function Hi(t,n,e,r,i,o,s){to();var a=o;a=a.n1d(-441302567),dn(a,"C(SavedBenchmarksDropDown$composable)P(4,3,2,1)");var u,c,l,h,p,f,_=s;if(hn()&&ln(-441302567,_,-1,"components.SavedBenchmarksDropDown$composable (SavedBenchmarksDropDown.kt:15)"),n.h()){hn()&&fn();var d=a.o1d();return null===d||d.j1e((u=t,c=n,l=e,h=r,p=i,f=s,function(t,n){return function(t,n,e,r,i,o,s,a){Hi(t,n,e,r,i,s,1|o)}(u,c,l,h,p,f,t),jt()})),jt()}var v=a;v.e12(-838505973),dn(v,"C(remember$composable)P(1):Composables.kt#9igjgp");var y,m=v,g=v.j12(n),$=m.f12();if(g||$===gn().h12_1){var b=Tt(n),w=ue(b,null,2,null);m.g12(w),y=w}else y=$;var x=y,k=null==x||$n(x)?x:xt();v.i12();var j=k,z=a;z.e12(547886695),dn(z,"C(remember$composable):Composables.kt#9igjgp");var C,S=z,q=S.f12();if(q===gn().h12_1){var O=Vi;S.g12(O),C=O}else C=q;var P=C,M=null==P||$n(P)?P:xt();z.i12(),Cn("savedBenchmarks",M,Fi().r38_1,a,390,0);var A=a;A.e12(547886695),dn(A,"C(remember$composable):Composables.kt#9igjgp");var E,I=A,D=I.f12();if(D===gn().h12_1){var T=Wi;I.g12(T),E=T}else E=D;var B=E,L=null==B||$n(B)?B:xt();A.i12();var N=L,R=mn(a,549151222,!0,function(t,n,e,r,i,o,s){return function(r,a,u){var c=a;hn()&&ln(549151222,u,-1,"components.SavedBenchmarksDropDown$composable. (SavedBenchmarksDropDown.kt:43)");var l=c;l.e12(547886695),dn(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===gn().h12_1){var _=Ji;p.g12(_),h=_}else h=f;var d=h,v=null==d||$n(d)?d:xt();l.i12();var y=v,m=mn(c,1940859863,!0,function(t,n,e,r,i,o,s){return function(r,a,u){var c=a;hn()&&ln(1940859863,u,-1,"components.SavedBenchmarksDropDown$composable.. (SavedBenchmarksDropDown.kt:48)");var l=c;l.e12(547886695),dn(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===gn().h12_1){var _=Ki;p.g12(_),h=_}else h=f;var d=h,v=null==d||$n(d)?d:xt();l.i12();var y=v,m=mn(c,461626232,!0,function(t,n,e,r,i){return function(r,o,s){var a=o;hn()&&ln(461626232,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:54)");var u=function(t,n,e){return function(r){return r.w20(["form-select"]),r.x20("savedBenchmarks"),r.y27(function(t,n,e){return function(r){var i=r.f2a_1;if(null==i);else{var o;t(i);t:{for(var s=n.c();s.d();){var a=s.e();if(a.j38_1===i){o=a;break t}}o=null}(function(t,n){to(),he("selectedBenchmark",ce,!0,(function(){return le()})),t.jy(n)})(e,pe(o)),jt()}return jt()}}(t,n,e)),jt()}}(t,n,e),c=mn(a,1692700999,!0,function(t,n,e,r){return function(n,i,o){var s=i;hn()&&ln(1692700999,o,-1,"components.SavedBenchmarksDropDown$composable.... (SavedBenchmarksDropDown.kt:67)");for(var a=t.c();a.d();){var u=a.e(),c=s;c.e12(-1058148781),dn(c,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var l,h=c,p=!!(!!(c.j12(u)|c.j12(e))|c.j12(r)),f=h.f12();if(p||f===gn().h12_1){var _=Yi(u,r,e);h.g12(_),l=_}else l=f;var d=l,v=null==d||$n(d)?d:xt();c.i12();var y,m=v,g=mn(s,1052804723,!0,Gi(u)),$=s;$.e12(-838505973),dn($,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w=$,x=$.j12(g),k=w.f12();if(x||k===gn().h12_1){var j=Xi(g);w.g12(j),b=j}else b=k;var z=b,C=null==z||$n(z)?z:xt();$.i12(),y=C,_e(u.j38_1,m,y,s,384,0)}var S=Di(),q=s;q.e12(-838505973),dn(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,P=q,M=q.j12(r),A=P.f12();if(M||A===gn().h12_1){var E=function(t){return function(n){return t&&(fe(n),jt()),jt()}}(r);P.g12(E),O=E}else O=A;var I=O,D=null==I||$n(I)?I:xt();return q.i12(),_e(S,D,Fi().s38_1,s,390,0),hn()&&(fn(),jt()),jt()}}(n,0,e,i)),l=a;l.e12(-838505973),dn(l,"C(remember$composable)P(1):Composables.kt#9igjgp");var h,p,f=l,_=l.j12(c),d=f.f12();if(_||d===gn().h12_1){var v=(p=c,function(t,n,e){return p.n1y(t,n,e)});f.g12(v),h=v}else h=d;var y=h,m=null==y||$n(y)?y:xt();return l.i12(),de(u,!1,m,a,384,2),hn()&&(fn(),jt()),jt()}}(t,n,e,0,i)),g=c;g.e12(-838505973),dn(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b,w=g,x=g.j12(m),k=w.f12();if(x||k===gn().h12_1){var j=(b=m,function(t,n,e){return b.n1y(t,n,e)});w.g12(j),$=j}else $=k;var z=$,C=null==z||$n(z)?z:xt();g.i12(),bn(y,C,c,48,0);var S=c;S.e12(547886695),dn(S,"C(remember$composable):Composables.kt#9igjgp");var q,O=S,P=O.f12();if(P===gn().h12_1){var M=Zi;O.g12(M),q=M}else q=P;var A=q,E=null==A||$n(A)?A:xt();S.i12();var I=E,D=mn(c,-282119967,!0,function(t,n,e,r,i){return function(t,o,s){var a=o;hn()&&ln(-282119967,s,-1,"components.SavedBenchmarksDropDown$composable... (SavedBenchmarksDropDown.kt:98)");var u=a;u.e12(-1058148781),dn(u,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var c,l=u,h=!!(!!(u.j12(n)|u.j12(e))|u.j12(r)),p=l.f12();if(h||p===gn().h12_1){var f=function(t,n,e){return function(r){return r.w20(["btn","btn-primary"]),r.u20(Qi),r.a21(function(t,n){return function(e){return t(Ui(n)),jt()}}(n,e)),Mn(r,Pn()),t&&(ye(r),jt()),jt()}}(r,n,e);l.g12(f),c=f}else c=p;var _=c,d=null==_||$n(_)?_:xt();u.i12(),An(d,Fi().t38_1,a,48,0);var v=a;v.e12(-1058148781),dn(v,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var y,m=v,g=!!(!!(v.j12(i)|v.j12(e))|v.j12(r)),$=m.f12();if(g||$===gn().h12_1){var b=function(t,n,e){return function(r){return r.w20(["btn","btn-danger"]),r.a21(function(t,n){return function(e){return t(Ui(n)),jt()}}(n,e)),Mn(r,Pn()),t&&(ye(r),jt()),jt()}}(r,i,e);m.g12(b),y=b}else y=$;var w=y,x=null==w||$n(w)?w:xt();return v.i12(),An(x,Fi().u38_1,a,48,0),hn()&&(fn(),jt()),jt()}}(0,o,e,i,s)),T=c;T.e12(-838505973),dn(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var B,L=T,N=T.j12(D),R=L.f12();if(N||R===gn().h12_1){var F=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(D);L.g12(F),B=F}else B=R;var H=B,U=null==H||$n(H)?H:xt();return T.i12(),bn(I,U,c,48,0),hn()&&(fn(),jt()),jt()}}(t,n,e,0,i,o,s)),g=c;g.e12(-838505973),dn(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b,w=g,x=g.j12(m),k=w.f12();if(x||k===gn().h12_1){var j=(b=m,function(t,n,e){return b.n1y(t,n,e)});w.g12(j),$=j}else $=k;var z=$,C=null==z||$n(z)?z:xt();return g.i12(),bn(y,C,c,48,0),hn()&&(fn(),jt()),jt()}}(e,n,j,0,t,r,i)),F=a;F.e12(-838505973),dn(F,"C(remember$composable)P(1):Composables.kt#9igjgp");var H,U,V=F,W=F.j12(R),J=V.f12();if(W||J===gn().h12_1){var K=(U=R,function(t,n,e){return U.n1y(t,n,e)});V.g12(K),H=K}else H=J;var Y=H,G=null==Y||$n(Y)?Y:xt();F.i12(),bn(N,G,a,48,0),hn()&&fn();var X=a.o1d();null===X||X.j1e(function(t,n,e,r,i,o){return function(s,a){return function(t,n,e,r,i,o,s,a){Hi(t,n,e,r,i,s,1|o)}(t,n,e,r,i,o,s),jt()}}(t,n,e,r,i,s))}function Ui(t){return to(),he("selectedBenchmark",ce,!0,(function(){return le()})),t.m2()}function Vi(t){return to(),t.w20(["form-label"]),jt()}function Wi(t){return to(),t.w20(["form-group"]),jt()}function Ji(t){return to(),t.w20(["row"]),jt()}function Ki(t){return to(),t.w20(["col"]),jt()}function Yi(t,n,e){return function(r){return t.j38_1!==Ui(e).j38_1||n||(fe(r),jt()),jt()}}function Gi(t){return function(n,e,r){var i=e;return hn()&&ln(1052804723,r,-1,"components.SavedBenchmarksDropDown$composable..... (SavedBenchmarksDropDown.kt:76)"),pn(t.j38_1,i,0),hn()&&(fn(),jt()),jt()}}function Xi(t){return function(n,e,r){return t.n1y(n,e,r)}}function Zi(t){return to(),t.w20(["col"]),jt()}function Qi(t){return to(),ve(t,qn(10)),jt()}function to(){M||(M=!0,O="unsavedBenchmark_"+(new Date).getMilliseconds())}function no(t,n,e,r,i,o,s,a,u,c){this.w38_1=t,this.x38_1=n,this.y38_1=e,this.z38_1=r,this.a39_1=i,this.b39_1=o,this.c39_1=s,this.d39_1=a,this.e39_1=u,this.f39_1=c,this.g39_1=0}function eo(t,n){this.p39_1=t,this.q39_1=n,this.r39_1=8}function ro(t){return Ce("el",1,ze,(function(t){return ro(t)}),null),t.t39_1.m2()}function io(t){var n;this.s39_1=t,this.t39_1=me((n=this,function(){return document.createElement(n.s39_1)}))}function oo(t,n,e){var r=n;return hn()&&ln(323270151,e,-1,"components.ComposableSingletons$SummaryKt.lambda-1. (Summary.kt:162)"),pn("vs",r,6),hn()&&fn(),jt()}function so(t,n,e){var r=n;return hn()&&ln(-1108287470,e,-1,"components.ComposableSingletons$SummaryKt.lambda-2. (Summary.kt:161)"),po(null,co().u39_1,r,48,1),hn()&&fn(),jt()}function ao(t,n,e){var r=n;return hn()&&ln(2132966384,e,-1,"components.ComposableSingletons$SummaryKt.lambda-3. (Summary.kt:160)"),$e(null,co().v39_1,r,48,1),hn()&&fn(),jt()}function uo(){var t;E=this,this.u39_1=(t=_n(323270151,!1,oo),function(n,e,r){return t.n1y(n,e,r)}),this.v39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1108287470,!1,so)),this.w39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(2132966384,!1,ao))}function co(){return null==E&&new uo,E}function lo(t,n,e,r){Ao();var i=e;i=i.n1d(1753254121),dn(i,"C(SummaryContainer$composable)");var o=r;hn()&&ln(1753254121,o,-1,"components.SummaryContainer$composable (Summary.kt:35)"),t(i,14&o),Dn(null,i,0,1);for(var s=n.c();s.d();){var a=s.e();i.h1a(-380220126,a.p39_1),fo(a.p39_1,a.q39_1,i,64),Dn(null,i,0,1),i.k1a()}hn()&&fn();var u,c,l,h=i.o1d();null===h||h.j1e((u=t,c=n,l=r,function(t,n){return function(t,n,e,r,i){lo(t,n,r,1|e)}(u,c,l,t),jt()}))}function ho(t,n,e,r,i,o,s,a,u,c,l){Ao();var h=c;h=h.n1d(1501225216),dn(h,"C(SummarySelector$composable)P(!1,8,2,5!1,6,7)");var p=l;hn()&&ln(1501225216,p,-1,"components.SummarySelector$composable (Summary.kt:52)");var f=h;f.e12(547886695),dn(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===gn().h12_1){var y=vo;d.g12(y),_=y}else _=v;var m=_,g=null==m||$n(m)?m:xt();f.i12();var $,b,w,x,k,j=g,z=mn(h,2020978206,!0,($=p,b=e,w=t,x=r,k=n,function(t,n,e){var r=n;hn()&&ln(2020978206,e,-1,"components.SummarySelector$composable. (Summary.kt:68)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=yo;s.g12(u),o=u}else o=a;var c=o,l=null==c||$n(c)?c:xt();i.i12();var h=l,p=mn(r,-871838913,!0,function(t,n,e){return function(r,i,o){var s=i;hn()&&ln(-871838913,o,-1,"components.SummarySelector$composable.. (Summary.kt:74)");var a=s;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(n),h=c.f12();if(l||h===gn().h12_1){var p=function(t){return function(n){return n.w20(["btn","btn-outline-dark","btn-sm"]),n.a21(function(t){return function(n){return t(),jt()}}(t)),Mn(n,Pn()),jt()}}(n);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();a.i12();var d=_,v=mn(s,-1132288775,!0,function(t,n){return function(e,r,i){var o=r;return hn()&&ln(-1132288775,i,-1,"components.SummarySelector$composable... (Summary.kt:84)"),pn(t,o,14&n),hn()&&(fn(),jt()),jt()}}(e,t)),y=s;y.e12(-838505973),dn(y,"C(remember$composable)P(1):Composables.kt#9igjgp");var m,g,$=y,b=y.j12(v),w=$.f12();if(b||w===gn().h12_1){var x=(g=v,function(t,n,e){return g.n1y(t,n,e)});$.g12(x),m=x}else m=w;var k=m,j=null==k||$n(k)?k:xt();return y.i12(),An(d,j,s,48,0),hn()&&(fn(),jt()),jt()}}($,b,w)),f=r;f.e12(-838505973),dn(f,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d,v=f,y=f.j12(p),m=v.f12();if(y||m===gn().h12_1){var g=(d=p,function(t,n,e){return d.n1y(t,n,e)});v.g12(g),_=g}else _=m;var j=_,z=null==j||$n(j)?j:xt();f.i12(),bn(h,z,r,48,0);var C=r;C.e12(547886695),dn(C,"C(remember$composable):Composables.kt#9igjgp");var S,q=C,O=q.f12();if(O===gn().h12_1){var P=mo;q.g12(P),S=P}else S=O;var M=S,A=null==M||$n(M)?M:xt();C.i12();var E=A,I=mn(r,782244392,!0,function(t,n,e){return function(r,i,o){var s=i;hn()&&ln(782244392,o,-1,"components.SummarySelector$composable.. (Summary.kt:93)");var a=s;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(n),h=c.f12();if(l||h===gn().h12_1){var p=function(t){return function(n){return n.w20(["btn","btn-outline-dark","btn-sm"]),n.a21(function(t){return function(n){return t(),jt()}}(t)),Mn(n,Pn()),jt()}}(n);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();a.i12();var d=_,v=mn(s,-401969822,!0,function(t,n){return function(e,r,i){var o=r;return hn()&&ln(-401969822,i,-1,"components.SummarySelector$composable... (Summary.kt:103)"),pn(t,o,14&n>>3),hn()&&(fn(),jt()),jt()}}(e,t)),y=s;y.e12(-838505973),dn(y,"C(remember$composable)P(1):Composables.kt#9igjgp");var m,g=y,$=y.j12(v),b=g.f12();if($||b===gn().h12_1){var w=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(v);g.g12(w),m=w}else m=b;var x=m,k=null==x||$n(x)?x:xt();return y.i12(),An(d,k,s,48,0),hn()&&(fn(),jt()),jt()}}($,x,k)),D=r;D.e12(-838505973),dn(D,"C(remember$composable)P(1):Composables.kt#9igjgp");var T,B=D,L=D.j12(I),N=B.f12();if(L||N===gn().h12_1){var R=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(I);B.g12(R),T=R}else T=N;var F=T,H=null==F||$n(F)?F:xt();return D.i12(),bn(E,H,r,48,0),hn()&&(fn(),jt()),jt()})),C=h;C.e12(-838505973),dn(C,"C(remember$composable)P(1):Composables.kt#9igjgp");var S,q,O=C,P=C.j12(z),M=O.f12();if(P||M===gn().h12_1){var A=(q=z,function(t,n,e){return q.n1y(t,n,e)});O.g12(A),S=A}else S=M;var E=S,I=null==E||$n(E)?E:xt();C.i12(),bn(j,I,h,48,0);var D=h;D.e12(547886695),dn(D,"C(remember$composable):Composables.kt#9igjgp");var T,B=D,L=B.f12();if(L===gn().h12_1){var N=go;B.g12(N),T=N}else T=L;var R=T,F=null==R||$n(R)?R:xt();D.i12();var H,U,V,W,J,K=F,Y=mn(h,-569509561,!0,(H=a,U=u,V=i,W=o,J=s,function(t,n,e){var r=n;hn()&&ln(-569509561,e,-1,"components.SummarySelector$composable. (Summary.kt:114)");var i=0;if(i<2)do{var o=i;i=i+1|0,r.h1a(1520191051,"block-selector-"+o);var s=r;s.e12(547886695),dn(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===gn().h12_1){var l=$o;u.g12(l),a=l}else a=c;var h=a,p=null==h||$n(h)?h:xt();s.i12();var f=p,_=mn(r,-850201877,!0,jo(0,o,H,U,V,W,J)),d=r;d.e12(-838505973),dn(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y=d,m=d.j12(_),g=y.f12();if(m||g===gn().h12_1){var $=zo(_);y.g12($),v=$}else v=g;var b=v,w=null==b||$n(b)?b:xt();if(d.i12(),bn(f,w,r,48,0),0===o){var x=r;x.e12(547886695),dn(x,"C(remember$composable):Composables.kt#9igjgp");var k,j=x,z=j.f12();if(z===gn().h12_1){var C=Co;j.g12(C),k=C}else k=z;var S=k,q=null==S||$n(S)?S:xt();x.i12(),bn(q,co().w39_1,r,48,0)}r.k1a()}while(i<2);return hn()&&(fn(),jt()),jt()})),G=h;G.e12(-838505973),dn(G,"C(remember$composable)P(1):Composables.kt#9igjgp");var X,Z=G,Q=G.j12(Y),tt=Z.f12();if(Q||tt===gn().h12_1){var nt=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(Y);Z.g12(nt),X=nt}else X=tt;var et=X,rt=null==et||$n(et)?et:xt();G.i12(),bn(K,rt,h,48,0),hn()&&fn();var it=h.o1d();null===it||it.j1e(function(t,n,e,r,i,o,s,a,u,c){return function(l,h){return function(t,n,e,r,i,o,s,a,u,c,l,h){ho(t,n,e,r,i,o,s,a,u,l,1|c)}(t,n,e,r,i,o,s,a,u,c,l),jt()}}(t,n,e,r,i,o,s,a,u,l))}function po(t,n,e,r,i){Ao();var o={_v:t},s={_v:n},a=e;a=a.n1d(-1706683414),dn(a,"C(Strong$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),hn()&&ln(-1706683414,u,-1,"components.Strong$composable (Summary.kt:188)"),be((Ao(),A),o._v,s._v,a,8|112&u<<3|896&u<<3),hn()&&fn());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){po(t._v,n._v,i,1|e,r)}(c,l,h,p,t),jt()}))}function fo(t,n,e,r){Ao();var i=e;i=i.n1d(1271998269),dn(i,"C(SummaryUi$composable)P(1)");var o=r;hn()&&ln(1271998269,o,-1,"components.SummaryUi$composable (Summary.kt:194)");var s=i;s.e12(547886695),dn(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===gn().h12_1){var l=So;u.g12(l),a=l}else a=c;var h=a,p=null==h||$n(h)?h:xt();s.i12();var f,_,d,v=p,y=mn(i,1135450184,!0,(f=t,_=o,d=n,function(t,n,e){var r=n;hn()&&ln(1135450184,e,-1,"components.SummaryUi$composable. (Summary.kt:199)");var i=mn(r,-1777780889,!0,function(t,n){return function(e,r,i){var o=r;return hn()&&ln(-1777780889,i,-1,"components.SummaryUi$composable.. (Summary.kt:200)"),pn(t,o,14&n),hn()&&(fn(),jt()),jt()}}(f,_)),o=r;o.e12(-838505973),dn(o,"C(remember$composable)P(1):Composables.kt#9igjgp");var s,a,u=o,c=o.j12(i),l=u.f12();if(c||l===gn().h12_1){var h=(a=i,function(t,n,e){return a.n1y(t,n,e)});u.g12(h),s=h}else s=l;var p=s,v=null==p||$n(p)?p:xt();o.i12(),yn(null,v,r,48,1);var y=mn(r,328569139,!0,function(t){return function(n,e,r){var i=e;hn()&&ln(328569139,r,-1,"components.SummaryUi$composable.. (Summary.kt:201)");for(var o=t.c();o.d();){var s=o.e(),a=mn(i,-1319792079,!0,Oo(s)),u=i;u.e12(-838505973),dn(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,l=u,h=u.j12(a),p=l.f12();if(h||p===gn().h12_1){var f=Po(a);l.g12(f),c=f}else c=p;var _=c,d=null==_||$n(_)?_:xt();u.i12(),xe(null,d,i,48,1)}return hn()&&(fn(),jt()),jt()}}(d)),m=r;m.e12(-838505973),dn(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===gn().h12_1){var x=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(y);$.g12(x),g=x}else g=w;var k=g,j=null==k||$n(k)?k:xt();return m.i12(),ke(null,j,r,48,1),hn()&&(fn(),jt()),jt()})),m=i;m.e12(-838505973),dn(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$,b=m,w=m.j12(y),x=b.f12();if(w||x===gn().h12_1){var k=($=y,function(t,n,e){return $.n1y(t,n,e)});b.g12(k),g=k}else g=x;var j=g,z=null==j||$n(j)?j:xt();m.i12(),bn(v,z,i,48,0),hn()&&fn();var C=i.o1d();null===C||C.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){fo(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function _o(t,n,e,r,i){Ao();var o={_v:n},s=e;s=s.n1d(-1073265847);var a,u,c,l,h=r;if(0!=(1&i)?h|=6:0==(14&r)&&(h|=s.j12(t)?4:2),0!=(2&i)?h|=48:0==(112&r)&&(h|=s.j12(o._v)?32:16),18==(91&h)&&s.v1b())s.z17();else{0!=(2&i)&&(o._v=null),hn()&&ln(-1073265847,h,-1,"components.BoldText$composable (Summary.kt:242)");var p=o._v,f=s;f.e12(-838505973),dn(f,"C(remember$composable)P(1):Composables.kt#9igjgp");var _,d=f,v=f.j12(p),y=d.f12();if(v||y===gn().h12_1){var m=(l=o,function(t){var n=l._v;return null==n||n(t),t.u20(Mo),jt()});d.g12(m),_=m}else _=y;var g=_,$=null==g||$n(g)?g:xt();f.i12();var b=$,w=mn(s,-374759312,!0,(u=t,c=h,function(t,n,e){var r=n;return hn()&&ln(-374759312,e,-1,"components.BoldText$composable. (Summary.kt:253)"),pn(u,r,14&c),hn()&&(fn(),jt()),jt()})),x=s;x.e12(-838505973),dn(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j=x,z=x.j12(w),C=j.f12();if(z||C===gn().h12_1){var S=(a=w,function(t,n,e){return a.n1y(t,n,e)});j.g12(S),k=S}else k=C;var q=k,O=null==q||$n(q)?q:xt();x.i12(),we(b,O,s,48,0),hn()&&fn()}var P=s.o1d();null===P||P.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){_o(t,n._v,i,1|e,r)}(t,n,e,r,i),jt()}}(t,o,r,i))}function vo(t){return Ao(),t.w20(["row","mb-3"]),jt()}function yo(t){return Ao(),t.w20(["col-auto"]),jt()}function mo(t){return Ao(),t.w20(["col-auto"]),jt()}function go(t){return Ao(),t.w20(["row"]),jt()}function $o(t){return Ao(),t.w20(["col"]),jt()}function bo(t,n,e){return function(r){return r.w20(["form-select"]),r.x27(function(t,n,e){return function(r){var i=r.f2b_1;return null==i||(0===t?n(i):e(i)),jt()}}(t,n,e)),jt()}}function wo(t,n,e,r){return function(i){return r===(0===t?n:e)&&(fe(i),jt()),jt()}}function xo(t){return function(n,e,r){var i=e;return hn()&&ln(1538427302,r,-1,"components.SummarySelector$composable...... (Summary.kt:148)"),pn(t,i,0),hn()&&(fn(),jt()),jt()}}function ko(t){return function(n,e,r){return t.n1y(n,e,r)}}function jo(t,n,e,r,i,o,s){return function(t,a,u){var c=a;hn()&&ln(-850201877,u,-1,"components.SummarySelector$composable.... (Summary.kt:121)");var l=c;l.e12(-1058148781),dn(l,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var h,p=l,f=!!(!!(l.j12(n)|l.j12(e))|l.j12(r)),_=p.f12();if(f||_===gn().h12_1){var d=bo(n,e,r);p.g12(d),h=d}else h=_;var v=h,y=null==v||$n(v)?v:xt();l.i12();var m=y,g=mn(c,1162597754,!0,function(t,n,e,r){return function(i,o,s){var a=o;hn()&&ln(1162597754,s,-1,"components.SummarySelector$composable..... (Summary.kt:137)");for(var u=t.c();u.d();){var c=u.e(),l=a;l.e12(-1603429786),dn(l,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var h=!1,p=[n,e,r,c],f=0,_=p.length;f<_;){var d=p[f];f=f+1|0,h=!!(h|l.j12(d))}var v,y=l,m=h,g=y.f12();if(m||g===gn().h12_1){var $=wo(n,e,r,c);y.g12($),v=$}else v=g;var b=v,w=null==b||$n(b)?b:xt();l.i12();var x=w,k=mn(a,1538427302,!0,xo(c)),j=a;j.e12(-838505973),dn(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var z,C=j,S=j.j12(k),q=C.f12();if(S||q===gn().h12_1){var O=ko(k);C.g12(O),z=O}else z=q;var P=z,M=null==P||$n(P)?P:xt();j.i12(),_e(c,x,M,a,384,0)}return hn()&&(fn(),jt()),jt()}}(i,n,o,s)),$=c;$.e12(-838505973),dn($,"C(remember$composable)P(1):Composables.kt#9igjgp");var b,w,x=$,k=$.j12(g),j=x.f12();if(k||j===gn().h12_1){var z=(w=g,function(t,n,e){return w.n1y(t,n,e)});x.g12(z),b=z}else b=j;var C=b,S=null==C||$n(C)?C:xt();return $.i12(),de(m,!1,S,c,384,2),hn()&&(fn(),jt()),jt()}}function zo(t){return function(n,e,r){return t.n1y(n,e,r)}}function Co(t){return Ao(),t.w20(["col-auto"]),jt()}function So(t){return Ao(),t.w20(["row"]),jt()}function qo(t){return Ao(),t.w20(["text-capitalize"]),jt()}function Oo(t){return function(n,e,r){var i,o=e;hn()&&ln(-1319792079,r,-1,"components.SummaryUi$composable.... (Summary.kt:203)"),pn(t.x38_1+" ",o,0);var s=o;s.e12(547886695),dn(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===gn().h12_1){var l=qo;u.g12(l),a=l}else a=c;var h=a,p=null==h||$n(h)?h:xt();s.i12(),i=p,_o(t.y38_1,i,o,0,0),pn(" : ",o,6),_o(t.z38_1,null,o,0,2),pn(t.w38_1?" looks ":" performed ",o,0),_o(t.a39_1+"% ",null,o,0,2);var f=t.w38_1?"":"ms",_=o;_.e12(-1124426577),dn(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(t)|_.j12(f)),m=v.f12();if(y||m===gn().h12_1){var g=function(t,n){return function(e){var r=0===t.c39_1?"secondary":t.c39_1>0?"danger":"success";return e.w20(["badge","bg-"+r]),e.e20("data-bs-toggle","tooltip"),e.e20("data-bs-placement","top"),e.e20("title",""+t.f39_1+n+" to "+t.e39_1+n),jt()}}(t,f);v.g12(g),d=g}else d=m;var $=d,b=null==$||$n($)?$:xt();_.i12();var w=b,x=mn(o,-2128018801,!0,function(t){return function(n,e,r){var i=e;return hn()&&ln(-2128018801,r,-1,"components.SummaryUi$composable..... (Summary.kt:231)"),pn(t.b39_1,i,0),hn()&&(fn(),jt()),jt()}}(t)),k=o;k.e12(-838505973),dn(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(x),q=C.f12();if(S||q===gn().h12_1){var O=(z=x,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||$n(P)?P:xt();return k.i12(),we(w,M,o,48,0),pn(" ("+t.d39_1+t.c39_1+f+")",o,0),hn()&&(fn(),jt()),jt()}}function Po(t){return function(n,e,r){return t.n1y(n,e,r)}}function Mo(t){return Ao(),je(t,"bold"),jt()}function Ao(){I||(I=!0,A=new io("strong"))}function Eo(t,n,e){var r=n;return hn()&&ln(1817043984,e,-1,"components.ComposableSingletons$TestNameDetectionToggleKt.lambda-1. (TestNameDetectionToggle.kt:29)"),pn("Test Name Detection:",r,6),hn()&&fn(),jt()}function Io(){var t;D=this,this.x39_1=(t=_n(1817043984,!1,Eo),function(n,e,r){return t.n1y(n,e,r)})}function Do(t,n,e,r){var i=e;i=i.n1d(-1801806257),dn(i,"C(TestNameDetectionToggle$composable)");var o,s,a,u=r;if(0==(14&r)&&(u|=i.j1d(t)?4:2),0==(112&r)&&(u|=i.j12(n)?32:16),18==(91&u)&&i.v1b())i.z17();else{hn()&&ln(-1801806257,u,-1,"components.TestNameDetectionToggle$composable (TestNameDetectionToggle.kt:10)");var c=i;c.e12(547886695),dn(c,"C(remember$composable):Composables.kt#9igjgp");var l,h=c,p=h.f12();if(p===gn().h12_1){var f=To;h.g12(f),l=f}else l=p;var _=l,d=null==_||$n(_)?_:xt();c.i12();var v=d,y=mn(i,815464847,!0,(s=t,a=n,function(t,n,e){var r=n;hn()&&ln(815464847,e,-1,"components.TestNameDetectionToggle$composable. (TestNameDetectionToggle.kt:21)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,u=i,c=u.f12();if(c===gn().h12_1){var l=Lo;u.g12(l),o=l}else o=c;var h=o,p=null==h||$n(h)?h:xt();i.i12(),Cn("testNameDetection",p,(null==D&&new Io,D).x39_1,r,390,0),Dn(null,r,0,1);var f=r;f.e12(-1124426577),dn(f,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var _,d=f,v=!!(f.j12(s)|f.j12(a)),y=d.f12();if(v||y===gn().h12_1){var m=function(t,n){return function(e){return e.x20("testNameDetection"),e.w20(["btn",t?"btn-success":"btn-secondary"]),e.a21(function(t){return function(n){return t(),jt()}}(n)),Mn(e,Pn()),jt()}}(s,a);d.g12(m),_=m}else _=y;var g=_,$=null==g||$n(g)?g:xt();f.i12();var b=$,w=mn(r,-1071119211,!0,function(t){return function(n,e,r){var i=e;return hn()&&ln(-1071119211,r,-1,"components.TestNameDetectionToggle$composable.. (TestNameDetectionToggle.kt:42)"),pn(t?"ON":"OFF",i,0),hn()&&(fn(),jt()),jt()}}(s)),x=r;x.e12(-838505973),dn(x,"C(remember$composable)P(1):Composables.kt#9igjgp");var k,j,z=x,C=x.j12(w),S=z.f12();if(C||S===gn().h12_1){var q=(j=w,function(t,n,e){return j.n1y(t,n,e)});z.g12(q),k=q}else k=S;var O=k,P=null==O||$n(O)?O:xt();return x.i12(),An(b,P,r,48,0),hn()&&(fn(),jt()),jt()})),m=i;m.e12(-838505973),dn(m,"C(remember$composable)P(1):Composables.kt#9igjgp");var g,$=m,b=m.j12(y),w=$.f12();if(b||w===gn().h12_1){var x=(o=y,function(t,n,e){return o.n1y(t,n,e)});$.g12(x),g=x}else g=w;var k=g,j=null==k||$n(k)?k:xt();m.i12(),bn(v,j,i,48,0),hn()&&fn()}var z=i.o1d();null===z||z.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Do(t,n,r,1|e)}(t,n,e,r),jt()}}(t,n,r))}function To(t){return t.w20(["form-group"]),t.u20(Bo),jt()}function Bo(t){return In(t,qn(10)),jt()}function Lo(t){return t.w20(["form-label"]),jt()}function No(t,n,e){var r=n;return hn()&&ln(-130845949,e,-1,"components.ComposableSingletons$TestNamesKt.lambda-1. (TestNames.kt:24)"),pn("Test Name :",r,6),hn()&&fn(),jt()}function Ro(){var t;T=this,this.y39_1=(t=_n(-130845949,!1,No),function(n,e,r){return t.n1y(n,e,r)})}function Fo(t,n,e,r,i,o){var s={_v:n},a=r;a=a.n1d(246637604),dn(a,"C(TestNames$composable)P(2)");var u,c,l,h,p=i;if(0!=(2&o)&&(s._v=null),hn()&&ln(246637604,p,-1,"components.TestNames$composable (TestNames.kt:8)"),!t.h()){var f=a;f.e12(547886695),dn(f,"C(remember$composable):Composables.kt#9igjgp");var _,d=f,v=d.f12();if(v===gn().h12_1){var y=Ho;d.g12(y),_=y}else _=v;var m=_,g=null==m||$n(m)?m:xt();f.i12();var $=g,b=mn(a,-1509913918,!0,(c=e,l=t,h=s,function(t,n,e){var r=n;hn()&&ln(-1509913918,e,-1,"components.TestNames$composable. (TestNames.kt:18)");var i=r;i.e12(547886695),dn(i,"C(remember$composable):Composables.kt#9igjgp");var o,s=i,a=s.f12();if(a===gn().h12_1){var u=Uo;s.g12(u),o=u}else o=a;var p=o,f=null==p||$n(p)?p:xt();i.i12(),Cn("testNames",f,(null==T&&new Ro,T).y39_1,r,390,0);var _=r;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(c),m=v.f12();if(y||m===gn().h12_1){var g=function(t){return function(n){return n.w20(["form-select"]),n.x20("testNames"),n.x27(function(t){return function(n){var e=n.f2b_1;return null==e||t(e),jt()}}(t)),jt()}}(c);v.g12(g),d=g}else d=m;var $=d,b=null==$||$n($)?$:xt();_.i12();var w=b,x=mn(r,-1857982381,!0,function(t,n,e){return function(e,r,i){var o=r;hn()&&ln(-1857982381,i,-1,"components.TestNames$composable.. (TestNames.kt:37)");for(var s=t.c();s.d();){var a=s.e(),u=n._v,c=o;c.e12(-1124426577),dn(c,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var l,h=c,p=!!(c.j12(a)|c.j12(u)),f=h.f12();if(p||f===gn().h12_1){var _=Vo(a,n);h.g12(_),l=_}else l=f;var d=l,v=null==d||$n(d)?d:xt();c.i12();var y=v,m=mn(o,1208237735,!0,Wo(a)),g=o;g.e12(-838505973),dn(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b=g,w=g.j12(m),x=b.f12();if(w||x===gn().h12_1){var k=Jo(m);b.g12(k),$=k}else $=x;var j=$,z=null==j||$n(j)?j:xt();g.i12(),_e(a,y,z,o,384,0)}return hn()&&(fn(),jt()),jt()}}(l,h)),k=r;k.e12(-838505973),dn(k,"C(remember$composable)P(1):Composables.kt#9igjgp");var j,z,C=k,S=k.j12(x),q=C.f12();if(S||q===gn().h12_1){var O=(z=x,function(t,n,e){return z.n1y(t,n,e)});C.g12(O),j=O}else j=q;var P=j,M=null==P||$n(P)?P:xt();return k.i12(),de(w,!1,M,r,384,2),hn()&&(fn(),jt()),jt()})),w=a;w.e12(-838505973),dn(w,"C(remember$composable)P(1):Composables.kt#9igjgp");var x,k=w,j=w.j12(b),z=k.f12();if(j||z===gn().h12_1){var C=(u=b,function(t,n,e){return u.n1y(t,n,e)});k.g12(C),x=C}else x=z;var S=x,q=null==S||$n(S)?S:xt();w.i12(),bn($,q,a,48,0)}hn()&&fn();var O=a.o1d();null===O||O.j1e(function(t,n,e,r,i){return function(o,s){return function(t,n,e,r,i,o,s){Fo(t,n._v,e,o,1|r,i)}(t,n,e,r,i,o),jt()}}(t,s,e,i,o))}function Ho(t){return t.w20(["form-group"]),jt()}function Uo(t){return t.w20(["form-label"]),jt()}function Vo(t,n){return function(e){return t===n._v&&(fe(e),jt()),jt()}}function Wo(t){return function(n,e,r){var i=e;return hn()&&ln(1208237735,r,-1,"components.TestNames$composable... (TestNames.kt:46)"),pn(t,i,0),hn()&&(fn(),jt()),jt()}}function Jo(t){return function(n,e,r){return t.n1y(n,e,r)}}function Ko(t,n,e){var r=n;return hn()&&ln(1108811911,e,-1,"ComposableSingletons$MainKt.lambda-1. (main.kt:8)"),Zo(null,r,0,1),hn()&&fn(),jt()}function Yo(){var t;B=this,this.z39_1=(t=_n(1108811911,!1,Ko),function(n,e,r){return t.n1y(n,e,r)})}function Go(t,n,e){var r=n;return hn()&&ln(-374992274,e,-1,"page.home.ComposableSingletons$HomePageKt.lambda-1. (HomePage.kt:110)"),pn("🖥 Output",r,6),hn()&&fn(),jt()}function Xo(){var t;L=this,this.a3a_1=(t=_n(-374992274,!1,Go),function(n,e,r){return t.n1y(n,e,r)})}function Zo(t,n,e,r){var i={_v:t},o=n;o=o.n1d(-109696367),dn(o,"C(HomePageUi$composable)");var s,a,u=e;if(0==(14&e)&&(u|=0==(1&r)&&o.j12(i._v)?4:2),2==(11&u)&&o.v1b())o.z17();else{if(o.w1c(),0==(1&e)||o.a1d()){if(0!=(1&r)){var c,l=o;l.e12(547886695),dn(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===gn().h12_1){var _=new Es(new Ls,new Hs);p.g12(_),h=_}else h=f;var d=h,v=null==d||$n(d)?d:xt();l.i12(),c=v,i._v=c,u&=-15}}else o.z17(),0!=(1&r)&&(u&=-15);o.x1c(),hn()&&ln(-109696367,u,-1,"page.home.HomePageUi$composable (HomePage.kt:28)");var y=o;y.e12(547886695),dn(y,"C(remember$composable):Composables.kt#9igjgp");var m,g=y,$=g.f12();if($===gn().h12_1){var b=Qo;g.g12(b),m=b}else m=$;var w=m,x=null==w||$n(w)?w:xt();y.i12();var k=x,j=mn(o,1790973562,!0,(a=i,function(t,n,e){var r=n;hn()&&ln(1790973562,e,-1,"page.home.HomePageUi$composable. (HomePage.kt:35)"),ki(r,0);var i=a._v.x3b();!Wt(i)&&pi(a._v.x3b(),r,0);var o=r;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,u=o,c=u.f12();if(c===gn().h12_1){var l=ts;u.g12(l),s=l}else s=c;var h=s,p=null==h||$n(h)?h:xt();o.i12();var f=p,_=mn(r,-1337148517,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-1337148517,r,-1,"page.home.HomePageUi$composable.. (HomePage.kt:54)");var o=i;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===gn().h12_1){var c=es;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();o.i12();var p=h,f=mn(i,1509226108,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(1509226108,r,-1,"page.home.HomePageUi$composable... (HomePage.kt:57)");var o,s=t._v.n3b(),a=t._v.o3b(),u=(o=t._v,function(t){return function(t,n){t.v3a(n,!1,2,null)}(o,t),jt()}),c=function(t){var n=function(n){return t.w3a(n),jt()};return n.callableName="onSaveClicked",n}(t._v);Nr(s,a,t._v.p3b(),u,c,function(t){var n=function(n){return t.x3a(n),jt()};return n.callableName="onSavedBenchmarkChanged",n}(t._v),function(t){var n=function(n){return t.y3a(n),jt()};return n.callableName="onLoadBenchmarkClicked",n}(t._v),function(t){var n=function(n){return t.z3a(n),jt()};return n.callableName="onDeleteBenchmarkClicked",n}(t._v),i,520),Dn(null,i,0,1),Dn(null,i,0,1);var l=mn(i,-1521832332,!0,function(t,n){return function(n,e){var r=n;if(2==(11&e)&&r.v1b())r.z17(),jt();else{if(hn()&&ln(-1521832332,e,-1,"page.home.HomePageUi$composable.... (HomePage.kt:73)"),Jt("block size "+t._v.m3a_1.f()),t._v.m3a_1.f()>2){var i=t._v.e3b(),o="BEST (-"+(null==i?null:i.h3b_1)+t._v.q28()+")",s=t._v.k3b(),a="WORST (+"+(null==s?null:s.i3b_1)+t._v.q28()+")",u=t._v,c=r;c.e12(-838505973),dn(c,"C(remember$composable)P(1):Composables.kt#9igjgp");var l,h=c,p=c.j12(u),f=h.f12();if(p||f===gn().h12_1){var _=function(t){var n=function(){return t.a3b(),jt()};return n.callableName="onBestClicked",n}(u);h.g12(_),l=_}else l=f;var d=l,v=null==d||$n(d)?d:xt();c.i12();var y=v,m=t._v,g=r;g.e12(-838505973),dn(g,"C(remember$composable)P(1):Composables.kt#9igjgp");var $,b=g,w=g.j12(m),x=b.f12();if(w||x===gn().h12_1){var k=function(t){var n=function(){return t.b3b(),jt()};return n.callableName="onWorstClicked",n}(m);b.g12(k),$=k}else $=x;var j=$,z=null==j||$n(j)?j:xt();g.i12(),ho(o,a,y,z,t._v.m3a_1,t._v.l3b(),t._v.m3b(),function(t){var n=function(n){return t.c3b(n),jt()};return n.callableName="onBlockNameOneChanged",n}(t._v),function(t){var n=function(n){return t.d3b(n),jt()};return n.callableName="onBlockNameTwoChanged",n}(t._v),r,0)}hn()&&(fn(),jt())}return jt()}}(t)),h=i;h.e12(-838505973),dn(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var p,f=h,_=h.j12(l),d=f.f12();if(_||d===gn().h12_1){var v=function(t){return function(n,e){return t.t1b(n,e)}}(l);f.g12(v),p=v}else p=d;var y=p,m=null==y||$n(y)?y:xt();return h.i12(),lo(m,t._v.n3a_1,i,6),hn()&&(fn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v,y=_,m=_.j12(f),g=y.f12();if(m||g===gn().h12_1){var $=(v=f,function(t,n,e){return v.n1y(t,n,e)});y.g12($),d=$}else d=g;var b=d,w=null==b||$n(b)?b:xt();_.i12(),bn(p,w,i,48,0);var x=t._v.w3b(),k=null==x?null:x.p36_1,j=null==k||k.h()?null:k;if(null==j);else{var z=t._v.w3b();if(null==z)throw Lt("TSH");var C=z,S=i;S.e12(547886695),dn(S,"C(remember$composable):Composables.kt#9igjgp");var q,O=S,P=O.f12();if(P===gn().h12_1){var M=rs;O.g12(M),q=M}else q=P;var A=q,E=null==A||$n(A)?A:xt();S.i12();var I=E,D=mn(i,2092888171,!0,function(t,n,e,r){return function(n,i,o){var s=i;if(hn()&&ln(2092888171,o,-1,"page.home.HomePageUi$composable.... (HomePage.kt:99)"),t._v.v3b())s.e12(-1006755438),li(s,0),s.i12();else{s.e12(-1006755369);var a=t._v,u=s;u.e12(-838505973),dn(u,"C(remember$composable)P(1):Composables.kt#9igjgp");var c,l=u,h=u.j12(a),p=l.f12();if(h||p===gn().h12_1){var f=function(t){return function(n){return n.b21(function(t){return function(n){return t._v.q3b(),jt()}}(t)),jt()}}(t);l.g12(f),c=f}else c=p;var _=c,d=null==_||$n(_)?_:xt();u.i12(),yn(d,(null==L&&new Xo,L).a3a_1,s,48,0),s.i12()}var v=s;v.e12(547886695),dn(v,"C(remember$composable):Composables.kt#9igjgp");var y,m=v,g=m.f12();if(g===gn().h12_1){var $=is;m.g12($),y=$}else y=g;var b=y,w=null==b||$n(b)?b:xt();v.i12();var x=w,k=mn(s,-350149078,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-350149078,r,-1,"page.home.HomePageUi$composable..... (HomePage.kt:120)");var o=mn(i,1688816067,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(1688816067,r,-1,"page.home.HomePageUi$composable...... (HomePage.kt:121)");var o=i;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===gn().h12_1){var c=os;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();o.i12();var p=h,f=mn(i,-1218869404,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-1218869404,r,-1,"page.home.HomePageUi$composable....... (HomePage.kt:126)");var o=i;o.e12(547886695),dn(o,"C(remember$composable):Composables.kt#9igjgp");var s,a=o,u=a.f12();if(u===gn().h12_1){var c=ss;a.g12(c),s=c}else s=u;var l=s,h=null==l||$n(l)?l:xt();o.i12();var p=h,f=mn(i,-1633797435,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-1633797435,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:132)");var o=t._v.n3b().c36_1,s=t._v,a=i;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===gn().h12_1){var p=function(t){var n=function(){return t.r3b(),jt()};return n.callableName="onToggleAutoGroupClicked",n}(s);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();return a.i12(),Jr(o,_,i,0),hn()&&(fn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(f),m=v.f12();if(y||m===gn().h12_1){var g=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(f);v.g12(g),d=g}else d=m;var $=d,b=null==$||$n($)?$:xt();if(_.i12(),bn(p,b,i,48,0),kt(t._v.u3b(),br())){var w=i;w.e12(547886695),dn(w,"C(remember$composable):Composables.kt#9igjgp");var x,k=w,j=k.f12();if(j===gn().h12_1){var z=as;k.g12(z),x=z}else x=j;var C=x,S=null==C||$n(C)?C:xt();w.i12();var q=S,O=mn(i,-1089967542,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(-1089967542,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:144)");var o=t._v.n3b().b36_1,s=t._v,a=i;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===gn().h12_1){var p=function(t){var n=function(){return t.s3b(),jt()};return n.callableName="onToggleTestNameDetectionClicked",n}(s);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();return a.i12(),Do(o,_,i,0),hn()&&(fn(),jt()),jt()}}(t)),P=i;P.e12(-838505973),dn(P,"C(remember$composable)P(1):Composables.kt#9igjgp");var M,A=P,E=P.j12(O),I=A.f12();if(E||I===gn().h12_1){var D=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(O);A.g12(D),M=D}else M=I;var T=M,B=null==T||$n(T)?T:xt();P.i12(),bn(q,B,i,48,0)}if(!t._v.f3a_1.h()){var L=i;L.e12(547886695),dn(L,"C(remember$composable):Composables.kt#9igjgp");var N,R=L,F=R.f12();if(F===gn().h12_1){var H=us;R.g12(H),N=H}else N=F;var U=N,V=null==U||$n(U)?U:xt();L.i12();var W=V,J=mn(i,1874650163,!0,function(t,n){return function(n,e,r){var i=e;hn()&&ln(1874650163,r,-1,"page.home.HomePageUi$composable........ (HomePage.kt:157)");var o=t._v.f3a_1,s=t._v,a=i;a.e12(-838505973),dn(a,"C(remember$composable)P(1):Composables.kt#9igjgp");var u,c=a,l=a.j12(s),h=c.f12();if(l||h===gn().h12_1){var p=function(t){return function(n){return t._v.t3b(n),jt()}}(t);c.g12(p),u=p}else u=h;var f=u,_=null==f||$n(f)?f:xt();return a.i12(),Fo(o,null,_,i,0,2),hn()&&(fn(),jt()),jt()}}(t)),K=i;K.e12(-838505973),dn(K,"C(remember$composable)P(1):Composables.kt#9igjgp");var Y,G=K,X=K.j12(J),Z=G.f12();if(X||Z===gn().h12_1){var Q=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(J);G.g12(Q),Y=Q}else Y=Z;var tt=Y,nt=null==tt||$n(tt)?tt:xt();K.i12(),bn(W,nt,i,48,0)}return hn()&&(fn(),jt()),jt()}}(t)),_=i;_.e12(-838505973),dn(_,"C(remember$composable)P(1):Composables.kt#9igjgp");var d,v=_,y=_.j12(f),m=v.f12();if(y||m===gn().h12_1){var g=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(f);v.g12(g),d=g}else d=m;var $=d,b=null==$||$n($)?$:xt();return _.i12(),bn(p,b,i,48,0),hn()&&(fn(),jt()),jt()}}(t)),s=i;s.e12(-838505973),dn(s,"C(remember$composable)P(1):Composables.kt#9igjgp");var a,u=s,c=s.j12(o),l=u.f12();if(c||l===gn().h12_1){var h=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(o);u.g12(h),a=h}else a=l;var p=a,f=null==p||$n(p)?p:xt();return s.i12(),En(null,null,f,i,384,3),hn()&&(fn(),jt()),jt()}}(t)),j=s;j.e12(-838505973),dn(j,"C(remember$composable)P(1):Composables.kt#9igjgp");var z,C=j,S=j.j12(k),q=C.f12();if(S||q===gn().h12_1){var O=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(k);C.g12(O),z=O}else z=q;var P=z,M=null==P||$n(P)?P:xt();j.i12(),bn(x,M,s,48,0),Dn(null,s,0,1);var A=s;A.e12(-838505973),dn(A,"C(remember$composable)P(1):Composables.kt#9igjgp");var E,I=A,D=A.j12(e),T=I.f12();if(D||T===gn().h12_1){var B=Me(e,2);I.g12(B),E=B}else E=T;var N=E,R=null==N||$n(N)?N:xt();A.i12();for(var F=R.c();F.d();){var H=F.e(),U=s;U.e12(547886695),dn(U,"C(remember$composable):Composables.kt#9igjgp");var V,W=U,J=W.f12();if(J===gn().h12_1){var K=cs;W.g12(K),V=K}else V=J;var Y=V,G=null==Y||$n(Y)?Y:xt();U.i12();var X=G,Z=mn(s,-2034949684,!0,fs(H,t,r)),Q=s;Q.e12(-838505973),dn(Q,"C(remember$composable)P(1):Composables.kt#9igjgp");var tt,nt=Q,et=Q.j12(Z),rt=nt.f12();if(et||rt===gn().h12_1){var it=_s(Z);nt.g12(it),tt=it}else tt=rt;var ot=tt,st=null==ot||$n(ot)?ot:xt();Q.i12(),bn(X,st,s,48,0)}return hn()&&(fn(),jt()),jt()}}(t,0,j,C)),T=i;T.e12(-838505973),dn(T,"C(remember$composable)P(1):Composables.kt#9igjgp");var B,N=T,R=T.j12(D),F=N.f12();if(R||F===gn().h12_1){var H=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(D);N.g12(H),B=H}else B=F;var U=B,V=null==U||$n(U)?U:xt();T.i12(),bn(I,V,i,48,0),jt(),jt()}return hn()&&(fn(),jt()),jt()}}(a)),d=r;d.e12(-838505973),dn(d,"C(remember$composable)P(1):Composables.kt#9igjgp");var v,y,m=d,g=d.j12(_),$=m.f12();if(g||$===gn().h12_1){var b=(y=_,function(t,n,e){return y.n1y(t,n,e)});m.g12(b),v=b}else v=$;var w=v,x=null==w||$n(w)?w:xt();return d.i12(),bn(f,x,r,48,0),hn()&&(fn(),jt()),jt()})),z=o;z.e12(-838505973),dn(z,"C(remember$composable)P(1):Composables.kt#9igjgp");var C,S=z,q=z.j12(j),O=S.f12();if(q||O===gn().h12_1){var P=(s=j,function(t,n,e){return s.n1y(t,n,e)});S.g12(P),C=P}else C=O;var M=C,A=null==M||$n(M)?M:xt();z.i12(),bn(k,A,o,48,0),hn()&&fn()}var E=o.o1d();null===E||E.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){Zo(t._v,r,1|n,e)}(t,n,e,r),jt()}}(i,e,r))}function Qo(t){return t.w20(["container-fluid"]),jt()}function ts(t){return t.w20(["row"]),t.u20(ns),jt()}function ns(t){return qe(t,qn(40)),Oe(t,qn(40)),Pe(t,qn(40)),jt()}function es(t){return t.w20(["col-lg-4"]),jt()}function rs(t){return t.w20(["col-lg-8"]),jt()}function is(t){return t.w20(["row"]),jt()}function os(t){return t.w20(["row"]),jt()}function ss(t){return t.w20(["col-md-2"]),jt()}function as(t){return t.w20(["col-md-2"]),jt()}function us(t){return t.w20(["col-md-4"]),jt()}function cs(t){return t.w20(["row"]),jt()}function ls(t){return function(n){return n.w20([t.w36_1]),jt()}}function hs(t,n,e){return function(r,i,o){var s=i;return hn()&&ln(1979032493,o,-1,"page.home.HomePageUi$composable...... (HomePage.kt:187)"),Xr(t._v.n3b().c36_1,n.o36_1,e,s,576),hn()&&(fn(),jt()),jt()}}function ps(t){return function(n,e,r){return t.n1y(n,e,r)}}function fs(t,n,e){return function(r,i,o){var s=i;hn()&&ln(-2034949684,o,-1,"page.home.HomePageUi$composable..... (HomePage.kt:182)");for(var a=t.c();a.d();){var u=a.e(),c=ls(u),l=mn(s,1979032493,!0,hs(n,e,u)),h=s;h.e12(-838505973),dn(h,"C(remember$composable)P(1):Composables.kt#9igjgp");var p,f=h,_=h.j12(l),d=f.f12();if(_||d===gn().h12_1){var v=ps(l);f.g12(v),p=v}else p=d;var y=p,m=null==y||$n(y)?y:xt();h.i12(),bn(c,m,s,48,0)}return hn()&&(fn(),jt()),jt()}}function _s(t){return function(n,e,r){return t.n1y(n,e,r)}}function ds(){N=this,this.y3b_1="Something went wrong!"}function vs(){return null==N&&new ds,N}function ys(t,n){return Ce("savedBenchmarks",1,Le,(function(t){return t.p3b()}),(function(t,n){return ys(t,n)})),t.d3a_1.jy(n)}function ms(t,n){return Ce("chartsBundle",1,Le,(function(t){return t.w3b()}),(function(t,n){return ms(t,n)})),t.g3a_1.jy(n)}function gs(t,n){return Ce("errorMsg",1,Le,(function(t){return t.x3b()}),(function(t,n){return gs(t,n)})),t.h3a_1.jy(n)}function $s(t,n){return Ce("isEditableTitleEnabled",1,Le,(function(t){return t.v3b()}),(function(t,n){return $s(t,n)})),t.i3a_1.jy(n)}function bs(t,n){return Ce("shouldSelectUnsaved",1,Le,(function(t){return t.o3b()}),(function(t,n){return bs(t,n)})),t.j3a_1.jy(n)}function ws(t,n){return Ce("selectedBlockNameOne",1,Le,(function(t){return t.l3b()}),(function(t,n){return ws(t,n)})),t.k3a_1.jy(n)}function xs(t,n){return Ce("selectedBlockNameTwo",1,Le,(function(t){return t.m3b()}),(function(t,n){return xs(t,n)})),t.l3a_1.jy(n)}function ks(t,n){return Ce("inputType",1,Le,(function(t){return t.u3b()}),(function(t,n){return ks(t,n)})),t.o3a_1.jy(n)}function js(t,n){return Ce("unit",1,Le,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),t.p3a_1.jy(n)}function zs(t,n){return Ce("bestAggSummary",1,Le,(function(t){return t.e3b()}),(function(t,n){return zs(t,n)})),t.q3a_1.jy(n)}function Cs(t,n){return Ce("worstAggSummary",1,Le,(function(t){return t.k3b()}),(function(t,n){return Cs(t,n)})),t.r3a_1.jy(n)}function Ss(t,n){return Ce("form",1,Le,(function(t){return t.n3b()}),(function(t,n){return Ss(t,n)})),t.s3a_1.jy(n)}function qs(t){ys(t,t.b3a_1.z3b())}function Os(t){ws(t,null),xs(t,null),t.m3a_1.s7(),ms(t,null),t.n3a_1.s7(),zs(t,null),Cs(t,null),Ms(t)}function Ps(t,n){t.m3a_1.s7();var e=Bt(n.o36_1.l36_1.b3());t.m3a_1.w1x(e),e.f()>=2?(ws(t,e.g(0)),xs(t,e.g(1))):(ws(t,null),xs(t,null)),Ms(t)}function Ms(t){t.n3a_1.s7();var n,e=kt(t.u3b(),$r()),r=t.w3b(),i=null==r?null:r.p36_1;if(null==i)n=null;else{for(var o=qt(),s=i.c();s.d();){var a=s.e(),u=Ys().b3c(e,a,t.l3b(),t.m3b());null==u||(o.a(u),jt())}n=o}var c=n;t.n3a_1.w1x(null==c?Ie():c),function(t){for(var n,e=kt(t.u3b(),$r()),r=qt(),i=t.m3a_1.c();i.d();)for(var o=i.e(),s=t.m3a_1.c();s.d();){var a=s.e();if(o!==a){var u,c=t.w3b(),l=null==c?null:c.p36_1;if(null==l)u=null;else{for(var h=qt(),p=l.c();p.d();){var f=p.e(),_=Ys().b3c(e,f,o,a);null==_||(h.a(_),jt())}u=h}if(null==u);else{for(var d=0,v=0,y=u.c();y.d();)for(var m=y.e().q39_1.c();m.d();){var g=m.e();g.c39_1>0?v=v+Ae(g.c39_1)|0:g.c39_1<0&&(d=d-Ae(g.c39_1)|0)}r.a(new Is(o,a,d,v))}}}var $,b=r.c();if(b.d()){var w=b.e();if(b.d()){var x=w.h3b_1;do{var k=b.e(),j=k.h3b_1;Ee(x,j)<0&&(w=k,x=j)}while(b.d());n=w}else n=w}else n=null;zs(t,n);var z=r.c();if(z.d()){var C=z.e();if(z.d()){var S=C.i3b_1;do{var q=z.e(),O=q.i3b_1;Ee(S,O)<0&&(C=q,S=O)}while(z.d());$=C}else $=C}else $=null;Cs(t,$)}(t)}function As(t,n,e){return function(){bs(t,n);try{t.t3a_1.s7(),t.f3a_1.s7(),t.m3a_1.s7();var r=yr().z35(e);if(null==r)return Jt("failed to parse form"),Os(t),gs(t,""),jt();var i=r,o=i.l4(),s=i.m4();ks(t,o),t.t3a_1.j1(s);var a=o.s1_1;if(0===a){var u=function(t){for(var n,e=Tt(t),r=Dt(),i=e.g36_1.c();i.d();){var o=i.e();r.v3(o.f35_1,o.g35_1)}var s=r;Jt("chartSet -> "+s),n=s;var a=new Mr("📊",e.e36_1,n,"col-lg-12");return new Or(kr(t,!0),Qt(a))}(t.t3a_1);ms(t,u),Ps(t,u),js(t,"")}else if(1===a){for(var c,l=t.f3a_1,h=t.t3a_1,p=qt(),f=h.c();f.d();){var _=f.e().f36_1;null==_||(p.a(_),jt())}c=p,l.w1x(Xt(c));var d,v=t.f3a_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.e3a_1){d=m;break t}}d=null}var g,$=d,b=null==$?an(t.f3a_1):$;if(null!=b){for(var w=t.t3a_1,x=qt(),k=w.c();k.d();){var j=k.e();j.f36_1==b&&x.a(j)}g=x}else g=t.t3a_1;var z=wr(g);ms(t,z),Ps(t,z),js(t,"ms")}gs(t,""),jt()}catch(n){if(!(n instanceof Error))throw n;De(n);var C,S=n.message;null==S?(vs(),C="Something went wrong!"):C=S,gs(t,C),Os(t),jt()}return jt()}}function Es(t,n){vs(),this.b3a_1=t,this.c3a_1=n;var e=Ie();this.d3a_1=ue(e,null,2,null),this.e3a_1=null,this.f3a_1=Te(),this.g3a_1=ue(null,null,2,null),this.h3a_1=ue("",null,2,null),this.i3a_1=ue(!1,null,2,null),this.j3a_1=ue(!1,null,2,null),this.k3a_1=ue(null,null,2,null),this.l3a_1=ue(null,null,2,null),this.m3a_1=Te(),this.n3a_1=Te(),this.o3a_1=ue(null,null,2,null),this.p3a_1=ue("",null,2,null),this.q3a_1=ue(null,null,2,null),this.r3a_1=ue(null,null,2,null);var r=this.c3a_1.c3c(),i=null==r?new Ar((null==H&&new Us,H).d3c_1,!1,!1):r;this.s3a_1=ue(i,null,2,null),qs(this);var o;o=qt(),this.t3a_1=o,this.u3a_1=null}function Is(t,n,e,r){this.f3b_1=t,this.g3b_1=n,this.h3b_1=e,this.i3b_1=r,this.j3b_1=0}function Ds(){}function Ts(){R=this,this.p3c_1="savedBenchmarks"}function Bs(){return null==R&&new Ts,R}function Ls(){Bs(),this.q3c_1=0}function Ns(){}function Rs(){F=this,this.t3c_1="auto_form_input",this.u3c_1="is_test_name_detection_enabled",this.v3c_1="is_auto_group_enabled"}function Fs(){return null==F&&new Rs,F}function Hs(){Fs(),this.w3c_1=0}function Us(){H=this,this.d3c_1="- Before 1\n# first line will be treated as title of the block\n special chars will be stripped from the title\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 40.5, P90 45.8, P95 60.4, P99 80.4\nframeOverrunMs P50 -5.9, P90 7.0, P95 20.1, P99 64.4\nTraces: Iteration 0 1 2 3 4\n\n## Before 2\n# line breaks are used to separate the block\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 45.5, P90 43.8, P95 58.4, P99 78.4\nframeOverrunMs P50 -6.5, P90 5.4, P95 15.0, P99 60.3\nTraces: Iteration 0 1 2 3 4\n\nAfter 1\nyou can include whatever text you want anywhere you want\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 13.6, P90 21.8, P95 27.5, P99 49.4\nthe order doesn't matter\nframeOverrunMs P50 -6.2, P90 7.3, P95 19.5, P99 61.7\nTraces: Iteration 0 1 2 3 4\n\n> After 2\nHomeScrollBenchmark_scrollTest\nframeDurationCpuMs P50 13.8, P90 21.9, P95 27.3, P99 53.4\nsee.. am some random text\nframeOverrunMs P50 -5.7, P90 7.4, P95 22.4, P99 63.2\nTraces: Iteration 0 1 2 3 4",this.e3c_1=0}function Vs(t){return t.a2w_1=!0,jt()}function Ws(){U=this,this.r3c_1=Ye(null,Vs,1,null),this.s3c_1=8}function Js(){return null==U&&new Ws,U}function Ks(){V=this,this.a3c_1=0}function Ys(){return null==V&&new Ks,V}return Qe.prototype=Object.create(Error.prototype),Qe.prototype.constructor=Qe,tr.prototype=Object.create(Qe.prototype),tr.prototype.constructor=tr,ir.prototype=Object.create(zt.prototype),ir.prototype.constructor=ir,sr.prototype=Object.create(zt.prototype),sr.prototype.constructor=sr,Rr.prototype=Object.create(wn.prototype),Rr.prototype.constructor=Rr,Qe.$metadata$=$t("InvalidDataException",void 0,void 0,void 0,void 0,Error.prototype),tr.$metadata$=$t("InvalidBenchmarkDataException",void 0,void 0,void 0,void 0,Qe.prototype),nr.prototype.i35=function(){return this.f35_1},nr.prototype.j35=function(){return this.g35_1},nr.prototype.toString=function(){return"BlockRow(title="+this.f35_1+", data="+this.g35_1+")"},nr.prototype.hashCode=function(){var t=bt(this.f35_1);return W(t,31)+wt(this.g35_1)|0},nr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof nr))return!1;var n=t instanceof nr?t:xt();return this.f35_1===n.f35_1&&!!kt(this.g35_1,n.g35_1)},nr.$metadata$=$t("BlockRow"),ir.prototype.k2=function(){return this.m35_1},ir.$metadata$=$t("SupportedMetrics",void 0,void 0,void 0,void 0,zt.prototype),sr.$metadata$=$t("InputType",void 0,void 0,void 0,void 0,zt.prototype),vr.prototype.z35=function(t){for(var n=Ot(t.a36_1,["\n"],!1,0,6,null),e=St(n,"\n",null,null,0,null,_r,30,null),r=Ut(),i=Vt("^\\s+",r).ba(e,0),o=Mt(Pt(i,10)),s=i.c();s.d();){var a,u=s.e();a=It(Et(At(u)?u:xt())),o.a(a)}for(var c=o,l=qt(),h=c.c();h.d();){var p=h.e();!Wt(p)&&l.a(p)}var f=l;if(Jt("parsing input..."),f.h())return null;if(function(t){var n=t.a36_1,e=er(),r=Yt(e,"|","(",")",0,null,gr,24,null);return!Nt(r).ea(n)}(t))return ar(this,f);Jt("parsing machine generated benchmark input...");for(var _=qt(),d=f.c(),v=0;d.d();){var y=v;v=v+1|0;var m=d.e();Jt("block: '"+m+"'");for(var g=Ot(m,["\n"],!1,0,6,null),$=Mt(Pt(g,10)),b=g.c();b.d();){var w,x=b.e();w=It(Et(At(x)?x:xt())),$.a(w)}for(var k=$,j=null,z=null,C=qt(),S=k.c();S.d();){var q=S.e();null==j&&hr(this,q)&&(j=q),t.b36_1&&ur(this,q)&&(null!=z&&!C.h()&&(null==j&&(j="benchmark "+y+" "+z),_.a(new mr(j,z,C)),C.s7()),z=q);var O=fr(q,this);if(null!=O){var P;t:{for(var M=C.c();M.d();){var A=M.e();if(A.f35_1===O){P=A;break t}}P=null}if(null!=P)throw new tr("Two "+O+" found in block "+(y+1|0)+". Expected only one");C.a(new nr(O,pr(0,O,q)))}}null==j&&(j="benchmark "+y),j=cr(this,j),!C.h()&&_.a(new mr(j,z,C))}return new Ct(br(),_)},vr.$metadata$=Kt("Companion"),mr.prototype.i35=function(){return this.e36_1},mr.prototype.i36=function(){return this.f36_1},mr.prototype.j36=function(){return this.g36_1},mr.prototype.toString=function(){return"BenchmarkResult(title="+this.e36_1+", testName="+this.f36_1+", blockRows="+this.g36_1+")"},mr.prototype.hashCode=function(){var t=bt(this.e36_1);return t=W(t,31)+(null==this.f36_1?0:bt(this.f36_1))|0,W(t,31)+wt(this.g36_1)|0},mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof mr))return!1;var n=t instanceof mr?t:xt();return this.e36_1===n.e36_1&&this.f36_1==n.f36_1&&!!kt(this.g36_1,n.g36_1)},mr.$metadata$=$t("BenchmarkResult"),xr.prototype.n36=function(){return this.k36_1},xr.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.k36_1+", wordColorMap="+this.l36_1+")"},xr.prototype.hashCode=function(){var t=wt(this.k36_1);return W(t,31)+wt(this.l36_1)|0},xr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof xr))return!1;var n=t instanceof xr?t:xt();return!!kt(this.k36_1,n.k36_1)&&!!kt(this.l36_1,n.l36_1)},xr.$metadata$=$t("GroupMap"),Cr.prototype.q35=function(t){var n,e=this.p35_1.dl(t,0,2,null);if(null!=e){var r=Tt(e.sa());n=Ft(t,r,"",!1,4,null)}else n=t;var i=n,o=zr(),s=sn(o.fl(i,0,2,null)),a=null==s?null:s.sa(),u=null==a?null:an(a);if(null==u){var c=i+" doesn't match the regex '"+zr().w9_1+"'";throw Lt(It(c))}var l=u,h=un(i,l,0,!1,6,null);return new qr(i.substring(0,h),Ht(l))},Cr.$metadata$=Kt("Companion"),qr.prototype.toString=function(){return"TextNumberLine(text="+this.r35_1+", number="+this.s35_1+")"},qr.prototype.hashCode=function(){var t=bt(this.r35_1);return W(t,31)+cn(this.s35_1)|0},qr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof qr))return!1;var n=t instanceof qr?t:xt();return this.r35_1===n.r35_1&&!!kt(this.s35_1,n.s35_1)},qr.$metadata$=$t("TextNumberLine"),Or.prototype.r36=function(){return this.o36_1},Or.prototype.s36=function(){return this.p36_1},Or.prototype.toString=function(){return"ChartsBundle(groupMap="+this.o36_1+", charts="+this.p36_1+")"},Or.prototype.hashCode=function(){var t=this.o36_1.hashCode();return W(t,31)+wt(this.p36_1)|0},Or.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Or))return!1;var n=t instanceof Or?t:xt();return!!this.o36_1.equals(n.o36_1)&&!!kt(this.p36_1,n.p36_1)},Or.$metadata$=$t("ChartsBundle"),Mr.prototype.y36=function(){return this.t36_1},Mr.prototype.z36=function(){return this.u36_1},Mr.prototype.a37=function(){return this.v36_1},Mr.prototype.b37=function(){return this.w36_1},Mr.prototype.toString=function(){return"Chart(emoji="+this.t36_1+", label="+this.u36_1+", dataSets="+this.v36_1+", bsClass="+this.w36_1+")"},Mr.prototype.hashCode=function(){var t=bt(this.t36_1);return t=W(t,31)+bt(this.u36_1)|0,t=W(t,31)+wt(this.v36_1)|0,W(t,31)+bt(this.w36_1)|0},Mr.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Mr))return!1;var n=t instanceof Mr?t:xt();return this.t36_1===n.t36_1&&this.u36_1===n.u36_1&&!!kt(this.v36_1,n.v36_1)&&this.w36_1===n.w36_1},Mr.$metadata$=$t("Chart"),Ar.prototype.j35=function(){return this.a36_1},Ar.prototype.c37=function(){return this.b36_1},Ar.prototype.d37=function(){return this.c36_1},Ar.prototype.e37=function(t,n,e){return new Ar(t,n,e)},Ar.prototype.f37=function(t,n,e,r,i){return 0!=(1&r)&&(t=this.a36_1),0!=(2&r)&&(n=this.b36_1),0!=(4&r)&&(e=this.c36_1),this.e37(t,n,e)},Ar.prototype.toString=function(){return"FormData(data="+this.a36_1+", isTestNameDetectionEnabled="+this.b36_1+", isAutoGroupEnabled="+this.c36_1+")"},Ar.prototype.hashCode=function(){var t=bt(this.a36_1);return t=W(t,31)+(0|this.b36_1)|0,W(t,31)+(0|this.c36_1)|0},Ar.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ar))return!1;var n=t instanceof Ar?t:xt();return this.a36_1===n.a36_1&&this.b36_1===n.b36_1&&this.c36_1===n.c36_1},Ar.$metadata$=$t("FormData"),Er.prototype.g37=function(){return"line"},Er.$metadata$=Kt("Companion"),Br.prototype.k37=function(){return this.i37_1},Br.prototype.l37=function(){return this.j37_1},Br.$metadata$=Kt("ComposableSingletons$AutoFormUiKt"),Rr.prototype.p1j=function(t,n){var e=this.q1j(t,n);return e.l7_1=jt(),e.m7_1=null,e.q7()},Rr.prototype.r7=function(t,n){return this.p1j(null!=t&&kn(t,xn)?t:xt(),n)},Rr.prototype.q7=function(){for(this.l7_1;;)try{var t=this.j7_1;if(0===t)return this.k7_1=1,this.u37_1(this.v37_1),jt();if(1===t)throw this.m7_1}catch(t){throw t}},Rr.prototype.q1j=function(t,n){var e=new Rr(this.u37_1,this.v37_1,n);return e.w37_1=t,e},Rr.$metadata$=$t("FormUi$composable$slambda",void 0,void 0,void 0,[1],wn.prototype),Wr.prototype.y37=function(){return this.x37_1},Wr.$metadata$=Kt("ComposableSingletons$AutoGroupToggleKt"),ti.prototype.js=function(){this.z37_1.destroy()},ti.$metadata$=$t(void 0,[Hn]),ui.$metadata$=Kt("ComposableSingletons$EditableTitleKt"),wi.$metadata$=Kt("ComposableSingletons$HeadingKt"),zi.$metadata$=Kt("Companion"),Ci.prototype.t2c=function(){return this.g38_1},Ci.prototype.n2m=function(){return[ee(),ee()]},Ci.prototype.v2c=function(t){var n=this.g38_1,e=!0,r=0,i=0,o=null,s=null,a=t.s2f(n);if(a.g2g())o=a.c2g(n,0),i|=1,s=a.c2g(n,1),i|=2;else for(;e;)switch(r=a.h2g(n)){case-1:e=!1;break;case 0:o=a.c2g(n,0),i|=1;break;case 1:s=a.c2g(n,1),i|=2;break;default:throw re(r)}return a.t2f(n),qi(i,o,s)},Ci.prototype.i38=function(t,n){var e=this.g38_1,r=t.s2f(e);r.e2h(e,0,n.j38_1),r.e2h(e,1,n.k38_1),r.t2f(e)},Ci.prototype.u2c=function(t,n){return this.i38(t,n instanceof Oi?n:xt())},Ci.$metadata$=Kt("$serializer",[oe]),Oi.prototype.k2=function(){return this.j38_1},Oi.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.j38_1+", value="+this.k38_1+")"},Oi.prototype.hashCode=function(){var t=bt(this.j38_1);return W(t,31)+bt(this.k38_1)|0},Oi.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Oi))return!1;var n=t instanceof Oi?t:xt();return this.j38_1===n.j38_1&&this.k38_1===n.k38_1},Oi.$metadata$=$t("SavedBenchmarkNode",void 0,void 0,{0:Si}),Pi.$metadata$=Kt("Companion"),Mi.prototype.t2c=function(){return this.m38_1},Mi.prototype.n2m=function(){return[new ae(Si())]},Mi.prototype.v2c=function(t){var n=this.m38_1,e=!0,r=0,i=0,o=null,s=t.s2f(n);if(s.g2g())o=s.e2g(n,0,new ae(Si()),o),i|=1;else for(;e;)switch(r=s.h2g(n)){case-1:e=!1;break;case 0:o=s.e2g(n,0,new ae(Si()),o),i|=1;break;default:throw re(r)}return s.t2f(n),Ei(i,o)},Mi.prototype.o38=function(t,n){var e=this.m38_1,r=t.s2f(e);r.g2h(e,0,new ae(Si()),n.p38_1),r.t2f(e)},Mi.prototype.u2c=function(t,n){return this.o38(t,n instanceof Ii?n:xt())},Mi.$metadata$=Kt("$serializer",[oe]),Ii.prototype.toString=function(){return"SavedBenchmarks(items="+this.p38_1+")"},Ii.prototype.hashCode=function(){return wt(this.p38_1)},Ii.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Ii))return!1;var n=t instanceof Ii?t:xt();return!!kt(this.p38_1,n.p38_1)},Ii.$metadata$=$t("SavedBenchmarks",void 0,void 0,{0:Ai}),Ri.prototype.k37=function(){return this.s38_1},Ri.prototype.l37=function(){return this.t38_1},Ri.prototype.v38=function(){return this.u38_1},Ri.$metadata$=Kt("ComposableSingletons$SavedBenchmarksDropDownKt"),no.prototype.h39=function(){return this.w38_1},no.prototype.y36=function(){return this.x38_1},no.prototype.i39=function(){return this.y38_1},no.prototype.z36=function(){return this.z38_1},no.prototype.j39=function(){return this.a39_1},no.prototype.k39=function(){return this.b39_1},no.prototype.l39=function(){return this.c39_1},no.prototype.m39=function(){return this.d39_1},no.prototype.n39=function(){return this.e39_1},no.prototype.o39=function(){return this.f39_1},no.$metadata$=$t("SummaryNode"),eo.prototype.l1n=function(){return this.q39_1},eo.prototype.toString=function(){return"Summary(title="+this.p39_1+", nodes="+this.q39_1+")"},eo.prototype.hashCode=function(){var t=bt(this.p39_1);return W(t,31)+wt(this.q39_1)|0},eo.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof eo))return!1;var n=t instanceof eo?t:xt();return this.p39_1===n.p39_1&&!!kt(this.q39_1,n.q39_1)},eo.$metadata$=$t("Summary"),io.prototype.u1n=function(){var t=ro(this).cloneNode();return t instanceof Element?t:xt()},io.$metadata$=$t("ElementBuilderImplementation",[ge]),uo.prototype.l37=function(){return this.w39_1},uo.$metadata$=Kt("ComposableSingletons$SummaryKt"),Io.prototype.y37=function(){return this.x39_1},Io.$metadata$=Kt("ComposableSingletons$TestNameDetectionToggleKt"),Ro.prototype.y37=function(){return this.y39_1},Ro.$metadata$=Kt("ComposableSingletons$TestNamesKt"),Yo.$metadata$=Kt("ComposableSingletons$MainKt"),Xo.prototype.y37=function(){return this.a3a_1},Xo.$metadata$=Kt("ComposableSingletons$HomePageKt"),ds.$metadata$=Kt("Companion"),Es.prototype.p3b=function(){return Ce("savedBenchmarks",1,Le,(function(t){return t.p3b()}),(function(t,n){return ys(t,n)})),this.d3a_1.m2()},Es.prototype.f3c=function(){return this.f3a_1},Es.prototype.w3b=function(){return Ce("chartsBundle",1,Le,(function(t){return t.w3b()}),(function(t,n){return ms(t,n)})),this.g3a_1.m2()},Es.prototype.x3b=function(){return Ce("errorMsg",1,Le,(function(t){return t.x3b()}),(function(t,n){return gs(t,n)})),this.h3a_1.m2()},Es.prototype.v3b=function(){return Ce("isEditableTitleEnabled",1,Le,(function(t){return t.v3b()}),(function(t,n){return $s(t,n)})),this.i3a_1.m2()},Es.prototype.o3b=function(){return Ce("shouldSelectUnsaved",1,Le,(function(t){return t.o3b()}),(function(t,n){return bs(t,n)})),this.j3a_1.m2()},Es.prototype.l3b=function(){return Ce("selectedBlockNameOne",1,Le,(function(t){return t.l3b()}),(function(t,n){return ws(t,n)})),this.k3a_1.m2()},Es.prototype.m3b=function(){return Ce("selectedBlockNameTwo",1,Le,(function(t){return t.m3b()}),(function(t,n){return xs(t,n)})),this.l3a_1.m2()},Es.prototype.g3c=function(){return this.m3a_1},Es.prototype.h3c=function(){return this.n3a_1},Es.prototype.u3b=function(){return Ce("inputType",1,Le,(function(t){return t.u3b()}),(function(t,n){return ks(t,n)})),this.o3a_1.m2()},Es.prototype.q28=function(){return Ce("unit",1,Le,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),this.p3a_1.m2()},Es.prototype.e3b=function(){return Ce("bestAggSummary",1,Le,(function(t){return t.e3b()}),(function(t,n){return zs(t,n)})),this.q3a_1.m2()},Es.prototype.k3b=function(){return Ce("worstAggSummary",1,Le,(function(t){return t.k3b()}),(function(t,n){return Cs(t,n)})),this.r3a_1.m2()},Es.prototype.n3b=function(){return Ce("form",1,Le,(function(t){return t.n3b()}),(function(t,n){return Ss(t,n)})),this.s3a_1.m2()},Es.prototype.i3c=function(t,n){var e,r=this.u3a_1;null==r||(clearTimeout(r),jt()),this.u3a_1=setTimeout((e=t,function(){return e(),jt()}),n)},Es.prototype.j3c=function(t,n){Ss(this,t),this.c3a_1.k3c(t),this.i3c(As(this,n,t),300)},Es.prototype.v3a=function(t,n,e,r){return 0!=(2&e)&&(n=!0),this.j3c(t,n)},Es.prototype.t3b=function(t){try{var n;if(this.e3a_1=t,null!=this.e3a_1){for(var e=this.t3a_1,r=qt(),i=e.c();i.d();){var o=i.e();o.f36_1==this.e3a_1&&r.a(o)}n=r}else n=this.t3a_1;ms(this,wr(n)),Ms(this),gs(this,"")}catch(t){if(!(t instanceof Error))throw t;this.n3a_1.s7(),De(t);var s,a=t.message;null==a?(vs(),s="Something went wrong!"):s=a,gs(this,s)}},Es.prototype.q3b=function(){$s(this,!0)},Es.prototype.r3b=function(){var t=this.n3b().f37(null,!1,!this.n3b().c36_1,3,null);this.v3a(t,!1,2,null)},Es.prototype.s3b=function(){var t=this.n3b(),n=!this.n3b().b36_1,e=t.f37(null,n,!1,5,null);this.v3a(e,!1,2,null)},Es.prototype.w3a=function(t){var n,e=window.prompt("Name: ");if(null==e||Wt(e))return jt();t:{for(var r=this.p3b().c();r.d();){var i=r.e();if(i.j38_1===e){n=i;break t}}n=null}if(null!=n)return window.alert("Bruhh.. "+e+" exists! Try something else"),jt();var o=Be(this.p3b());o.yf(0,new Oi(e,t.a36_1));var s=o;this.b3a_1.l3c(s),bs(this,!1),qs(this)},Es.prototype.y3a=function(t){var n=this.n3b().f37(t.k38_1,!1,!1,6,null);this.j3c(n,!1)},Es.prototype.z3a=function(t){window.confirm("Do you want to delete `"+t.j38_1+"` ?")&&(this.b3a_1.m3c(t),bs(this,!0),qs(this))},Es.prototype.x3a=function(t){if(bs(this,t===Di()),this.o3b()){var n=this.c3a_1.c3c(),e=null==n?this.n3b():n;this.j3c(e,!1)}},Es.prototype.c3b=function(t){ws(this,t),Ms(this)},Es.prototype.d3b=function(t){xs(this,t),Ms(this)},Es.prototype.a3b=function(){var t=this.e3b();ws(this,null==t?null:t.f3b_1);var n=this.e3b();xs(this,null==n?null:n.g3b_1),Ms(this)},Es.prototype.b3b=function(){var t=this.k3b();ws(this,null==t?null:t.f3b_1);var n=this.k3b();xs(this,null==n?null:n.g3b_1),Ms(this)},Es.$metadata$=$t("HomeViewModel"),Is.prototype.n3c=function(){return this.h3b_1},Is.prototype.o3c=function(){return this.i3b_1},Is.prototype.toString=function(){return"AggSummary(blockOneName="+this.f3b_1+", blockTwoName="+this.g3b_1+", sumOfGreen="+this.h3b_1+", sumOfRed="+this.i3b_1+")"},Is.prototype.hashCode=function(){var t=bt(this.f3b_1);return t=W(t,31)+bt(this.g3b_1)|0,t=W(t,31)+this.h3b_1|0,W(t,31)+this.i3b_1|0},Is.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof Is))return!1;var n=t instanceof Is?t:xt();return this.f3b_1===n.f3b_1&&this.g3b_1===n.g3b_1&&this.h3b_1===n.h3b_1&&this.i3b_1===n.i3b_1},Is.$metadata$=$t("AggSummary"),Ds.$metadata$=Ne("BenchmarkRepo"),Ts.$metadata$=Kt("Companion"),Ls.prototype.z3b=function(){var t=window.localStorage;Bs();var n,e=t.getItem("savedBenchmarks");if(null==e)n=new Ii(Ie());else{var r;Jt("JSON is '"+e+"'");try{var i,o=Js().r3c_1,s=o.n2d(),a=Ue(s,He(Re(Ii),Fe([]),!1));i=kn(a,Ve)?a:xt(),r=o.m2d(i,e)}catch(t){var u;if(!(t instanceof We))throw t;De(t),u=Ie(),this.l3c(u),r=new Ii(Ie())}n=r}return Bt(n.p38_1)},Ls.prototype.l3c=function(t){var n,e=Js().r3c_1,r=new Ii(t),i=e.n2d(),o=Ue(i,He(Re(Ii),Fe([]),!1));n=kn(o,Ve)?o:xt();var s=e.l2d(n,r),a=window.localStorage;Bs(),a.setItem("savedBenchmarks",s)},Ls.prototype.m3c=function(t){var n,e=Be(this.z3b());Je(e,(n=t,function(t){return t.j38_1===n.j38_1}));var r=e;this.l3c(r)},Ls.$metadata$=$t("BenchmarkRepoImpl",[Ds]),Ns.$metadata$=Ne("FormRepo"),Rs.$metadata$=Kt("Companion"),Hs.prototype.k3c=function(t){var n=window.localStorage;Fs(),n.setItem("auto_form_input",t.a36_1),Fs(),n.setItem("is_test_name_detection_enabled",t.b36_1.toString()),Fs(),n.setItem("is_auto_group_enabled",t.c36_1.toString())},Hs.prototype.c3c=function(){var t=window.localStorage;Fs();var n=t.getItem("auto_form_input");if(null==n)return null;var e=n;Fs();var r=Ke(t.getItem("is_test_name_detection_enabled"));return Fs(),new Ar(e,r,Ke(t.getItem("is_auto_group_enabled")))},Hs.$metadata$=$t("FormRepoImpl",[Ns]),Us.$metadata$=Kt("DefaultValues"),Ws.$metadata$=Kt("JsonUtils"),Ks.prototype.b3c=function(t,n,e,r){if(null==e||null==r)return Jt("blank block name detected. skipping summary"),null;var i=Dt(),o=Ge([e,r]);Jt("words : "+o);for(var s=o.c();s.d();){for(var a=s.e(),u=n.v36_1,c=Dt(),l=u.u().c();l.d();){var h=l.e(),p=h.k2();Rt(p,a,!1,2,null)&&c.v3(h.k2(),h.m2())}for(var f=c.c3(),_=Mt(Pt(f,10)),d=f.c();d.d();){var v,y=d.e();v=Xe(y.c3()),_.a(v)}var m=_,g=qt(),$=Ze(n.v36_1.c3()).f(),b=0;if(b<$)do{b=b+1|0,g.a(0)}while(b<$);for(var w=g,x=m.c();x.d();){var k=x.e(),j=0,z=w.f()-1|0;if(j<=z)do{var C=j;j=j+1|0,w.p4(C,w.g(C)+k[C])}while(j<=z)}var S=0,q=w.f()-1|0;if(S<=q)do{var O=S;S=S+1|0,w.p4(O,w.g(O)/m.f())}while(S<=q);var P=w;i.v3(a,P)}for(var M=Mt(i.f()),A=i.u().c();A.d();){var E,I=A.e();E=Bt(I.m2()),M.a(E)}Jt("combinedMap : "+M);var D=qt(),T=Bt(Ze(n.v36_1.c3()).b3());Jt("segments: "+T);var B,L=T.f(),N=0;if(N after: '"+V+"'");var Y,G=""+(V-K).toFixed(2),X=Ht(G),Z=""+((K-V)/K*100).toFixed(2),Q=Ht(Z),tt=Math.abs(Q),nt=X>0?"worse":"better",et=X>0?"+":"",rt=X>0?"❌":"✅",it=o.g(1),ot=""+V.toFixed(2),st=Ht(ot),at=""+K.toFixed(2);Y=Ht(at),D.a(new no(t,rt,F,it,tt,nt,X,et,st,Y))}while(N>>0,r=arguments[1],i=r>>0,o=i<0?Math.max(e+i,0):Math.min(i,e),s=arguments[2],a=void 0===s?e:s>>0,u=a<0?Math.max(e+a,0):Math.min(a,e);o>>0;return 0===n?32:31-(i(n)/o|0)|0})),void 0===String.prototype.startsWith&&Object.defineProperty(String.prototype,"startsWith",{value:function(t,n){return n=n||0,this.lastIndexOf(t,n)===n}}),void 0===Math.imul&&(Math.imul=function(t,n){return(4294901760&t)*(65535&n)+(65535&t)*(0|n)|0}),void 0===(r="function"==typeof(e=function(t){"use strict";var n,e,r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt,ht,pt,ft,_t,dt,vt,yt,mt,gt,$t,bt,wt,xt,kt,jt,zt,Ct,St,qt,Ot,Pt,Mt,At,Et=Math.imul,It=Math.clz32,Dt=ArrayBuffer.isView;function Tt(t){return t===Ke()?this:t.e8(this,Ve)}function Bt(t){return Cl(this.k2(),t)?kh(this,Ue)?this:El():null}function Lt(t,n){return n(t,this)}function Nt(t){return Cl(this.k2(),t)?Ke():this}function Rt(t,n){if(null==n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,null==t[i])return i}while(e<=r)}else{var o=0,s=t.length-1|0;if(o<=s)do{var a=o;if(o=o+1|0,Cl(n,t[a]))return a}while(o<=s)}return-1}function Ft(t,n){if(null==n){var e=t.length-1|0;if(0<=e)do{var r=e;if(e=e+-1|0,null==t[r])return r}while(0<=e)}else{var i=t.length-1|0;if(0<=i)do{var o=i;if(i=i+-1|0,Cl(n,t[o]))return o}while(0<=i)}return-1}function Ht(t,n,e,r,i,o,s){return function(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=t,l=0,h=c.length;t:for(;l1&&n.b(e),!(o<0||u<=o))break t;Pr(n,p,a)}return o>=0&&u>o&&n.b(s),n.b(i),n}(t,Vu(),n,e,r,i,o,s).toString()}function Ut(t,n,e,r,i,o,s,a,u){return 0!=(1&a)&&(n=", "),0!=(2&a)&&(e=""),0!=(4&a)&&(r=""),0!=(8&a)&&(i=-1),0!=(16&a)&&(o="..."),0!=(32&a)&&(s=null),Ht(t,n,e,r,i,o,s)}function Vt(t){return t.length-1|0}function Wt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n.equals(t[i]))return i}while(e<=r);return-1}(t,n)>=0}function Jt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Kt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Yt(t,n){return function(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;if(e=e+1|0,n===t[i])return i}while(e<=r);return-1}(t,n)>=0}function Gt(t,n){for(var e=t,r=0,i=e.length;r=0}function tn(t,n,e,r,i,o,s,a,u){return 0!=(1&a)&&(n=", "),0!=(2&a)&&(e=""),0!=(4&a)&&(r=""),0!=(8&a)&&(i=-1),0!=(16&a)&&(o="..."),0!=(32&a)&&(s=null),function(t,n,e,r,i,o,s){return en(t,Vu(),n,e,r,i,o,s).toString()}(t,n,e,r,i,o,s)}function nn(t){if(kh(t,Zc)){var n;switch(t.f()){case 0:n=Pe();break;case 1:n=Ls(kh(t,Hc)?t.g(0):t.c().e());break;default:n=rn(t,La(t.f()))}return n}return function(t){switch(t.f()){case 0:return Pe();case 1:return Ls(t.c().e());default:return t}}(rn(t,Ta()))}function en(t,n,e,r,i,o,s,a){n.b(r);var u=0,c=t.c();t:for(;c.d();){var l=c.e();if((u=u+1|0)>1&&n.b(e),!(o<0||u<=o))break t;Pr(n,l,a)}return o>=0&&u>o&&n.b(s),n.b(i),n}function rn(t,n){for(var e=t.c();e.d();){var r=e.e();n.a(r)}return n}function on(t){if(kh(t,Hc))return function(t){var n;switch(t.f()){case 0:throw Sp("List is empty.");case 1:n=t.g(0);break;default:throw mp("List has more than one element.")}return n}(t);var n=t.c();if(!n.d())throw Sp("Collection is empty.");var e=n.e();if(n.d())throw mp("Collection has more than one element.");return e}function sn(t){this.r_1=t}function an(t){this.t_1=t}function un(t){var n=Bc(t).toUpperCase();if(n.length>1){var e;if(Cl(new Rc(t),new Rc(329)))e=n;else{var r=yl(n,0),i=n.substring(1).toLowerCase();e=Bc(r)+i}return e}return Bc(function(t){return function(t){var n=Tc(t);return 452<=n&&n<=460||497<=n&&n<=499?_h(Et(3,(n+1|0)/3|0)):4304<=n&&n<=4346||4349<=n&&n<=4351?t:Ju(t)}(t)}(t))}function cn(t,n){return n<=Ps().w_1?vr().v_1:vh(t,n-1|0)}function ln(t,n,e){if(n.c1(e)>0)throw mp("Cannot coerce value to an empty range: maximum "+zl(e)+" is less than minimum "+zl(n)+".");return t.c1(n)<0?n:t.c1(e)>0?e:t}function hn(t,n){return xr().d1(t,n,-1)}function pn(t,n){return t>n?n:t}function fn(t,n){return t=0))throw mp(zl("Requested element count "+n+" is less than zero."));return 0===n?qe():kh(t,je)?t.h1(n):new Ce(t,n)}function vn(t){return Jn(function(t){return function(t,n){for(var e=t.c();e.d();){var r=e.e();n.a(r)}return n}(t,ra())}(t))}function yn(t){this.i1_1=t}function mn(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));return function(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));var e=pn(n,t.length);return t.substring(0,e)}(t,fn(t.length-n|0,0))}function gn(t,n){if(!(n>=0))throw mp(zl("Requested character count "+n+" is less than zero."));var e=pn(n,t.length);return t.substring(e)}function $n(){Ol(this,$n)}function bn(){}function wn(){this.o1_1=zn(),this.p1_1=null}function xn(){if(o)return Cs();o=!0,n=new kn("Ready",0),e=new kn("NotReady",1),r=new kn("Done",2),i=new kn("Failed",3)}function kn(t,n){nl.call(this,t,n)}function jn(){return xn(),n}function zn(){return xn(),e}function Cn(){return xn(),i}function Sn(t){this.y1_1=t,this.x1_1=0}function qn(t,n){this.b2_1=t,Sn.call(this,t),Pn().c2(n,this.b2_1.f()),this.x1_1=n}function On(){s=this}function Pn(){return null==s&&new On,s}function Mn(){Pn(),bn.call(this)}function An(t){this.j2_1=t}function En(t){this.l2_1=t}function In(t,n){return n===t?"(this Map)":el(n)}function Dn(t,n){var e;t:{for(var r=t.u().c();r.d();){var i=r.e();if(Cl(i.k2(),n)){e=i;break t}}e=null}return e}function Tn(){a=this}function Bn(){return null==a&&new Tn,a}function Ln(t){this.q2_1=t,Un.call(this)}function Nn(t){this.w2_1=t,bn.call(this)}function Rn(){Bn(),this.s2_1=null,this.t2_1=null}function Fn(){u=this}function Hn(){return null==u&&new Fn,u}function Un(){Hn(),bn.call(this)}function Vn(){return Gn()}function Wn(t){return 0===t.length?ra():oa(new Xn(t,!0))}function Jn(t){switch(t.f()){case 0:return Vn();case 1:return Ns(t.g(0));default:return t}}function Kn(t){return t.f()-1|0}function Yn(){c=this,this.f3_1=new Ll(-1478467534,-1720727600)}function Gn(){return null==c&&new Yn,c}function Xn(t,n){this.j3_1=t,this.k3_1=n}function Zn(){l=this}function Qn(){return null==l&&new Zn,l}function te(t,n){this.n3_1=t,this.o3_1=n}function ne(t,n){return kh(t,Zc)?t.f():n}function ee(t){this.q3_1=t}function re(t){this.r3_1=t}function ie(t){this.s3_1=t,this.t3_1=0}function oe(){}function se(){var t=(null==h&&new ae,h);return kh(t,Gc)?t:El()}function ae(){h=this,this.g4_1=new Ll(-888910638,1920087921)}function ue(t,n){return function(t,n){for(var e=n.c();e.d();){var r=e.e(),i=r.l4(),o=r.m4();t.v3(i,o)}}(n,t),n}function ce(t,n){for(var e=n,r=0,i=e.length;r=0))throw mp(zl("count must be non-negative, but was "+this.p5_1+"."))}function Se(){p=this}function qe(){return null==p&&new Se,p}function Oe(t){this.q5_1=t}function Pe(){return Ae()}function Me(){f=this,this.r5_1=new Ll(1993859828,793161749)}function Ae(){return null==f&&new Me,f}function Ee(t){return function(t,n){var e;return e=il(Array(t),null),De.call(n,e,0),n}(t,Object.create(De.prototype))}function Ie(t){this.w5_1=t,wn.call(this),this.u5_1=t.a6_1,this.v5_1=t.z5_1}function De(t,n){if(Mn.call(this),this.x5_1=t,!(n>=0))throw mp(zl("ring buffer filled size should not be negative but it is "+n));if(!(n<=this.x5_1.length))throw mp(zl("ring buffer filled size: "+n+" cannot be larger than the buffer size: "+this.x5_1.length));this.y5_1=this.x5_1.length,this.z5_1=0,this.a6_1=n}function Te(t,n,e,r,i,o){this.p6_1=t,this.q6_1=n,this.r6_1=e,this.s6_1=r,this.t6_1=i,op.call(this,o)}function Be(t){this.v7_1=t}function Le(){}function Ne(){_=this}function Re(){return null==_&&new Ne,_}function Fe(){}function He(){}function Ue(){}function Ve(t,n){var e,r=t.d8(n.k2());if(r===Ke())e=n;else{var i,o=r.y7(Re());if(null==o)i=new Ze(r,n);else{var s=r.d8(Re());i=s===Ke()?new Ze(n,o):new Ze(new Ze(s,n),o)}e=i}return e}function We(){}function Je(){d=this,this.g8_1=new Ll(0,0)}function Ke(){return null==d&&new Je,d}function Ye(t){for(var n=t,e=2;;){var r=n.h8_1,i=r instanceof Ze?r:null;if(null==i)return e;n=i,e=e+1|0}}function Ge(t,n){return Cl(t.y7(n.k2()),n)}function Xe(t,n){return 0===gl(t)?zl(n):t+", "+n}function Ze(t,n){this.h8_1=t,this.i8_1=n}function Qe(t,n){this.z7_1=n;var e;e=t instanceof Qe?t.a8_1:t,this.a8_1=e}function tr(t){this.j8_1=t}function nr(){return er(),v}function er(){if(g)return Cs();g=!0,v=new rr("COROUTINE_SUSPENDED",0),y=new rr("UNDECIDED",1),m=new rr("RESUMED",2)}function rr(t,n){nl.call(this,t,n)}function ir(){return er(),y}function or(){return er(),m}function sr(t,n,e){var r;if(e>0)r=t>=n?n:n-ar(n,t,e)|0;else{if(!(e<0))throw mp("Step is zero.");r=t<=n?n:n+ar(t,n,0|-e)|0}return r}function ar(t,n,e){return ur(ur(t,e)-ur(n,e)|0,e)}function ur(t,n){var e=t%n|0;return e>=0?e:e+n|0}function cr(){var t;$=this,hr.call(this),this.k8_1=(Y||(Y=!0,Math.pow(2,-26),Math.pow(2,-53)),t=Math.random()*Math.pow(2,32)|0,function(t,n,e){return _r.call(e,t,n,0,0,~t,t<<10^(n>>>4|0)),e}(t,t>>31,Object.create(_r.prototype)))}function lr(){return null==$&&new cr,$}function hr(){lr()}function pr(t,n){if(!(n>t))throw mp(zl(function(t,n){return"Random range is empty: ["+zl(t)+", "+zl(n)+")."}(t,n)))}function fr(){b=this,this.q8_1=new Ll(0,0)}function _r(t,n,e,r,i,o){if(null==b&&new fr,hr.call(this),this.r8_1=t,this.s8_1=n,this.t8_1=e,this.u8_1=r,this.v8_1=i,this.w8_1=o,0==(this.r8_1|this.s8_1|this.t8_1|this.u8_1|this.v8_1))throw mp(zl("Initial state must have at least one non-zero element."));var s=0;if(s<64)do{s=s+1|0,this.q4()}while(s<64)}function dr(){w=this,this.v_1=new yr(1,0)}function vr(){return null==w&&new dr,w}function yr(t,n){vr(),kr.call(this,t,n,1)}function mr(){x=this,this.a9_1=new gr(1,0)}function gr(t,n){null==x&&new mr,zr.call(this,t,n,1)}function $r(t,n,e){pe.call(this),this.i9_1=e,this.j9_1=n,this.k9_1=this.i9_1>0?t<=n:t>=n,this.l9_1=this.k9_1?t:this.j9_1}function br(t,n,e){fe.call(this),this.m9_1=e;var r;r=Tc(n),this.n9_1=r,this.o9_1=this.m9_1>0?Ic(t,n)<=0:Ic(t,n)>=0;var i;i=this.o9_1?Tc(t):this.n9_1,this.p9_1=i}function wr(){k=this}function xr(){return null==k&&new wr,k}function kr(t,n,e){if(xr(),0===e)throw mp("Step must be non-zero.");if(e===Ps().w_1)throw mp("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.e1_1=t,this.f1_1=sr(t,n,e),this.g1_1=e}function jr(){j=this}function zr(t,n,e){if(null==j&&new jr,0===e)throw mp("Step must be non-zero.");if(e===Ps().w_1)throw mp("Step must be greater than Int.MIN_VALUE to avoid overflow on negation.");this.f9_1=t;var r,i=Tc(t);r=Tc(n),this.g9_1=_h(sr(i,r,e)),this.h9_1=e}function Cr(){}function Sr(){}function qr(){}function Or(){}function Pr(t,n,e){null!=e?t.b(e(n)):null==n||Eh(n)?t.b(n):n instanceof Rc?t.q9(n.k1_1):t.b(el(n))}function Mr(t,n,e){if(Cl(new Rc(t),new Rc(n)))return!0;if(!e)return!1;var r=Ju(t),i=Ju(n);return!!Cl(new Rc(r),new Rc(i))||Cl(new Rc(yl(Bc(r).toLowerCase(),0)),new Rc(yl(Bc(i).toLowerCase(),0)))}function Ar(t){var n;t:{var e=0,r=gl(t)-1|0;if(e<=r)do{var i=e;if(e=e+1|0,!Ku(yl(t,i))){n=i;break t}}while(e<=r);n=-1}var o=n;return-1===o?t.length:o}function Er(t){return t}function Ir(t){return function(t,n){Yu(n);var e,r,i,o=t.length;if(0===o)return null;var s=yl(t,0);if(Ic(s,48)<0){if(1===o)return null;if(e=1,Cl(new Rc(s),new Rc(45)))r=!0,Bl(),i=new Ll(0,-2147483648);else{if(!Cl(new Rc(s),new Rc(43)))return null;r=!1,Bl(),i=new Ll(-1,2147483647).r9()}}else e=0,r=!1,Bl(),i=new Ll(-1,2147483647).r9();Bl();var a=new Ll(-1,2147483647).r9().s9(new Ll(36,0)),u=a,c=new Ll(0,0),l=e;if(l0,u=ia(a?pn(r,10):10);t:do{var c;if(c=zl($l(t,i,o)),u.a(c),i=o+n.length|0,a&&u.f()===(r-1|0))break t;o=Rr(t,n,i,e)}while(-1!==o);return s=zl($l(t,i,gl(t))),u.a(s),u}(t,i,e,r)}for(var o=function(t){return new yn(t)}(Zr(t,n,0,e,r,2)),s=ia(ne(o,10)),a=o.c();a.d();){var u;u=Gr(t,a.e()),s.a(u)}return s}function Nr(t,n,e,r,i,o){return 0!=(2&i)&&(e=Ur(t)),0!=(4&i)&&(r=!1),function(t,n,e,r){return r||"string"!=typeof t?Qr(t,n,e,0,r,!0):t.lastIndexOf(n,e)}(t,n,e,r)}function Rr(t,n,e,r){return r||"string"!=typeof t?function(t,n,e,r,i,o,s,a){return 0!=(16&s)&&(o=!1),Qr(t,n,e,r,i,o)}(t,n,e,gl(t),r,!1,16):t.indexOf(n,e)}function Fr(t,n,e,r,i,o){return 0!=(2&i)&&(e=0),0!=(4&i)&&(r=!1),Rr(t,n,e,r)}function Hr(t){return function(t,n,e,r,i,o){return 0!=(2&i)&&(e=!1),0!=(4&i)&&(r=0),function(t,n,e,r){return _n(Zr(t,n,0,e,r,2),(i=t,function(t){return Gr(i,t)}));var i}(t,n,e,r)}(t,["\r\n","\n","\r"],!1,0,6)}function Ur(t){return gl(t)-1|0}function Vr(t,n,e){return zl(function(t,n,e){if(n<0)throw mp("Desired length "+n+" is less than zero.");if(n<=gl(t))return $l(t,0,gl(t));var r=Hu(n),i=1,o=n-gl(t)|0;if(i<=o)do{var s=i;i=i+1|0,r.q9(e)}while(s!==o);return r.b(t),r}(Eh(t)?t:El(),n,e))}function Wr(t,n,e,r,i){return 0!=(2&r)&&(e=!1),function(t,n,e){return gl(t)>0&&Mr(yl(t,0),n,e)}(t,n,e)}function Jr(t,n,e,r,i){return 0!=(2&r)&&(e=!1),function(t,n,e){return Yr(t,n,0,e,2)>=0}(t,n,e)}function Kr(t,n,e,r){var i,o;if(r||"string"!=typeof t)i=function(t,n,e,r){if(!r&&1===n.length&&"string"==typeof t){var i=t,o=Bc(function(t){var n;switch(t.length){case 0:throw Sp("Array is empty.");case 1:n=t[0];break;default:throw mp("Array has more than one element.")}return n}(n));return i.indexOf(o,e)}var s=fn(e,0),a=Ur(t);if(s<=a)do{var u=s;s=s+1|0;var c,l=yl(t,u);t:{for(var h=n,p=0,f=h.length;p0&&u<=c||l<0&&c<=u)do{var h,p=u;u=u+l|0;t:{for(var f=n.c();f.d();){var _=f.e();if(gc(_,0,t,p,_.length,r)){h=_;break t}}h=null}if(null!=h)return uo(p,h)}while(p!==c)}else{var d=a.e1_1,v=a.f1_1,y=a.g1_1;if(y>0&&d<=v||y<0&&v<=d)do{var m,g=d;d=d+y|0;t:{for(var $=n.c();$.d();){var b=$.e();if(ii(b,0,t,g,b.length,r)){m=b;break t}}m=null}if(null!=m)return uo(g,m)}while(g!==v)}return null}(t,o,n,s,!1);return null==e?null:uo(e.j4_1,e.k4_1.length)}));var o,s}function Zr(t,n,e,r,i,o,s){return 0!=(2&o)&&(e=0),0!=(4&o)&&(r=!1),0!=(8&o)&&(i=0),Xr(t,n,e,r,i)}function Qr(t,n,e,r,i,o){var s=o?hn(pn(e,Ur(t)),fn(r,0)):vh(fn(e,0),pn(r,gl(t)));if("string"==typeof t&&"string"==typeof n){var a=s.e1_1,u=s.f1_1,c=s.g1_1;if(c>0&&a<=u||c<0&&u<=a)do{var l=a;if(a=a+c|0,gc(n,0,t,l,gl(n),i))return l}while(l!==u)}else{var h=s.e1_1,p=s.f1_1,f=s.g1_1;if(f>0&&h<=p||f<0&&p<=h)do{var _=h;if(h=h+f|0,ii(n,0,t,_,gl(n),i))return _}while(_!==p)}return-1}function ti(t){if(!(t>=0))throw mp(zl("Limit must be non-negative, but was "+t))}function ni(t){if(t.ia_1<0)t.ga_1=0,t.ja_1=null;else{var n;if(t.la_1.oa_1>0){var e=t;e.ka_1=e.ka_1+1|0,n=e.ka_1>=t.la_1.oa_1}else n=!1;if(n||t.ia_1>gl(t.la_1.ma_1))t.ja_1=vh(t.ha_1,Ur(t.la_1.ma_1)),t.ia_1=-1;else{var r=t.la_1.pa_1(t.la_1.ma_1,t.ia_1);if(null==r)t.ja_1=vh(t.ha_1,Ur(t.la_1.ma_1)),t.ia_1=-1;else{var i=r,o=i.l4(),s=i.m4();t.ja_1=cn(t.ha_1,o),t.ha_1=o+s|0,t.ia_1=t.ha_1+(0===s?1:0)|0}}t.ga_1=1}}function ei(t){this.la_1=t,this.ga_1=-1,this.ha_1=function(t,n,e){if(n>e)throw mp("Cannot coerce value to an empty range: maximum "+e+" is less than minimum "+n+".");return te?e:t}(t.na_1,0,gl(t.ma_1)),this.ia_1=this.ha_1,this.ja_1=null,this.ka_1=0}function ri(t,n,e,r){this.ma_1=t,this.na_1=n,this.oa_1=e,this.pa_1=r}function ii(t,n,e,r,i,o){if(r<0||n<0||n>(gl(t)-i|0)||r>(gl(e)-i|0))return!1;var s=0;if(s=0)return t;throw mp("Summing infinite durations of different signs yields an undefined result.")}if(mi(n))return n;var e,r,i;if((1&t.va())==(1&n.va())){var o=ci(t).u9(ci(n));e=li(t)?(r=o,i=new Ll(387905,-1073741824),r.c1(new Ll(-387905,1073741823))<=0&&i.c1(r)<=0?Di(r):Oi(Ei(r))):Ai(o)}else e=hi(t)?vi(0,ci(t),ci(n)):vi(0,ci(n),ci(t));return e}function vi(t,n,e){var r,i=Ei(e),o=n.u9(i),s=new Ll(1108857478,-1074);if(o.c1(new Ll(-1108857478,1073))<=0&&s.c1(o)<=0){var a=e.v9(Ii(i));r=Di(Ii(o).u9(a))}else r=Oi(ln(o,new Ll(1,-1073741824),new Ll(-1,1073741823)));return r}function yi(t){return t.c1(new Ll(0,0))<0}function mi(t){return!!t.equals(fi().xa_1)||t.equals(fi().ya_1)}function gi(t){return yi(t)?_i(t):t}function $i(t,n){var e=t.ab(n);if(e.c1(new Ll(0,0))<0||0==(1&e.va()))return t.c1(n);var r=(1&t.va())-(1&n.va())|0;return yi(t)?0|-r:r}function bi(t){return mi(t)?0:function(t){return ki(t,Pc())}(t).cb(new Ll(60,0)).va()}function wi(t){return mi(t)?0:function(t){return ki(t,Oc())}(t).cb(new Ll(60,0)).va()}function xi(t){return mi(t)?0:hi(t)?Ii(ci(t).cb(new Ll(1e3,0))).va():ci(t).cb(new Ll(1e9,0)).va()}function ki(t,n){var e,r=t;return r.equals(fi().xa_1)?(Bl(),e=new Ll(-1,2147483647)):r.equals(fi().ya_1)?(Bl(),e=new Ll(0,-2147483648)):e=zc(ci(t),function(t){return li(t)?Sc():qc()}(t),n),e}function ji(t){return ki(t,Mc())}function zi(t){var n,e=t;if(e.equals(new Ll(0,0)))n="0s";else if(e.equals(fi().xa_1))n="Infinity";else if(e.equals(fi().ya_1))n="-Infinity";else{var r=yi(t),i=Vu();r&&i.q9(45);var o=gi(t),s=function(t){return ki(t,Ac())}(o),a=function(t){return mi(t)?0:ji(t).cb(new Ll(24,0)).va()}(o),u=bi(o),c=wi(o),l=xi(o),h=!s.equals(new Ll(0,0)),p=!(0===a),f=!(0===u),_=0!==c||!(0===l),d=0;if(h&&(i.db(s).q9(100),d=d+1|0),p||h&&(f||_)){var v=d;d=v+1|0,v>0&&i.q9(32),i.db(a).q9(104)}if(f||_&&(p||h)){var y=d;d=y+1|0,y>0&&i.q9(32),i.db(u).q9(109)}if(_){var m=d;d=m+1|0,m>0&&i.q9(32),0!==c||h||p||f?Ci(i,0,c,l,9,"s",!1):l>=1e6?Ci(i,0,l/1e6|0,l%1e6|0,6,"ms",!1):l>=1e3?Ci(i,0,l/1e3|0,l%1e3|0,3,"us",!1):i.db(l).eb("ns")}r&&d>1&&(i.fb(1,40).q9(41),Cs()),n=i.toString()}return n}function Ci(t,n,e,r,i,o,s){if(t.db(e),0!==r){t.q9(46);var a,u=Vr(r.toString(),i,48);t:{var c=gl(u)-1|0;if(0<=c)do{var l=c;if(c=c+-1|0,!Cl(new Rc(yl(u,l)),new Rc(48))){a=l;break t}}while(0<=c);a=-1}var h=a+1|0;!s&&h<3?t.gb(u,0,h):t.gb(u,0,Et((h+2|0)/3|0,3))}t.eb(o)}function Si(t){fi(),this.bb_1=t}function qi(t,n){var e=jc(t,n,Sc());if(Za(e))throw mp(zl("Duration value cannot be NaN."));var r=Xa(e),i=new Ll(387905,-1073741824);return r.c1(new Ll(-387905,1073741823))<=0&&i.c1(r)<=0?Di(r):Ai(Xa(jc(t,n,qc())))}function Oi(t){return ui(t.jb(1).u9(new Ll(1,0)))}function Pi(t,n){var e=Cc(new Ll(-387905,1073741823),Sc(),n);return e.r9().c1(t)<=0&&t.c1(e)<=0?Di(Cc(t,n,Sc())):Oi(ln(zc(t,n,qc()),new Ll(1,-1073741824),new Ll(-1,1073741823)))}function Mi(t,n){var e=t.length;if(0===e)throw mp("The string is empty");var r=0,i=fi().wa_1,o="Infinity",s=yl(t,r);(Cl(new Rc(s),new Rc(43))||Cl(new Rc(s),new Rc(45)))&&(r=r+1|0);var a=r>0,u=!!a&&Wr(t,45,!1,2);if(e<=r)throw mp("No components");if(Cl(new Rc(yl(t,r)),new Rc(80))){if((r=r+1|0)===e)throw vp();for(var c=!1,l=null;r=0&&y<=Ur(t)))throw mp("Missing unit for value "+v);r=r+1|0;var m=Bi(yl(t,y),c);if(null!=l&&l.w1(m)<=0)throw mp("Unexpected order of duration components");l=m;var g=Yr(v,46,0,!1,6);m.equals(Oc())&&g>0?(i=di(i,Pi(Ti(v.substring(0,g)),m)),i=di(i,qi(Xu(v.substring(g)),m))):i=di(i,Pi(Ti(v),m))}}else{if(n)throw vp();var $=e-r|0,b=o.length;if(gc(t,r,o,0,Math.max($,b),!0))i=fi().xa_1;else{var w=null,x=!1,k=!a;if(a&&Cl(new Rc(yl(t,r)),new Rc(40))&&Cl(new Rc(function(t){if(0===gl(t))throw Sp("Char sequence is empty.");return yl(t,Ur(t))}(t)),new Rc(41))&&(k=!0,(r=r+1|0)==(e=e-1|0)))throw mp("No components");for(;r0){if(i=di(i,Pi(Zu(P.substring(0,L)),B)),i=di(i,qi(Xu(P.substring(L)),B)),r0&&Jr("+-",yl(t,0),!1,2)&&(i=i+1|0),(r-i|0)>16){var o;t:{var s=vh(i,Ur(t));if(kh(s,Zc)&&s.h())o=!0;else{var a=s.e1_1,u=s.f1_1;if(a<=u)do{var c=a;a=a+1|0;var l=yl(t,c);if(!(48<=l&&l<=57)){o=!1;break t}}while(c!==u);o=!0}}n=o}else n=!1;return n?(Cl(new Rc(yl(t,0)),new Rc(45))?(Bl(),e=new Ll(0,-2147483648)):(Bl(),e=new Ll(-1,2147483647)),e):yc(t,"+",!1,2)?Zu(gn(t,1)):Zu(t)}function Bi(t,n){var e;if(n){var r,i=t;if(Cl(new Rc(i),new Rc(72)))r=Mc();else if(Cl(new Rc(i),new Rc(77)))r=Pc();else{if(!Cl(new Rc(i),new Rc(83)))throw mp("Invalid duration ISO time unit: "+new Rc(t));r=Oc()}e=r}else{if(!Cl(new Rc(t),new Rc(68)))throw mp("Invalid or unsupported duration ISO non-time unit: "+new Rc(t));e=Ac()}return e}function Li(t){var n;switch(t){case"ns":n=Sc();break;case"us":xc(),n=it;break;case"ms":n=qc();break;case"s":n=Oc();break;case"m":n=Pc();break;case"h":n=Mc();break;case"d":n=Ac();break;default:throw mp("Unknown duration unit short name: "+t)}return n}function Ni(){return Ui(),C}function Ri(){}function Fi(t){this.lb_1=t}function Hi(t,n){Ri.call(this),this.mb_1=function(t,n){if("function"==typeof t)return t.$arity===n;if("object"==typeof t&&tf("$metadata$",t.constructor)){var e,r=t.constructor.$metadata$,i=null==r?null:r.suspendArity;if(null!=i){var o=!1,s=ol(i);t:for(;s.d();)if(n===s.e()){o=!0;break t}return o}return null!=(e=null)&&e}return!1}(t,2)?t:El(),this.nb_1=n,this.ob_1=kh(this,Le)?this:El(),this.pb_1=Ni()}function Ui(){var t;S||(S=!0,no(),t=nr(),C=t)}function Vi(){}function Wi(t,n){nl.call(this,t,n)}function Ji(t){this.tb_1=t,this.ub_1=Yi()}function Ki(){P=this}function Yi(){return null==P&&new Ki,P}function Gi(t){return t}function Xi(t){return t}function Zi(t){return t instanceof eo}function Qi(t){return t instanceof eo?t.wb_1:null}function to(){M=this}function no(){return null==M&&new to,M}function eo(t){this.wb_1=t}function ro(t){no(),this.zb_1=t}function io(t){return new eo(t)}function oo(t){if(t instanceof eo)throw t.wb_1}function so(t){_p(t,this),Ol(this,so)}function ao(t,n){this.j4_1=t,this.k4_1=n}function uo(t,n){return new ao(t,n)}function co(t,n,e){this.cc_1=t,this.dc_1=n,this.ec_1=e}function lo(t){return t}function ho(t){return t}function po(){A=this,this.fc_1=0,this.gc_1=-1,this.hc_1=1,this.ic_1=8}function fo(){return null==A&&new po,A}function _o(t,n){return wl(255&t,255&n)}function vo(t){return(255&t).toString()}function yo(t){fo(),this.jc_1=t}function mo(t){return t}function go(t){return t}function $o(t){return t.length}function bo(t){this.lc_1=t,this.mc_1=0}function wo(t,n){return(Mh(new yo(n))?new yo(n):El())instanceof yo&&Yt(t,n)}function xo(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof yo&&Yt(t,o.jc_1))){e=!1;break t}}e=!0}}return e}function ko(t){this.oc_1=t}function jo(t){return t}function zo(t){return t}function Co(){E=this,this.rc_1=0,this.sc_1=-1,this.tc_1=4,this.uc_1=32}function So(){return null==E&&new Co,E}function qo(t,n){return ds(t,n)}function Oo(t){return dh(t).wc(new Ll(-1,0)).toString()}function Po(t){So(),this.vc_1=t}function Mo(t){return t}function Ao(t){return t}function Eo(t){return t.length}function Io(t){this.yc_1=t,this.zc_1=0}function Do(t,n){return(Mh(new Po(n))?new Po(n):El())instanceof Po&&Jt(t,n)}function To(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof Po&&Jt(t,o.vc_1))){e=!1;break t}}e=!0}}return e}function Bo(t){this.bd_1=t}function Lo(t){return t}function No(t){return t}function Ro(){I=this,this.ed_1=new Ll(0,0),this.fd_1=new Ll(-1,-1),this.gd_1=8,this.hd_1=64}function Fo(){return null==I&&new Ro,I}function Ho(t,n){return vs(t,n)}function Uo(t){return function(t,n){if(t.c1(new Ll(0,0))>=0)return of(t,n);var e,r=t.ce(1).s9(dh(n)).jb(1);e=r.t9(dh(n));var i=t.v9(e);return i.c1(dh(n))>=0&&(i=i.v9(dh(n)),r=r.u9(new Ll(1,0))),of(r,n)+of(i,n)}(t,10)}function Vo(t){Fo(),this.id_1=t}function Wo(t){return t}function Jo(t){return t}function Ko(t){return t.length}function Yo(t){this.kd_1=t,this.ld_1=0}function Go(t,n){return(Mh(new Vo(n))?new Vo(n):El())instanceof Vo&&Wt(t,n)}function Xo(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof Vo&&Wt(t,o.id_1))){e=!1;break t}}e=!0}}return e}function Zo(t){this.nd_1=t}function Qo(t){return t}function ts(t){return t}function ns(){D=this,this.qd_1=0,this.rd_1=-1,this.sd_1=2,this.td_1=16}function es(){return null==D&&new ns,D}function rs(t,n){return wl(65535&t,65535&n)}function is(t){return(65535&t).toString()}function os(t){es(),this.ud_1=t}function ss(t){return t}function as(t){return t}function us(t){return t.length}function cs(t){this.wd_1=t,this.xd_1=0}function ls(t,n){return(Mh(new os(n))?new os(n):El())instanceof os&&Kt(t,n)}function hs(t,n){var e;t:{var r=kh(n,Zc)?n:El();if(kh(r,Zc)&&r.h())e=!0;else{for(var i=r.c();i.d();){var o=i.e();if(!(o instanceof os&&Kt(t,o.ud_1))){e=!1;break t}}e=!0}}return e}function ps(t){this.zd_1=t}function fs(t){return function(t,n){Yu(n);var e=t.length;if(0===e)return null;Fo();var r,i=new Ll(-1,-1),o=yl(t,0);if(Ic(o,48)<0){if(1===e||!Cl(new Rc(o),new Rc(43)))return null;r=1}else r=0;var s=new Ll(477218588,119304647),a=s,u=dh(n),c=new Ll(0,0),l=r;if(l0){if(!Cl(a,s))return null;if(vs(c,a=ys(i,u))>0)return null}var f=c=c.t9(u),_=c,d=dh(p).wc(new Ll(-1,0));if(vs(c=_.u9(d),f)<0)return null}while(l0){if(c!==u)return null;if(ds(h,(o=l,s=void 0,a=void 0,a=dh(-1).wc(new Ll(-1,0)),s=dh(o).wc(new Ll(-1,0)),c=a.s9(s).va()))>0)return null}var d=h=Et(h,l);if(ds(h=h+_|0,d)<0)return null}while(p=0)return e.s9(r);var i=e.ce(1).s9(r).jb(1),o=vs(e.v9(i.t9(r)),r)>=0?1:0;return i.u9(dh(o))}function ms(){}function gs(){}function $s(){}function bs(){}function ws(){}function xs(){}function ks(){}function js(){}function zs(){T=this}function Cs(){return null==T&&new zs,T}function Ss(){B=this,this.ge_1=-128,this.he_1=127,this.ie_1=1,this.je_1=8}function qs(){L=this,this.oe_1=-32768,this.pe_1=32767,this.qe_1=2,this.re_1=16}function Os(){N=this,this.w_1=-2147483648,this.x_1=2147483647,this.y_1=4,this.z_1=32}function Ps(){return null==N&&new Os,N}function Ms(){R=this,this.se_1=14e-46,this.te_1=34028235e31,this.ue_1=1/0,this.ve_1=-1/0,this.we_1=NaN,this.xe_1=4,this.ye_1=32}function As(){return null==R&&new Ms,R}function Es(){F=this,this.cf_1=5e-324,this.df_1=17976931348623157e292,this.ef_1=1/0,this.ff_1=-1/0,this.gf_1=NaN,this.hf_1=8,this.if_1=64}function Is(){return null==F&&new Es,F}function Ds(){H=this}function Ts(){U=this}function Bs(){}function Ls(t){return Gt(n=[t],$a(n.length));var n}function Ns(t){return 0===(n=[t]).length?ra():oa(new Xn(n,!0));var n}function Rs(t){return t<0&&function(){throw Fp("Index overflow has happened.")}(),t}function Fs(t){return void 0!==t.toArray?t.toArray():Hs(t)}function Hs(t){for(var n=[],e=t.c();e.d();)n.push(e.e());return n}function Us(){bn.call(this)}function Vs(t){this.of_1=t,this.mf_1=0,this.nf_1=-1}function Ws(t,n){this.tf_1=t,Vs.call(this,t),Pn().c2(n,this.tf_1.f()),this.mf_1=n}function Js(t,n,e){Ks.call(this),this.vf_1=t,this.wf_1=n,this.xf_1=0,Pn().e2(this.wf_1,e,this.vf_1.f()),this.xf_1=e-this.wf_1|0}function Ks(){Us.call(this),this.pf_1=0}function Ys(t){this.bg_1=t}function Gs(t){this.cg_1=t}function Xs(t,n){this.dg_1=t,this.eg_1=n}function Zs(){ea.call(this)}function Qs(t){this.ig_1=t,ea.call(this)}function ta(t){this.pg_1=t,Us.call(this)}function na(){Rn.call(this),this.mg_1=null,this.ng_1=null}function ea(){Us.call(this)}function ra(){return t=Object.create(ua.prototype),n=[],ua.call(t,n),t;var t,n}function ia(t){return n=Object.create(ua.prototype),e=[],ua.call(n,e),n;var n,e}function oa(t){return function(t,n){var e;return e=Fs(t),ua.call(n,e),n}(t,Object.create(ua.prototype))}function sa(t,n){return Pn().d2(n,t.f()),n}function aa(t,n){return Pn().c2(n,t.f()),n}function ua(t){Ks.call(this),this.l_1=t,this.m_1=!1}function ca(t,n,e,r,i){if(e===r)return t;var o=(e+r|0)/2|0,s=ca(t,n,e,o,i),a=ca(t,n,o+1|0,r,i),u=s===n?t:n,c=e,l=o+1|0,h=e;if(h<=r)do{var p=h;if(h=h+1|0,c<=o&&l<=r){var f=s[c],_=a[l];i.compare(f,_)<=0?(u[p]=f,c=c+1|0):(u[p]=_,l=l+1|0)}else c<=o?(u[p]=s[c],c=c+1|0):(u[p]=a[l],l=l+1|0)}while(p!==r);return u}function la(t,n){return(3&t)-(3&n)|0}function ha(){W=this}function pa(){}function fa(t){this.wg_1=t,Zs.call(this)}function _a(t){return function(t,n){na.call(n),ma.call(n),n.ch_1=t,n.dh_1=t.fh()}(new Ca((null==W&&new ha,W)),t),t}function da(){return _a(Object.create(ma.prototype))}function va(t,n,e){if(_a(e),!(t>=0))throw mp(zl("Negative initial capacity: "+t));if(!(n>=0))throw mp(zl("Non-positive load factor: "+n));return e}function ya(t){return function(t,n){return va(t,0,n),n}(t,Object.create(ma.prototype))}function ma(){this.eh_1=null}function ga(t,n,e){return ea.call(e),wa.call(e),e.hh_1=function(t,n){return va(t,n,Object.create(ma.prototype))}(t,n),e}function $a(t){return function(t,n){return ga(t,0,n),n}(t,Object.create(wa.prototype))}function ba(t,n){return ea.call(n),wa.call(n),n.hh_1=t,n}function wa(){}function xa(t,n){var e=ja(t,t.qh_1.vg(n));if(null==e)return null;var r=e;if(null!=r&&Ph(r))return ka(r,t,n);var i=r;return t.qh_1.ug(i.k2(),n)?i:null}function ka(t,n,e){var r;t:{for(var i=t,o=0,s=i.length;onew Ll(-1,2147483647).oi()?(Bl(),n=new Ll(-1,2147483647)):(Bl(),t1?t:yl(n,0)}function Ku(t){return function(t){var n;return 9<=(n=Tc(t))&&n<=13||28<=n&&n<=32||160===n||n>4096&&(5760===n||8192<=n&&n<=8202||8232===n||8233===n||8239===n||8287===n||12288===n)}(t)}function Yu(t){if(!(2<=t&&t<=36))throw mp("radix "+t+" was not in valid range 2..36");return t}function Gu(t,n){var e,r,i,o=Ic(t,48)>=0&&Ic(t,57)<=0?Dc(t,48):Ic(t,65)>=0&&Ic(t,90)<=0?Dc(t,65)+10|0:Ic(t,97)>=0&&Ic(t,122)<=0?Dc(t,97)+10|0:Ic(t,128)<0?-1:Ic(t,65313)>=0&&Ic(t,65338)<=0?Dc(t,65313)+10|0:Ic(t,65345)>=0&&Ic(t,65370)<=0?Dc(t,65345)+10|0:(e=Tc(t),r=Xh(Qh().hn_1,e),(i=e-Qh().hn_1[r]|0)<10?i:-1);return o>=n?-1:o}function Xu(t){var n=+t;return(Za(n)&&!tc(t)||0===n&&mc(t))&&Tr(t),n}function Zu(t){var n,e=Ir(t);return null==e?Tr(t):n=e,n}function Qu(t){var n,e=Dr(t);return null==e?Tr(t):n=e,n}function tc(t){switch(t.toLowerCase()){case"nan":case"+nan":case"-nan":return!0;default:return!1}}function nc(){tt=this,this.xk_1=new RegExp("[\\\\^$*+?.()|[\\]{}]","g"),this.yk_1=new RegExp("[\\\\$]","g"),this.zk_1=new RegExp("\\$","g")}function ec(){return null==tt&&new nc,tt}function rc(t){return t.e()}function ic(t){return function(n){return function(t,n){for(var e=0,r=Vu();e=f.f())throw Bp("Group with index "+v+" does not exist");var y=f.g(v),m=null==y?null:y.kl_1;r.eb(null==m?"":m),e=_}}else r.q9(o)}return r.toString()}(n,t)}}function oc(t,n){ec(),this.w9_1=t,this.x9_1=nn(n),this.y9_1=new RegExp(t,tn(n,"","gu",null,0,null,pc,28)),this.z9_1=null,this.aa_1=null}function sc(t,n,e){nl.call(this,t,n),this.jl_1=e}function ac(t,n,e,r){t.lastIndex=e;var i=t.exec(n);return null==i?null:new dc(vh(i.index,t.lastIndex-1|0),i,r,n)}function uc(t){this.kl_1=t}function cc(t,n){for(var e=n;e0&&Cl(new Rc(yl(n,Ur(n)-(o-1|0)|0)),new Rc(32));)o=o-1|0;return mn(n,o)+"... and "+(r-1|0)+" more common stack frames skipped"}(n,s,u),gl(e)>0){var c;if(0===u)c=0;else{for(var l=0,h=i,p=0,f=h.length;p=d&&n.wl_1.eb(e),n.wl_1.eb(m).eb("\n")}}else n.wl_1.eb(s).eb("\n")}else n.wl_1.eb(i).eb("\n");var $=function(t){var n=t._suppressed,e=null==n?null:n;return null==e?Vn():e}(t);if(!$.h())for(var b=e+" ",w=$.c();w.d();)$c(w.e(),n,b,"Suppressed: ");return!0}function wc(){var t;this.wl_1=Vu(),t=[],this.xl_1=t,this.yl_1="",this.zl_1=0}function xc(){if(lt)return Cs();lt=!0,rt=new kc("NANOSECONDS",0,1),it=new kc("MICROSECONDS",1,1e3),ot=new kc("MILLISECONDS",2,1e6),st=new kc("SECONDS",3,1e9),at=new kc("MINUTES",4,6e10),ut=new kc("HOURS",5,36e11),ct=new kc("DAYS",6,864e11)}function kc(t,n,e){nl.call(this,t,n),this.dm_1=e}function jc(t,n,e){var r=wl(n.dm_1,e.dm_1);return r>0?t*(n.dm_1/e.dm_1):r<0?t/(e.dm_1/n.dm_1):t}function zc(t,n,e){var r,i=wl(n.dm_1,e.dm_1);if(i>0){var o,s=fh(n.dm_1/e.dm_1),a=t.t9(s);a.s9(s).equals(t)?o=a:t.c1(new Ll(0,0))>0?(Bl(),o=new Ll(-1,2147483647)):(Bl(),o=new Ll(0,-2147483648)),r=o}else r=i<0?t.s9(fh(e.dm_1/n.dm_1)):t;return r}function Cc(t,n,e){var r=wl(n.dm_1,e.dm_1);return r>0?t.t9(fh(n.dm_1/e.dm_1)):r<0?t.s9(fh(e.dm_1/n.dm_1)):t}function Sc(){return xc(),rt}function qc(){return xc(),ot}function Oc(){return xc(),st}function Pc(){return xc(),at}function Mc(){return xc(),ut}function Ac(){return xc(),ct}function Ec(t){return t}function Ic(t,n){return t-n|0}function Dc(t,n){return t-n|0}function Tc(t){return t}function Bc(t){return String.fromCharCode(t)}function Lc(){ht=this,this.em_1=0,this.fm_1=65535,this.gm_1=55296,this.hm_1=56319,this.im_1=56320,this.jm_1=57343,this.km_1=55296,this.lm_1=57343,this.mm_1=2,this.nm_1=16}function Nc(){return null==ht&&new Lc,ht}function Rc(t){Nc(),this.k1_1=t}function Fc(){}function Hc(){}function Uc(){}function Vc(){}function Wc(){}function Jc(){}function Kc(){}function Yc(){}function Gc(){}function Xc(){}function Zc(){}function Qc(){}function tl(){pt=this}function nl(t,n){null==pt&&new tl,this.r1_1=t,this.s1_1=n}function el(t){var n=null==t?null:zl(t);return null==n?"null":n}function rl(t,n){var e=null==t?null:zl(t),r=null==e?"null":e,i=null==n?null:zl(n);return r+(null==i?"null":i)}function il(t,n){var e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0,t[i]=n}while(i!==r);return t}function ol(t){return new cl(t)}function sl(t){var n=il(Array(t),!1);return n.$type$="BooleanArray",n}function al(t){var n=new Uint16Array(t);return n.$type$="CharArray",n}function ul(t){var n=il(Array(t),new Ll(0,0));return n.$type$="LongArray",n}function cl(t){this.qm_1=t,this.pm_1=0}function ll(t){this.sm_1=t,pe.call(this),this.rm_1=0}function hl(){return vl(),ft}function pl(){return vl(),_t}function fl(){return vl(),dt}function _l(){return vl(),vt}function dl(t){return vl(),nf(t,0)===t?hh(t):(pl()[0]=t,Et(fl()[(vl(),yt)],31)+fl()[_l()]|0)}function vl(){if(mt);else{mt=!0,ft=new ArrayBuffer(8);var t=new Float64Array(hl());_t=t,new Float32Array(hl());var n,e=new Int32Array(hl());dt=e,pl()[0]=-1,n=0!==fl()[0]?1:0,vt=n,yt=1-_l()|0}}function yl(t,n){var e;if(ml(t)){var r,i=t.charCodeAt(n);if(Nc(),i<0?r=!0:(Nc(),r=i>65535),r)throw mp("Invalid Char code: "+i);e=_h(i)}else e=t.ee(n);return e}function ml(t){return"string"==typeof t}function gl(t){return ml(t)?t.length:t.de()}function $l(t,n,e){return ml(t)?t.substring(n,e):t.fe(n,e)}function bl(t){return zl(t)}function wl(t,n){var e;switch(typeof t){case"number":e="number"==typeof n?xl(t,n):n instanceof Ll?xl(t,n.oi()):kl(t,n);break;case"string":case"boolean":e=kl(t,n);break;default:e=function(t,n){return t.ib(n)}(t,n)}return e}function xl(t,n){var e;if(tn)e=1;else if(t===n){var r;if(0!==t)r=0;else{var i=1/t;r=i===1/n?0:i<0?-1:1}e=r}else e=t!=t?n!=n?0:1:-1;return e}function kl(t,n){return tn?1:0}function jl(t){if(!tf("kotlinHashCodeValue$",t)){var n=nf(4294967296*Math.random(),0),e=new Object;e.value=n,e.enumerable=!1,Object.defineProperty(t,"kotlinHashCodeValue$",e)}return t.kotlinHashCodeValue$}function zl(t){return null==t?"null":wh(t)?"[...]":t.toString()}function Cl(t,n){return null==t?null==n:null!=n&&("object"==typeof t&&"function"==typeof t.equals?t.equals(n):t!=t?n!=n:"number"==typeof t&&"number"==typeof n?t===n&&(0!==t||1/t==1/n):t===n)}function Sl(t){if(null==t)return 0;var n;switch(typeof t){case"object":n="function"==typeof t.hashCode?t.hashCode():jl(t);break;case"function":n=jl(t);break;case"number":n=dl(t);break;case"boolean":n=t?1:0;break;default:n=ql(String(t))}return n}function ql(t){var n=0,e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0;var o=t.charCodeAt(i);n=Et(n,31)+o|0}while(i!==r);return n}function Ol(t,n){null!=Error.captureStackTrace?Error.captureStackTrace(t,n):t.stack=(new Error).stack}function Pl(t,n,e){Error.call(t),function(t,n,e){if(!Ml(t,"message")){var r;if(null==n){var i;if(null!==n){var o=null==e?null:e.toString();i=null==o?void 0:o}else i=void 0;r=i}else r=n;t.message=r}Ml(t,"cause")||(t.cause=e),t.name=Object.getPrototypeOf(t).constructor.name}(t,n,e)}function Ml(t,n){return Object.getPrototypeOf(t).hasOwnProperty(n)}function Al(t){var n;return null==t?function(){throw Wp()}():n=t,n}function El(){throw Gp()}function Il(t,n){for(var e=t.length,r=n.length,i=0,o=n;ii)for(r.length=n;i>>16|0,r=65535&t.b1_1,i=t.a1_1>>>16|0,o=65535&t.a1_1,s=n.b1_1>>>16|0,a=65535&n.b1_1,u=n.a1_1>>>16|0,c=0,l=0,h=0,p=0;return c=(c=c+((l=(l=l+((h=(h=h+((p=p+(o+(65535&n.a1_1)|0)|0)>>>16|0)|0)+(i+u|0)|0)>>>16|0)|0)+(r+a|0)|0)>>>16|0)|0)+(e+s|0)|0,new Ll((h&=65535)<<16|(p&=65535),(c&=65535)<<16|(l&=65535))}function Jl(t,n){return ch(),Wl(t,n.r9())}function Kl(t,n){if(ch(),eh(t))return Nl();if(eh(n))return Nl();if(Zl(t,Hl()))return rh(n)?Hl():Nl();if(Zl(n,Hl()))return rh(t)?Hl():Nl();if(nh(t))return nh(n)?Kl(ih(t),ih(n)):ih(Kl(ih(t),n));if(nh(n))return ih(Kl(t,ih(n)));if(oh(t,Ul())&&oh(n,Ul()))return sh(Xl(t)*Xl(n));var e=t.b1_1>>>16|0,r=65535&t.b1_1,i=t.a1_1>>>16|0,o=65535&t.a1_1,s=n.b1_1>>>16|0,a=65535&n.b1_1,u=n.a1_1>>>16|0,c=65535&n.a1_1,l=0,h=0,p=0,f=0;return p=p+((f=f+Et(o,c)|0)>>>16|0)|0,f&=65535,h=(h=h+((p=p+Et(i,c)|0)>>>16|0)|0)+((p=(p&=65535)+Et(o,u)|0)>>>16|0)|0,p&=65535,l=(l=(l=l+((h=h+Et(r,c)|0)>>>16|0)|0)+((h=(h&=65535)+Et(i,u)|0)>>>16|0)|0)+((h=(h&=65535)+Et(o,a)|0)>>>16|0)|0,h&=65535,l=l+(((Et(e,c)+Et(r,u)|0)+Et(i,a)|0)+Et(o,s)|0)|0,new Ll(p<<16|f,(l&=65535)<<16|h)}function Yl(t,n){ch();var e=63&n;return 0===e?t:e<32?new Ll(t.a1_1<>>(32-e|0)|0):new Ll(0,t.a1_1<<(e-32|0))}function Gl(t,n){ch();var e=63&n;return 0===e?t:e<32?new Ll(t.a1_1>>>e|0|t.b1_1<<(32-e|0),t.b1_1>>e):new Ll(t.b1_1>>(e-32|0),t.b1_1>=0?0:-1)}function Xl(t){return ch(),4294967296*t.b1_1+function(t){return ch(),t.a1_1>=0?t.a1_1:4294967296+t.a1_1}(t)}function Zl(t,n){return ch(),t.b1_1===n.b1_1&&t.a1_1===n.a1_1}function Ql(t,n){if(ch(),n<2||36=0x8000000000000000)return ch(),xt;if(t<0)return ih(sh(-t));var n=4294967296;return new Ll(nf(t%n,0),nf(t/n,0))}function ah(t,n){return ch(),Vl(t,n)>0}function uh(t,n){return ch(),Vl(t,n)>=0}function ch(){zt||(zt=!0,$t=th(0),bt=th(1),wt=th(-1),xt=new Ll(-1,2147483647),kt=new Ll(0,-2147483648),jt=th(16777216))}function lh(t){return t<<24>>24}function hh(t){return t instanceof Ll?t.va():function(t){return t>2147483647?2147483647:t<-2147483648?-2147483648:nf(t,0)}(t)}function ph(t){return t<<16>>16}function fh(t){return t instanceof Ll?t:sh(t)}function _h(t){return 65535&ph(hh(t))}function dh(t){return th(t)}function vh(t,n){return new yr(t,n)}function yh(){gh();var t=void 0;return $h(t,t,t,t,t,t)}function mh(t,n,e,r,i){return gh(),r.get=r,r.set=i,r.callableName=t,o=r,s=function(t,n,e){gh();var r=(gh(),Ct)[t][null==n?0:1];return 0===r.interfaces.length&&(r.interfaces.push(e),null==r.interfacesCache?r.interfacesCache={isComplete:!1,implementInterfaceMemo:{}}:Al(r.interfacesCache).isComplete=!1,Sh(Al(r.interfacesCache),e)),r}(n,i,e),gh(),o.$metadata$=s,o.constructor=o,o;var o,s}function gh(){if(St);else{St=!0;var t,n=[yh(),yh()],e=[yh(),yh()];t=[yh(),yh()],Ct=[n,e,t]}}function $h(t,n,e,r,i,o){return bh("class",t,n,e,r,i,o)}function bh(t,n,e,r,i,o,s){return{kind:t,simpleName:n,interfaceId:"interface"===t?-1:void 0,interfaces:e||[],associatedObjectKey:r,associatedObjects:i,suspendArity:o,fastPrototype:s,$kClass$:void 0,interfacesCache:{isComplete:void 0===s&&(void 0===e||0===e.length),implementInterfaceMemo:{}}}}function wh(t){return!!xh(t)||Dt(t)}function xh(t){return Array.isArray(t)}function kh(t,n){var e=t.constructor;return null!=e&&jh(e,n)}function jh(t,n){if(t===n)return!0;var e=t.$metadata$;null!=e&&null==e.interfacesCache&&(e.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var r,i=null==e?null:e.interfacesCache;if(null!=i){i.isComplete||zh(t);var o=n.$metadata$,s=null==o?null:o.interfaceId;if(null==s)return!1;var a=s;r=!!i.implementInterfaceMemo[a]}else{var u=Ch(t),c=null==u?null:u.constructor;if(null==c)return!1;r=jh(c,n)}return r}function zh(t){var n=t.$metadata$;null!=n&&null==n.interfacesCache&&(n.interfacesCache={isComplete:!1,implementInterfaceMemo:{}});var e=null==n?null:n.interfacesCache;if(null!=e){if(!0===e.isComplete)return e;for(var r=n.interfaces,i=0,o=r.length;i=0))throw mp(zl("Invalid new array size: "+n+"."));return Dl(t,n,null)}function Kh(t,n,e){return Pn().e2(n,e,t.length),t.slice(n,e)}function Yh(t){return new ua(t)}function Gh(t,n,e){for(var r=new Int32Array(e),i=0,o=0,s=0,a=t,u=0,c=a.length;u(o=t[i=(e+r|0)/2|0]))e=i+1|0;else{if(n===o)return i;r=i-1|0}return i-(n0},qn.prototype.p=function(){return this.x1_1},qn.prototype.q=function(){if(!this.o())throw Cp();var t=this;return t.x1_1=t.x1_1-1|0,this.b2_1.g(t.x1_1)},qn.$metadata$=$h("ListIteratorImpl",[xs],void 0,void 0,void 0,Sn.prototype),On.prototype.d2=function(t,n){if(t<0||t>=n)throw Bp("index: "+t+", size: "+n)},On.prototype.c2=function(t,n){if(t<0||t>n)throw Bp("index: "+t+", size: "+n)},On.prototype.e2=function(t,n,e){if(t<0||n>e)throw Bp("fromIndex: "+t+", toIndex: "+n+", size: "+e);if(t>n)throw mp("fromIndex: "+t+" > toIndex: "+n)},On.prototype.f2=function(t,n,e){if(t<0||n>e)throw Bp("startIndex: "+t+", endIndex: "+n+", size: "+e);if(t>n)throw mp("startIndex: "+t+" > endIndex: "+n)},On.prototype.g2=function(t){for(var n=1,e=t.c();e.d();){var r=e.e(),i=Et(31,n),o=null==r?null:Sl(r);n=i+(null==o?0:o)|0}return n},On.prototype.h2=function(t,n){if(t.f()!==n.f())return!1;for(var e=n.c(),r=t.c();r.d();)if(!Cl(r.e(),e.e()))return!1;return!0},On.$metadata$=Uh("Companion"),Mn.prototype.c=function(){return new Sn(this)},Mn.prototype.j=function(t){var n;t:{for(var e=0,r=this.c();r.d();){if(Cl(r.e(),t)){n=e;break t}e=e+1|0}n=-1}return n},Mn.prototype.i2=function(t){var n;t:{for(var e=this.n(this.f());e.o();)if(Cl(e.q(),t)){n=e.p();break t}n=-1}return n},Mn.prototype.n=function(t){return new qn(this,t)},Mn.prototype.equals=function(t){return t===this||!(null==t||!kh(t,Hc))&&Pn().h2(this,t)},Mn.prototype.hashCode=function(){return Pn().g2(this)},Mn.$metadata$=$h("AbstractList",[Hc],void 0,void 0,void 0,bn.prototype),An.prototype.d=function(){return this.j2_1.d()},An.prototype.e=function(){return this.j2_1.e().k2()},An.$metadata$=$h(void 0,[bs]),En.prototype.d=function(){return this.l2_1.d()},En.prototype.e=function(){return this.l2_1.e().m2()},En.$metadata$=$h(void 0,[bs]),Tn.prototype.n2=function(t){var n=t.k2(),e=null==n?null:Sl(n),r=null==e?0:e,i=t.m2(),o=null==i?null:Sl(i);return r^(null==o?0:o)},Tn.prototype.o2=function(t){return el(t.k2())+"="+el(t.m2())},Tn.prototype.p2=function(t,n){return!(null==n||!kh(n,Yc))&&!!Cl(t.k2(),n.k2())&&Cl(t.m2(),n.m2())},Tn.$metadata$=Uh("Companion"),Ln.prototype.r2=function(t){return this.q2_1.u2(t)},Ln.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.r2(null==t||Mh(t)?t:El())},Ln.prototype.c=function(){return new An(this.q2_1.u().c())},Ln.prototype.f=function(){return this.q2_1.f()},Ln.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,Un.prototype),Nn.prototype.x2=function(t){return this.w2_1.y2(t)},Nn.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.x2(null==t||Mh(t)?t:El())},Nn.prototype.c=function(){return new En(this.w2_1.u().c())},Nn.prototype.f=function(){return this.w2_1.f()},Nn.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,bn.prototype),Rn.prototype.u2=function(t){return!(null==Dn(this,t))},Rn.prototype.y2=function(t){var n;t:{var e=this.u();if(kh(e,Zc)&&e.h())n=!1;else{for(var r=e.c();r.d();)if(Cl(r.e().m2(),t)){n=!0;break t}n=!1}}return n},Rn.prototype.z2=function(t){if(null==t||!kh(t,Yc))return!1;var n=t.k2(),e=t.m2(),r=(kh(this,Gc)?this:El()).a3(n);return!(!Cl(e,r)||null==r&&!(kh(this,Gc)?this:El()).u2(n))},Rn.prototype.equals=function(t){if(t===this)return!0;if(null==t||!kh(t,Gc))return!1;if(this.f()!==t.f())return!1;var n;t:{var e=t.u();if(kh(e,Zc)&&e.h())n=!0;else{for(var r=e.c();r.d();){var i=r.e();if(!this.z2(i)){n=!1;break t}}n=!0}}return n},Rn.prototype.a3=function(t){var n=Dn(this,t);return null==n?null:n.m2()},Rn.prototype.hashCode=function(){return Sl(this.u())},Rn.prototype.h=function(){return 0===this.f()},Rn.prototype.f=function(){return this.u().f()},Rn.prototype.b3=function(){return null==this.s2_1&&(this.s2_1=new Ln(this)),Al(this.s2_1)},Rn.prototype.toString=function(){return tn(this.u(),", ","{","}",0,null,(t=this,function(n){return t.v2(n)}),24);var t},Rn.prototype.v2=function(t){return In(this,t.k2())+"="+In(this,t.m2())},Rn.prototype.c3=function(){return null==this.t2_1&&(this.t2_1=new Nn(this)),Al(this.t2_1)},Rn.$metadata$=$h("AbstractMap",[Gc]),Fn.prototype.d3=function(t){for(var n=0,e=t.c();e.d();){var r=e.e(),i=n,o=null==r?null:Sl(r);n=i+(null==o?0:o)|0}return n},Fn.prototype.e3=function(t,n){return t.f()===n.f()&&t.n1(n)},Fn.$metadata$=Uh("Companion"),Un.prototype.equals=function(t){return t===this||!(null==t||!kh(t,Wc))&&Hn().e3(this,t)},Un.prototype.hashCode=function(){return Hn().d3(this)},Un.$metadata$=$h("AbstractSet",[Wc],void 0,void 0,void 0,bn.prototype),Yn.prototype.equals=function(t){return!(null==t||!kh(t,Hc))&&t.h()},Yn.prototype.hashCode=function(){return 1},Yn.prototype.toString=function(){return"[]"},Yn.prototype.f=function(){return 0},Yn.prototype.h=function(){return!0},Yn.prototype.g3=function(t){return!1},Yn.prototype.i=function(t){return!1},Yn.prototype.h3=function(t){return t.h()},Yn.prototype.n1=function(t){return this.h3(t)},Yn.prototype.g=function(t){throw Bp("Empty list doesn't contain element at index "+t+".")},Yn.prototype.i3=function(t){return-1},Yn.prototype.j=function(t){return-1},Yn.prototype.c=function(){return Qn()},Yn.prototype.n=function(t){if(0!==t)throw Bp("Index: "+t);return Qn()},Yn.$metadata$=Uh("EmptyList",[Hc,Ga,Ra]),Xn.prototype.f=function(){return this.j3_1.length},Xn.prototype.h=function(){return 0===this.j3_1.length},Xn.prototype.l3=function(t){return function(t,n){return Rt(t,n)>=0}(this.j3_1,t)},Xn.prototype.i=function(t){return!(null!=t&&!Mh(t))&&this.l3(null==t||Mh(t)?t:El())},Xn.prototype.m3=function(t){var n;t:if(kh(t,Zc)&&t.h())n=!0;else{for(var e=t.c();e.d();){var r=e.e();if(!this.l3(r)){n=!1;break t}}n=!0}return n},Xn.prototype.n1=function(t){return this.m3(t)},Xn.prototype.c=function(){return ol(this.j3_1)},Xn.$metadata$=$h("ArrayAsCollection",[Zc]),Zn.prototype.d=function(){return!1},Zn.prototype.o=function(){return!1},Zn.prototype.p=function(){return 0},Zn.prototype.e=function(){throw Cp()},Zn.prototype.q=function(){throw Cp()},Zn.$metadata$=Uh("EmptyIterator",[xs]),te.prototype.p3=function(){return this.n3_1},te.prototype.m2=function(){return this.o3_1},te.prototype.toString=function(){return"IndexedValue(index="+this.n3_1+", value="+this.o3_1+")"},te.prototype.hashCode=function(){var t=this.n3_1;return Et(t,31)+(null==this.o3_1?0:Sl(this.o3_1))|0},te.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof te))return!1;var n=t instanceof te?t:El();return this.n3_1===n.n3_1&&!!Cl(this.o3_1,n.o3_1)},te.$metadata$=$h("IndexedValue"),ee.prototype.c=function(){return new ie(this.q3_1())},ee.$metadata$=$h("IndexingIterable",[Fc]),re.prototype.c=function(){return this.r3_1()},re.$metadata$=$h(void 0,[Fc]),ie.prototype.d=function(){return this.s3_1.d()},ie.prototype.e=function(){var t=this.t3_1;return this.t3_1=t+1|0,new te(Rs(t),this.s3_1.e())},ie.$metadata$=$h("IndexingIterator",[bs]),oe.$metadata$=Hh("MapWithDefault",[Gc]),ae.prototype.equals=function(t){return!(null==t||!kh(t,Gc))&&t.h()},ae.prototype.hashCode=function(){return 0},ae.prototype.toString=function(){return"{}"},ae.prototype.f=function(){return 0},ae.prototype.h=function(){return!0},ae.prototype.h4=function(t){return!1},ae.prototype.u2=function(t){return!(null!=t&&!Mh(t))&&this.h4(null==t||Mh(t)?t:El())},ae.prototype.i4=function(t){return null},ae.prototype.a3=function(t){return null==t||Mh(t)?this.i4(null==t||Mh(t)?t:El()):null},ae.prototype.u=function(){return Ae()},ae.prototype.b3=function(){return Ae()},ae.prototype.c3=function(){return Gn()},ae.$metadata$=Uh("EmptyMap",[Gc,Ga]),pe.prototype.e=function(){return this.q4()},pe.$metadata$=$h("IntIterator",[bs]),fe.prototype.r4=function(){return this.s4()},fe.prototype.e=function(){return new Rc(this.r4())},fe.$metadata$=$h("CharIterator",[bs]),_e.$metadata$=Hh("Sequence"),de.$metadata$=$h("SequenceScope"),me.prototype.y4=function(t){this.x4_1=t},me.prototype.d=function(){for(;;){switch(this.u4_1){case 0:break;case 1:if(Al(this.w4_1).d())return this.u4_1=2,!0;this.w4_1=null;break;case 4:return!1;case 3:case 2:return!0;default:throw ye(this)}this.u4_1=5;var t,n=Al(this.x4_1);this.x4_1=null,no(),t=Cs(),n.z4(t),Cs()}},me.prototype.e=function(){switch(this.u4_1){case 0:case 1:return function(t){if(t.d())return t.e();throw Cp()}(this);case 2:return this.u4_1=1,Al(this.w4_1).e();case 3:this.u4_1=0;var t=this.v4_1,n=null==t||Mh(t)?t:El();return this.v4_1=null,n;default:throw ye(this)}},me.prototype.t4=function(t,n){this.v4_1=t,this.u4_1=3;var e=n;return this.x4_1=e,nr()},me.prototype.a5=function(t){oo(t);null==t||Mh(t)||El(),this.u4_1=4},me.prototype.z4=function(t){return this.a5(t)},me.prototype.b5=function(){return Ke()},me.$metadata$=$h("SequenceBuilderIterator",[bs,Le],void 0,void 0,void 0,de.prototype),ge.prototype.c=function(){return ve(this.c5_1)},ge.$metadata$=$h(void 0,[_e]),be.prototype.e=function(){if(this.e5_1<0&&$e(this),0===this.e5_1)throw Cp();var t=this.d5_1,n=Mh(t)?t:El();return this.e5_1=-1,n},be.prototype.d=function(){return this.e5_1<0&&$e(this),1===this.e5_1},be.$metadata$=$h(void 0,[bs]),we.prototype.c=function(){return new be(this)},we.$metadata$=$h("GeneratorSequence",[_e]),xe.prototype.e=function(){return this.j5_1.l5_1(this.i5_1.e())},xe.prototype.d=function(){return this.i5_1.d()},xe.$metadata$=$h(void 0,[bs]),ke.prototype.c=function(){return new xe(this)},ke.$metadata$=$h("TransformingSequence",[_e]),je.$metadata$=Hh("DropTakeSequence",[_e]),ze.prototype.e=function(){if(0===this.m5_1)throw Cp();var t=this.m5_1;return this.m5_1=t-1|0,this.n5_1.e()},ze.prototype.d=function(){return this.m5_1>0&&this.n5_1.d()},ze.$metadata$=$h(void 0,[bs]),Ce.prototype.h1=function(t){return t>=this.p5_1?this:new Ce(this.o5_1,t)},Ce.prototype.c=function(){return new ze(this)},Ce.$metadata$=$h("TakeSequence",[_e,je]),Se.prototype.c=function(){return Qn()},Se.prototype.h1=function(t){return qe()},Se.$metadata$=Uh("EmptySequence",[_e,je]),Oe.prototype.c=function(){return this.q5_1()},Oe.$metadata$=$h(void 0,[_e]),Me.prototype.equals=function(t){return!(null==t||!kh(t,Wc))&&t.h()},Me.prototype.hashCode=function(){return 0},Me.prototype.toString=function(){return"[]"},Me.prototype.f=function(){return 0},Me.prototype.h=function(){return!0},Me.prototype.g3=function(t){return!1},Me.prototype.i=function(t){return!1},Me.prototype.h3=function(t){return t.h()},Me.prototype.n1=function(t){return this.h3(t)},Me.prototype.c=function(){return Qn()},Me.$metadata$=Uh("EmptySet",[Wc,Ga]),Ie.prototype.q1=function(){if(0===this.u5_1)this.u1();else{var t=this.w5_1.x5_1[this.v5_1];this.t1(null==t||Mh(t)?t:El());var n;n=(this.v5_1+1|0)%this.w5_1.y5_1|0,this.v5_1=n;var e=this.u5_1;this.u5_1=e-1|0}},Ie.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,wn.prototype),De.prototype.f=function(){return this.a6_1},De.prototype.g=function(t){var n;Pn().d2(t,this.a6_1),n=(this.z5_1+t|0)%this.y5_1|0;var e=this.x5_1[n];return null==e||Mh(e)?e:El()},De.prototype.b6=function(){return this.a6_1===this.y5_1},De.prototype.c=function(){return new Ie(this)},De.prototype.c6=function(t){for(var n=t.lengththis.a6_1&&(n[this.a6_1]=null),Ph(n)?n:El()},De.prototype.d6=function(){var t,n=this.a6_1;return t=il(Array(n),null),this.c6(t)},De.prototype.toArray=function(){return this.d6()},De.prototype.e6=function(t){var n,e,r=pn(1+(this.y5_1+(this.y5_1>>1)|0)|0,t);return 0===this.z5_1?n=Jh(this.x5_1,r):(e=il(Array(r),null),n=this.c6(e)),new De(n,this.a6_1)},De.prototype.f6=function(t){if(this.b6())throw kp("ring buffer is full");var n;n=(this.z5_1+this.a6_1|0)%this.y5_1|0,this.x5_1[n]=t;var e=this.a6_1;this.a6_1=e+1|0},De.prototype.g6=function(t){if(!(t>=0))throw mp(zl("n shouldn't be negative but it is "+t));if(!(t<=this.a6_1))throw mp(zl("n shouldn't be greater than the buffer size: n = "+t+", size = "+this.a6_1));if(t>0){var n=this.z5_1,e=(n+t|0)%this.y5_1|0;n>e?(Wh(this.x5_1,null,n,this.y5_1),Wh(this.x5_1,null,0,e)):Wh(this.x5_1,null,n,e),this.z5_1=e;this.a6_1=this.a6_1-t|0}},De.$metadata$=$h("RingBuffer",[Ra],void 0,void 0,void 0,Mn.prototype),Te.prototype.g7=function(t,n){var e=this.h7(t,n);return e.l7_1=Cs(),e.m7_1=null,e.q7()},Te.prototype.r7=function(t,n){return this.g7(t instanceof de?t:El(),n)},Te.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=21,this.v6_1=pn(this.p6_1,1024),this.w6_1=this.q6_1-this.p6_1|0,this.w6_1>=0){this.x6_1=ia(this.v6_1),this.y6_1=0,this.z6_1=this.r6_1,this.j7_1=12;continue t}this.a7_1=Ee(this.v6_1),this.b7_1=this.r6_1,this.j7_1=1;continue t;case 1:if(!this.b7_1.d()){this.j7_1=5;continue t}if(this.c7_1=this.b7_1.e(),this.a7_1.f6(this.c7_1),this.a7_1.b6()){if(this.a7_1.a6_1this.q6_1)){this.j7_1=8;continue t}if(this.j7_1=7,(t=this.u6_1.t4(this.s6_1?this.a7_1:oa(this.a7_1),this))===nr())return t;continue t;case 7:this.a7_1.g6(this.q6_1),this.j7_1=6;continue t;case 8:if(this.d7_1=this.a7_1,this.d7_1.h()){this.j7_1=10;continue t}if(this.j7_1=9,(t=this.u6_1.t4(this.a7_1,this))===nr())return t;continue t;case 9:this.j7_1=10;continue t;case 10:this.j7_1=11;continue t;case 11:case 19:this.j7_1=20;continue t;case 12:if(!this.z6_1.d()){this.j7_1=16;continue t}if(this.e7_1=this.z6_1.e(),this.y6_1>0){this.y6_1=this.y6_1-1|0,this.j7_1=12;continue t}this.j7_1=13;continue t;case 13:if(this.x6_1.a(this.e7_1),this.x6_1.f()===this.p6_1){if(this.j7_1=14,(t=this.u6_1.t4(this.x6_1,this))===nr())return t;continue t}this.j7_1=15;continue t;case 14:this.s6_1?this.x6_1.s7():this.x6_1=ia(this.p6_1),this.y6_1=this.w6_1,this.j7_1=15;continue t;case 15:this.j7_1=12;continue t;case 16:if(this.f7_1=this.x6_1,this.f7_1.h()){this.j7_1=19;continue t}if(this.t6_1||this.x6_1.f()===this.p6_1){if(this.j7_1=17,(t=this.u6_1.t4(this.x6_1,this))===nr())return t;continue t}this.j7_1=18;continue t;case 17:this.j7_1=18;continue t;case 18:this.j7_1=19;continue t;case 20:return Cs();case 21:throw this.m7_1}}catch(t){if(21===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Te.prototype.h7=function(t,n){var e=new Te(this.p6_1,this.q6_1,this.r6_1,this.s6_1,this.t6_1,n);return e.u6_1=t,e},Te.$metadata$=$h("windowedIterator$slambda",void 0,void 0,void 0,[1],op.prototype),Be.prototype.s=function(t,n){return this.v7_1(t,n)},Be.prototype.compare=function(t,n){return this.s(t,n)},Be.$metadata$=$h("sam$kotlin_Comparator$0",[Bs]),Le.$metadata$=Hh("Continuation"),Ne.$metadata$=Uh("Key",[He]),Fe.$metadata$=Hh("ContinuationInterceptor",[Ue]),He.$metadata$=Hh("Key"),Ue.$metadata$=Hh("Element",[We]),We.$metadata$=Hh("CoroutineContext"),Je.prototype.y7=function(t){return null},Je.prototype.e8=function(t,n){return t},Je.prototype.f8=function(t){return t},Je.prototype.d8=function(t){return this},Je.prototype.hashCode=function(){return 0},Je.prototype.toString=function(){return"EmptyCoroutineContext"},Je.$metadata$=Uh("EmptyCoroutineContext",[We,Ga]),Ze.prototype.y7=function(t){for(var n=this;;){var e=n.i8_1.y7(t);if(null!=e)return e;var r=n.h8_1;if(!(r instanceof Ze))return r.y7(t);n=r}},Ze.prototype.e8=function(t,n){return n(this.h8_1.e8(t,n),this.i8_1)},Ze.prototype.d8=function(t){if(null!=this.i8_1.y7(t))return this.h8_1;var n=this.h8_1.d8(t);return n===this.h8_1?this:n===Ke()?this.i8_1:new Ze(n,this.i8_1)},Ze.prototype.equals=function(t){return this===t||!!(t instanceof Ze&&Ye(t)===Ye(this))&&function(t,n){for(var e=n;;){if(!Ge(t,e.i8_1))return!1;var r=e.h8_1;if(!(r instanceof Ze))return Ge(t,kh(r,Ue)?r:El());e=r}}(t,this)},Ze.prototype.hashCode=function(){return Sl(this.h8_1)+Sl(this.i8_1)|0},Ze.prototype.toString=function(){return"["+this.e8("",Xe)+"]"},Ze.$metadata$=$h("CombinedContext",[We,Ga]),Qe.prototype.b8=function(t){return this.z7_1(t)},Qe.prototype.c8=function(t){return t===this||this.a8_1===t},Qe.$metadata$=$h("AbstractCoroutineContextKey",[He]),tr.prototype.k2=function(){return this.j8_1},tr.$metadata$=$h("AbstractCoroutineContextElement",[Ue]),rr.$metadata$=$h("CoroutineSingletons",void 0,void 0,void 0,void 0,nl.prototype),cr.prototype.l8=function(t){return this.k8_1.l8(t)},cr.prototype.q4=function(){return this.k8_1.q4()},cr.prototype.m8=function(t,n){return this.k8_1.m8(t,n)},cr.$metadata$=Uh("Default",[Ga],void 0,void 0,void 0,hr.prototype),hr.prototype.q4=function(){return this.l8(32)},hr.prototype.m8=function(t,n){pr(t,n);var e=n-t|0;if(e>0||e===Ps().w_1){var r;if((e&(0|-e))===e){var i=31-It(e)|0;r=this.l8(i)}else{var o;do{var s=this.q4()>>>1|0;o=s%e|0}while(((s-o|0)+(e-1|0)|0)<0);r=o}return t+r|0}for(;;){var a=this.q4();if(t<=a&&a>>2|0,this.r8_1=this.s8_1,this.s8_1=this.t8_1,this.t8_1=this.u8_1;var n=this.v8_1;this.u8_1=n,t=t^t<<1^n^n<<4,this.v8_1=t;return this.w8_1=this.w8_1+362437|0,t+this.w8_1|0},_r.prototype.l8=function(t){return function(t,n){return(t>>>(32-n|0)|0)&(0|-n)>>31}(this.q4(),t)},_r.$metadata$=$h("XorWowRandom",[Ga],void 0,void 0,void 0,hr.prototype),dr.$metadata$=Uh("Companion"),yr.prototype.x8=function(){return this.e1_1},yr.prototype.y8=function(){return this.f1_1},yr.prototype.z8=function(t){return this.e1_1<=t&&t<=this.f1_1},yr.prototype.h=function(){return this.e1_1>this.f1_1},yr.prototype.equals=function(t){return t instanceof yr&&(!(!this.h()||!t.h())||this.e1_1===t.e1_1&&this.f1_1===t.f1_1)},yr.prototype.hashCode=function(){return this.h()?-1:Et(31,this.e1_1)+this.f1_1|0},yr.prototype.toString=function(){return this.e1_1+".."+this.f1_1},yr.$metadata$=$h("IntRange",[Cr,Sr],void 0,void 0,void 0,kr.prototype),mr.$metadata$=Uh("Companion"),gr.prototype.e9=function(t){return Ic(this.f9_1,t)<=0&&Ic(t,this.g9_1)<=0},gr.prototype.h=function(){return Ic(this.f9_1,this.g9_1)>0},gr.prototype.equals=function(t){return t instanceof gr&&(!(!this.h()||!t.h())||!!Cl(new Rc(this.f9_1),new Rc(t.f9_1))&&Cl(new Rc(this.g9_1),new Rc(t.g9_1)))},gr.prototype.hashCode=function(){var t,n;return this.h()?t=-1:(n=this.f9_1,t=Et(31,n)+this.g9_1|0),t},gr.prototype.toString=function(){return new Rc(this.f9_1)+".."+new Rc(this.g9_1)},gr.$metadata$=$h("CharRange",[Cr,Sr],void 0,void 0,void 0,zr.prototype),$r.prototype.d=function(){return this.k9_1},$r.prototype.q4=function(){var t=this.l9_1;if(t===this.j9_1){if(!this.k9_1)throw Cp();this.k9_1=!1}else{this.l9_1=this.l9_1+this.i9_1|0}return t},$r.$metadata$=$h("IntProgressionIterator",void 0,void 0,void 0,void 0,pe.prototype),br.prototype.d=function(){return this.o9_1},br.prototype.s4=function(){var t=this.p9_1;if(t===this.n9_1){if(!this.o9_1)throw Cp();this.o9_1=!1}else{this.p9_1=this.p9_1+this.m9_1|0}return _h(t)},br.$metadata$=$h("CharProgressionIterator",void 0,void 0,void 0,void 0,fe.prototype),wr.prototype.d1=function(t,n,e){return new kr(t,n,e)},wr.$metadata$=Uh("Companion"),kr.prototype.c=function(){return new $r(this.e1_1,this.f1_1,this.g1_1)},kr.prototype.h=function(){return this.g1_1>0?this.e1_1>this.f1_1:this.e1_10?this.e1_1+".."+this.f1_1+" step "+this.g1_1:this.e1_1+" downTo "+this.f1_1+" step "+(0|-this.g1_1)},kr.$metadata$=$h("IntProgression",[Fc]),jr.$metadata$=Uh("Companion"),zr.prototype.c=function(){return new br(this.f9_1,this.g9_1,this.h9_1)},zr.prototype.h=function(){return this.h9_1>0?Ic(this.f9_1,this.g9_1)>0:Ic(this.f9_1,this.g9_1)<0},zr.prototype.equals=function(t){return t instanceof zr&&(!(!this.h()||!t.h())||!(!Cl(new Rc(this.f9_1),new Rc(t.f9_1))||!Cl(new Rc(this.g9_1),new Rc(t.g9_1)))&&this.h9_1===t.h9_1)},zr.prototype.hashCode=function(){var t;if(this.h())t=-1;else{var n;n=this.f9_1;var e,r=Et(31,n);e=this.g9_1,t=Et(31,r+e|0)+this.h9_1|0}return t},zr.prototype.toString=function(){return this.h9_1>0?new Rc(this.f9_1)+".."+new Rc(this.g9_1)+" step "+this.h9_1:new Rc(this.f9_1)+" downTo "+new Rc(this.g9_1)+" step "+(0|-this.h9_1)},zr.$metadata$=$h("CharProgression",[Fc]),Cr.$metadata$=Hh("ClosedRange"),Sr.$metadata$=Hh("OpenEndRange"),qr.$metadata$=Hh("KClassifier"),Or.$metadata$=Hh("KTypeParameter",[qr]),ei.prototype.e=function(){if(-1===this.ga_1&&ni(this),0===this.ga_1)throw Cp();var t=this.ja_1,n=t instanceof yr?t:El();return this.ja_1=null,this.ga_1=-1,n},ei.prototype.d=function(){return-1===this.ga_1&&ni(this),1===this.ga_1},ei.$metadata$=$h(void 0,[bs]),ri.prototype.c=function(){return new ei(this)},ri.$metadata$=$h("DelimitedRangesSequence",[_e]),oi.$metadata$=Hh("MatchResult"),si.$metadata$=Hh("MatchGroupCollection",[Zc]),ai.$metadata$=Hh("MatchNamedGroupCollection",[si]),pi.prototype.za=function(t){var n;try{n=Mi(t,!0)}catch(n){throw n instanceof bp?$p("Invalid ISO duration string format: '"+t+"'.",n):n}return n},pi.$metadata$=Uh("Companion"),Si.prototype.hb=function(t){return $i(this.bb_1,t)},Si.prototype.ib=function(t){return function(t,n){return $i(t.bb_1,n instanceof Si?n.bb_1:El())}(this,t)},Si.prototype.toString=function(){return zi(this.bb_1)},Si.prototype.hashCode=function(){return this.bb_1.hashCode()},Si.prototype.equals=function(t){return function(t,n){if(!(n instanceof Si))return!1;var e=n instanceof Si?n.bb_1:El();return!!t.equals(e)}(this.bb_1,t)},Si.$metadata$=$h("Duration",[$s]),Ri.$metadata$=$h("DeepRecursiveScope"),Fi.$metadata$=$h("DeepRecursiveFunction"),Hi.prototype.b5=function(){return Ke()},Hi.prototype.rb=function(t){this.ob_1=null,this.pb_1=t},Hi.prototype.z4=function(t){return this.rb(t)},Hi.prototype.kb=function(t,n){var e=n;return this.ob_1=kh(e,Le)?e:El(),this.nb_1=t,nr()},Hi.prototype.qb=function(){t:for(;;){var t=this.pb_1,n=this.ob_1;if(null==n){var e=new ro(t)instanceof ro?t:El();oo(e);var r=e;return null==r||Mh(r)?r:El()}var i=n;if(Cl(Ni(),t)){var o;try{var s,a=this.mb_1,u=this.nb_1;o="function"==typeof(s=a)?s(this,u,i):a.sb(this,u,i)}catch(t){if(t instanceof Error){var c;no(),c=io(t),i.z4(c),Cs();continue t}throw t}var l=o;if(l!==nr()){var h,p=null==l||Mh(l)?l:El();no(),h=p,i.z4(h),Cs()}}else this.pb_1=Ni(),i.z4(t)}},Hi.$metadata$=$h("DeepRecursiveScopeImpl",[Le],void 0,void 0,void 0,Ri.prototype),Vi.$metadata$=Hh("Lazy"),Wi.$metadata$=$h("LazyThreadSafetyMode",void 0,void 0,void 0,void 0,nl.prototype),Ji.prototype.m2=function(){this.ub_1===Yi()&&(this.ub_1=Al(this.tb_1)(),this.tb_1=null);var t=this.ub_1;return null==t||Mh(t)?t:El()},Ji.prototype.vb=function(){return!(this.ub_1===Yi())},Ji.prototype.toString=function(){return this.vb()?el(this.m2()):"Lazy value not initialized yet."},Ji.$metadata$=$h("UnsafeLazyImpl",[Vi,Ga]),Ki.$metadata$=Uh("UNINITIALIZED_VALUE"),to.prototype.xb=function(t){return t},to.prototype.yb=function(t){return io(t)},to.$metadata$=Uh("Companion"),eo.prototype.equals=function(t){return t instanceof eo&&Cl(this.wb_1,t.wb_1)},eo.prototype.hashCode=function(){return Sl(this.wb_1)},eo.prototype.toString=function(){return"Failure("+this.wb_1+")"},eo.$metadata$=$h("Failure",[Ga]),ro.prototype.toString=function(){return(t=this.zb_1)instanceof eo?zl(t):"Success("+el(t)+")";var t},ro.prototype.hashCode=function(){return null==(t=this.zb_1)?0:Sl(t);var t},ro.prototype.equals=function(t){return function(t,n){return n instanceof ro&&!!Cl(t,n instanceof ro?n.zb_1:El())}(this.zb_1,t)},ro.$metadata$=$h("Result",[Ga]),so.$metadata$=$h("NotImplementedError",void 0,void 0,void 0,void 0,dp.prototype),ao.prototype.ac=function(){return this.j4_1},ao.prototype.bc=function(){return this.k4_1},ao.prototype.toString=function(){return"("+this.j4_1+", "+this.k4_1+")"},ao.prototype.l4=function(){return this.j4_1},ao.prototype.m4=function(){return this.k4_1},ao.prototype.hashCode=function(){var t=null==this.j4_1?0:Sl(this.j4_1);return Et(t,31)+(null==this.k4_1?0:Sl(this.k4_1))|0},ao.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ao))return!1;var n=t instanceof ao?t:El();return!!Cl(this.j4_1,n.j4_1)&&!!Cl(this.k4_1,n.k4_1)},ao.$metadata$=$h("Pair",[Ga]),co.prototype.toString=function(){return"("+this.cc_1+", "+this.dc_1+", "+this.ec_1+")"},co.prototype.hashCode=function(){var t=null==this.cc_1?0:Sl(this.cc_1);return t=Et(t,31)+(null==this.dc_1?0:Sl(this.dc_1))|0,Et(t,31)+(null==this.ec_1?0:Sl(this.ec_1))|0},co.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof co))return!1;var n=t instanceof co?t:El();return!!Cl(this.cc_1,n.cc_1)&&!!Cl(this.dc_1,n.dc_1)&&!!Cl(this.ec_1,n.ec_1)},co.$metadata$=$h("Triple",[Ga]),po.$metadata$=Uh("Companion"),yo.prototype.kc=function(t){return _o(this.jc_1,t)},yo.prototype.ib=function(t){return function(t,n){return _o(t.jc_1,n instanceof yo?n.jc_1:El())}(this,t)},yo.prototype.toString=function(){return vo(this.jc_1)},yo.prototype.hashCode=function(){return this.jc_1},yo.prototype.equals=function(t){return function(t,n){return n instanceof yo&&t===(n instanceof yo?n.jc_1:El())}(this.jc_1,t)},yo.$metadata$=$h("UByte",[$s]),bo.prototype.d=function(){return this.mc_10},Ws.prototype.p=function(){return this.mf_1},Ws.prototype.q=function(){if(!this.o())throw Cp();var t=this;return t.mf_1=t.mf_1-1|0,this.nf_1=t.mf_1,this.tf_1.g(this.nf_1)},Ws.$metadata$=$h("ListIteratorImpl",[ks],void 0,void 0,void 0,Vs.prototype),Js.prototype.yf=function(t,n){Pn().c2(t,this.xf_1),this.vf_1.yf(this.wf_1+t|0,n);var e=this.xf_1;this.xf_1=e+1|0},Js.prototype.g=function(t){return Pn().d2(t,this.xf_1),this.vf_1.g(this.wf_1+t|0)},Js.prototype.n4=function(t){Pn().d2(t,this.xf_1);var n=this.vf_1.n4(this.wf_1+t|0),e=this.xf_1;return this.xf_1=e-1|0,n},Js.prototype.p4=function(t,n){return Pn().d2(t,this.xf_1),this.vf_1.p4(this.wf_1+t|0,n)},Js.prototype.f=function(){return this.xf_1},Js.prototype.kf=function(){return this.vf_1.kf()},Js.$metadata$=$h("SubList",[Ra],void 0,void 0,void 0,Ks.prototype),Ks.prototype.a=function(t){return this.kf(),this.yf(this.f(),t),!0},Ks.prototype.s7=function(){this.kf(),this.zf(0,this.f())},Ks.prototype.c=function(){return new Vs(this)},Ks.prototype.i=function(t){return this.j(t)>=0},Ks.prototype.j=function(t){var n=0,e=Kn(this);if(n<=e)do{var r=n;if(n=n+1|0,Cl(this.g(r),t))return r}while(r!==e);return-1},Ks.prototype.i2=function(t){var n=Kn(this);if(0<=n)do{var e=n;if(n=n+-1|0,Cl(this.g(e),t))return e}while(0<=n);return-1},Ks.prototype.n=function(t){return new Ws(this,t)},Ks.prototype.ag=function(t,n){return new Js(this,t,n)},Ks.prototype.zf=function(t,n){var e=this.n(t),r=n-t|0,i=0;if(i=0){var r,i=this,o=this.ji_1;r=n.substring(0,e),i.ji_1=o+r,this.ki();var s=e+1|0;n=n.substring(s)}this.ji_1=this.ji_1+n},Ua.prototype.ki=function(){console.log(this.ji_1),this.ji_1=""},Ua.$metadata$=$h("BufferedOutputToConsoleLog",void 0,void 0,void 0,void 0,Va.prototype),Va.prototype.fi=function(t){var n,e=this,r=this.ji_1;n=String(t),e.ji_1=r+n},Va.$metadata$=$h("BufferedOutput",void 0,void 0,void 0,void 0,Fa.prototype),Ja.prototype.b5=function(){return this.li_1.b5()},Ja.prototype.z4=function(t){var n=this.mi_1;if(n===ir())this.mi_1=t;else{if(n!==nr())throw kp("Already resumed");this.mi_1=or(),this.li_1.z4(t)}},Ja.prototype.ni=function(){if(this.mi_1===ir())return this.mi_1=nr(),nr();var t,n=this.mi_1;if(n===or())t=nr();else{if(n instanceof eo)throw n.wb_1;t=n}return t},Ja.$metadata$=$h("SafeContinuation",[Le]),Ya.$metadata$=$h("CancellationException",void 0,void 0,void 0,void 0,zp.prototype),Ga.$metadata$=Hh("Serializable"),nu.$metadata$=Hh("KCallable"),eu.$metadata$=Hh("KClass",[qr]),ru.prototype.qi=function(){return this.pi_1},ru.prototype.equals=function(t){return t instanceof ru&&Cl(this.qi(),t.qi())},ru.prototype.hashCode=function(){var t=this.ri(),n=null==t?null:ql(t);return null==n?0:n},ru.prototype.toString=function(){return"class "+this.ri()},ru.$metadata$=$h("KClassImpl",[eu]),iu.prototype.equals=function(t){return t instanceof iu&&!!ru.prototype.equals.call(this,t)&&this.ui_1===t.ui_1},iu.prototype.ri=function(){return this.ui_1},iu.prototype.si=function(t){return this.vi_1(t)},iu.$metadata$=$h("PrimitiveKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),ou.prototype.ri=function(){return this.xi_1},ou.prototype.si=function(t){return!1},ou.prototype.qi=function(){throw Ip("There's no native JS class for Nothing type")},ou.prototype.equals=function(t){return t===this},ou.prototype.hashCode=function(){return 0},ou.$metadata$=Uh("NothingKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),au.prototype.ri=function(){throw kp("Unknown simpleName for ErrorKClass")},au.prototype.si=function(t){throw kp("Can's check isInstance on ErrorKClass")},au.prototype.equals=function(t){return t===this},au.prototype.hashCode=function(){return 0},au.$metadata$=$h("ErrorKClass",[eu]),uu.prototype.ri=function(){return this.zi_1},uu.prototype.si=function(t){return Vh(t,this.qi())},uu.$metadata$=$h("SimpleKClassImpl",void 0,void 0,void 0,void 0,ru.prototype),cu.$metadata$=Hh("KProperty1",[hu]),lu.$metadata$=Hh("KMutableProperty1",[cu,fu]),hu.$metadata$=Hh("KProperty",[nu]),pu.$metadata$=Hh("KMutableProperty0",[_u,fu]),fu.$metadata$=Hh("KMutableProperty",[hu]),_u.$metadata$=Hh("KProperty0",[hu]),du.$metadata$=Hh("KType"),vu.prototype.aj=function(){return this.dj_1},vu.prototype.bj=function(){return this.ej_1},vu.prototype.cj=function(){return this.fj_1},vu.prototype.equals=function(t){return!!(t instanceof vu&&Cl(this.dj_1,t.dj_1)&&Cl(this.ej_1,t.ej_1))&&this.fj_1===t.fj_1},vu.prototype.hashCode=function(){return Et(Et(Sl(this.dj_1),31)+Sl(this.ej_1)|0,31)+(0|this.fj_1)|0},vu.prototype.toString=function(){var t=this.dj_1,n=kh(t,eu)?t:null,e=null==n?zl(this.dj_1):null!=n.ri()?n.ri():"(non-denotable type)",r=this.ej_1.h()?"":tn(this.ej_1,", ","<",">",0,null,null,56),i=this.fj_1?"?":"";return rl(e,r)+i},vu.$metadata$=$h("KTypeImpl",[du]),Tu.prototype.ak=function(){return this.gj_1},Tu.prototype.bk=function(){return this.hj_1},Tu.prototype.ck=function(){return this.ij_1},Tu.prototype.dk=function(){return this.jj_1},Tu.prototype.ek=function(){return this.kj_1},Tu.prototype.fk=function(){return this.lj_1},Tu.prototype.gk=function(){return this.mj_1},Tu.prototype.hk=function(){return this.nj_1},Tu.prototype.ik=function(){return this.oj_1},Tu.prototype.jk=function(){return this.pj_1},Tu.prototype.kk=function(){return this.qj_1},Tu.prototype.lk=function(){return this.rj_1},Tu.prototype.mk=function(){return this.sj_1},Tu.prototype.nk=function(){return this.tj_1},Tu.prototype.ok=function(){return this.uj_1},Tu.prototype.pk=function(){return this.vj_1},Tu.prototype.qk=function(){return this.wj_1},Tu.prototype.rk=function(){return this.xj_1},Tu.prototype.sk=function(){return this.yj_1},Tu.prototype.tk=function(){return this.zj_1},Tu.prototype.functionClass=function(t){var n,e,r=yu()[t];if(null==r){var i=new iu(Function,"Function"+t,(e=t,function(t){return"function"==typeof t&&t.length===e}));yu()[t]=i,n=i}else n=r;return n},Tu.$metadata$=Uh("PrimitiveClasses"),Object.defineProperty(Tu.prototype,"anyClass",{configurable:!0,get:Tu.prototype.ak}),Object.defineProperty(Tu.prototype,"numberClass",{configurable:!0,get:Tu.prototype.bk}),Object.defineProperty(Tu.prototype,"nothingClass",{configurable:!0,get:Tu.prototype.ck}),Object.defineProperty(Tu.prototype,"booleanClass",{configurable:!0,get:Tu.prototype.dk}),Object.defineProperty(Tu.prototype,"byteClass",{configurable:!0,get:Tu.prototype.ek}),Object.defineProperty(Tu.prototype,"shortClass",{configurable:!0,get:Tu.prototype.fk}),Object.defineProperty(Tu.prototype,"intClass",{configurable:!0,get:Tu.prototype.gk}),Object.defineProperty(Tu.prototype,"floatClass",{configurable:!0,get:Tu.prototype.hk}),Object.defineProperty(Tu.prototype,"doubleClass",{configurable:!0,get:Tu.prototype.ik}),Object.defineProperty(Tu.prototype,"arrayClass",{configurable:!0,get:Tu.prototype.jk}),Object.defineProperty(Tu.prototype,"stringClass",{configurable:!0,get:Tu.prototype.kk}),Object.defineProperty(Tu.prototype,"throwableClass",{configurable:!0,get:Tu.prototype.lk}),Object.defineProperty(Tu.prototype,"booleanArrayClass",{configurable:!0,get:Tu.prototype.mk}),Object.defineProperty(Tu.prototype,"charArrayClass",{configurable:!0,get:Tu.prototype.nk}),Object.defineProperty(Tu.prototype,"byteArrayClass",{configurable:!0,get:Tu.prototype.ok}),Object.defineProperty(Tu.prototype,"shortArrayClass",{configurable:!0,get:Tu.prototype.pk}),Object.defineProperty(Tu.prototype,"intArrayClass",{configurable:!0,get:Tu.prototype.qk}),Object.defineProperty(Tu.prototype,"longArrayClass",{configurable:!0,get:Tu.prototype.rk}),Object.defineProperty(Tu.prototype,"floatArrayClass",{configurable:!0,get:Tu.prototype.sk}),Object.defineProperty(Tu.prototype,"doubleArrayClass",{configurable:!0,get:Tu.prototype.tk}),Fu.$metadata$=Hh("Appendable"),Wu.prototype.de=function(){return this.fa_1.length},Wu.prototype.ee=function(t){var n=this.fa_1;if(!(t>=0&&t<=Ur(n)))throw Bp("index: "+t+", length: "+this.de()+"}");return yl(n,t)},Wu.prototype.fe=function(t,n){return this.fa_1.substring(t,n)},Wu.prototype.q9=function(t){return this.fa_1=this.fa_1+new Rc(t),this},Wu.prototype.b=function(t){return this.fa_1=this.fa_1+el(t),this},Wu.prototype.uk=function(t,n,e){var r=t;return this.gb(null==r?"null":r,n,e)},Wu.prototype.db=function(t){return this.fa_1=this.fa_1+el(t),this},Wu.prototype.eb=function(t){var n=this,e=this.fa_1,r=t;return n.fa_1=e+(null==r?"null":r),this},Wu.prototype.fb=function(t,n){Pn().c2(t,this.de());var e,r=this.fa_1.substring(0,t)+new Rc(n);return e=this.fa_1.substring(t),this.fa_1=r+e,this},Wu.prototype.vk=function(t){if(t<0)throw mp("Negative new length: "+t+".");if(t<=this.de()){var n;n=this.fa_1.substring(0,t),this.fa_1=n}else{var e=this.de();if(egl(t))throw Bp("Start index out of bounds: "+n+", input length: "+gl(t));return ac(this.y9_1,zl(t),n,this.y9_1)},oc.prototype.dl=function(t,n,e,r){return 0!=(2&e)&&(n=0),this.cl(t,n)},oc.prototype.el=function(t,n){if(n<0||n>gl(t))throw Bp("Start index out of bounds: "+n+", input length: "+gl(t));return e=this,r=t,i=n,new we((function(){return e.cl(r,i)}),rc);var e,r,i},oc.prototype.fl=function(t,n,e,r){return 0!=(2&e)&&(n=0),this.el(t,n)},oc.prototype.ca=function(t,n){if(!Jr(n,92,!1,2)&&!Jr(n,36,!1,2)){var e=zl(t),r=this.y9_1;return e.replace(r,n)}return this.gl(t,ic(n))},oc.prototype.gl=function(t,n){var e=this.dl(t,0,2,null);if(null==e)return zl(t);var r=0,i=gl(t),o=Hu();do{var s=Al(e);o.uk(t,r,s.qa().x8()),o.b(n(s)),r=s.qa().y8()+1|0,e=s.e()}while(r>>e|0|t.b1_1<<(32-e|0),t.b1_1>>>e|0):new Ll(32===e?t.b1_1:t.b1_1>>>(e-32|0)|0,0)}(this,t)},Ll.prototype.wc=function(t){return new Ll(this.a1_1&t.a1_1,this.b1_1&t.b1_1)},Ll.prototype.en=function(t){return new Ll(this.a1_1|t.a1_1,this.b1_1|t.b1_1)},Ll.prototype.ab=function(t){return new Ll(this.a1_1^t.a1_1,this.b1_1^t.b1_1)},Ll.prototype.dn=function(){return new Ll(~this.a1_1,~this.b1_1)},Ll.prototype.fn=function(){return lh(this.a1_1)},Ll.prototype.gn=function(){return ph(this.a1_1)},Ll.prototype.va=function(){return this.a1_1},Ll.prototype.oi=function(){return Xl(this)},Ll.prototype.valueOf=function(){return this.oi()},Ll.prototype.equals=function(t){return t instanceof Ll&&Zl(this,t)},Ll.prototype.hashCode=function(){return t=this,ch(),t.a1_1^t.b1_1;var t},Ll.prototype.toString=function(){return Ql(this,10)},Ll.$metadata$=$h("Long",[$s],void 0,void 0,void 0,js.prototype),Zh.$metadata$=Uh("Digit"),tp.$metadata$=Uh("Letter"),ep.$metadata$=Uh("OtherLowercase"),op.prototype.b5=function(){return Al(this.o7_1)},op.prototype.t7=function(){var t,n=this.p7_1;if(null==n){var e=this.b5().y7(Re()),r=null==e?null:e.w7(this),i=null==r?this:r;this.p7_1=i,t=i}else t=n;return t},op.prototype.u7=function(t){var n,e=this;if(Zi(t))n=null;else{var r=t;n=null==r||Mh(r)?r:El()}for(var i=n,o=Qi(t);;){var s=e;null==o?s.l7_1=i:(s.j7_1=s.k7_1,s.m7_1=o);try{var a=s.q7();if(a===nr())return Cs();i=a,o=null}catch(t){i=null,o=t}ip(s);var u=Al(s.i7_1);if(!(u instanceof op)){if(null!=o){var c,l=Al(o);no(),c=io(l),u.z4(c),Cs()}else{var h,p=i;no(),h=p,u.z4(h),Cs()}return Cs()}e=u,Cs()}},op.prototype.z4=function(t){return this.u7(t)},op.$metadata$=$h("CoroutineImpl",[Le]),sp.prototype.b5=function(){throw kp("This continuation is already complete")},sp.prototype.u7=function(t){throw kp("This continuation is already complete")},sp.prototype.z4=function(t){return this.u7(t)},sp.prototype.toString=function(){return"This continuation is already complete"},sp.$metadata$=Uh("CompletedContinuation",[Le]),cp.prototype.q7=function(){if(null!=this.m7_1)throw this.m7_1;var t;return"function"==typeof(t=this.wn_1)?t(this.xn_1,this.vn_1):this.wn_1.r7(this.xn_1,this.vn_1)},cp.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,op.prototype),lp.prototype.q7=function(){if(null!=this.m7_1)throw this.m7_1;return this.go_1()},lp.$metadata$=$h(void 0,void 0,void 0,void 0,void 0,op.prototype),fp.$metadata$=$h("Exception",void 0,void 0,void 0,void 0,Error.prototype),dp.$metadata$=$h("Error",void 0,void 0,void 0,void 0,Error.prototype),bp.$metadata$=$h("IllegalArgumentException",void 0,void 0,void 0,void 0,Ap.prototype),zp.$metadata$=$h("IllegalStateException",void 0,void 0,void 0,void 0,Ap.prototype),qp.$metadata$=$h("NoSuchElementException",void 0,void 0,void 0,void 0,Ap.prototype),Ap.$metadata$=$h("RuntimeException",void 0,void 0,void 0,void 0,fp.prototype),Dp.$metadata$=$h("UnsupportedOperationException",void 0,void 0,void 0,void 0,Ap.prototype),Tp.$metadata$=$h("ConcurrentModificationException",void 0,void 0,void 0,void 0,Ap.prototype),Lp.$metadata$=$h("IndexOutOfBoundsException",void 0,void 0,void 0,void 0,Ap.prototype),Rp.$metadata$=$h("AssertionError",void 0,void 0,void 0,void 0,dp.prototype),Hp.$metadata$=$h("ArithmeticException",void 0,void 0,void 0,void 0,Ap.prototype),Vp.$metadata$=$h("NumberFormatException",void 0,void 0,void 0,void 0,bp.prototype),Jp.$metadata$=$h("NullPointerException",void 0,void 0,void 0,void 0,Ap.prototype),Yp.$metadata$=$h("NoWhenBranchMatchedException",void 0,void 0,void 0,void 0,Ap.prototype),Xp.$metadata$=$h("ClassCastException",void 0,void 0,void 0,void 0,Ap.prototype),Qp.$metadata$=$h("UninitializedPropertyAccessException",void 0,void 0,void 0,void 0,Ap.prototype),Hh("Function1"),Hh("Function0"),sf.$metadata$=Hh("SuspendFunction1"),af.$metadata$=Hh("SuspendFunction2"),Ze.prototype.f8=Tt,tr.prototype.y7=Bt,tr.prototype.e8=Lt,tr.prototype.d8=Nt,tr.prototype.f8=Tt,Ca.prototype.th=function(){var t=Object.create(null);return t.foo=1,ef(t,"foo"),t},V=null,qt=0,t.$_$=t.$_$||{},t.$_$.a=function(t,n,e){return new vu(t,Yh(n),e)},t.$_$.b=function(t,n){if(t instanceof ru&&n instanceof ru){var e,r=n.qi().$metadata$,i=null==r?null:r.associatedObjectKey;if(null==(e=null==i?null:i))return null;var o=e,s=t.qi().$metadata$,a=null==s?null:s.associatedObjects;if(null==a)return null;var u=a[o];return null==u?null:u()}return null},t.$_$.c=function(t){var n;switch(typeof t){case"string":n=Bu().qj_1;break;case"number":n=nf(t,0)===t?Bu().mj_1:Bu().oj_1;break;case"boolean":n=Bu().jj_1;break;case"function":var e;e=t,n=Bu().functionClass(e.length);break;default:var r;if(Ih(t))r=Bu().sj_1;else if(Bh(t))r=Bu().tj_1;else if(Dh(t))r=Bu().uj_1;else if(Th(t))r=Bu().vj_1;else if(Lh(t))r=Bu().wj_1;else if(Rh(t))r=Bu().xj_1;else if(Nh(t))r=Bu().yj_1;else if(Fh(t))r=Bu().zj_1;else if(kh(t,eu))r=Lu(eu);else if(Ph(t))r=Bu().pj_1;else{var i=Object.getPrototypeOf(t).constructor;r=i===Object?Bu().gj_1:i===Error?Bu().rj_1:Nu(i)}n=r}return n},t.$_$.d=Lu,t.$_$.e=function(t){var n=0,e=0,r=t.length-1|0;if(e<=r)do{var i=e;e=e+1|0,n=n+t[i].length|0}while(i!==r);var o=t[0],s=new o.constructor(n);if(null!=o.$type$){var a=o.$type$;s.$type$=a}n=0;var u=0,c=t.length-1|0;if(u<=c)do{var l=u;u=u+1|0;var h=t[l],p=0,f=h.length-1|0;if(p<=f)do{var _=p;p=p+1|0;var d=n;n=d+1|0,s[d]=h[_]}while(_!==f)}while(l!==c);return s},t.$_$.f=function(){return function(){if(et)return Cs();et=!0,new sc("IGNORE_CASE",0,"i"),nt=new sc("MULTILINE",1,"m")}(),nt},t.$_$.g=qc,t.$_$.h=function(){return function(){if(O)return Cs();O=!0,new Wi("SYNCHRONIZED",0),q=new Wi("PUBLICATION",1),new Wi("NONE",2)}(),q},t.$_$.i=function(t,n){return null==t||Mh(t)?t:El()},t.$_$.j=function(t,n,e,r,i,o){return 0!=(2&i)&&(e=0),0!=(4&i)&&(r=t.length),function(t,n,e,r){Pn().e2(e,r,t.length),t.fill(n,e,r)}(t,n,e,r)},t.$_$.k=tn,t.$_$.l=Ut,t.$_$.m=Yr,t.$_$.n=Nr,t.$_$.o=function(t,n,e,r,i,o){return 0!=(4&i)&&(r=!1),function(t,n,e,r){var i=new RegExp(ec().al(n),r?"gui":"gu"),o=ec().bl(e);return t.replace(i,o)}(t,n,e,r)},t.$_$.p=function(t,n,e,r,i,o){return 0!=(2&i)&&(e=!1),0!=(4&i)&&(r=0),Lr(t,n,e,r)},t.$_$.q=yc,t.$_$.r=ia,t.$_$.s=ra,t.$_$.t=oa,t.$_$.u=ya,t.$_$.v=da,t.$_$.w=function(t){return function(t,n){return _a(n),n.rg(t),n}(t,Object.create(ma.prototype))},t.$_$.x=$a,t.$_$.y=function(){return t=Object.create(wa.prototype),ea.call(t),wa.call(t),t.hh_1=da(),t;var t},t.$_$.z=function(t){return function(t,n){return ea.call(n),wa.call(n),n.hh_1=ya(t.f()),n.j1(t),n}(t,Object.create(wa.prototype))},t.$_$.a1=Aa,t.$_$.b1=function(t){return function(t,n){return _a(n),Da.call(n),n.e4_1=da(),n.rg(t),n}(t,Object.create(Da.prototype))},t.$_$.c1=Ta,t.$_$.d1=function(t){return function(t,n){return ba(Aa(),n),Na.call(n),n.j1(t),n}(t,Object.create(Na.prototype))},t.$_$.e1=function t(n){var e=function(t,n){return xp(t,n),Ya.call(n),n}(n,Object.create(Ya.prototype));return Ol(e,t),e},t.$_$.f1=Ka,t.$_$.g1=function t(n,e){var r=Ka(n,e,Object.create(Ya.prototype));return Ol(r,t),r},t.$_$.h1=function(t){return function(t,n){return Ja.call(n,t,ir()),n}(t,Object.create(Ja.prototype))},t.$_$.i1=function(t){return function(t,n){return oc.call(n,t,Pe()),n}(t,Object.create(oc.prototype))},t.$_$.j1=function(t,n){return function(t,n,e){return oc.call(e,t,Ls(n)),e}(t,n,Object.create(oc.prototype))},t.$_$.k1=Hu,t.$_$.l1=Vu,t.$_$.m1=function t(){var n,e=(Op(n=Object.create(Tp.prototype)),Tp.call(n),n);return Ol(e,t),e},t.$_$.n1=function t(n){var e=function(t,n){return Pp(t,n),Tp.call(n),n}(n,Object.create(Tp.prototype));return Ol(e,t),e},t.$_$.o1=function(t,n,e){return Pl(e,t,n),dp.call(e),e},t.$_$.p1=vp,t.$_$.q1=yp,t.$_$.r1=mp,t.$_$.s1=gp,t.$_$.t1=wp,t.$_$.u1=kp,t.$_$.v1=function t(n,e){var r=jp(n,e,Object.create(zp.prototype));return Ol(r,t),r},t.$_$.w1=Bp,t.$_$.x1=Cp,t.$_$.y1=Mp,t.$_$.z1=function t(n,e){var r=Mp(n,e,Object.create(Ap.prototype));return Ol(r,t),r},t.$_$.a2=Ep,t.$_$.b2=Ip,t.$_$.c2=function(t){var n=Vu();yi(t)&&n.q9(45),n.eb("PT");var e=gi(t),r=ji(e),i=bi(e),o=wi(e),s=xi(e),a=r;mi(t)&&(a=new Ll(1316134911,2328));var u=!a.equals(new Ll(0,0)),c=0!==o||!(0===s),l=0!==i||!!c&&u;return u&&n.db(a).q9(72),l&&n.db(i).q9(77),(c||!u&&!l)&&(Ci(n,0,o,s,9,"S",!0),Cs()),n.toString()},t.$_$.d2=function(t){return function(t){var n,e=ci(t);if(li(t))n=e;else{var r,i;if(Bl(),r=new Ll(-1,2147483647).s9(dh(1e6)),e.c1(r)>0)Bl(),n=new Ll(-1,2147483647);else Bl(),i=new Ll(0,-2147483648).s9(dh(1e6)),e.c1(i)<0?(Bl(),n=new Ll(0,-2147483648)):n=Ii(e)}return n}(t)},t.$_$.e2=Ec,t.$_$.f2=Dc,t.$_$.g2=Tc,t.$_$.h2=Bc,t.$_$.i2=Gi,t.$_$.j2=Qi,t.$_$.k2=Zi,t.$_$.l2=Xi,t.$_$.m2=lo,t.$_$.n2=ho,t.$_$.o2=vo,t.$_$.p2=mo,t.$_$.q2=function(t){return new Int8Array(t)},t.$_$.r2=function(t,n){return t[n]},t.$_$.s2=function(t,n,e){var r;r=e,t[n]=r},t.$_$.t2=$o,t.$_$.u2=go,t.$_$.v2=jo,t.$_$.w2=zo,t.$_$.x2=Oo,t.$_$.y2=function(t){return new Int32Array(t)},t.$_$.z2=Mo,t.$_$.a3=function(t,n){return t[n]},t.$_$.b3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.c3=Eo,t.$_$.d3=Ao,t.$_$.e3=Lo,t.$_$.f3=No,t.$_$.g3=Uo,t.$_$.h3=function(t){return ul(t)},t.$_$.i3=Wo,t.$_$.j3=function(t,n){return t[n]},t.$_$.k3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.l3=Ko,t.$_$.m3=Jo,t.$_$.n3=Qo,t.$_$.o3=ts,t.$_$.p3=is,t.$_$.q3=function(t){return new Int16Array(t)},t.$_$.r3=ss,t.$_$.s3=function(t,n){return t[n]},t.$_$.t3=function(t,n,e){var r;r=e,t[n]=r},t.$_$.u3=us,t.$_$.v3=as,t.$_$.w3=Re,t.$_$.x3=Ke,t.$_$.y3=function(){return null==U&&new Ts,U},t.$_$.z3=function(){return null==B&&new Ss,B},t.$_$.a4=Is,t.$_$.b4=As,t.$_$.c4=Ps,t.$_$.d4=function(){return null==L&&new qs,L},t.$_$.e4=function(){return null==H&&new Ds,H},t.$_$.f4=lr,t.$_$.g4=Bu,t.$_$.h4=fi,t.$_$.i4=Nc,t.$_$.j4=Bl,t.$_$.k4=no,t.$_$.l4=fo,t.$_$.m4=So,t.$_$.n4=Fo,t.$_$.o4=es,t.$_$.p4=Cs,t.$_$.q4=bn,t.$_$.r4=Mn,t.$_$.s4=Rn,t.$_$.t4=Ks,t.$_$.u4=Un,t.$_$.v4=ua,t.$_$.w4=Zc,t.$_$.x4=ma,t.$_$.y4=wa,t.$_$.z4=Fc,t.$_$.a5=bs,t.$_$.b5=Da,t.$_$.c5=Na,t.$_$.d5=xs,t.$_$.e5=Hc,t.$_$.f5=Yc,t.$_$.g5=Gc,t.$_$.h5=Xc,t.$_$.i5=ks,t.$_$.j5=Vc,t.$_$.k5=Kc,t.$_$.l5=Uc,t.$_$.m5=Wc,t.$_$.n5=function(t,n){return t.j1(Yh(n))},t.$_$.o5=le,t.$_$.p5=function(t,n,e,r,i){Pn().e2(r,i,t.length);var o=i-r|0;if(Pn().e2(e,e+o|0,n.length),Dt(n)&&Dt(t)){var s=t.subarray(r,i);n.set(s,e)}else if(t!==n||e<=r){var a=0;if(a0&&n>0))throw mp(zl(t!==n?"Both size "+t+" and step "+n+" must be greater than zero.":"size "+t+" must be greater than zero."))}(n,e),kh(t,Ra)&&kh(t,Hc)){var i=t.f(),o=ia((i/e|0)+(0==(i%e|0)?0:1)|0),s=0;t:for(;0<=s&&s=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int16Array(n))},t.$_$.x5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Dl(t,n,new Ll(0,0));return e.$type$="LongArray",e},t.$_$.y5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Dl(t,n,!1);return e.$type$="BooleanArray",e},t.$_$.z5=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));var e=Il(t,al(n));return e.$type$="CharArray",e},t.$_$.a6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int8Array(n))},t.$_$.b6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Float64Array(n))},t.$_$.c6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Float32Array(n))},t.$_$.d6=Jh,t.$_$.e6=function(t,n){if(!(n>=0))throw mp(zl("Invalid new array size: "+n+"."));return Il(t,new Int32Array(n))},t.$_$.f6=Fs,t.$_$.g6=Vn,t.$_$.h6=se,t.$_$.i6=Pe,t.$_$.j6=Wh,t.$_$.k6=function(t){return t.h()?null:t.g(0)},t.$_$.l6=function(t){if(kh(t,Hc))return t.h()?null:t.g(0);var n=t.c();return n.d()?n.e():null},t.$_$.m6=Zt,t.$_$.n6=function(t){if(kh(t,Hc))return Zt(t);var n=t.c();if(!n.d())throw Sp("Collection is empty.");return n.e()},t.$_$.o6=function(t){for(var n=ra(),e=t.c();e.d();)le(n,e.e());return n},t.$_$.p6=function(t,n){return function(t,n){if(kh(t,oe))return t.u3(n);var e=t.a3(n);if(null==e&&!t.u2(n))throw Sp("Key "+n+" is missing in the map.");return null==e||Mh(e)?e:El()}(t,n)},t.$_$.q6=Rt,t.$_$.r6=function(t){return new yr(0,function(t){return t.length-1|0}(t))},t.$_$.s6=function(t){return new yr(0,Vt(t))},t.$_$.t6=function(t){return t.length-1|0},t.$_$.u6=Kn,t.$_$.v6=Ft,t.$_$.w6=function(t){return t.h()?null:t.g(t.f()-1|0)},t.$_$.x6=function(t){if(t.h())throw Sp("List is empty.");return t.g(Kn(t))},t.$_$.y6=Ns,t.$_$.z6=function(t){return t.length>0?Yh(t):Vn()},t.$_$.a7=function(t){return t.length>0?(n=t,ce(e=Ia(t.length),n),e):se();var n,e},t.$_$.b7=Wn,t.$_$.c7=function(t,n){return function(t,n){var e=t.slice();e.length=e.length+n.f()|0,void 0!==t.$type$&&(e.$type$=t.$type$);for(var r=t.length,i=n.c();i.d();){var o=i.e(),s=r;r=s+1|0,e[s]=o}return e}(t,n)},t.$_$.d7=function(t,n){var e=function(t){return kh(t,Zc)?t.f():null}(n),r=null==e?null:t.f()+e|0,i=La(null==r?Et(t.f(),2):r);return i.j1(t),le(i,n),i},t.$_$.e7=function(t,n){return function(t,n,e){if(!kh(t,Ra))return he(kh(t,Qc)?t:El(),n,e);var r=0,i=0,o=Kn(t);if(i<=o)do{var s=i;i=i+1|0;var a=t.g(s);n(a)!==e&&(r!==s&&t.p4(r,a),r=r+1|0)}while(s!==o);if(r0?function(t){switch(t.length){case 0:return Pe();case 1:return Ls(t[0]);default:return Gt(t,La(t.length))}}(t):Pe()},t.$_$.i7=function(t){return 1===t.f()?t.g(0):null},t.$_$.j7=function(t,n){!function(t,n){if(t.f()<=1)return Cs();var e=Fs(t);!function(t,n){if(function(){if(null!=V)return V;V=!1;var t=[],n=0;if(n<600)do{var e=n;n=n+1|0,t.push(e)}while(n<600);var r=la;t.sort(r);var i=1,o=t.length;if(i=u)return!1}while(iPs().w_1?t.m8(n.e1_1-1|0,n.f1_1)+1|0:t.q4()}(n,t)}catch(t){throw t instanceof bp?Sp(t.message):t}},t.$_$.ka=function(t,n){return function(t,n){if(!t)throw mp("Step must be positive, was: "+zl(n)+".")}(n>0,n),xr().d1(t.e1_1,t.f1_1,t.g1_1>0?n:0|-n)},t.$_$.la=cn,t.$_$.ma=eu,t.$_$.na=pu,t.$_$.oa=lu,t.$_$.pa=cu,t.$_$.qa=Or,t.$_$.ra=de,t.$_$.sa=function(t){var n=t.c();if(!n.d())return null;for(var e=n.e();n.d();)e=n.e();return e},t.$_$.ta=function(t){return new ge(t)},t.$_$.ua=function(t,n,e){if(null==t)return null==n;if(null==n)return!1;if(!e)return t==n;if(t.length!==n.length)return!1;var r=0,i=t.length;if(ri)return 0;var s=3&o;if(0===s){var a=2,u=r,c=0;if(c<=1)do{if(c=c+1|0,(u=u+(o>>a&127)|0)>n)return 3;if((u=u+(o>>(a=a+7|0)&127)|0)>n)return 0;a=a+7|0}while(c<=1);return 3}if(o<=7)return s;var l=n-r|0;return o>>Et(2,o<=31?l%2|0:l)&3}(t)||function(t){var n=Xh(rp().ln_1,t);return n>=0&&t<(rp().ln_1[n]+rp().mn_1[n]|0)}(Tc(t))}(t)},t.$_$.xa=function(t){var n;switch(gl(t)){case 0:throw Sp("Char sequence is empty.");case 1:n=yl(t,0);break;default:throw mp("Char sequence has more than one element.")}return n},t.$_$.ya=function(t){return un(t)},t.$_$.za=function(t){return null!=t&&"true"===t.toLowerCase()},t.$_$.ab=function(t){var n=+t;return Za(n)&&!tc(t)||0===n&&mc(t)?null:n},t.$_$.bb=Xu,t.$_$.cb=Dr,t.$_$.db=Qu,t.$_$.eb=Ir,t.$_$.fb=Zu,t.$_$.gb=function(t){var n,e=function(t){return function(t,n){var e=_s(t,n);if(null==(null==e?null:new Po(e)))return null;var r=e;fo();var i=255;return ds(r,i)>0?null:lh(r)}(t,10)}(t);return null==(null==e?null:new yo(e))?Tr(t):n=e,n},t.$_$.hb=function(t){var n,e=function(t){return _s(t,10)}(t);return null==(null==e?null:new Po(e))?Tr(t):n=e,n},t.$_$.ib=fs,t.$_$.jb=function(t){var n,e=fs(t);return null==(null==e?null:new Vo(e))?Tr(t):n=e,n},t.$_$.kb=function(t){var n,e=function(t){return function(t,n){var e=_s(t,n);if(null==(null==e?null:new Po(e)))return null;var r=e;es();var i=65535;return ds(r,i)>0?null:ph(r)}(t,10)}(t);return null==(null==e?null:new os(e))?Tr(t):n=e,n},t.$_$.lb=function(t){return function(t,n){for(var e=function(t){return vn(Hr(t))}(t),r=ra(),i=e.c();i.d();){var o=i.e();Br(o)&&r.a(o)}for(var s=r,a=ia(ne(s,10)),u=s.c();u.d();){var c=u.e();a.a(Ar(c))}for(var l=function(t){var n=t.c();if(!n.d())return null;for(var e=n.e();n.d();){var r=n.e();wl(e,r)>0&&(e=r)}return e}(a),h=null==l?0:l,p=t.length+Et(n.length,e.f())|0,f=function(t){return 0===gl(t)?Er:(n=t,function(t){return n+t});var n}(n),_=Kn(e),d=ra(),v=0,y=e.c();y.d();){var m=y.e(),g=v;v=g+1|0;var $,b,w,x=Rs(g);0!==x&&x!==_||!mc(m)?$=null==(w=null==(b=gn(m,h))?null:f(b))?m:w:$=null;var k=$;null==k||(d.a(k),Cs())}return function(t,n,e,r,i,o,s,a,u,c){return 0!=(2&u)&&(e=", "),0!=(4&u)&&(r=""),0!=(8&u)&&(i=""),0!=(16&u)&&(o=-1),0!=(32&u)&&(s="..."),0!=(64&u)&&(a=null),en(t,n,e,r,i,o,s,a)}(d,Hu(p),"\n",null,null,0,null,null,124).toString()}(t,"")},t.$_$.mb=function(t){var n=0,e=gl(t)-1|0,r=!1;t:for(;n<=e;){var i=Ku(yl(t,r?e:n));if(r){if(!i)break t;e=e-1|0}else i?n=n+1|0:r=!0}return $l(t,n,e+1|0)},t.$_$.nb=Si,t.$_$.ob=qi,t.$_$.pb=ms,t.$_$.qb=Rc,t.$_$.rb=Bs,t.$_$.sb=Fi,t.$_$.tb=Ri,t.$_$.ub=nl,t.$_$.vb=dp,t.$_$.wb=fp,t.$_$.xb=bp,t.$_$.yb=Ll,t.$_$.zb=ao,t.$_$.ac=ro,t.$_$.bc=Ap,t.$_$.cc=El,t.$_$.dc=function(){throw wp()},t.$_$.ec=co,t.$_$.fc=ko,t.$_$.gc=yo,t.$_$.hc=Bo,t.$_$.ic=Po,t.$_$.jc=Zo,t.$_$.kc=Vo,t.$_$.lc=ps,t.$_$.mc=os,t.$_$.nc=zs,t.$_$.oc=Dp,t.$_$.pc=function(t,n){if(t!==n){var e=t._suppressed;null==e?t._suppressed=Wn([n]):e.a(n)}},t.$_$.qc=function(t){return t},t.$_$.rc=function(t){var n=t;return(65535&(n=(16711935&(n=(252645135&(n=(858993459&(n=(1431655765&n)+(1431655765&(n>>>1|0))|0))+(858993459&(n>>>2|0))|0))+(252645135&(n>>>4|0))|0))+(16711935&(n>>>8|0))|0))+(n>>>16|0)|0},t.$_$.sc=function(t){var n,e=t.a1_1;return 0===e?(Ps(),n=32+Qa(t.b1_1)|0):n=Qa(e),n},t.$_$.tc=io,t.$_$.uc=Al,t.$_$.vc=function(t,n){return Ui(),new Hi(t.lb_1,n).qb()},t.$_$.wc=function(t){return!function(t){var n;return Is(),t===1/0?n=!0:(Is(),n=t===-1/0),n}(t)&&!Za(t)},t.$_$.xc=function(t){return!function(t){var n;return As(),t===1/0?n=!0:(As(),n=t===-1/0),n}(t)&&!function(t){return!(t==t)}(t)},t.$_$.yc=function(t,n){return new Ji(n)},t.$_$.zc=function(t){return new Ji(t)},t.$_$.ad=function(){throw Kp()},t.$_$.bd=rl,t.$_$.cd=function(t){console.error(function(t){return(new wc).am(t)}(t))},t.$_$.dd=function(t,n){var e=t<>>(32-n|0)|0},t.$_$.ed=function(t,n){return Ps(),t<<(32-n|0)|t>>>n|0},t.$_$.fd=function(t){throw Zp("lateinit property "+t+" has not been initialized")},t.$_$.gd=el,t.$_$.hd=uo,t})?e.apply(n,[n]):e)||(t.exports=r)},645:function(t,n,e){var r,i;r=[n,e(744)],void 0===(i=function(t,n){"use strict";var e,r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt,nt,et,rt,it,ot,st,at,ut,ct,lt=Math.imul,ht=n.$_$.j9,pt=n.$_$.e4,ft=n.$_$.p4,_t=n.$_$.g6,dt=n.$_$.h,vt=n.$_$.yc,yt=n.$_$.y8,mt=n.$_$.c,gt=n.$_$.pa,$t=n.$_$.f9,bt=n.$_$.q1,wt=n.$_$.t8,xt=n.$_$.s1,kt=n.$_$.xb,jt=n.$_$.s5,zt=n.$_$.r,Ct=n.$_$.cc,St=n.$_$.ma,qt=n.$_$.s9,Ot=n.$_$.ec,Pt=n.$_$.d,Mt=n.$_$.zb,At=n.$_$.f5,Et=n.$_$.b5,It=n.$_$.k5,Dt=n.$_$.g5,Tt=n.$_$.x4,Bt=n.$_$.c5,Lt=n.$_$.l5,Nt=n.$_$.m5,Rt=n.$_$.y4,Ft=n.$_$.v4,Ht=n.$_$.j5,Ut=n.$_$.e5,Vt=n.$_$.w4,Wt=n.$_$.f6,Jt=n.$_$.ga,Kt=n.$_$.r1,Yt=n.$_$.j2,Gt=n.$_$.l2,Xt=n.$_$.u9,Zt=n.$_$.k2,Qt=n.$_$.ac,tn=n.$_$.uc,nn=n.$_$.a9,en=n.$_$.g9,rn=n.$_$.a5,on=n.$_$.z4,sn=n.$_$.va,an=n.$_$.p7,un=n.$_$.s,cn=n.$_$.y,ln=n.$_$.m7,hn=n.$_$.k7,pn=n.$_$.t7,fn=n.$_$.hd,_n=n.$_$.q7,dn=n.$_$.zc,vn=n.$_$.u5,yn=n.$_$.la,mn=n.$_$.k,gn=n.$_$.ca,$n=n.$_$.yb,bn=n.$_$.qb,wn=n.$_$.c2,xn=n.$_$.nb,kn=n.$_$.h4,jn=n.$_$.cb,zn=n.$_$.h9,Cn=n.$_$.u1,Sn=n.$_$.t,qn=n.$_$.z,On=n.$_$.c1,Pn=n.$_$.d1,Mn=n.$_$.v,An=n.$_$.w,En=n.$_$.a1,In=n.$_$.b1,Dn=n.$_$.k9,Tn=n.$_$.r8,Bn=n.$_$.q5,Ln=n.$_$.ka,Nn=n.$_$.p6,Rn=n.$_$.x9,Fn=n.$_$.j4,Hn=n.$_$.t6,Un=n.$_$.sc,Vn=n.$_$.x,Wn=n.$_$.qa,Jn=n.$_$.c9,Kn=n.$_$.s8,Yn=n.$_$.h6,Gn=n.$_$.v5,Xn=n.$_$.i4,Zn=n.$_$.n9,Qn=n.$_$.u8,te=n.$_$.a4,ne=n.$_$.p9,ee=n.$_$.b4,re=n.$_$.q9,ie=n.$_$.t9,oe=n.$_$.n4,se=n.$_$.l3,ae=n.$_$.jc,ue=n.$_$.h3,ce=n.$_$.e3,le=n.$_$.j3,he=n.$_$.f3,pe=n.$_$.c4,fe=n.$_$.r9,_e=n.$_$.m4,de=n.$_$.c3,ve=n.$_$.hc,ye=n.$_$.y2,me=n.$_$.v2,ge=n.$_$.a3,$e=n.$_$.w2,be=n.$_$.d4,we=n.$_$.v9,xe=n.$_$.o4,ke=n.$_$.u3,je=n.$_$.lc,ze=n.$_$.q3,Ce=n.$_$.n3,Se=n.$_$.s3,qe=n.$_$.o3,Oe=n.$_$.z3,Pe=n.$_$.m9,Me=n.$_$.l4,Ae=n.$_$.t2,Ee=n.$_$.fc,Ie=n.$_$.q2,De=n.$_$.m2,Te=n.$_$.r2,Be=n.$_$.n2,Le=n.$_$.y3,Ne=n.$_$.l9,Re=n.$_$.ha,Fe=n.$_$.z5,He=n.$_$.b6,Ue=n.$_$.c6,Ve=n.$_$.x5,We=n.$_$.m3,Je=n.$_$.i3,Ke=n.$_$.k3,Ye=n.$_$.e6,Ge=n.$_$.d3,Xe=n.$_$.z2,Ze=n.$_$.b3,Qe=n.$_$.w5,tr=n.$_$.v3,nr=n.$_$.r3,er=n.$_$.t3,rr=n.$_$.a6,ir=n.$_$.u2,or=n.$_$.p2,sr=n.$_$.s2,ar=n.$_$.y5,ur=n.$_$.nc,cr=n.$_$.lb,lr=n.$_$.ua,hr=n.$_$.w8,pr=n.$_$.v8,fr=n.$_$.h2,_r=n.$_$.ya,dr=n.$_$.wa,vr=n.$_$.g4,yr=n.$_$.kc,mr=n.$_$.ic,gr=n.$_$.mc,$r=n.$_$.gc,br=n.$_$.a7,wr=n.$_$.w6,xr=n.$_$.u6,kr=n.$_$.pb,jr=n.$_$.w9,zr=n.$_$.b,Cr=n.$_$.s6,Sr=n.$_$.w1,qr=n.$_$.r6,Or=n.$_$.k4,Pr=n.$_$.i2,Mr=n.$_$.tc;function Ar(){return!1}function Er(){return!1}function Ir(){return _t()}function Dr(t){return t.v2c(this)}function Tr(){return!1}function Br(t){return-1}function Lr(t,n,e,r,i,o){return 0!=(8&i)&&(r=null),null==o?this.e2g(t,n,e,r):o(t,n,e,r)}function Nr(){}function Rr(t,n){return this.s2f(t)}function Fr(t,n){t.u2c(this,n)}function Hr(){return Os()}function Ur(){}function Vr(){}function Wr(){}function Jr(t){return function(){return n=Gi("kotlinx.serialization.Polymorphic",(null==l&&new uo,l),[],function(t){return function(n){var e=mi(pt()).t2c();n.e2d("type",e,null,!1,12,null);var r=Gi("kotlinx.serialization.Polymorphic<"+t.f2d_1.ri()+">",oo(),[],null,12);return n.e2d("value",r,null,!1,12,null),n.y2c_1=t.g2d_1,ft()}}(t),4),e=t.f2d_1,new Vi(n,e);var n,e}}function Kr(t){Bo.call(this),this.f2d_1=t,this.g2d_1=_t();var n=dt();this.h2d_1=vt(n,Jr(this))}function Yr(t,n,e){var r,i=t.k2d(n,e);return null==i?function(t,n){var e=t.ri();Lo(null==e?""+t:e,n)}(mt(e),t.i2d()):r=i,r}function Gr(t,n,e){var r,i=t.j2d(n,e);return null==i?Lo(e,t.i2d()):r=i,r}function Xr(){}function Zr(){}function Qr(){}function ti(t,n){return bt(t,n),ei.call(n),n}function ni(t){var n=ti(t,Object.create(ei.prototype));return wt(n,ni),n}function ei(){wt(this,ei)}function ri(t){ti(t,this),wt(this,ri)}function ii(t,n){var e=function(t,n,e){return oi.call(e,t,1===t.f()?"Field '"+t.g(0)+"' is required for type with serial name '"+n+"', but it was missing":"Fields "+t+" are required for type with serial name '"+n+"', but they were missing",null),e}(t,n,Object.create(oi.prototype));return wt(e,ii),e}function oi(t,n,e){(function(t,n,e){xt(t,n,e),ei.call(e)})(n,e,this),this.o2d_1=t,wt(this,oi)}function si(t){var n=function(t){var n,e=Fa(t,[]);if(null==e){var r=jr(t).Companion,i=null==r?null:r.serializer();n=null!=i&&qt(i,Ur)?i:null}else n=e;return n}(t);return null==n?function(t){ma();var n=ra().a3(t);return null==n||qt(n,Ur)?n:Ct()}(t):n}function ai(t,n,e){var r;if(e){for(var i=zt(jt(n,10)),o=n.c();o.d();){var s;s=ci(t,o.e()),i.a(s)}r=i}else{for(var a=zt(jt(n,10)),u=n.c();u.d();){var c,l=li(t,u.e());if(null==l)return null;c=l,a.a(c)}r=a}return r}function ui(t,n,e){var r=function(t,n,e){var r,i=t;if(i.equals(Pt(Vt))||i.equals(Pt(Ut))||i.equals(Pt(Ht))||i.equals(Pt(Ft)))r=new Xo(e.g(0));else if(i.equals(Pt(Rt)))r=new Zo(e.g(0));else if(i.equals(Pt(Nt))||i.equals(Pt(Lt))||i.equals(Pt(Bt)))r=new Qo(e.g(0));else if(i.equals(Pt(Tt)))r=new ts(e.g(0),e.g(1));else if(i.equals(Pt(Dt))||i.equals(Pt(It))||i.equals(Pt(Et)))r=new ns(e.g(0),e.g(1));else if(i.equals(Pt(At)))p=e.g(0),f=e.g(1),r=new xa(p,f);else if(i.equals(Pt(Mt)))r=function(t,n){return new ka(t,n)}(e.g(0),e.g(1));else if(i.equals(Pt(Ot)))c=e.g(0),l=e.g(1),h=e.g(2),r=new ja(c,l,h);else{var o;if(t.equals(vr().jk())){var s=n.g(0).aj();a=null!=s&&qt(s,St)?s:Ct(),u=e.g(0),o=new es(a,u)}else o=null;r=o}var a,u;var c,l,h;var p,f;return r}(t,n,e);return null==r?function(t,n){return Fa(t,Wt(n).slice())}(t,e):r}function ci(t,n){var e,r=hi(t,n,!0);return null==r?function(t){throw ni("Serializer for class '"+t.ri()+"' is not found.\nMark the class as @Serializable or provide the serializer explicitly.\nOn Kotlin/JS explicitly declared serializer should be used for interfaces and enums without @Serializable annotation")}(xs(n)):e=r,e}function li(t,n){return hi(t,n,!1)}function hi(t,n,s){for(var a=xs(n),u=n.cj(),c=n.bj(),l=zt(jt(c,10)),h=c.c();h.d();){var p,f=h.e().q2d_1;if(null==f)throw Kt(Jt("Star projections in type arguments are not allowed, but had "+n));p=f,l.a(p)}var _,d,v=l;if(v.h())_=function(t,n){var i;if(vi(),n)i=(vi(),r).t2d(t);else{var o=(vi(),e).t2d(t);i=null==o?null:null!=o&&qt(o,Ur)?o:Ct()}return i}(a,u);else{var y,m=function(t,n,e){var r;if(vi(),e)r=(vi(),o).u2d(t,n);else{var s=(vi(),i).u2d(t,n);r=new Qt(s)instanceof Qt?s:Ct()}return r}(a,v,u);if(s){var g;if(Zt(m))g=null;else{var $=Gt(m);g=null==$||Xt($)?$:Ct()}y=g}else{if(null!=Yt(m))return null;var b=Gt(m);y=null==b||Xt(b)?b:Ct()}_=y}if(null!=_)return _;if(v.h())d=t.s2d(a,null,2,null);else{var w=ai(t,v,s);if(null==w)return null;var x=w,k=ui(a,v,x);d=null==k?t.r2d(a,x):k}var j,z=d;return null==(j=null==z?null:null!=z&&qt(z,Ur)?z:Ct())?null:function(t,n){return n?yi(t):qt(t,Ur)?t:Ct()}(j,u)}function pi(t){return vi(),si(t)}function fi(t){vi();var n=si(t),e=null==n?null:yi(n);return null==e?null:null!=e&&qt(e,Ur)?e:Ct()}function _i(t,n){return vi(),ui(t,n,tn(ai(Ta(),n,!0)))}function di(t,n){vi();var e=ui(t,n,tn(ai(Ta(),n,!0))),r=null==e?null:yi(e);return null==r?null:null!=r&&qt(r,Ur)?r:Ct()}function vi(){s||(s=!0,e=Na(pi),r=Na(fi),i=Ra(_i),o=Ra(di))}function yi(t){return t.t2c().v2d()?qt(t,Ur)?t:Ct():new vs(t)}function mi(t){return oa()}function gi(t){return null==W&&new sa,W}function $i(){return null==M&&new As,M}function bi(t){return null==J&&new aa,J}function wi(){return null==A&&new Es,A}function xi(t){return null==K&&new ua,K}function ki(){return null==E&&new Is,E}function ji(t){return null==Y&&new ca,Y}function zi(){return null==I&&new Ds,I}function Ci(t){return null==it&&new Ca,it}function Si(){return null==D&&new Ts,D}function qi(t){return null==G&&new la,G}function Oi(){return null==T&&new Bs,T}function Pi(t){return null==ot&&new Sa,ot}function Mi(){return null==B&&new Ls,B}function Ai(t){return null==X&&new ha,X}function Ei(){return null==L&&new Ns,L}function Ii(t){return null==st&&new qa,st}function Di(){return null==N&&new Rs,N}function Ti(t){return null==Z&&new pa,Z}function Bi(){return null==R&&new Fs,R}function Li(t){return null==at&&new Oa,at}function Ni(){return null==F&&new Hs,F}function Ri(t){return null==Q&&new fa,Q}function Fi(){return null==H&&new Us,H}function Hi(t){return null==tt&&new _a,tt}function Ui(t){return null==j&&new No,j}function Vi(t,n){this.w2d_1=t,this.x2d_1=n,this.y2d_1=this.w2d_1.z2d()+"<"+this.x2d_1.ri()+">"}function Wi(t){var n=t;return n instanceof Vi?t.x2d_1:n instanceof ys?Wi(t.j2e_1):null}function Ji(){}function Ki(t){this.n2e_1=t,this.m2e_1=t.b2e()}function Yi(t){this.o2e_1=t}function Gi(t,n,e,r,i,o){return 0!=(8&i)&&(r=no),function(t,n,e,r){if(sn(t))throw Kt(Jt("Blank serial names are prohibited"));if(nn(n,xo()))throw Kt(Jt("For StructureKind.CLASS please use 'buildClassSerialDescriptor' instead"));var i=new Xi(t);return r(i),new to(t,n,i.z2c_1.f(),an(e),i)}(t,n,e,r)}function Xi(t){this.w2c_1=t,this.x2c_1=!1,this.y2c_1=_t(),this.z2c_1=un(),this.a2d_1=cn(),this.b2d_1=un(),this.c2d_1=un(),this.d2d_1=un()}function Zi(t,n,e,r,i){return 0!=(4&r)&&(e=eo),function(t,n,e){if(sn(t))throw Kt(Jt("Blank serial names are prohibited"));var r=new Xi(t);return e(r),new to(t,xo(),r.z2c_1.f(),an(n),r)}(t,n,e)}function Qi(t){return $t("_hashCode",1,gt,(function(t){return Qi(t)}),null),t.b2f_1.m2()}function to(t,n,e,r,i){this.q2e_1=t,this.r2e_1=n,this.s2e_1=e,this.t2e_1=i.y2c_1,this.u2e_1=ln(i.z2c_1);var o,s=i.z2c_1;o=Wt(s),this.v2e_1=o,this.w2e_1=ks(i.b2d_1);var a,u,c=i.c2d_1;a=Wt(c),this.x2e_1=a,this.y2e_1=hn(i.d2d_1);for(var l,h=pn(this.v2e_1),p=zt(jt(h,10)),f=h.c();f.d();){var _,d=f.e();_=fn(d.o3_1,d.n3_1),p.a(_)}l=p,this.z2e_1=_n(l),this.a2f_1=ks(r),this.b2f_1=dn((u=this,function(){return qs(u,u.a2f_1)}))}function no(t){return ft()}function eo(t){return ft()}function ro(){a=this,so.call(this)}function io(){u=this,so.call(this)}function oo(){return null==u&&new io,u}function so(){}function ao(){c=this,co.call(this)}function uo(){l=this,co.call(this)}function co(){so.call(this)}function lo(){h=this,bo.call(this)}function ho(){p=this,bo.call(this)}function po(){f=this,bo.call(this)}function fo(){_=this,bo.call(this)}function _o(){d=this,bo.call(this)}function vo(){v=this,bo.call(this)}function yo(){y=this,bo.call(this)}function mo(){m=this,bo.call(this)}function go(){g=this,bo.call(this)}function $o(){return null==g&&new go,g}function bo(){so.call(this)}function wo(){$=this,qo.call(this)}function xo(){return null==$&&new wo,$}function ko(){b=this,qo.call(this)}function jo(){return null==b&&new ko,b}function zo(){w=this,qo.call(this)}function Co(){return null==w&&new zo,w}function So(){x=this,qo.call(this)}function qo(){so.call(this)}function Oo(){}function Po(){}function Mo(){}function Ao(){k=this,this.k2h_1=-1,this.l2h_1=-3}function Eo(){return null==k&&new Ao,k}function Io(){}function Do(){}function To(){}function Bo(){}function Lo(t,n){var e="in the scope of '"+n.ri()+"'";throw ni(null==t?"Class discriminator was missing and no default polymorphic serializers were registered "+e:"Class '"+t+"' is not registered for polymorphic serialization "+e+".\nMark the base class as 'sealed' or register the serializer explicitly.")}function No(){j=this,this.p2h_1=new va("kotlin.time.Duration",$o())}function Ro(){}function Fo(t){Yo.call(this,t)}function Ho(t){Yo.call(this,t)}function Uo(t){Yo.call(this,t)}function Vo(t,n){Go.call(this,"kotlin.collections.HashMap",t,n)}function Wo(t,n){Go.call(this,"kotlin.collections.LinkedHashMap",t,n)}function Jo(t){Yo.call(this,t)}function Ko(t){Yo.call(this,t),this.i2i_1=t.z2d()+"Array"}function Yo(t){this.u2h_1=t,this.v2h_1=1}function Go(t,n,e){this.a2i_1=t,this.b2i_1=n,this.c2i_1=e,this.d2i_1=2}function Xo(t){rs.call(this,t),this.k2i_1=new Fo(t.t2c())}function Zo(t){rs.call(this,t),this.f2j_1=new Ho(t.t2c())}function Qo(t){rs.call(this,t),this.m2j_1=new Uo(t.t2c())}function ts(t,n){is.call(this,t,n),this.t2j_1=new Vo(t.t2c(),n.t2c())}function ns(t,n){is.call(this,t,n),this.i2k_1=new Wo(t.t2c(),n.t2c())}function es(t,n){os.call(this,n),this.n2k_1=t,this.o2k_1=new Jo(n.t2c())}function rs(t){os.call(this,t)}function is(t,n){ss.call(this),this.c2k_1=t,this.d2k_1=n}function os(t){ss.call(this),this.y2i_1=t}function ss(){}function as(t){os.call(this,t),this.x2k_1=new Ko(t.t2c())}function us(){}function cs(){z=this,this.e2l_1=Rn(0)}function ls(){return null==z&&new cs,z}function hs(t,n){ls(),this.f2l_1=t,this.g2l_1=n;var e=this.f2l_1.b2e();if(Fn(),e<=64){var r;Fn(),r=64===e?new $n(0,0):new $n(-1,-1).jb(e),this.h2l_1=r,this.i2l_1=ls().e2l_1}else this.h2l_1=new $n(0,0),this.i2l_1=function(t,n){var e=(n-1|0)>>>6|0;Fn();var r=63&n,i=Rn(e);return 0!==r&&(i[Hn(i)]=new $n(-1,-1).jb(n)),i}(0,e)}function ps(t,n){return new fs(t,new _s(n))}function fs(t,n){Ss.call(this,t,n,1),this.x2l_1=!0}function _s(t){this.m2m_1=t}function ds(){C=this,Po.call(this),this.p2m_1=Ta()}function vs(t){this.q2m_1=t,this.r2m_1=new ys(this.q2m_1.t2c())}function ys(t){this.j2e_1=t,this.k2e_1=this.j2e_1.z2d()+"?",this.l2e_1=ws(this.j2e_1)}function ms(t,n){return function(){var e=(null==x&&new So,x);return Gi(t,e,[],function(t){return function(n){return n.y2c_1=t.u2m_1,ft()}}(n),4)}}function gs(t,n){this.t2m_1=n,this.u2m_1=_t();var e=dt();this.v2m_1=vt(e,ms(t,this))}function $s(){}function bs(){}function ws(t){if(js(),qt(t,Ro))return t.c2f();var n=Vn(t.b2e()),e=0,r=t.b2e();if(e0){var e,r=pr(t,0);e=dr(r)?_r(r):fr(r),n=Jt(e)+t.substring(1)}else n=t;return n}function ma(){nt||(nt=!0,U=br([fn(vr().kk(),mi(pt())),fn(Pt(bn),gi(Xn())),fn(vr().nk(),$i()),fn(vr().ik(),bi(te())),fn(vr().tk(),wi()),fn(vr().hk(),xi(ee())),fn(vr().sk(),ki()),fn(Pt($n),ji(Fn())),fn(vr().rk(),zi()),fn(Pt(yr),Ci(oe())),fn(Pt(ae),Si()),fn(vr().gk(),qi(pe())),fn(vr().qk(),Oi()),fn(Pt(mr),Pi(_e())),fn(Pt(ve),Mi()),fn(vr().fk(),Ai(be())),fn(vr().pk(),Ei()),fn(Pt(gr),Ii(xe())),fn(Pt(je),Di()),fn(vr().ek(),Ti(Oe())),fn(vr().ok(),Bi()),fn(Pt($r),Li(Me())),fn(Pt(Ee),Ni()),fn(vr().dk(),Ri(Le())),fn(vr().mk(),Fi()),fn(Pt(ur),Hi(ft())),fn(Pt(xn),Ui(kn()))]))}function ga(){$a.call(this)}function $a(){var t;t=un(),this.m2s_1=t,this.n2s_1=!1}function ba(){return rt||(rt=!0,et=new Object),et}function wa(t,n){this.e2t_1=t,this.f2t_1=n}function xa(t,n){za.call(this,t,n);var e,r,i=Co();this.i2t_1=Gi("kotlin.collections.Map.Entry",i,[],(e=t,r=n,function(t){var n=e.t2c();t.e2d("key",n,null,!1,12,null);var i=r.t2c();return t.e2d("value",i,null,!1,12,null),ft()}),4)}function ka(t,n){var e,r;za.call(this,t,n),this.t2t_1=Zi("kotlin.Pair",[],(e=t,r=n,function(t){var n=e.t2c();t.e2d("first",n,null,!1,12,null);var i=r.t2c();return t.e2d("second",i,null,!1,12,null),ft()}),2)}function ja(t,n,e){var r;this.w2t_1=t,this.x2t_1=n,this.y2t_1=e,this.z2t_1=Zi("kotlin.Triple",[],(r=this,function(t){var n=r.w2t_1.t2c();t.e2d("first",n,null,!1,12,null);var e=r.x2t_1.t2c();t.e2d("second",e,null,!1,12,null);var i=r.y2t_1.t2c();return t.e2d("third",i,null,!1,12,null),ft()}),2)}function za(t,n){this.o2t_1=t,this.p2t_1=n}function Ca(){it=this,this.b2u_1=ps("kotlin.ULong",ji(Fn()))}function Sa(){ot=this,this.e2u_1=ps("kotlin.UInt",qi(pe()))}function qa(){st=this,this.h2u_1=ps("kotlin.UShort",Ai(be()))}function Oa(){at=this,this.k2u_1=ps("kotlin.UByte",Ti(Oe()))}function Pa(){return ct||(ct=!0,ut=new Aa(Yn(),Yn(),Yn(),Yn(),Yn())),ut}function Ma(){}function Aa(t,n,e,r,i){Ma.call(this),this.o2u_1=t,this.p2u_1=n,this.q2u_1=e,this.r2u_1=r,this.s2u_1=i}function Ea(){}function Ia(){}function Da(){}function Ta(){return Pa()}function Ba(){}function La(t){this.d2v_1=t}function Na(t){return new Va(t)}function Ra(t){return new Wa(t)}function Fa(t,n){var e;try{var r,i=zr(t,Pt(La));if(null!=i&&qt(i,Ur))r=null!=i&&qt(i,Ur)?i:Ct();else if(null!=i&&qt(i,Ps)){var o=i.w2m(n.slice());r=qt(o,Ur)?o:Ct()}else r=function(t){var n=jr(t).$metadata$;return"interface"==(null==n?null:n.kind)}(t)?new Kr(t):null;e=r}catch(t){e=null}return e}function Ha(t,n){if(!(0<=n&&n<=(t.length-1|0)))throw Sr("Index "+n+" out of bounds "+Cr(t));return t[n]}function Ua(t,n){if(!(0<=n&&n<=(t.length-1|0)))throw Sr("Index "+n+" out of bounds "+qr(t));return t[n]}function Va(t){this.e2v_1=t}function Wa(t){this.f2v_1=t}return Kr.prototype=Object.create(Bo.prototype),Kr.prototype.constructor=Kr,Xr.prototype=Object.create(Bo.prototype),Xr.prototype.constructor=Xr,ei.prototype=Object.create(kt.prototype),ei.prototype.constructor=ei,ri.prototype=Object.create(ei.prototype),ri.prototype.constructor=ri,oi.prototype=Object.create(ei.prototype),oi.prototype.constructor=oi,ro.prototype=Object.create(so.prototype),ro.prototype.constructor=ro,io.prototype=Object.create(so.prototype),io.prototype.constructor=io,co.prototype=Object.create(so.prototype),co.prototype.constructor=co,ao.prototype=Object.create(co.prototype),ao.prototype.constructor=ao,uo.prototype=Object.create(co.prototype),uo.prototype.constructor=uo,bo.prototype=Object.create(so.prototype),bo.prototype.constructor=bo,lo.prototype=Object.create(bo.prototype),lo.prototype.constructor=lo,ho.prototype=Object.create(bo.prototype),ho.prototype.constructor=ho,po.prototype=Object.create(bo.prototype),po.prototype.constructor=po,fo.prototype=Object.create(bo.prototype),fo.prototype.constructor=fo,_o.prototype=Object.create(bo.prototype),_o.prototype.constructor=_o,vo.prototype=Object.create(bo.prototype),vo.prototype.constructor=vo,yo.prototype=Object.create(bo.prototype),yo.prototype.constructor=yo,mo.prototype=Object.create(bo.prototype),mo.prototype.constructor=mo,go.prototype=Object.create(bo.prototype),go.prototype.constructor=go,qo.prototype=Object.create(so.prototype),qo.prototype.constructor=qo,wo.prototype=Object.create(qo.prototype),wo.prototype.constructor=wo,ko.prototype=Object.create(qo.prototype),ko.prototype.constructor=ko,zo.prototype=Object.create(qo.prototype),zo.prototype.constructor=zo,So.prototype=Object.create(qo.prototype),So.prototype.constructor=So,Fo.prototype=Object.create(Yo.prototype),Fo.prototype.constructor=Fo,Ho.prototype=Object.create(Yo.prototype),Ho.prototype.constructor=Ho,Uo.prototype=Object.create(Yo.prototype),Uo.prototype.constructor=Uo,Vo.prototype=Object.create(Go.prototype),Vo.prototype.constructor=Vo,Wo.prototype=Object.create(Go.prototype),Wo.prototype.constructor=Wo,Jo.prototype=Object.create(Yo.prototype),Jo.prototype.constructor=Jo,Ko.prototype=Object.create(Yo.prototype),Ko.prototype.constructor=Ko,os.prototype=Object.create(ss.prototype),os.prototype.constructor=os,rs.prototype=Object.create(os.prototype),rs.prototype.constructor=rs,Xo.prototype=Object.create(rs.prototype),Xo.prototype.constructor=Xo,Zo.prototype=Object.create(rs.prototype),Zo.prototype.constructor=Zo,Qo.prototype=Object.create(rs.prototype),Qo.prototype.constructor=Qo,is.prototype=Object.create(ss.prototype),is.prototype.constructor=is,ts.prototype=Object.create(is.prototype),ts.prototype.constructor=ts,ns.prototype=Object.create(is.prototype),ns.prototype.constructor=ns,es.prototype=Object.create(os.prototype),es.prototype.constructor=es,as.prototype=Object.create(os.prototype),as.prototype.constructor=as,fs.prototype=Object.create(Ss.prototype),fs.prototype.constructor=fs,ds.prototype=Object.create(Po.prototype),ds.prototype.constructor=ds,As.prototype=Object.create(as.prototype),As.prototype.constructor=As,Es.prototype=Object.create(as.prototype),Es.prototype.constructor=Es,Is.prototype=Object.create(as.prototype),Is.prototype.constructor=Is,Ds.prototype=Object.create(as.prototype),Ds.prototype.constructor=Ds,Ts.prototype=Object.create(as.prototype),Ts.prototype.constructor=Ts,Bs.prototype=Object.create(as.prototype),Bs.prototype.constructor=Bs,Ls.prototype=Object.create(as.prototype),Ls.prototype.constructor=Ls,Ns.prototype=Object.create(as.prototype),Ns.prototype.constructor=Ns,Rs.prototype=Object.create(as.prototype),Rs.prototype.constructor=Rs,Fs.prototype=Object.create(as.prototype),Fs.prototype.constructor=Fs,Hs.prototype=Object.create(as.prototype),Hs.prototype.constructor=Hs,Us.prototype=Object.create(as.prototype),Us.prototype.constructor=Us,Vs.prototype=Object.create(us.prototype),Vs.prototype.constructor=Vs,Ws.prototype=Object.create(us.prototype),Ws.prototype.constructor=Ws,Js.prototype=Object.create(us.prototype),Js.prototype.constructor=Js,Ks.prototype=Object.create(us.prototype),Ks.prototype.constructor=Ks,Ys.prototype=Object.create(us.prototype),Ys.prototype.constructor=Ys,Gs.prototype=Object.create(us.prototype),Gs.prototype.constructor=Gs,Xs.prototype=Object.create(us.prototype),Xs.prototype.constructor=Xs,Zs.prototype=Object.create(us.prototype),Zs.prototype.constructor=Zs,Qs.prototype=Object.create(us.prototype),Qs.prototype.constructor=Qs,ta.prototype=Object.create(us.prototype),ta.prototype.constructor=ta,na.prototype=Object.create(us.prototype),na.prototype.constructor=na,ea.prototype=Object.create(us.prototype),ea.prototype.constructor=ea,ga.prototype=Object.create($a.prototype),ga.prototype.constructor=ga,xa.prototype=Object.create(za.prototype),xa.prototype.constructor=xa,ka.prototype=Object.create(za.prototype),ka.prototype.constructor=ka,Aa.prototype=Object.create(Ma.prototype),Aa.prototype.constructor=Aa,Ea.prototype=Object.create(Da.prototype),Ea.prototype.constructor=Ea,Ia.prototype=Object.create(Da.prototype),Ia.prototype.constructor=Ia,Ur.$metadata$=ht("KSerializer",[Vr,Wr]),Vr.$metadata$=ht("SerializationStrategy"),Wr.$metadata$=ht("DeserializationStrategy"),Kr.prototype.i2d=function(){return this.f2d_1},Kr.prototype.t2c=function(){return $t("descriptor",1,gt,(function(t){return t.t2c()}),null),this.h2d_1.m2()},Kr.prototype.toString=function(){return"kotlinx.serialization.PolymorphicSerializer(baseClass: "+this.f2d_1+")"},Kr.$metadata$=yt("PolymorphicSerializer",void 0,void 0,void 0,void 0,Bo.prototype),Xr.$metadata$=yt("SealedClassSerializer",void 0,void 0,void 0,void 0,Bo.prototype),Zr.$metadata$=ht("StringFormat",[Qr]),Qr.$metadata$=ht("SerialFormat"),ei.$metadata$=yt("SerializationException",void 0,void 0,void 0,void 0,kt.prototype),ri.$metadata$=yt("UnknownFieldException",void 0,void 0,void 0,void 0,ei.prototype),oi.$metadata$=yt("MissingFieldException",void 0,void 0,void 0,void 0,ei.prototype),Vi.prototype.a2e=function(){return this.w2d_1.a2e()},Vi.prototype.b2e=function(){return this.w2d_1.b2e()},Vi.prototype.c2e=function(){return this.w2d_1.c2e()},Vi.prototype.v2d=function(){return this.w2d_1.v2d()},Vi.prototype.d2e=function(){return this.w2d_1.d2e()},Vi.prototype.e2e=function(t){return this.w2d_1.e2e(t)},Vi.prototype.f2e=function(t){return this.w2d_1.f2e(t)},Vi.prototype.g2e=function(t){return this.w2d_1.g2e(t)},Vi.prototype.h2e=function(t){return this.w2d_1.h2e(t)},Vi.prototype.i2e=function(t){return this.w2d_1.i2e(t)},Vi.prototype.z2d=function(){return this.y2d_1},Vi.prototype.equals=function(t){var n=t instanceof Vi?t:null;if(null==n)return!1;var e=n;return!!nn(this.w2d_1,e.w2d_1)&&e.x2d_1.equals(this.x2d_1)},Vi.prototype.hashCode=function(){var t=this.x2d_1.hashCode();return lt(31,t)+en(this.y2d_1)|0},Vi.prototype.toString=function(){return"ContextDescriptor(kClass: "+this.x2d_1+", original: "+this.w2d_1+")"},Vi.$metadata$=yt("ContextDescriptor",[Ji]),Ji.$metadata$=ht("SerialDescriptor"),Ki.prototype.d=function(){return this.m2e_1>0},Ki.prototype.e=function(){var t=this.n2e_1.b2e(),n=this.m2e_1;return this.m2e_1=n-1|0,this.n2e_1.f2e(t-n|0)},Ki.$metadata$=yt(void 0,[rn]),Yi.prototype.c=function(){return new Ki(this.o2e_1)},Yi.$metadata$=yt(void 0,[on]),Xi.prototype.p2e=function(t,n,e,r){if(!this.a2d_1.a(t))throw Kt(Jt("Element with name '"+t+"' is already registered"));this.z2c_1.a(t),this.b2d_1.a(n),this.c2d_1.a(e),this.d2d_1.a(r)},Xi.prototype.e2d=function(t,n,e,r,i,o){return 0!=(4&i)&&(e=_t()),0!=(8&i)&&(r=!1),this.p2e(t,n,e,r)},Xi.$metadata$=yt("ClassSerialDescriptorBuilder"),to.prototype.z2d=function(){return this.q2e_1},to.prototype.d2e=function(){return this.r2e_1},to.prototype.b2e=function(){return this.s2e_1},to.prototype.a2e=function(){return this.t2e_1},to.prototype.c2f=function(){return this.u2e_1},to.prototype.h2e=function(t){return Ha(this.v2e_1,t)},to.prototype.g2e=function(t){var n,e=this.z2e_1.a3(t);return null==e?(Eo(),n=-3):n=e,n},to.prototype.e2e=function(t){return Ha(this.x2e_1,t)},to.prototype.f2e=function(t){return Ha(this.w2e_1,t)},to.prototype.i2e=function(t){return Ua(this.y2e_1,t)},to.prototype.equals=function(t){var n;t:if(this!==t)if(t instanceof to)if(this.z2d()===t.z2d()){var e=t;if(vn(this.a2f_1,e.a2f_1))if(this.b2e()===t.b2e()){var r=0,i=this.b2e();if(r=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return!1},Yo.prototype.e2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return _t()},Yo.prototype.f2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return this.u2h_1},Yo.prototype.equals=function(t){return this===t||t instanceof Yo&&!(!nn(this.u2h_1,t.u2h_1)||this.z2d()!==t.z2d())},Yo.prototype.hashCode=function(){return lt(zn(this.u2h_1),31)+en(this.z2d())|0},Yo.prototype.toString=function(){return this.z2d()+"("+this.u2h_1+")"},Yo.$metadata$=yt("ListLikeDescriptor",[Ji]),Go.prototype.z2d=function(){return this.a2i_1},Go.prototype.d2e=function(){return Co()},Go.prototype.b2e=function(){return this.d2i_1},Go.prototype.h2e=function(t){return t.toString()},Go.prototype.g2e=function(t){var n=jn(t);if(null==n)throw Kt(t+" is not a valid map index");return n},Go.prototype.i2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return!1},Go.prototype.e2e=function(t){var n;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));return _t()},Go.prototype.f2e=function(t){var n,e;if(!(t>=0))throw n="Illegal index "+t+", "+this.z2d()+" expects only non-negative indices",Kt(Jt(n));switch(t%2|0){case 0:e=this.b2i_1;break;case 1:e=this.c2i_1;break;default:throw Cn("Unreached")}return e},Go.prototype.equals=function(t){return this===t||t instanceof Go&&this.z2d()===t.z2d()&&!!nn(this.b2i_1,t.b2i_1)&&!!nn(this.c2i_1,t.c2i_1)},Go.prototype.hashCode=function(){var t=en(this.z2d());return t=lt(31,t)+zn(this.b2i_1)|0,lt(31,t)+zn(this.c2i_1)|0},Go.prototype.toString=function(){return this.z2d()+"("+this.b2i_1+", "+this.c2i_1+")"},Go.$metadata$=yt("MapLikeDescriptor",[Ji]),Xo.prototype.t2c=function(){return this.k2i_1},Xo.prototype.u1o=function(){return un()},Xo.prototype.l2i=function(t){return t.f()},Xo.prototype.m2i=function(t){return this.l2i(t instanceof Ft?t:Ct())},Xo.prototype.n2i=function(t){return t},Xo.prototype.o2i=function(t){return this.n2i(t instanceof Ft?t:Ct())},Xo.prototype.p2i=function(t){var n=t instanceof Ft?t:null;return null==n?Sn(t):n},Xo.prototype.q2i=function(t){return this.p2i(null!=t&&qt(t,Ut)?t:Ct())},Xo.prototype.r2i=function(t,n){return t.sg(n)},Xo.prototype.s2i=function(t,n){return this.r2i(t instanceof Ft?t:Ct(),n)},Xo.prototype.t2i=function(t,n,e){t.yf(n,e)},Xo.prototype.u2i=function(t,n,e){var r=t instanceof Ft?t:Ct();return this.t2i(r,n,null==e||Xt(e)?e:Ct())},Xo.$metadata$=yt("ArrayListSerializer",void 0,void 0,void 0,void 0,rs.prototype),Zo.prototype.t2c=function(){return this.f2j_1},Zo.prototype.u1o=function(){return cn()},Zo.prototype.g2j=function(t){return t.f()},Zo.prototype.m2i=function(t){return this.g2j(t instanceof Rt?t:Ct())},Zo.prototype.h2j=function(t){return t},Zo.prototype.o2i=function(t){return this.h2j(t instanceof Rt?t:Ct())},Zo.prototype.i2j=function(t){var n=t instanceof Rt?t:null;return null==n?qn(t):n},Zo.prototype.q2i=function(t){return this.i2j(null!=t&&qt(t,Nt)?t:Ct())},Zo.prototype.j2j=function(t,n){},Zo.prototype.s2i=function(t,n){return this.j2j(t instanceof Rt?t:Ct(),n)},Zo.prototype.k2j=function(t,n,e){t.a(e)},Zo.prototype.u2i=function(t,n,e){var r=t instanceof Rt?t:Ct();return this.k2j(r,n,null==e||Xt(e)?e:Ct())},Zo.$metadata$=yt("HashSetSerializer",void 0,void 0,void 0,void 0,rs.prototype),Qo.prototype.t2c=function(){return this.m2j_1},Qo.prototype.u1o=function(){return On()},Qo.prototype.n2j=function(t){return t.f()},Qo.prototype.m2i=function(t){return this.n2j(t instanceof Bt?t:Ct())},Qo.prototype.o2j=function(t){return t},Qo.prototype.o2i=function(t){return this.o2j(t instanceof Bt?t:Ct())},Qo.prototype.i2j=function(t){var n=t instanceof Bt?t:null;return null==n?Pn(t):n},Qo.prototype.q2i=function(t){return this.i2j(null!=t&&qt(t,Nt)?t:Ct())},Qo.prototype.p2j=function(t,n){},Qo.prototype.s2i=function(t,n){return this.p2j(t instanceof Bt?t:Ct(),n)},Qo.prototype.q2j=function(t,n,e){t.a(e)},Qo.prototype.u2i=function(t,n,e){var r=t instanceof Bt?t:Ct();return this.q2j(r,n,null==e||Xt(e)?e:Ct())},Qo.$metadata$=yt("LinkedHashSetSerializer",void 0,void 0,void 0,void 0,rs.prototype),ts.prototype.t2c=function(){return this.t2j_1},ts.prototype.u2j=function(t){return t.f()},ts.prototype.v2j=function(t){return this.u2j(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.w2j=function(t){return t.u().c()},ts.prototype.x2j=function(t){return this.w2j(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.u1o=function(){return Mn()},ts.prototype.y2j=function(t){return lt(t.f(),2)},ts.prototype.m2i=function(t){return this.y2j(t instanceof Tt?t:Ct())},ts.prototype.z2j=function(t){return t},ts.prototype.o2i=function(t){return this.z2j(t instanceof Tt?t:Ct())},ts.prototype.a2k=function(t){var n=t instanceof Tt?t:null;return null==n?An(t):n},ts.prototype.q2i=function(t){return this.a2k(null!=t&&qt(t,Dt)?t:Ct())},ts.prototype.b2k=function(t,n){},ts.prototype.s2i=function(t,n){return this.b2k(t instanceof Tt?t:Ct(),n)},ts.$metadata$=yt("HashMapSerializer",void 0,void 0,void 0,void 0,is.prototype),ns.prototype.t2c=function(){return this.i2k_1},ns.prototype.u2j=function(t){return t.f()},ns.prototype.v2j=function(t){return this.u2j(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.w2j=function(t){return t.u().c()},ns.prototype.x2j=function(t){return this.w2j(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.u1o=function(){return En()},ns.prototype.j2k=function(t){return lt(t.f(),2)},ns.prototype.m2i=function(t){return this.j2k(t instanceof Et?t:Ct())},ns.prototype.k2k=function(t){return t},ns.prototype.o2i=function(t){return this.k2k(t instanceof Et?t:Ct())},ns.prototype.a2k=function(t){var n=t instanceof Et?t:null;return null==n?In(t):n},ns.prototype.q2i=function(t){return this.a2k(null!=t&&qt(t,Dt)?t:Ct())},ns.prototype.l2k=function(t,n){},ns.prototype.s2i=function(t,n){return this.l2k(t instanceof Et?t:Ct(),n)},ns.$metadata$=yt("LinkedHashMapSerializer",void 0,void 0,void 0,void 0,is.prototype),es.prototype.t2c=function(){return this.o2k_1},es.prototype.p2k=function(t){return t.length},es.prototype.v2j=function(t){return this.p2k(null!=t&&Dn(t)?t:Ct())},es.prototype.q2k=function(t){return Tn(t)},es.prototype.x2j=function(t){return this.q2k(null!=t&&Dn(t)?t:Ct())},es.prototype.u1o=function(){return un()},es.prototype.r2k=function(t){return t.f()},es.prototype.m2i=function(t){return this.r2k(t instanceof Ft?t:Ct())},es.prototype.s2k=function(t){return function(t,n){return Wt(t)}(t,this.n2k_1)},es.prototype.o2i=function(t){return this.s2k(t instanceof Ft?t:Ct())},es.prototype.t2k=function(t){return Sn(Bn(t))},es.prototype.q2i=function(t){return this.t2k(null!=t&&Dn(t)?t:Ct())},es.prototype.u2k=function(t,n){return t.sg(n)},es.prototype.s2i=function(t,n){return this.u2k(t instanceof Ft?t:Ct(),n)},es.prototype.v2k=function(t,n,e){t.yf(n,e)},es.prototype.u2i=function(t,n,e){var r=t instanceof Ft?t:Ct();return this.v2k(r,n,null==e||Xt(e)?e:Ct())},es.$metadata$=yt("ReferenceArraySerializer",void 0,void 0,void 0,void 0,os.prototype),rs.prototype.w2i=function(t){return t.f()},rs.prototype.v2j=function(t){return this.w2i(null!=t&&qt(t,Vt)?t:Ct())},rs.prototype.x2i=function(t){return t.c()},rs.prototype.x2j=function(t){return this.x2i(null!=t&&qt(t,Vt)?t:Ct())},rs.$metadata$=yt("CollectionSerializer",void 0,void 0,void 0,void 0,os.prototype),is.prototype.e2k=function(){return this.c2k_1},is.prototype.f2k=function(){return this.d2k_1},is.prototype.a2j=function(t,n,e,r){if(!(r>=0))throw Kt(Jt("Size must be known in advance when using READ_ALL"));var i=Ln(yn(0,lt(r,2)),2),o=i.e1_1,s=i.f1_1,a=i.g1_1;if(a>0&&o<=s||a<0&&s<=o)do{var u=o;o=o+a|0,this.b2j(t,e+u|0,n,!1)}while(u!==s)},is.prototype.b2j=function(t,n,e,r){var i,o=this.t2c(),s=t.f2g(o,n,this.c2k_1,null,8,null);if(r){var a=t.h2g(this.t2c());if(a!==(n+1|0))throw Kt(Jt("Value must follow key in a map, index for key: "+n+", returned index for value: "+a));i=a}else i=n+1|0;var u,c=i;if(!e.u2(s)||this.d2k_1.t2c().d2e()instanceof bo){var l=this.t2c();u=t.f2g(l,c,this.d2k_1,null,8,null)}else u=t.e2g(this.t2c(),c,this.d2k_1,Nn(e,s));var h=u;e.v3(s,h)},is.prototype.z2i=function(t,n){for(var e=this.v2j(n),r=this.t2c(),i=t.j2h(r,e),o=0,s=this.x2j(n);s.d();){var a=s.e(),u=a.k2(),c=a.m2(),l=this.t2c(),h=o;o=h+1|0,i.g2h(l,h,this.c2k_1,u);var p=this.t2c(),f=o;o=f+1|0,i.g2h(p,f,this.d2k_1,c)}i.t2f(r)},is.prototype.u2c=function(t,n){return this.z2i(t,null==n||Xt(n)?n:Ct())},is.$metadata$=yt("MapLikeSerializer",void 0,void 0,void 0,void 0,ss.prototype),os.prototype.z2i=function(t,n){var e=this.v2j(n),r=this.t2c(),i=t.j2h(r,e),o=this.x2j(n),s=0;if(s=0))throw Kt(Jt("Size must be known in advance when using READ_ALL"));var i=0;if(i>>6|0)-1|0;Fn();var r=63&n;t.i2l_1[e]=t.i2l_1[e].en(new $n(1,0).jb(r))}(this,t)},hs.prototype.k2l=function(){for(var t=this.f2l_1.b2e();!this.h2l_1.equals(new $n(-1,-1));){var n=Un(this.h2l_1.dn());if(this.h2l_1=this.h2l_1.en(new $n(1,0).jb(n)),this.g2l_1(this.f2l_1,n))return n}return Fn(),t>64?function(t){var n=0,e=t.i2l_1.length-1|0;if(n<=e)do{var r=n;n=n+1|0;var i=r+1|0;Fn();for(var o=lt(i,64),s=t.i2l_1[r];!s.equals(new $n(-1,-1));){var a=Un(s.dn());s=s.en(new $n(1,0).jb(a));var u=o+a|0;if(t.g2l_1(t.f2l_1,u))return t.i2l_1[r]=s,u}t.i2l_1[r]=s}while(n<=e);return Eo(),-1}(this):(Eo(),-1)},hs.$metadata$=yt("ElementMarker"),fs.prototype.c2e=function(){return this.x2l_1},fs.prototype.hashCode=function(){return lt(Ss.prototype.hashCode.call(this),31)},fs.prototype.equals=function(t){var n;t:if(this!==t)if(t instanceof fs)if(this.z2d()===t.z2d()){var e=t;if(e.x2l_1&&vn(this.k2m(),e.k2m()))if(this.b2e()===t.b2e()){var r=0,i=this.b2e();if(r>>1|0}while(o<32);throw ii(r,e.z2d())},t.$_$.x1=Ta,t.$_$.y1=function(t,n){return this.v2u(t,(e=n,function(t){return e}));var e},t.$_$.z1=Ba,t.$_$.a2=Wr,t.$_$.b2=Ur,t.$_$.c2=oi,t.$_$.d2=Xr,t.$_$.e2=ei,t.$_$.f2=Zr,t.$_$.g2=Yr,t.$_$.h2=ci,t}.apply(n,r))||(t.exports=i)},730:function(t,n,e){var r,i,o;i=[n,e(645),e(744)],void 0===(o="function"==typeof(r=function(t,n,e){"use strict";var r,i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q,tt=Math.imul,nt=n.$_$.x1,et=e.$_$.ca,rt=n.$_$.f2,it=e.$_$.y8,ot=e.$_$.p4,st=e.$_$.ga,at=e.$_$.r1,ut=e.$_$.v8,ct=e.$_$.qb,lt=e.$_$.e2,ht=e.$_$.a9,pt=e.$_$.pb,ft=n.$_$.j1,_t=n.$_$.g1,dt=e.$_$.j9,vt=e.$_$.cc,yt=e.$_$.h9,mt=e.$_$.k,gt=e.$_$.e5,$t=e.$_$.l1,bt=e.$_$.g5,wt=e.$_$.c,xt=e.$_$.g9,kt=e.$_$.h,jt=e.$_$.yc,zt=n.$_$.u1,Ct=e.$_$.db,St=e.$_$.fb,qt=e.$_$.bb,Ot=e.$_$.eb,Pt=e.$_$.ab,Mt=n.$_$.e,At=n.$_$.a,Et=n.$_$.b2,It=n.$_$.m,Dt=n.$_$.z,Tt=e.$_$.e4,Bt=n.$_$.o,Lt=n.$_$.n,Nt=n.$_$.f,Rt=n.$_$.h,Ft=n.$_$.v,Ht=e.$_$.ib,Ut=e.$_$.n4,Vt=n.$_$.s,Wt=e.$_$.f3,Jt=e.$_$.kc,Kt=e.$_$.s9,Yt=e.$_$.u1,Gt=e.$_$.zc,Xt=n.$_$.y,Zt=n.$_$.x,Qt=n.$_$.w,tn=e.$_$.pa,nn=e.$_$.f9,en=n.$_$.m1,rn=n.$_$.h1,on=e.$_$.ea,sn=e.$_$.v2,an=e.$_$.x2,un=e.$_$.e3,cn=e.$_$.g3,ln=e.$_$.m2,hn=e.$_$.o2,pn=e.$_$.n3,fn=e.$_$.p3,_n=n.$_$.p1,dn=e.$_$.t8,vn=n.$_$.e2,yn=n.$_$.c,mn=e.$_$.w8,gn=e.$_$.x8,$n=e.$_$.ha,bn=e.$_$.ia,wn=n.$_$.k,xn=e.$_$.s,kn=e.$_$.i7,jn=e.$_$.r8,zn=e.$_$.uc,Cn=e.$_$.h6,Sn=e.$_$.p6,qn=e.$_$.d6,On=e.$_$.e6,Pn=e.$_$.c9,Mn=n.$_$.i,An=e.$_$.a1,En=e.$_$.sb,In=e.$_$.vc,Dn=e.$_$.l8,Tn=e.$_$.tb,Bn=e.$_$.nc,Ln=e.$_$.w7,Nn=(e.$_$.n8,n.$_$.n1),Rn=e.$_$.d,Fn=n.$_$.a2,Hn=e.$_$.u9,Un=n.$_$.g2,Vn=n.$_$.d2,Wn=n.$_$.v1,Jn=n.$_$.a1,Kn=n.$_$.u,Yn=n.$_$.t,Gn=n.$_$.g,Xn=n.$_$.j,Zn=n.$_$.y1,Qn=n.$_$.z1,te=n.$_$.c1,ne=e.$_$.bd,ee=n.$_$.c2,re=n.$_$.b,ie=e.$_$.xb,oe=e.$_$.xc,se=e.$_$.wc,ae=n.$_$.f1,ue=n.$_$.e1,ce=e.$_$.hb,le=e.$_$.w2,he=e.$_$.jb,pe=e.$_$.gb,fe=e.$_$.n2,_e=e.$_$.kb,de=e.$_$.o3,ve=n.$_$.i1,ye=n.$_$.d1,me=e.$_$.h2,ge=n.$_$.l1,$e=n.$_$.k1,be=e.$_$.m4,we=n.$_$.q,xe=e.$_$.l4,ke=n.$_$.r,je=e.$_$.o4,ze=n.$_$.p,Ce=e.$_$.h7,Se=e.$_$.z9,qe=e.$_$.g2,Oe=e.$_$.ua,Pe=e.$_$.da,Me=n.$_$.s1,Ae=e.$_$.p1,Ee=e.$_$.z3,Ie=e.$_$.d4,De=e.$_$.fa,Te=e.$_$.xa,Be=e.$_$.i6,Le=e.$_$.d7,Ne=e.$_$.o7,Re=e.$_$.ub,Fe=n.$_$.b1,He=e.$_$.x6,Ue=e.$_$.g7,Ve=e.$_$.n,We=e.$_$.yb,Je=e.$_$.f2,Ke=e.$_$.j4,Ye=e.$_$.u8,Ge=e.$_$.m,Xe=e.$_$.k1,Ze=e.$_$.u;function Qe(){r=this,nr.call(this,function(t,n,e,r,i,o,s,a,u,c,l,h,p,f){return function(t,n,e,r,i,o,s,a,u,c,l,h,p,f,_){return 0!=(1&p)&&(t=!1),0!=(2&p)&&(n=!1),0!=(4&p)&&(e=!1),0!=(8&p)&&(r=!1),0!=(16&p)&&(i=!1),0!=(32&p)&&(o=!0),0!=(64&p)&&(s=" "),0!=(128&p)&&(a=!1),0!=(256&p)&&(u=!1),0!=(512&p)&&(c="type"),0!=(1024&p)&&(l=!1),0!=(2048&p)&&(h=!0),sr.call(_,t,n,e,r,i,o,s,a,u,c,l,h),_}(t,n,e,r,i,o,s,a,u,c,l,h,p,0,Object.create(sr.prototype))}(!1,!1,!1,!1,!1,!1,null,!1,!1,null,!1,!1,4095),nt())}function tr(){return null==r&&new Qe,r}function nr(t,n){tr(),this.g2v_1=t,this.h2v_1=n,this.i2v_1=new Ii}function er(t){this.y2v_1=t.g2v_1.l2w_1,this.z2v_1=t.g2v_1.q2w_1,this.a2w_1=t.g2v_1.m2w_1,this.b2w_1=t.g2v_1.n2w_1,this.c2w_1=t.g2v_1.o2w_1,this.d2w_1=t.g2v_1.p2w_1,this.e2w_1=t.g2v_1.r2w_1,this.f2w_1=t.g2v_1.s2w_1,this.g2w_1=t.g2v_1.t2w_1,this.h2w_1=t.g2v_1.u2w_1,this.i2w_1=t.g2v_1.v2w_1,this.j2w_1=t.g2v_1.w2w_1,this.k2w_1=t.n2d()}function rr(t,n){nr.call(this,t,n),function(t){if(ht(t.n2d(),nt()))return ot();var n=new Ai(t.g2v_1.t2w_1,t.g2v_1.u2w_1);t.n2d().n2u(n)}(this)}function ir(){}function or(){}function sr(t,n,e,r,i,o,s,a,u,c,l,h){this.l2w_1=t,this.m2w_1=n,this.n2w_1=e,this.o2w_1=r,this.p2w_1=i,this.q2w_1=o,this.r2w_1=s,this.s2w_1=a,this.t2w_1=u,this.u2w_1=c,this.v2w_1=l,this.w2w_1=h}function ar(){}function ur(){i=this}function cr(){null==i&&new ur}function lr(){o=this}function hr(t){null==o&&new lr,cr.call(this),this.b2x_1=t}function pr(){s=this}function fr(t){var n=t.k2(),e=t.m2(),r=$t();return Ji(r,n),r.q9(lt(58)),r.db(e),r.toString()}function _r(t){null==s&&new pr,cr.call(this),this.f2x_1=t}function dr(){a=this}function vr(){null==a&&new dr,cr.call(this)}function yr(t,n){vr.call(this),this.h2x_1=n,this.i2x_1=st(t)}function mr(){return Rr()}function gr(){u=this,vr.call(this),this.j2x_1="null";var t=kt();this.k2x_1=jt(t,mr)}function $r(){return null==u&&new gr,u}function br(t){return function(t){return Ki(),!!Oe(t,"true",!0)||!Oe(t,"false",!0)&&null}(t.c1e())}function wr(t){return Ct(t.c1e())}function xr(t){var n,e=t instanceof vr?t:null;return null==e?function(t,n){throw at("Element "+wt(t)+" is not a "+n)}(t,"JsonPrimitive"):n=e,n}function kr(t){var n=Fr(jr);t.e2d("JsonPrimitive",n,null,!1,12,null);var e=Fr(zr);t.e2d("JsonNull",e,null,!1,12,null);var r=Fr(Cr);t.e2d("JsonLiteral",r,null,!1,12,null);var i=Fr(Sr);t.e2d("JsonObject",i,null,!1,12,null);var o=Fr(qr);return t.e2d("JsonArray",o,null,!1,12,null),ot()}function jr(){return Lr().m2x_1}function zr(){return Rr().n2x_1}function Cr(){return Ur().o2x_1}function Sr(){return Tr().p2x_1}function qr(){return Er().q2x_1}function Or(){c=this;var t=Mt();this.r2x_1=At("kotlinx.serialization.json.JsonElement",t,[],kr,4,null)}function Pr(){return null==c&&new Or,c}function Mr(){l=this,this.t2x_1=It(Pr()).t2c(),this.u2x_1="kotlinx.serialization.json.JsonArray"}function Ar(){h=this,this.q2x_1=(null==l&&new Mr,l)}function Er(){return null==h&&new Ar,h}function Ir(){p=this,this.w2x_1=Lt(Bt(Tt()),Pr()).t2c(),this.x2x_1="kotlinx.serialization.json.JsonObject"}function Dr(){f=this,this.p2x_1=(null==p&&new Ir,p)}function Tr(){return null==f&&new Dr,f}function Br(){_=this;var t=Nt();this.m2x_1=At("kotlinx.serialization.json.JsonPrimitive",t,[],null,12,null)}function Lr(){return null==_&&new Br,_}function Nr(){d=this;var t=Rt();this.n2x_1=At("kotlinx.serialization.json.JsonNull",t,[],null,12,null)}function Rr(){return null==d&&new Nr,d}function Fr(t){return new Yr(t)}function Hr(){v=this,this.o2x_1=Ft("kotlinx.serialization.json.JsonLiteral",Nt())}function Ur(){return null==v&&new Hr,v}function Vr(t){!function(t){var n=Kt(t,Gr)?t:null;if(null==n)throw Yt("This serializer can be used only with Json format.Expected Encoder to be JsonEncoder, got "+wt(t))}(t)}function Wr(t){var n=Kt(t,ar)?t:null;if(null==n)throw Yt("This serializer can be used only with Json format.Expected Decoder to be JsonDecoder, got "+wt(t));return n}function Jr(t){Wr(t)}function Kr(t){return nn("original",1,tn,(function(t){return Kr(t)}),null),t.c2y_1.m2()}function Yr(t){this.c2y_1=Gt(t)}function Gr(){}function Xr(t){this.d2y_1=t,this.e2y_1=!0}function Zr(t,n){Xr.call(this,t),this.z2y_1=n}function Qr(t,n){Xr.call(this,t),this.c2z_1=n,this.d2z_1=0}function ti(t){var n,e;this.e2z_1=new _n(t,(n=this,e=function(t,e){return i=t,o=e,(r=n).f2z_1=!i.i2e(o)&&i.f2e(o).v2d(),r.f2z_1;var r,i,o},e.callableName="readIfAbsent",e)),this.f2z_1=!1}function ni(t,n){var e="Unexpected special floating-point value "+st(n)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification";t.g2z(e,0,Jo(),2,null)}function ei(t){li.call(this,t),dn(this,ei)}function ri(t){return new ei("Value of type '"+t.z2d()+"' can't be used in JSON as a key in the map. It should have either primitive or enum kind, but its kind is '"+t.d2e()+"'.\n"+Q)}function ii(t){li.call(this,t),dn(this,ii)}function oi(t,n,e){return ai(t,n+"\nJSON input: "+hi(e,t))}function si(t,n,e){return ai(-1,function(t,n,e){return"Unexpected special floating-point value "+st(t)+" with key "+n+". By default, non-finite floating point values are prohibited because they do not conform JSON specification. "+Jo()+"\nCurrent output: "+pi(e,0,1)}(t,n,e))}function ai(t,n){return new ii(t>=0?"Unexpected JSON token at offset "+t+": "+n:n)}function ui(t,n){return ai(-1,"Encountered unknown key '"+t+"'.\n"+G+"\nCurrent input: "+pi(n,0,1))}function ci(t,n){return new ei("Unexpected special floating-point value "+st(t)+". By default, non-finite floating point values are prohibited because they do not conform JSON specification. "+Jo()+"\nCurrent output: "+pi(n,0,1))}function li(t){yn(t,this),dn(this,li)}function hi(t,n){if(mn(t)<200)return t;if(-1===n){var e=mn(t)-60|0;if(e<=0)return t;var r=mn(t);return"....."+st(gn(t,e,r))}var i=n-30|0,o=n+30|0,s=i<=0?"":".....",a=o>=mn(t)?"":".....",u=$n(i,0),c=bn(o,mn(t));return s+st(gn(t,u,c))+a}function pi(t,n,e,r){return 0!=(1&e)&&(n=-1),hi(t,n)}function fi(){return yi(),y}function _i(t,n,e){yi();var r=t.g2e(e);if(wn(),-3!==r)return r;if(!n.g2v_1.w2w_1)return r;var i,o,s,a=Yo(n),u=fi(),c=a.i2z(t,u,(o=t,s=function(){return di(o)},s.callableName="buildAlternativeNamesMap",s)).a3(e);return null==c?(wn(),i=-3):i=c,i}function di(t){yi();var n=null,e=0,r=t.b2e();if(e>12),i=Wi(e>>8),o=Wi(e>>4),s=Wi(e);t[e]="\\u"+new ct(r)+new ct(i)+new ct(o)+new ct(s)}while(n<=31);t[34]='\\"',t[92]="\\\\",t[9]="\\t",t[8]="\\b",t[10]="\\n",t[13]="\\r",t[12]="\\f",w=t;var a=new Int8Array(93),u=0;if(u<=31)do{var c=u;u=u+1|0,a[c]=1}while(u<=31);34,a[34]=Pe(34),92,a[92]=Pe(92),116,a[9]=Pe(116),98,a[8]=Pe(98),110,a[10]=Pe(110),114,a[13]=Pe(114),102,a[12]=Pe(102)}}function Yi(t){var n=t.o2s(),e=null==n?null:t.r32(n);return null==e?t.m2():e}function Gi(t,n){throw oi(-1,"Failed to parse '"+n+"'",st(Yi(t)))}function Xi(t,n,e){var r=t instanceof yr?t:null;if(null==r)throw ai(-1,"Unexpected 'null' when "+e+" was expected");return r}function Zi(t,n){Me.call(this),this.o32_1=t,this.p32_1=n,this.q32_1=this.z2w().g2v_1}function Qi(t,n,e,r,i,o,s){return 0!=(4&i)&&(e=null),0!=(8&i)&&(r=null),eo.call(s,t,n,e,r),s}function to(t,n,e,r){var i,o;t:{var s=t.z2w(),a=n.f2e(e);if(!a.v2d()&&t.r32(r)instanceof gr)i=!0;else{if(ht(a.d2e(),Rt())){var u=t.r32(r),c=u instanceof vr?u:null,l=null==c?null:(o=c)instanceof gr?null:o.c1e();if(null==l){i=!1;break t}var h=_i(a,s,l);if(wn(),-3===h){ot(),i=!0;break t}}i=!1}}return i}function no(t,n,e){return t.n33_1=!t.z2w().g2v_1.q2w_1&&!n.i2e(e)&&n.f2e(e).v2d(),t.n33_1}function eo(t,n,e,r){Zi.call(this,t,n),this.j33_1=n,this.k33_1=e,this.l33_1=r,this.m33_1=0,this.n33_1=!1}function ro(t,n){Zi.call(this,t,n),this.t33_1=n,this.u33_1=this.t33_1.f(),this.v33_1=-1}function io(t,n){Qi(t,n,null,null,12,0,this),this.g34_1=n,this.h34_1=Ne(this.g34_1.b3()),this.i34_1=tt(this.h34_1.f(),2),this.j34_1=-1}function oo(){if(S)return ot();S=!0,k=new so("OBJ",0,qo(),Oo()),j=new so("LIST",1,Po(),Mo()),z=new so("MAP",2,qo(),Oo()),C=new so("POLY_OBJ",3,Po(),Mo())}function so(t,n,e,r){Re.call(this,t,n),this.f32_1=e,this.g32_1=r}function ao(t,n){var e,r=n.d2e();if(r instanceof Yn)e=po();else if(ht(r,Mn()))e=lo();else if(ht(r,Xn())){var i,o=uo(n.f2e(0),t.n2d()),s=o.d2e();if(s instanceof Kn||ht(s,Rt()))i=ho();else{if(!t.g2v_1.o2w_1)throw ri(o);i=lo()}e=i}else e=co();return e}function uo(t,n){var e;if(ht(t.d2e(),Gn())){var r=Fe(n,t),i=null==r?null:uo(r,n);e=null==i?t:i}else e=t.c2e()?uo(t.f2e(0),n):t;return e}function co(){return oo(),k}function lo(){return oo(),j}function ho(){return oo(),z}function po(){return oo(),C}function fo(t,n,e){return t.k34(n,e),function(t,n){var e=n;-1===(e=t.m34(e))&&t.g2z("Expected escape sequence to continue, got EOF",0,null,6,null);var r=t.l34(),i=e;e=i+1|0;var o=ut(r,i);if(ht(new ct(o),new ct(lt(117))))return yo(t,t.l34(),e);var s=function(t){return t<117?Wo().v34_1[t]:lt(0)}(qe(o));if(ht(new ct(s),new ct(lt(0)))){var a="Invalid escaped char '"+new ct(o)+"'";t.g2z(a,0,null,6,null)}return t.w2v_1.q9(s),e}(t,e+1|0)}function _o(t,n,e){t.k34(n,e);var r=t.w2v_1.toString();return t.w2v_1.vk(0),r}function vo(t){var n=zn(t.v2v_1);return t.v2v_1=null,n}function yo(t,n,e){return(e+4|0)>=mn(n)?(t.t2v_1=e,t.n34(),(t.t2v_1+4|0)>=mn(n)&&t.g2z("Unexpected EOF during unicode escape",0,null,6,null),yo(t,n,t.t2v_1)):(t.w2v_1.q9(Se((((mo(t,n,e)<<12)+(mo(t,n,e+1|0)<<8)|0)+(mo(t,n,e+2|0)<<4)|0)+mo(t,n,e+3|0)|0)),e+4|0)}function mo(t,n,e){var r,i=ut(n,e);if(lt(48)<=i&&i<=lt(57))r=qe(i)-48|0;else if(lt(97)<=i&&i<=lt(102))r=10+(qe(i)-97|0)|0;else if(lt(65)<=i&&i<=lt(70))r=10+(qe(i)-65|0)|0;else{var o="Invalid toHexChar char '"+new ct(i)+"' in unicode escape";t.g2z(o,0,null,6,null)}return r}function go(t,n){var e=t.m34(n);(e>=mn(t.l34())||-1===e)&&t.g2z("EOF",0,null,6,null);var r=t.l34(),i=e;e=i+1|0;var o,s=ut(r,i),a=32|qe(s);if(116===a)$o(t,"rue",e),o=!0;else if(102===a)$o(t,"alse",e),o=!1;else{var u="Expected valid boolean literal prefix, but had '"+t.i30()+"'";t.g2z(u,0,null,6,null)}return o}function $o(t,n,e){(mn(t.l34())-e|0)=0&&(t.eb("."),t.eb(i.h2e(o)))}else i!==gi()&&(t.eb("["),t.eb("'"),t.db(i),t.eb("'"),t.eb("]"))}while(e=0&&ht(new ct(t),new ct(lt(34)))&&"null"===this.i30()&&this.r34("Expected string literal but 'null' literal was found",this.t2v_1-4|0,"Use 'coerceInputValues = true' in 'Json {}` builder to coerce nulls to default values."),this.p34(wo(t))},bo.prototype.p34=function(t){var n="Expected "+(1===t?"quotation mark '\"'":4===t?"comma ','":5===t?"colon ':'":6===t?"start of the object '{'":7===t?"end of the object '}'":8===t?"start of the array '['":9===t?"end of the array ']'":"valid token")+", but had '"+(this.t2v_1===mn(this.l34())||this.t2v_1<=0?"EOF":me(ut(this.l34(),this.t2v_1-1|0)))+"' instead",e=this.t2v_1-1|0;this.g2z(n,e,null,4,null)},bo.prototype.f30=function(){for(var t=this.l34(),n=this.t2v_1;-1!==(n=this.m34(n));){var e=ut(t,n);if(!(ht(new ct(e),new ct(lt(32)))||ht(new ct(e),new ct(lt(10)))||ht(new ct(e),new ct(lt(13)))||ht(new ct(e),new ct(lt(9)))))return this.t2v_1=n,wo(e);n=n+1|0}return this.t2v_1=n,10},bo.prototype.v31=function(){var t=this.s34();t=this.m34(t);var n=mn(this.l34())-t|0;if(n<4||-1===t)return!0;var e=0;if(e<=3)do{var r=e;if(e=e+1|0,!ht(new ct(ut("null",r)),new ct(ut(this.l34(),t+r|0))))return!0}while(e<=3);return n>4&&0===wo(ut(this.l34(),t+4|0))||(this.t2v_1=t+4|0,!1)},bo.prototype.s34=function(){var t=this.t2v_1;t:for(;-1!==(t=this.m34(t));){var n=ut(this.l34(),t);if(!(ht(new ct(n),new ct(lt(32)))||ht(new ct(n),new ct(lt(10)))||ht(new ct(n),new ct(lt(13)))||ht(new ct(n),new ct(lt(9)))))break t;t=t+1|0}return this.t2v_1=t,t},bo.prototype.w31=function(t){var n,e=this.f30();if(t){if(1!==e&&0!==e)return null;n=this.i30()}else{if(1!==e)return null;n=this.h30()}var r=n;return this.v2v_1=r,r},bo.prototype.t34=function(t,n){var e=this.l34();return st(gn(e,t,n))},bo.prototype.h30=function(){return null!=this.v2v_1?vo(this):this.z31()},bo.prototype.consumeString2=function(t,n,e){for(var r=e,i=n,o=ut(t,r),s=!1;!ht(new ct(o),new ct(lt(34)));){if(ht(new ct(o),new ct(lt(92)))){if(s=!0,-1===(r=this.m34(fo(this,i,r)))){var a=r;this.g2z("EOF",a,null,4,null)}i=r}else if((r=r+1|0)>=mn(t)){if(s=!0,this.k34(i,r),-1===(r=this.m34(r))){var u=r;this.g2z("EOF",u,null,4,null)}i=r}o=ut(t,r)}var c=s?_o(this,i,r):this.t34(i,r);return this.t2v_1=r+1|0,c},bo.prototype.a32=function(){var t,n=this.i30();return"null"===n&&!ht(new ct(ut((t=this).l34(),t.t2v_1-1|0)),new ct(lt(34)))&&this.g2z("Unexpected 'null' value instead of string literal",0,null,6,null),n},bo.prototype.i30=function(){if(null!=this.v2v_1)return vo(this);var t=this.s34();if(t>=mn(this.l34())||-1===t){var n=t;this.g2z("EOF",n,null,4,null)}var e=wo(ut(this.l34(),t));if(1===e)return this.h30();if(0!==e){var r="Expected beginning of the string, but got "+new ct(ut(this.l34(),t));this.g2z(r,0,null,6,null)}for(var i=!1;0===wo(ut(this.l34(),t));)if((t=t+1|0)>=mn(this.l34())){i=!0,this.k34(this.t2v_1,t);var o=this.m34(t);if(-1===o)return this.t2v_1=t,_o(this,0,0);t=o}var s=i?_o(this,this.t2v_1,t):this.t34(this.t2v_1,t);return this.t2v_1=t,s},bo.prototype.k34=function(t,n){this.w2v_1.uk(this.l34(),t,n)},bo.prototype.u34=function(t,n,e){if(!t){var r=e();this.g2z(r,n,null,4,null)}},bo.prototype.y31=function(t){var n=xn(),e=this.f30();if(8!==e&&6!==e)return this.i30(),ot();for(;;)if(1!==(e=this.f30())){var r=e;if(8===r||6===r)n.a(e);else if(9===r){if(8!==He(n))throw oi(this.t2v_1,"found ] instead of } at path: "+this.u2v_1,this.l34());Ue(n)}else if(7===r){if(6!==He(n))throw oi(this.t2v_1,"found } instead of ] at path: "+this.u2v_1,this.l34());Ue(n)}else 10===r&&this.g2z("Unexpected end of input due to malformed JSON during ignoring unknown keys",0,null,6,null);if(this.k30(),0===n.f())return ot()}else t?this.i30():this.z31()},bo.prototype.toString=function(){return"JsonReader(source='"+this.l34()+"', currentPosition="+this.t2v_1+")"},bo.prototype.x31=function(t){var n=this.t34(0,this.t2v_1),e=Ve(n,t,0,!1,6,null);this.r34("Encountered an unknown key '"+t+"'",e,"Use 'ignoreUnknownKeys = true' in 'Json {}' builder to ignore unknown keys.")},bo.prototype.r34=function(t,n,e){var r=0===mn(e)?"":"\n"+e;throw oi(n,t+" at path: "+this.u2v_1.s2z()+r,this.l34())},bo.prototype.g2z=function(t,n,e,r,i){return 0!=(2&r)&&(n=this.t2v_1),0!=(4&r)&&(e=""),this.r34(t,n,e)},bo.prototype.j32=function(){var t,n=this.s34();((n=this.m34(n))>=mn(this.l34())||-1===n)&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))?((n=n+1|0)===mn(this.l34())&&this.g2z("EOF",0,null,6,null),t=!0):t=!1;var e,r=t,i=new We(0,0),o=!1,s=n,a=!0;t:for(;a;){var u=ut(this.l34(),n);if(ht(new ct(u),new ct(lt(45))))n!==s&&this.g2z("Unexpected symbol '-' in numeric literal",0,null,6,null),o=!0,n=n+1|0;else{if(0!==wo(u))break t;a=!((n=n+1|0)===mn(this.l34()));var c=Je(u,lt(48));if(!(0<=c&&c<=9)){var l="Unexpected symbol '"+new ct(u)+"' in numeric literal";this.g2z(l,0,null,6,null)}(i=i.t9(new We(10,0)).v9(on(c))).c1(new We(0,0))>0&&this.g2z("Numeric value overflow",0,null,6,null)}}if((s===n||o&&s===(n-1|0))&&this.g2z("Expected numeric literal",0,null,6,null),r&&(a||this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))||this.g2z("Expected closing quotation mark",0,null,6,null),n=n+1|0),this.t2v_1=n,o)e=i;else{var h=i;Ke(),h.equals(new We(0,-2147483648))?this.g2z("Numeric value overflow",0,null,6,null):e=i.r9()}return e},bo.prototype.h32=function(){return go(this,this.s34())},bo.prototype.i32=function(){var t,n=this.s34();n===mn(this.l34())&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),n)),new ct(lt(34)))?(n=n+1|0,t=!0):t=!1;var e=t,r=go(this,n);if(e){this.t2v_1===mn(this.l34())&&this.g2z("EOF",0,null,6,null),ht(new ct(ut(this.l34(),this.t2v_1)),new ct(lt(34)))||this.g2z("Expected closing quotation mark",0,null,6,null);this.t2v_1=this.t2v_1+1|0}return r},bo.$metadata$=it("AbstractJsonLexer"),Vo.$metadata$=et("CharMappings"),Ko.prototype.l34=function(){return this.b35_1},Ko.prototype.m34=function(t){return t=0},Wn.prototype.cu=function(){var t=this.tt_1,n=null==t?null:t.du();return null==n||n},Wn.prototype.eu=function(t){this.rt_1=this.rt_1.u9(Vn(0,t)),t||(this.st_1=!0)},Wn.prototype.fu=function(t){if(this.rt_1=this.rt_1.v9(Vn(0,t)),this.rt_1.c1(new jt(0,0))>0)return N();this.st_1&&this.gu()},Wn.prototype.gu=function(){},Wn.$metadata$=W("EventLoop",void 0,void 0,void 0,void 0,Tn.prototype),Jn.prototype.iu=function(){var t,n=this.hu_1.ku();if(null==n){var e=new Wr;Kn().hu_1.lu(e),t=e}else t=n;return t},Jn.$metadata$=st("ThreadLocalEventLoop"),Yn.$metadata$=W("CompletionHandlerException",void 0,void 0,void 0,void 0,zt.prototype),Gn.$metadata$=W("CoroutinesInternalError",void 0,void 0,void 0,void 0,qt.prototype),Xn.$metadata$=nt("DisposableHandle"),Zn.$metadata$=st("Key",[$t]),te.$metadata$=nt("Job",[Pt]),ne.$metadata$=nt("ChildJob",[te]),ee.$metadata$=nt("ParentJob",[te]),re.$metadata$=nt("ChildHandle",[Xn]),ie.prototype.js=function(){},ie.prototype.gq=function(t){return!1},ie.prototype.toString=function(){return"NonDisposableHandle"},ie.$metadata$=st("NonDisposableHandle",[Xn,re]),fe.prototype.xo=function(){return this.mu_1},fe.prototype.nu=function(){return null},fe.prototype.toString=function(){return"Empty{"+(this.mu_1?"Active":"New")+"}"},fe.$metadata$=W("Empty",[_e]),_e.$metadata$=nt("Incomplete"),de.prototype.xo=function(){return!0},de.prototype.nu=function(){return this},de.prototype.ru=function(t){var n=At();n.eb("List{"),n.eb(t),n.eb("}[");for(var e=!0,r=this.su_1;!Y(r,this);){if(r instanceof ve){var i=r;e?e=!1:n.eb(", "),n.db(i)}r=r.su_1}return n.eb("]"),n.toString()},de.prototype.toString=function(){return Nr()?this.ru("Active"):ii.prototype.toString.call(this)},de.$metadata$=W("NodeList",[_e],void 0,void 0,void 0,ii.prototype),ve.prototype.gv=function(){var t=this.fv_1;if(null!=t)return t;Et("job")},ve.prototype.xo=function(){return!0},ve.prototype.nu=function(){return null},ve.prototype.js=function(){return this.gv().aq(this)},ve.prototype.toString=function(){return Rr(this)+"@"+Fr(this)+"[job@"+Fr(this.gv())+"]"},ve.$metadata$=W("JobNode",[Xn,_e],void 0,void 0,void 0,Ar.prototype),Ie.prototype.nu=function(){return this.jv_1},Ie.prototype.uv=function(t){this.kv_1.no_1=t},Ie.prototype.qv=function(){return this.kv_1.no_1},Ie.prototype.aw=function(t){this.lv_1.jo_1=t},Ie.prototype.tv=function(){return this.lv_1.jo_1},Ie.prototype.rv=function(){return me(this)===he()},Ie.prototype.nv=function(){return!(null==this.tv())},Ie.prototype.xo=function(){return null==this.tv()},Ie.prototype.ov=function(t){var n,e=me(this);if(null==e)n=ge();else if(e instanceof Error){var r=ge();r.a(e),n=r}else{if(!(e instanceof Tt)){var i="State is "+rt(e);throw X(it(i))}n=e instanceof Tt?e:B()}var o=n,s=this.tv(),a=s;return null==a||(o.yf(0,a),N()),null==t||Y(t,s)||o.a(t),ye(this,he()),o},Ie.prototype.sv=function(t){var n=this.tv();if(null==n)return this.aw(t),N();if(t===n)return N();var e=me(this);if(null==e)ye(this,t);else if(e instanceof Error){if(t===e)return N();var r=ge();r.a(e),r.a(t),ye(this,r)}else{if(!(e instanceof Tt)){var i="State is "+rt(e);throw X(it(i))}(e instanceof Tt?e:B()).a(t)}},Ie.prototype.toString=function(){return"Finishing[cancelling="+this.nv()+", completing="+this.qv()+", rootCause="+this.tv()+", exceptions="+rt(me(this))+", list="+this.jv_1+"]"},Ie.$metadata$=W("Finishing",[_e]),De.prototype.ht=function(t){!function(t,n,e,r){var i=Ae(e);if(null!=i&&Me(t,n,i,r))return N();var o=$e(t,n,r);t.hp(o)}(this.fw_1,this.gw_1,this.hw_1,this.iw_1)},De.prototype.invoke=function(t){return this.ht(t)},De.$metadata$=W("ChildCompletion",void 0,void 0,void 0,void 0,ve.prototype),Te.prototype.yw=function(t,n){var e=this.zw(t,n);return e.l7_1=N(),e.m7_1=null,e.q7()},Te.prototype.r7=function(t,n){return this.yw(t instanceof Lt?t:B(),n)},Te.prototype.q7=function(){var t=this.l7_1;t:for(;;)try{switch(this.j7_1){case 0:if(this.k7_1=8,this.tw_1=this.rw_1.qp(),this.tw_1 instanceof Fe){if(this.j7_1=6,(t=this.sw_1.t4(this.tw_1.zv_1,this))===tt())return t;continue t}var n=this.tw_1;if(null!=n&&et(n,_e)){if(this.uw_1=this.tw_1.nu(),null==this.uw_1){this.vw_1=null,this.j7_1=5;continue t}this.ww_1=this.uw_1.su_1,this.j7_1=1;continue t}this.j7_1=7;continue t;case 1:if(Y(this.ww_1,this.uw_1)){this.j7_1=4;continue t}if(this.ww_1 instanceof Fe){if(this.xw_1=this.ww_1,this.j7_1=2,(t=this.sw_1.t4(this.xw_1.zv_1,this))===tt())return t;continue t}this.j7_1=3;continue t;case 2:this.j7_1=3;continue t;case 3:this.ww_1=this.ww_1.su_1,this.j7_1=1;continue t;case 4:this.vw_1=N(),this.j7_1=5;continue t;case 5:case 6:this.j7_1=7;continue t;case 7:return N();case 8:throw this.m7_1}}catch(t){if(8===this.k7_1)throw t;this.j7_1=this.k7_1,this.m7_1=t}},Te.prototype.zw=function(t,n){var e=new Te(this.rw_1,n);return e.sw_1=t,e},Te.$metadata$=W("JobSupport$$slambda",void 0,void 0,void 0,[1],Bt.prototype),Be.prototype.k2=function(){return Qn()},Be.prototype.op=function(t){this.ro_1.jo_1=t},Be.prototype.pp=function(){return this.ro_1.jo_1},Be.prototype.so=function(t){if(null==t)return this.op(oe()),N();t.sp();var n=t.kq(this);this.op(n),this.rp()&&(n.js(),this.op(oe()))},Be.prototype.qp=function(){for(var t=this.qo_1;;){var n=t.jo_1;if(!(n instanceof _r))return n;n.ax(this)}},Be.prototype.xo=function(){var t=this.qp();return!(null==t||!et(t,_e))&&t.xo()},Be.prototype.rp=function(){var t=this.qp();return!(null!=t&&et(t,_e))},Be.prototype.sp=function(){for(;;){var t=ke(this,this.qp());if(0===t)return!1;if(1===t)return!0}},Be.prototype.tp=function(){},Be.prototype.up=function(){var t,n=this.qp();if(n instanceof Ie){var e=n.tv(),r=null==e?null:this.vp(e,Rr(this)+" is cancelling");if(null==r)throw X(it("Job is still new or active: "+this));t=r}else{if(null!=n&&et(n,_e))throw X(it("Job is still new or active: "+this));t=n instanceof qn?this.wp(n.cp_1,null,1,null):new Jr(Rr(this)+" has completed normally",null,this)}return t},Be.prototype.vp=function(t,n){var e,r=t instanceof Dt?t:null;if(null==r){var i=n;e=new Jr(null==i?this.ap():i,t,this)}else e=r;return e},Be.prototype.wp=function(t,n,e,r){return 0!=(1&e)&&(n=null),this.vp(t,n)},Be.prototype.xp=function(t){return this.yp(!1,!0,t)},Be.prototype.yp=function(t,n,e){for(var r=function(t,n,e){var r;if(e){var i=n instanceof Ne?n:null;r=null==i?new He(n):i}else{var o=n instanceof ve?n:null,s=null==o?null:o;r=null==s?new Ue(n):s}var a=r;return a.fv_1=t,a}(this,e,t);;)t:{var i=this.qp(),o=i;if(o instanceof fe)if(i.mu_1){if(this.qo_1.atomicfu$compareAndSet(i,r))return r}else ze(this,i);else{if(null==o||!et(o,_e)){if(n){var s=i instanceof qn?i:null;Er(e,null==s?null:s.cp_1)}return oe()}var a=i.nu();if(null==a)Ce(this,i instanceof ve?i:B());else{var u=null,c=oe();if(t&&i instanceof Ie&&(null==(u=i.tv())||e instanceof Fe&&!i.qv())){if(!je(this,i,a,r)){N();break t}if(null==u)return r;c=r,N()}if(null!=u)return n&&Er(e,u),c;if(je(this,i,a,r))return r}}}},Be.prototype.aq=function(t){for(;;){var n=this.qp();if(!(n instanceof ve))return null!=n&&et(n,_e)?(null!=n.nu()&&t.hv(),N()):N();if(n!==t)return N();if(this.qo_1.atomicfu$compareAndSet(n,pe()))return N()}},Be.prototype.bq=function(){return!1},Be.prototype.cq=function(t){var n,e=t;if(null==e){n=new Jr(this.ap(),null,this)}else n=e;this.eq(n)},Be.prototype.ap=function(){return"Job was cancelled"},Be.prototype.eq=function(t){this.hq(t)},Be.prototype.fq=function(t){this.hq(t)},Be.prototype.gq=function(t){return t instanceof Dt||!!this.hq(t)&&this.nq()},Be.prototype.hq=function(t){var n,e=ae();return!(!this.bq()||(e=function(t,n){for(;;){var e=t.qp();if(null==e||!et(e,_e)||e instanceof Ie&&e.qv())return ae();var r=Pe(t,e,Sn(Se(t,n),!1,2));if(r!==ce())return r}}(this,t))!==ue())||(e===ae()&&(e=function(t,n){for(var e=null;;)t:{var r=t.qp(),i=r;if(i instanceof Ie){if(r.rv())return le();var o=r.nv();if(null!=n||!o){var s,a=e;if(null==a){var u=Se(t,n);e=u,s=u}else s=a;var c=s;r.sv(c)}var l=r.tv(),h=o?null:l;return null==h||(we(t,r.jv_1,h),N()),ae()}if(null==i||!et(i,_e))return le();var p,f=e;if(null==f){var _=Se(t,n);e=_,p=_}else p=f;var d=p;if(!r.xo()){var v=Pe(t,r,Sn(d,!1,2));if(v===ae()){var y="Cannot happen in "+rt(r);throw X(it(y))}if(v===ce()){N();break t}return v}if(Oe(t,r,d))return ae()}}(this,t)),e===ae()||e===ue()?n=!0:e===le()?n=!1:(this.hp(e),n=!0),n)},Be.prototype.iq=function(t,n){var e=t;return new Jr(null==e?this.ap():e,n,this)},Be.prototype.jq=function(){var t,n=this.qp(),e=n;if(e instanceof Ie)t=n.tv();else if(e instanceof qn)t=n.cp_1;else{if(null!=e&&et(e,_e)){var r="Cannot be cancelling child in this state: "+rt(n);throw X(it(r))}t=null}var i=t,o=i instanceof Dt?i:null;return null==o?new Jr("Parent job is "+Ee(0,n),i,this):o},Be.prototype.fp=function(t){for(;;){var n=Pe(this,this.qp(),t);if(n===ae())throw Nt("Job "+this+" is already complete or completing, but is being completed with "+rt(t),(r=void 0,null==(r=(e=t)instanceof qn?e:null)?null:r.cp_1));if(n!==ce())return n;N()}var e,r},Be.prototype.it=function(){return Rt((t=new Te(this,null),(n=function(n,e){return t.yw(n,e)}).$arity=1,n));var t,n},Be.prototype.kq=function(t){var n;n=new Fe(t);var e=this.zp(!0,!1,n,2,null);return et(e,re)?e:B()},Be.prototype.ip=function(t){throw t},Be.prototype.lq=function(t){},Be.prototype.mq=function(){return!1},Be.prototype.nq=function(){return!0},Be.prototype.oq=function(t){return!1},Be.prototype.bp=function(t){},Be.prototype.hp=function(t){},Be.prototype.toString=function(){return this.pq()+"@"+Fr(this)},Be.prototype.pq=function(){return this.jp()+"{"+Ee(0,this.qp())+"}"},Be.prototype.jp=function(){return Rr(this)},Be.$metadata$=W("JobSupport",[te,ne,ee,Mr]),Ne.$metadata$=W("JobCancellingNode",void 0,void 0,void 0,void 0,ve.prototype),Re.prototype.nu=function(){return this.pv_1},Re.prototype.xo=function(){return!1},Re.prototype.toString=function(){return Nr()?this.pv_1.ru("New"):Ft(this)},Re.$metadata$=W("InactiveNodeList",[_e]),Fe.prototype.ht=function(t){return this.zv_1.fq(this.gv())},Fe.prototype.invoke=function(t){return this.ht(t)},Fe.prototype.gq=function(t){return this.gv().gq(t)},Fe.$metadata$=W("ChildHandleNode",[re],void 0,void 0,void 0,Ne.prototype),He.prototype.ht=function(t){this.gx_1.atomicfu$compareAndSet(0,1)&&this.fx_1(t)},He.prototype.invoke=function(t){return this.ht(t)},He.$metadata$=W("InvokeOnCancelling",void 0,void 0,void 0,void 0,Ne.prototype),Ue.prototype.ht=function(t){return this.lx_1(t)},Ue.prototype.invoke=function(t){return this.ht(t)},Ue.$metadata$=W("InvokeOnCompletion",void 0,void 0,void 0,void 0,ve.prototype),We.$metadata$=W("IncompleteStateBox"),Je.prototype.ht=function(t){this.rx_1.vs(this.rx_1.ws(this.gv()))},Je.prototype.invoke=function(t){return this.ht(t)},Je.$metadata$=W("ChildContinuation",void 0,void 0,void 0,void 0,Ne.prototype),Ke.prototype.bq=function(){return!0},Ke.prototype.nq=function(){return this.ux_1},Ke.$metadata$=W("JobImpl",[Cn],void 0,void 0,void 0,Be.prototype),Ge.prototype.toString=function(){var t=this.xx();return null==t?Rr(this)+"@"+Fr(this):t},Ge.prototype.xx=function(){var t,n=Ur().cy();if(this===n)return"Dispatchers.Main";try{t=n.wx()}catch(n){if(!(n instanceof Ht))throw n;t=null}return this===t?"Dispatchers.Main.immediate":null},Ge.$metadata$=W("MainCoroutineDispatcher",void 0,void 0,void 0,void 0,Tn.prototype),Xe.prototype.gq=function(t){return!1},Xe.$metadata$=W("SupervisorJobImpl",void 0,void 0,void 0,void 0,Ke.prototype),Ze.$metadata$=W("TimeoutCancellationException",[Hn],void 0,void 0,void 0,Dt.prototype),Qe.prototype.mt=function(t){return!1},Qe.prototype.nt=function(t,n){var e=t.y7((null==w&&new tr,w));if(null!=e)return e.iy_1=!0,N();throw Ut("Dispatchers.Unconfined.dispatch function can only be used by the yield function. If you wrap Unconfined dispatcher in your code, make sure you properly delegate isDispatchNeeded and dispatch calls.")},Qe.prototype.toString=function(){return"Dispatchers.Unconfined"},Qe.$metadata$=st("Unconfined",void 0,void 0,void 0,void 0,Tn.prototype),tr.$metadata$=st("Key",[$t]),nr.$metadata$=nt("Flow"),er.$metadata$=nt("FlowCollector"),rr.$metadata$=nt("MutableSharedFlow",[ir,er]),ir.$metadata$=nt("SharedFlow",[nr]),or.$metadata$=nt("MutableStateFlow",[sr,rr]),sr.$metadata$=nt("StateFlow",[ir]),ur.prototype.jy=function(t){var n=t;ar(this,null,null==n?hr():n)},ur.prototype.m2=function(){var t=hr(),n=this.ty_1.jo_1;return n===t?null:L(n)?n:B()},ur.prototype.ky=function(t,n){var e=t,r=n;return ar(this,null==e?hr():e,null==r?hr():r)},ur.$metadata$=W("StateFlowImpl",[or,pr,lr],void 0,void 0,void 0,cr.prototype),cr.$metadata$=W("AbstractSharedFlow"),lr.$metadata$=nt("FusibleFlow",[nr]),pr.$metadata$=nt("CancellableFlow",[nr]),fr.prototype.du=function(){return this.wt_1===this.xt_1},fr.prototype.au=function(t){this.vt_1[this.xt_1]=t,this.xt_1=(this.xt_1+1|0)&(this.vt_1.length-1|0),this.xt_1===this.wt_1&&function(t){var n=t.vt_1.length,e=Wt(Array(n<<1),null),r=t.vt_1,i=t.wt_1,o=r.length;Jt(r,e,0,i,o);var s=t.vt_1,a=t.vt_1.length-t.wt_1|0,u=t.wt_1;Jt(s,e,a,0,u),t.vt_1=e,t.wt_1=0,t.xt_1=n}(this)},fr.prototype.yt=function(){if(this.wt_1===this.xt_1)return null;var t=this.vt_1[this.wt_1];return this.vt_1[this.wt_1]=null,this.wt_1=(this.wt_1+1|0)&(this.vt_1.length-1|0),L(t)?t:B()},fr.$metadata$=W("ArrayQueue"),_r.$metadata$=W("OpDescriptor"),gr.prototype.xy=function(){return this.tr_1},gr.prototype.b5=function(){return this.tr_1.b5()},gr.prototype.yy=function(){return this.vr_1},gr.prototype.xr=function(){return!(null==this.wr_1.jo_1)},gr.prototype.zy=function(){for(var t=this.wr_1;;)if(t.jo_1!==vr())return N()},gr.prototype.ot=function(){this.zy();var t,n=(t=this.wr_1.jo_1)instanceof gn?t:null;null==n||n.bs()},gr.prototype.as=function(t){for(var n=this.wr_1;;){var e=n.jo_1;if(e!==vr()){if(e instanceof Error){if(!this.wr_1.atomicfu$compareAndSet(e,null))throw Kt(it("Failed requirement."));return e}var r="Inconsistent state "+rt(e);throw X(it(r))}if(this.wr_1.atomicfu$compareAndSet(vr(),t))return null}},gr.prototype.zr=function(t){for(var n=this.wr_1;;){var e=n.jo_1,r=e;if(Y(r,vr())){if(this.wr_1.atomicfu$compareAndSet(vr(),t))return!0}else{if(r instanceof Error)return!0;if(this.wr_1.atomicfu$compareAndSet(e,null))return!1}}},gr.prototype.ks=function(){var t=this.ur_1;return this.ur_1=dr(),t},gr.prototype.hs=function(){return this},gr.prototype.z4=function(t){var n=this.tr_1.b5(),e=Mn(t,null,1);if(this.sr_1.mt(n))this.ur_1=e,this.yr_1=kr(),this.sr_1.nt(n,this);else{var r=kr(),i=Kn().iu();if(i.bu())this.ur_1=e,this.yr_1=r,i.zt(this);else{i.eu(!0);try{for(this.b5(),this.vr_1,this.tr_1.z4(t),N();i.ut(););}catch(t){if(!(t instanceof Error))throw t;this.ct(t,null)}finally{i.fu(!0)}}}},gr.prototype.ls=function(t,n){t instanceof An&&t.kt_1(n)},gr.prototype.az=function(t){var n=this.b5().y7(Qn());if(null!=n&&!n.xo()){var e,r=n.up();return this.ls(t,r),pt(),e=ft(_t(r)),this.z4(e),N(),!0}return!1},gr.prototype.bz=function(t){this.tr_1,this.vr_1,this.tr_1.z4(t),N()},gr.prototype.toString=function(){return"DispatchedContinuation["+this.sr_1+", "+Dr(this.tr_1)+"]"},gr.$metadata$=W("DispatchedContinuation",[si,V],void 0,void 0,void 0,wr.prototype),wr.prototype.at=function(){return this.yr_1},wr.prototype.ls=function(t,n){},wr.prototype.xs=function(t){return null==t||L(t)?t:B()},wr.prototype.zs=function(t){var n=t instanceof qn?t:null;return null==n?null:n.cp_1},wr.prototype.bt=function(){N(),N();var t=null;try{var n=this.hs(),e=n instanceof gr?n:B(),r=e.tr_1,i=(e.vr_1,r.b5()),o=this.ks(),s=this.zs(o),a=null==s&&xr(this.yr_1)?i.y7(Qn()):null;if(null==a||a.xo()){if(null!=s){var u;pt(),u=ft(_t(s)),r.z4(u),N()}else{var c,l=this.xs(o);pt(),c=ft(l),r.z4(c),N()}}else{var h,p=a.up();this.ls(o,p),pt();var f=ai(p);h=ft(_t(f)),r.z4(h),N()}}catch(n){if(!(n instanceof Error))throw n;t=n}finally{var _;try{pt(),N(),_=ft(N())}catch(t){if(!(t instanceof Error))throw t;pt(),_=ft(_t(t))}var d=_;this.ct(t,lt(d))}},wr.prototype.ct=function(t,n){if(null===t&&null===n)return N();var e=new Gn("Fatal exception in coroutines machinery for "+this+". Please read KDoc to 'handleFatalException' method and report this incident to maintainers",Yt(null==t?n:t));Bn(this.hs().b5(),e)},wr.$metadata$=W("DispatchedTask",void 0,void 0,void 0,void 0,ri.prototype),zr.prototype.wo=function(){return this.cz_1},zr.prototype.toString=function(){return"CoroutineScope(coroutineContext="+this.cz_1+")"},zr.$metadata$=W("ContextScope",[Nn]),Cr.prototype.mq=function(){return!0},Cr.prototype.hp=function(t){mr(Q(this.hr_1),En(t,this.hr_1),null,2)},Cr.prototype.gp=function(t){this.hr_1.z4(En(t,this.hr_1))},Cr.$metadata$=W("ScopeCoroutine",[si],void 0,void 0,void 0,en.prototype),Sr.prototype.toString=function(){return"<"+this.dz_1+">"},Sr.prototype.ez=function(t){return t===this?null:null==t||L(t)?t:B()},Sr.$metadata$=W("Symbol"),Mr.$metadata$=nt("SelectClause0"),Ar.$metadata$=W("CompletionHandlerBase",void 0,void 0,void 0,void 0,oi.prototype),Ir.$metadata$=W("CancelHandlerBase"),Br.prototype.gp=function(t){return this.hr_1.z4(En(t,this.hr_1))},Br.$metadata$=W("UndispatchedCoroutine",void 0,void 0,void 0,void 0,Cr.prototype),Hr.prototype.cy=function(){var t=this.by_1;return null==t?this.ay_1:t},Hr.$metadata$=st("Dispatchers"),Vr.prototype.wx=function(){return this.mz_1},Vr.prototype.mt=function(t){return!this.lz_1},Vr.prototype.nt=function(t,n){return this.kz_1.nt(t,n)},Vr.prototype.toString=function(){var t=this.xx();return null==t?this.kz_1.toString():t},Vr.$metadata$=W("JsMainDispatcher",void 0,void 0,void 0,void 0,Ge.prototype),Wr.prototype.nt=function(t,n){!function(){throw Ut("runBlocking event loop is not supported")}()},Wr.$metadata$=W("UnconfinedEventLoop",void 0,void 0,void 0,void 0,Wn.prototype),Jr.prototype.toString=function(){return Dt.prototype.toString.call(this)+"; job="+this.rz_1},Jr.prototype.equals=function(t){return t===this||!!(t instanceof Jr&&t.message==this.message&&Y(t.rz_1,this.rz_1))&&Y(t.cause,this.cause)},Jr.prototype.hashCode=function(){var t=T(T(Zt(Yt(this.message)),31)+at(this.rz_1)|0,31),n=this.cause,e=null==n?null:at(n);return t+(null==e?0:e)|0},Jr.$metadata$=W("JobCancellationException",void 0,void 0,void 0,void 0,Dt.prototype),Kr.prototype.uz=function(){process.nextTick(this.d10_1.a10_1)},Kr.$metadata$=st("NodeDispatcher",void 0,void 0,void 0,void 0,Zr.prototype),Gr.prototype.uz=function(){setTimeout(this.d10_1.a10_1,0)},Gr.$metadata$=st("SetTimeoutDispatcher",void 0,void 0,void 0,void 0,Zr.prototype),Xr.prototype.m10=function(){this.b10_1.uz()},Xr.prototype.n10=function(){setTimeout(this.a10_1,0)},Xr.$metadata$=W("ScheduledMessageQueue",void 0,void 0,void 0,void 0,Qr.prototype),Zr.prototype.nt=function(t,n){this.d10_1.o10(n)},Zr.$metadata$=W("SetTimeoutBasedDispatcher",[Un],void 0,void 0,void 0,Tn.prototype),Qr.prototype.o10=function(t){this.au(t),this.k10_1||(this.k10_1=!0,this.m10())},Qr.prototype.l10=function(){try{var t=this.j10_1,n=0;if(nn?t+i|0:t,c=t>n?n+i|0:(n+e|0)-2|0,l=this.g1s();o=this.g1s().childNodes[u];var h,p=l.removeChild(a(o)),f=this.g1s();h=this.g1s().childNodes[c],f.insertBefore(p,a(h))}while(r (renderComposable.kt:59)"),v(y,e,0),E()&&(I(),s())),s()})),function(t,n){return d.t1b(t,n)})),p;var d;var v,y}(t,n,e)}(a(document.getElementById(t)),null,n,2)},t}.apply(n,r))||(t.exports=i)},261:function(t,n,e){var r,i,o;i=[n,e(744),e(506),e(769)],void 0===(o="function"==typeof(r=function(t,n,e,r){"use strict";var i,o,s,a,u,c,l,h,p,f,_,d,v,y,m,g,$,b,w,x,k,j,z,C,S,q,O,P,M,A,E,I,D,T,B,L,N,R,F,H,U,V,W,J,K,Y,G,X,Z,Q=Math.imul,tt=n.$_$.p4,nt=n.$_$.ca,et=(n.$_$.q5,n.$_$.j9),rt=n.$_$.a1,it=n.$_$.s,ot=n.$_$.n5,st=n.$_$.hd,at=n.$_$.cc,ut=n.$_$.zb,ct=n.$_$.y8,lt=n.$_$.ub,ht=n.$_$.ga,pt=n.$_$.u1,ft=e.$_$.d,_t=n.$_$.w8,dt=n.$_$.c1,vt=n.$_$.uc,yt=n.$_$.gd,mt=r.$_$.s,gt=r.$_$.o,$t=r.$_$.i,bt=r.$_$.r,wt=n.$_$.za,xt=n.$_$.a9,kt=r.$_$.j,jt=n.$_$.aa,zt=n.$_$.e9,Ct=n.$_$.h9,St=n.$_$.s9,qt=n.$_$.g9,Ot=n.$_$.w4,Pt=r.$_$.q,Mt=r.$_$.z,At=n.$_$.u9,Et=r.$_$.u,It=r.$_$.v,Dt=r.$_$.w,Tt=r.$_$.x,Bt=(r.$_$.m,e.$_$.c),Lt=n.$_$.g6,Nt=n.$_$.f6,Rt=e.$_$.a,Ft=n.$_$.fd,Ht=n.$_$.zc,Ut=r.$_$.n,Vt=e.$_$.b,Wt=r.$_$.t,Jt=r.$_$.b,Kt=n.$_$.pa,Yt=n.$_$.f9;function Gt(t,n){return Xt(),n!==t.value&&(t.value=n),function(t,n){Jn(),Hn().set(t,n),t instanceof HTMLInputElement&&function(t){var n;if(Jn(),"radio"===t.type){var e=t.name;n=_t(e)>0}else n=!1;if(n){if(!Un().u2(t.name)){var r=Un(),i=t.name,o=dt();r.v3(i,o)}vt(Un().a3(t.name)).a(t)}}(t)}(t,n),tt()}function Xt(){o||(o=!0,i=Gt)}function Zt(){s=this,this.k20_1="class",this.l20_1="id",this.m20_1="hidden",this.n20_1="title",this.o20_1="dir",this.p20_1="draggable",this.q20_1="contenteditable",this.r20_1="lang",this.s20_1="tabindex",this.t20_1="spellcheck"}function Qt(){}function tn(t,n,e){return function(t,n,e,r){return 0!=(1&n)&&(t=new sn),nn.call(r,t),r}(t,n,0,Object.create(nn.prototype))}function nn(t){this.c21_1=t;var n;n=rt(),this.d21_1=n,this.e21_1=new ee;var e;e=it(),this.f21_1=e,this.g21_1=null;var r;r=it(),this.h21_1=r,this.i21_1=8}function en(){a=this,this.r21_1="copy",this.s21_1="cut",this.t21_1="paste",this.u21_1="contextmenu",this.v21_1="click",this.w21_1="dblclick",this.x21_1="focus",this.y21_1="blur",this.z21_1="focusin",this.a22_1="focusout",this.b22_1="keydown",this.c22_1="keyup",this.d22_1="mousedown",this.e22_1="mouseup",this.f22_1="mouseenter",this.g22_1="mouseleave",this.h22_1="mousemove",this.i22_1="mouseout",this.j22_1="mouseover",this.k22_1="wheel",this.l22_1="scroll",this.m22_1="select",this.n22_1="touchcancel",this.o22_1="touchend",this.p22_1="touchmove",this.q22_1="touchstart",this.r22_1="animationcancel",this.s22_1="animationend",this.t22_1="animationiteration",this.u22_1="animationstart",this.v22_1="beforeinput",this.w22_1="input",this.x22_1="change",this.y22_1="invalid",this.z22_1="drag",this.a23_1="drop",this.b23_1="dragstart",this.c23_1="dragend",this.d23_1="dragover",this.e23_1="dragenter",this.f23_1="dragleave",this.g23_1="submit",this.h23_1="reset"}function rn(){return null==a&&new en,a}function on(){}function sn(){var t;t=it(),this.k21_1=t,this.l21_1=8}function an(t,n,e){lt.call(this,t,n),this.h20_1=e}function un(){l=this,An.call(this,"button"),this.m23_1=0}function cn(){h=this,En.call(this,"checkbox"),this.u23_1=0}function ln(){return null==h&&new cn,h}function hn(){p=this,Mn.call(this,"color"),this.c24_1=0}function pn(){f=this,Mn.call(this,"date"),this.j24_1=0}function fn(){_=this,Mn.call(this,"datetime-local"),this.n24_1=0}function _n(){d=this,Mn.call(this,"email"),this.r24_1=0}function dn(){v=this,Mn.call(this,"file"),this.v24_1=0}function vn(){y=this,Mn.call(this,"hidden"),this.z24_1=0}function yn(){m=this,Mn.call(this,"month"),this.d25_1=0}function mn(){g=this,In.call(this,"number"),this.h25_1=0}function gn(){$=this,Mn.call(this,"password"),this.o25_1=0}function $n(){b=this,En.call(this,"radio"),this.s25_1=0}function bn(){return null==b&&new $n,b}function wn(){w=this,In.call(this,"range"),this.w25_1=0}function xn(){x=this,Mn.call(this,"search"),this.a26_1=0}function kn(){k=this,An.call(this,"submit"),this.e26_1=0}function jn(){j=this,Mn.call(this,"tel"),this.i26_1=0}function zn(){z=this,Mn.call(this,"text"),this.m26_1=0}function Cn(){return null==z&&new zn,z}function Sn(){C=this,Mn.call(this,"time"),this.q26_1=0}function qn(){S=this,Mn.call(this,"url"),this.u26_1=0}function On(){q=this,Mn.call(this,"week"),this.y26_1=0}function Pn(){return null==q&&new On,q}function Mn(t){Bn.call(this,t),this.f24_1=0}function An(t){Bn.call(this,t),this.p23_1=0}function En(t){Bn.call(this,t),this.x23_1=0}function In(t){Bn.call(this,t),this.k25_1=0}function Dn(){O=this}function Tn(){return null==O&&new Dn,O}function Bn(t){Tn(),this.i20_1=t,this.j20_1=0}function Ln(t,n){this.b27_1=t,this.c27_1=n,this.d27_1=this.b27_1,this.e27_1=0}function Nn(t,n,e){Ln.call(this,t,e),this.k27_1=n}function Rn(t,n){Ln.call(this,t,n)}function Fn(t,n){this.p27_1=t,this.q27_1=n,this.r27_1=8}function Hn(){return Jn(),P}function Un(){return Jn(),M}function Vn(t,n,e){Jn();var r,i=n;i.e12(-1867048565),gt()&&mt(-1867048565,e,-1,"org.jetbrains.compose.web.attributes.builders.DisposeRadioGroupEffect$composable (InternalControlledInputUtils.kt:67)"),$t(null,(r=t,function(t){return new Wn(r.u27(t))}),i,6),gt()&&bt(),i.i12()}function Wn(t){this.t27_1=t}function Jn(){if(A);else{A=!0;var t,n=new WeakMap;P=n,t=rt(),M=t}}function Kn(t){this.v27_1=t,this.w27_1=8}function Yn(t,n){Ln.call(this,t,n)}function Gn(t){rn(),Ln.call(this,"change",t)}function Xn(t){this.h28_1=t,this.i28_1=8}function Zn(){E=this}function Qn(){return null==E&&new Zn,E}function te(t,n){this.n28_1=t,this.o28_1=n,this.p28_1=0}function ne(){}function ee(){var t;t=it(),this.t28_1=t;var n;n=it(),this.u28_1=n,this.v28_1=8}function re(){}function ie(t,n){this.y28_1=t,this.z28_1=n,this.a29_1=8}function oe(t,n){if(t.f()!==n.f())return!1;var e,r=0;t:if(St(t,Ot)&&t.h())e=!0;else{for(var i=t.c();i.d();){var o=i.e(),s=r;r=s+1|0;var a=n.g(s);if(o.y28_1!==a.y28_1||ht(o.z28_1)!==ht(a.z28_1)){e=!1;break t}}e=!0}return e}function se(t,n,e,r,i){var o=r;o=o.n1d(-1594897193),Pt(o,"C(TagElement$composable)P(2)");var s,a,u,c=i;if(0==(14&i)&&(c|=o.j12(t)?4:2),0==(112&i)&&(c|=o.j12(n)?32:16),0==(896&i)&&(c|=o.j12(e)?256:128),146==(731&c)&&o.v1b())o.z17();else{gt()&&mt(-1594897193,c,-1,"org.jetbrains.compose.web.dom.TagElement$composable (Base.kt:106)");var l=o;l.e12(547886695),Pt(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===Mt().h12_1){var _=new ce;p.g12(_),h=_}else h=f;var d=h,v=null==d||At(d)?d:at();l.i12();var y,m=v,g=o;g.c18(),g.c1d()?g.e1d((a=t,u=m,function(){var t=a.u1n();return u.n29(t),new ae(t)})):g.g1d();var $=Et(g),b=tn(null,1);null==n||n(b),y=b.g21_1,It($).e12(509942095);var w=Dt(It($));Tt(w,b.h21_1,((s=function(t,n){return t.j29(n),tt()}).callableName="updateClasses",s)),Tt(w,b.e21_1,function(){var t=function(t,n){return t.h29(n),tt()};return t.callableName="updateStyleDeclarations",t}());var x=b.q21();Tt(w,x,function(){var t=function(t,n){return t.i29(n),tt()};return t.callableName="updateAttrs",t}());var k=b.c21_1.i23();Tt(w,k,function(){var t=function(t,n){return t.f29(n),tt()};return t.callableName="updateEventListeners",t}()),Tt(w,b.f21_1,function(){var t=function(t,n){return t.g29(n),tt()};return t.callableName="updateProperties",t}()),It($).i12(),g.e12(2058660585);var j=g,z=8;if(18==(91&z)&&j.v1b())j.z17();else{var C=e;o.e12(-1128047990),null==C||C(m,j,14&z|112&c>>3),o.i12()}g.i12(),g.h1d(),null==y||($t(null,function(t,n){return function(e){return t(e,n.o29())}}(y,m),o,6),tt(),tt()),gt()&&bt()}var S=o.o1d();null===S||S.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){se(t,n,e,i,1|r)}(t,n,e,r,i),tt()}}(t,n,e,i))}function ae(t){Bt.call(this,t),this.d29_1=t,this.e29_1=Lt()}function ue(){}function ce(){le.call(this)}function le(){this.p29_1=0,this.q29_1=8}function he(){}function pe(t){return Yt("el",1,Kt,(function(t){return pe(t)}),null),t.s29_1.m2()}function fe(t){var n;this.r29_1=t,this.s29_1=Ht((n=this,function(){return document.createElement(n.r29_1)}))}function _e(t,n,e){Ne();var r=n;r=r.n1d(-363526853),Pt(r,"C(Text$composable)");var i,o=e;if(0==(14&e)&&(o|=r.j12(t)?4:2),2==(11&o)&&r.v1b())r.z17();else{gt()&&mt(-363526853,e,-1,"org.jetbrains.compose.web.dom.Text$composable (Elements.kt:479)");var s=r;s.e12(547886695),Pt(s,"C(remember$composable):Composables.kt#9igjgp");var a,u=s,c=u.f12();if(c===Mt().h12_1){var l=Me;u.g12(l),a=l}else a=c;var h=a,p=null==h||At(h)?h:at();s.i12();var f=p,_=r;_.e12(-1846754774),Pt(_,"C(ComposeNode$composable):Composables.kt#9igjgp"),_.r1c()instanceof Vt||Ut(),_.c18(),_.c1d()?_.e1d((i=f,function(){return i()})):_.g1d();var d=Dt(_);Tt(d,t,Ae),_.h1d(),_.i12(),gt()&&bt()}var v,y,m=r.o1d();null===m||m.j1e((v=t,y=e,function(t,n){return function(t,n,e,r){_e(t,e,1|n)}(v,y,t),tt()}))}function de(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-915831286),Pt(a,"C(H3$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-915831286,u,-1,"org.jetbrains.compose.web.dom.H3$composable (Elements.kt:539)"),se((Ne(),N),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){de(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ve(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(1021009996),Pt(a,"C(Div$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(1021009996,u,-1,"org.jetbrains.compose.web.dom.Div$composable (Elements.kt:489)"),se((Ne(),D),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){ve(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ye(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-319539737),Pt(c,"C(Form$composable)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j12(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=null),0!=(4&o)&&(u._v=null),gt()&&mt(-319539737,l,-1,"org.jetbrains.compose.web.dom.Form$composable (Elements.kt:637)");var h=(Ne(),J),p=s._v,f=a._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Ee(s,a);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){ye(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function me(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-493483649),Pt(c,"C(Label$composable)P(2)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j12(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=null),0!=(4&o)&&(u._v=null),gt()&&mt(-493483649,l,-1,"org.jetbrains.compose.web.dom.Label$composable (Elements.kt:833)");var h=(Ne(),X),p=s._v,f=a._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Ie(s,a);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){me(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function ge(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-577256683),Pt(a,"C(TextArea$composable)P(1)");var u,c,l,h,p,f=r;if(0!=(1&i)?f|=6:0==(14&r)&&(f|=a.j12(o._v)?4:2),0!=(2&i)?f|=48:0==(112&r)&&(f|=a.j12(s._v)?32:16),18==(91&f)&&a.v1b())a.z17();else{0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-577256683,r,-1,"org.jetbrains.compose.web.dom.TextArea$composable (Elements.kt:729)");var _=a;_.e12(547886695),Pt(_,"C(remember$composable):Composables.kt#9igjgp");var d,v=_,y=v.f12();if(y===Mt().h12_1){var m=!(null==o._v);v.g12(m),d=m}else d=y;var g=d,$=null==g||At(g)?g:at();_.i12();var b=$,w=a;w.e12(547886695),Pt(w,"C(remember$composable):Composables.kt#9igjgp");var x,k=w,j=k.f12();if(j===Mt().h12_1){var z=Wt(0,null,2,null);k.g12(z),x=z}else x=j;var C=x,S=null==C||At(C)?C:at();w.i12();var q=S,O=(Ne(),G),P=[q,s._v,b,o._v],M=a;M.e12(-1603429786),Pt(M,"C(remember$composable)P(1):Composables.kt#9igjgp");for(var A=!1,E=P,I=0,D=E.length;I (Elements.kt:754)");var a=t.m2();$t(a,(i=n,function(t){return n=i.u27(t),Jn(),Hn().has(n)&&(n.value=yt(Hn().get(n))),new De;var n}),o,0),gt()&&(bt(),tt())}return tt()}}(q)),J=a;J.e12(-838505973),Pt(J,"C(remember$composable)P(1):Composables.kt#9igjgp");var K,Y=J,X=J.j12(W),Z=Y.f12();if(X||Z===Mt().h12_1){var Q=(u=W,function(t,n,e){return u.n1y(t,n,e)});Y.g12(Q),K=Q}else K=Z;var nt=K,et=null==nt||At(nt)?nt:at();J.i12(),se(O,V,et,a,384),gt()&&bt()}var rt=a.o1d();null===rt||rt.j1e(function(t,n,e,r){return function(i,o){return function(t,n,e,r,i,o){ge(t._v,n._v,i,1|e,r)}(t,n,e,r,i),tt()}}(o,s,r,i))}function $e(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-767970749),Pt(a,"C(Button$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-767970749,u,-1,"org.jetbrains.compose.web.dom.Button$composable (Elements.kt:521)"),se((Ne(),B),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){$e(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function be(t,n,e,r){Ne();var i={_v:t},o=n;o=o.n1d(1126514281),Pt(o,"C(Br$composable)");var s=e;0!=(1&r)?s|=6:0==(14&e)&&(s|=o.j12(i._v)?4:2),2==(11&s)&&o.v1b()?o.z17():(0!=(1&r)&&(i._v=null),gt()&&mt(1126514281,s,-1,"org.jetbrains.compose.web.dom.Br$composable (Elements.kt:599)"),se((Ne(),U),i._v,null,o,384|112&s<<3),gt()&&bt());var a,u,c,l=o.o1d();null===l||l.j1e((a=i,u=e,c=r,function(t,n){return function(t,n,e,r,i){be(t._v,r,1|n,e)}(a,u,c,t),tt()}))}function we(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-2140946851),Pt(a,"C(Canvas$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-2140946851,u,-1,"org.jetbrains.compose.web.dom.Canvas$composable (Elements.kt:430)"),se((Ne(),I),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){we(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function xe(t,n,e,r){Ne();var i=e;i=i.n1d(-1013116589),Pt(i,"C(Input$composable)P(1)");var o,s,a,u,c=r;if(0==(14&r)&&(c|=i.j12(t)?4:2),0==(112&r)&&(c|=i.j12(n)?32:16),18==(91&c)&&i.v1b())i.z17();else{gt()&&mt(-1013116589,c,-1,"org.jetbrains.compose.web.dom.Input$composable (Elements.kt:1054)");var l=i;l.e12(547886695),Pt(l,"C(remember$composable):Composables.kt#9igjgp");var h,p=l,f=p.f12();if(f===Mt().h12_1){var _=Wt(0,null,2,null);p.g12(_),h=_}else h=f;var d=h,v=null==d||At(d)?d:at();l.i12();var y=v,m=(Ne(),T),g=i;g.e12(-1058148781),Pt(g,"C(remember$composable)P(1,2,3):Composables.kt#9igjgp");var $,b=g,w=!!(!!(g.j12(t)|g.j12(y))|g.j12(n)),x=b.f12();if(w||x===Mt().h12_1){var k=(s=t,a=n,u=y,function(t){var n=new Fn(s,t);return function(t,n){Xt(),t.e20("type",n.i20_1)}(n,s),n.s27(function(t){return function(n){return t.jy(t.m2()+1|0),tt()}}(u)),a(n),tt()});b.g12(k),$=k}else $=x;var j=$,z=null==j||At(j)?j:at();g.i12();var C=z,S=Jt(i,558133459,!0,function(t,n){return function(e,r,i){var o,s=r,a=i;if(0==(14&i)&&(a|=s.j12(e)?4:2,tt()),18==(91&a)&&s.v1b())s.z17(),tt();else{gt()&&mt(558133459,a,-1,"org.jetbrains.compose.web.dom.Input$composable. (Elements.kt:1073)"),s.e12(-1270925487),xt(t,bn())&&Vn(e,s,14&a),s.i12();var u=n.m2();$t(u,(o=e,function(t){return function(t){Jn();var n=Tn().a27(t.type);if(Hn().has(t)){if(xt(n,bn())){var e=Un().a3(t.name);if(null==e);else for(var r=e.c();r.d();){var i=r.e();i.checked=wt(yt(Hn().get(i)))}return t.checked=wt(yt(Hn().get(t))),tt()}xt(n,ln())?t.checked=wt(yt(Hn().get(t))):t.value=yt(Hn().get(t))}}(o.u27(t)),new Te}),s,0),gt()&&(bt(),tt())}return tt()}}(t,y)),q=i;q.e12(-838505973),Pt(q,"C(remember$composable)P(1):Composables.kt#9igjgp");var O,P=q,M=q.j12(S),A=P.f12();if(M||A===Mt().h12_1){var E=(o=S,function(t,n,e){return o.n1y(t,n,e)});P.g12(E),O=E}else O=A;var I=O,D=null==I||At(I)?I:at();q.i12(),se(m,C,D,i,384),gt()&&bt()}var B=i.o1d();null===B||B.j1e(function(t,n,e){return function(r,i){return function(t,n,e,r,i){xe(t,n,r,1|e)}(t,n,e,r),tt()}}(t,n,r))}function ke(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(1065330793),Pt(a,"C(H4$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(1065330793,u,-1,"org.jetbrains.compose.web.dom.H4$composable (Elements.kt:545)"),se((Ne(),R),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){ke(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function je(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-583188148),Pt(a,"C(H1$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-583188148,u,-1,"org.jetbrains.compose.web.dom.H1$composable (Elements.kt:527)"),se((Ne(),L),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){je(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function ze(t,n,e,r,i,o){Ne();var s={_v:t},a={_v:n},u={_v:e},c=r;c=c.n1d(-140298183),Pt(c,"C(Select$composable)P(!1,2)");var l=i;if(0!=(1&o)?l|=6:0==(14&i)&&(l|=c.j12(s._v)?4:2),0!=(2&o)?l|=48:0==(112&i)&&(l|=c.j1d(a._v)?32:16),0!=(4&o)?l|=384:0==(896&i)&&(l|=c.j12(u._v)?256:128),146==(731&l)&&c.v1b())c.z17();else{0!=(1&o)&&(s._v=null),0!=(2&o)&&(a._v=!1),0!=(4&o)&&(u._v=null),gt()&&mt(-140298183,l,-1,"org.jetbrains.compose.web.dom.Select$composable (Elements.kt:653)");var h=(Ne(),K),p=a._v,f=s._v,_=c;_.e12(-1124426577),Pt(_,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var d,v=_,y=!!(_.j12(p)|_.j12(f)),m=v.f12();if(y||m===Mt().h12_1){var g=Be(a,s);v.g12(g),d=g}else d=m;var $=d,b=null==$||At($)?$:at();_.i12(),se(h,b,u._v,c,896&l),gt()&&bt()}var w,x,k,j,z,C=c.o1d();null===C||C.j1e((w=s,x=a,k=u,j=i,z=o,function(t,n){return function(t,n,e,r,i,o,s){ze(t._v,n._v,e._v,o,1|r,i)}(w,x,k,j,z,t),tt()}))}function Ce(t,n,e,r,i,o){Ne();var s={_v:n},a={_v:e},u=r;u=u.n1d(1780967894),Pt(u,"C(Option$composable)P(2)");var c=i;if(0!=(1&o)?c|=6:0==(14&i)&&(c|=u.j12(t)?4:2),0!=(2&o)?c|=48:0==(112&i)&&(c|=u.j12(s._v)?32:16),0!=(4&o)?c|=384:0==(896&i)&&(c|=u.j12(a._v)?256:128),146==(731&c)&&u.v1b())u.z17();else{0!=(2&o)&&(s._v=null),0!=(4&o)&&(a._v=null),gt()&&mt(1780967894,c,-1,"org.jetbrains.compose.web.dom.Option$composable (Elements.kt:669)");var l=(Ne(),Y),h=s._v,p=u;p.e12(-1124426577),Pt(p,"C(remember$composable)P(1,2):Composables.kt#9igjgp");var f,_=p,d=!!(p.j12(t)|p.j12(h)),v=_.f12();if(d||v===Mt().h12_1){var y=Le(t,s);_.g12(y),f=y}else f=v;var m=f,g=null==m||At(m)?m:at();p.i12(),se(l,g,a._v,u,896&c),gt()&&bt()}var $,b,w,x,k,j=u.o1d();null===j||j.j1e(($=t,b=s,w=a,x=i,k=o,function(t,n){return function(t,n,e,r,i,o,s){Ce(t,n._v,e._v,o,1|r,i)}($,b,w,x,k,t),tt()}))}function Se(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-100692211),Pt(a,"C(P$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-100692211,u,-1,"org.jetbrains.compose.web.dom.P$composable (Elements.kt:563)"),se((Ne(),F),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Se(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function qe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-114341698),Pt(a,"C(Ul$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-114341698,u,-1,"org.jetbrains.compose.web.dom.Ul$composable (Elements.kt:603)"),se((Ne(),V),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){qe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Oe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-456299496),Pt(a,"C(Li$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-456299496,u,-1,"org.jetbrains.compose.web.dom.Li$composable (Elements.kt:615)"),se((Ne(),W),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Oe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Pe(t,n,e,r,i){Ne();var o={_v:t},s={_v:n},a=e;a=a.n1d(-155327957),Pt(a,"C(Span$composable)");var u=r;0!=(1&i)?u|=6:0==(14&r)&&(u|=a.j12(o._v)?4:2),0!=(2&i)?u|=48:0==(112&r)&&(u|=a.j12(s._v)?32:16),18==(91&u)&&a.v1b()?a.z17():(0!=(1&i)&&(o._v=null),0!=(2&i)&&(s._v=null),gt()&&mt(-155327957,u,-1,"org.jetbrains.compose.web.dom.Span$composable (Elements.kt:593)"),se((Ne(),H),o._v,s._v,a,112&u<<3|896&u<<3),gt()&&bt());var c,l,h,p,f=a.o1d();null===f||f.j1e((c=o,l=s,h=r,p=i,function(t,n){return function(t,n,e,r,i,o){Pe(t._v,n._v,i,1|e,r)}(c,l,h,p,t),tt()}))}function Me(){return Ne(),new Bt(document.createTextNode(""))}function Ae(t,n){Ne();var e=t.g1s();return(e instanceof Text?e:at()).data=n,tt()}function Ee(t,n){return function(e){var r=t._v;return null==r||0===_t(r)||(function(t,n){Xt(),t.e20("action",n)}(e,t._v),tt()),null!=n._v&&n._v(e),tt()}}function Ie(t,n){return function(e){return null!=t._v&&(function(t,n){Xt(),t.e20("for",n)}(e,t._v),tt()),null!=n._v&&n._v(e),tt()}}function De(){}function Te(){}function Be(t,n){return function(e){return t._v&&(r=e,Xt(),r.e20("multiple",""),tt()),null!=n._v&&n._v(new Kn(e)),tt();var r}}function Le(t,n){return function(e){return function(t,n){Xt(),t.e20("value",n)}(e,t),null!=n._v&&n._v(e),tt()}}function Ne(){Z||(Z=!0,new fe("address"),new fe("article"),new fe("aside"),new fe("header"),new fe("area"),new fe("audio"),new fe("map"),new fe("track"),new fe("video"),new fe("datalist"),new fe("fieldset"),new fe("legend"),new fe("meter"),new fe("output"),new fe("progress"),new fe("embed"),new fe("iframe"),new fe("object"),new fe("param"),new fe("picture"),new fe("source"),I=new fe("canvas"),new fe("dl"),new fe("dt"),new fe("dd"),D=new fe("div"),new fe("a"),T=new fe("input"),B=new fe("button"),L=new fe("h1"),new fe("h2"),N=new fe("h3"),R=new fe("h4"),new fe("h5"),new fe("h6"),F=new fe("p"),new fe("em"),new fe("i"),new fe("b"),new fe("small"),H=new fe("span"),U=new fe("br"),V=new fe("ul"),new fe("ol"),W=new fe("li"),new fe("img"),J=new fe("form"),K=new fe("select"),Y=new fe("option"),new fe("optgroup"),new fe("section"),G=new fe("textarea"),new fe("nav"),new fe("pre"),new fe("code"),new fe("main"),new fe("footer"),new fe("hr"),X=new fe("label"),new fe("table"),new fe("caption"),new fe("col"),new fe("colgroup"),new fe("tr"),new fe("thead"),new fe("th"),new fe("td"),new fe("tbody"),new fe("tfoot"),new fe("style"))}function Re(t,n){Fe.call(this,n),this.f2a_1=t,this.g2a_1=0}function Fe(t){this.h2a_1=t;var n;n=this.h2a_1.target,this.i2a_1=n,this.j2a_1=this.h2a_1.bubbles,this.k2a_1=this.h2a_1.cancelable,this.l2a_1=this.h2a_1.composed,this.m2a_1=this.h2a_1.currentTarget,this.n2a_1=this.h2a_1.eventPhase,this.o2a_1=this.h2a_1.defaultPrevented,this.p2a_1=this.h2a_1.timeStamp,this.q2a_1=this.h2a_1.type,this.r2a_1=this.h2a_1.isTrusted,this.s2a_1=8}function He(t,n){Fe.call(this,n),this.f2b_1=t;var e,r=n.data;e=null==r?null:r,this.g2b_1=e;var i,o=n.dataTransfer;i=null==o?null:o,this.h2b_1=i;var s,a=n.inputType;s=null==a?null:a,this.i2b_1=s;var u=n.isComposing,c=null==u?null:u;this.j2b_1=null!=c&&c,this.k2b_1=8}function Ue(t){Fe.call(this,t),this.x2b_1=t,this.y2b_1=t.altKey,this.z2b_1=t.button,this.a2c_1=t.buttons,this.b2c_1=t.clientX,this.c2c_1=t.clientY,this.d2c_1=t.ctrlKey,this.e2c_1=t.metaKey;var n=t.movementX,e=null!=n&&"number"==typeof n?n:null;this.f2c_1=null==e?0:e;var r=t.movementY,i=null!=r&&"number"==typeof r?r:null;this.g2c_1=null==i?0:i,this.h2c_1=t.offsetX,this.i2c_1=t.offsetY,this.j2c_1=t.pageX,this.k2c_1=t.pageY,this.l2c_1=t.region,this.m2c_1=t.relatedTarget,this.n2c_1=t.screenX,this.o2c_1=t.screenY,this.p2c_1=t.shiftKey,this.q2c_1=t.x,this.r2c_1=t.y,this.s2c_1=8}return an.prototype=Object.create(lt.prototype),an.prototype.constructor=an,An.prototype=Object.create(Bn.prototype),An.prototype.constructor=An,un.prototype=Object.create(An.prototype),un.prototype.constructor=un,En.prototype=Object.create(Bn.prototype),En.prototype.constructor=En,cn.prototype=Object.create(En.prototype),cn.prototype.constructor=cn,Mn.prototype=Object.create(Bn.prototype),Mn.prototype.constructor=Mn,hn.prototype=Object.create(Mn.prototype),hn.prototype.constructor=hn,pn.prototype=Object.create(Mn.prototype),pn.prototype.constructor=pn,fn.prototype=Object.create(Mn.prototype),fn.prototype.constructor=fn,_n.prototype=Object.create(Mn.prototype),_n.prototype.constructor=_n,dn.prototype=Object.create(Mn.prototype),dn.prototype.constructor=dn,vn.prototype=Object.create(Mn.prototype),vn.prototype.constructor=vn,yn.prototype=Object.create(Mn.prototype),yn.prototype.constructor=yn,In.prototype=Object.create(Bn.prototype),In.prototype.constructor=In,mn.prototype=Object.create(In.prototype),mn.prototype.constructor=mn,gn.prototype=Object.create(Mn.prototype),gn.prototype.constructor=gn,$n.prototype=Object.create(En.prototype),$n.prototype.constructor=$n,wn.prototype=Object.create(In.prototype),wn.prototype.constructor=wn,xn.prototype=Object.create(Mn.prototype),xn.prototype.constructor=xn,kn.prototype=Object.create(An.prototype),kn.prototype.constructor=kn,jn.prototype=Object.create(Mn.prototype),jn.prototype.constructor=jn,zn.prototype=Object.create(Mn.prototype),zn.prototype.constructor=zn,Sn.prototype=Object.create(Mn.prototype),Sn.prototype.constructor=Sn,qn.prototype=Object.create(Mn.prototype),qn.prototype.constructor=qn,On.prototype=Object.create(Mn.prototype),On.prototype.constructor=On,Nn.prototype=Object.create(Ln.prototype),Nn.prototype.constructor=Nn,Rn.prototype=Object.create(Ln.prototype),Rn.prototype.constructor=Rn,Yn.prototype=Object.create(Ln.prototype),Yn.prototype.constructor=Yn,Gn.prototype=Object.create(Ln.prototype),Gn.prototype.constructor=Gn,ae.prototype=Object.create(Bt.prototype),ae.prototype.constructor=ae,ce.prototype=Object.create(le.prototype),ce.prototype.constructor=ce,Re.prototype=Object.create(Fe.prototype),Re.prototype.constructor=Re,He.prototype=Object.create(Fe.prototype),He.prototype.constructor=He,Ue.prototype=Object.create(Fe.prototype),Ue.prototype.constructor=Ue,Zt.$metadata$=nt("Companion"),Qt.$metadata$=et("AttrsScope",[on]),nn.prototype.j21=function(){return this.c21_1},nn.prototype.a21=function(t){this.c21_1.a21(t)},nn.prototype.b21=function(t){this.c21_1.b21(t)},nn.prototype.z20=function(t){this.c21_1.z20(t)},nn.prototype.m21=function(){return this.e21_1},nn.prototype.n21=function(){return this.f21_1},nn.prototype.o21=function(){return this.g21_1},nn.prototype.p21=function(){return this.h21_1},nn.prototype.v20=function(t){this.h21_1.j1(t)},nn.prototype.w20=function(t){ot(this.h21_1,t)},nn.prototype.u20=function(t){t(this.e21_1)},nn.prototype.e20=function(t,n){return this.d21_1.v3(t,n),this},nn.prototype.y20=function(t,n){var e=st(t,n);this.f21_1.a(e instanceof ut?e:at())},nn.prototype.q21=function(){return this.d21_1},nn.$metadata$=ct("AttrsScopeBuilder",[Qt,on]),en.$metadata$=nt("Companion"),on.$metadata$=et("EventsListenerScope"),sn.prototype.z20=function(t){this.k21_1.a(t)},sn.prototype.i23=function(){return this.k21_1},sn.$metadata$=ct("EventsListenerScopeBuilder",[on]),an.$metadata$=ct("ButtonType",void 0,void 0,void 0,void 0,lt.prototype),un.$metadata$=nt("Button",void 0,void 0,void 0,void 0,An.prototype),cn.$metadata$=nt("Checkbox",void 0,void 0,void 0,void 0,En.prototype),hn.$metadata$=nt("Color",void 0,void 0,void 0,void 0,Mn.prototype),pn.$metadata$=nt("Date",void 0,void 0,void 0,void 0,Mn.prototype),fn.$metadata$=nt("DateTimeLocal",void 0,void 0,void 0,void 0,Mn.prototype),_n.$metadata$=nt("Email",void 0,void 0,void 0,void 0,Mn.prototype),dn.$metadata$=nt("File",void 0,void 0,void 0,void 0,Mn.prototype),vn.$metadata$=nt("Hidden",void 0,void 0,void 0,void 0,Mn.prototype),yn.$metadata$=nt("Month",void 0,void 0,void 0,void 0,Mn.prototype),mn.$metadata$=nt("Number",void 0,void 0,void 0,void 0,In.prototype),gn.$metadata$=nt("Password",void 0,void 0,void 0,void 0,Mn.prototype),$n.$metadata$=nt("Radio",void 0,void 0,void 0,void 0,En.prototype),wn.$metadata$=nt("Range",void 0,void 0,void 0,void 0,In.prototype),xn.$metadata$=nt("Search",void 0,void 0,void 0,void 0,Mn.prototype),kn.$metadata$=nt("Submit",void 0,void 0,void 0,void 0,An.prototype),jn.$metadata$=nt("Tel",void 0,void 0,void 0,void 0,Mn.prototype),zn.$metadata$=nt("Text",void 0,void 0,void 0,void 0,Mn.prototype),Sn.$metadata$=nt("Time",void 0,void 0,void 0,void 0,Mn.prototype),qn.$metadata$=nt("Url",void 0,void 0,void 0,void 0,Mn.prototype),On.$metadata$=nt("Week",void 0,void 0,void 0,void 0,Mn.prototype),Mn.prototype.y23=function(t){return Pn().z26(t)},Mn.$metadata$=ct("InputTypeWithStringValue",void 0,void 0,void 0,void 0,Bn.prototype),An.prototype.q23=function(t){return tt()},An.prototype.y23=function(t){return this.q23(t),tt()},An.$metadata$=ct("InputTypeWithUnitValue",void 0,void 0,void 0,void 0,Bn.prototype),En.prototype.y23=function(t){var n,e,r=t.target,i=null==(n=null==r?null:r)?null:n.checked;return null!=(e=null==i?null:i)&&e},En.$metadata$=ct("InputTypeCheckedValue",void 0,void 0,void 0,void 0,Bn.prototype),In.prototype.y23=function(t){var n,e=t.target,r=null==(n=null==e?null:e)?null:n.valueAsNumber;return null==r?null:r},In.$metadata$=ct("InputTypeNumberValue",void 0,void 0,void 0,void 0,Bn.prototype),Dn.prototype.a27=function(t){var n;switch(t){case"button":null==l&&new un,n=l;break;case"checkbox":n=ln();break;case"color":null==p&&new hn,n=p;break;case"date":null==f&&new pn,n=f;break;case"datetime-local":null==_&&new fn,n=_;break;case"email":null==d&&new _n,n=d;break;case"file":null==v&&new dn,n=v;break;case"hidden":null==y&&new vn,n=y;break;case"month":null==m&&new yn,n=m;break;case"number":null==g&&new mn,n=g;break;case"password":null==$&&new gn,n=$;break;case"radio":n=bn();break;case"range":null==w&&new wn,n=w;break;case"search":null==x&&new xn,n=x;break;case"submit":null==k&&new kn,n=k;break;case"tel":null==j&&new jn,n=j;break;case"text":n=Cn();break;case"time":null==C&&new Sn,n=C;break;case"url":null==S&&new qn,n=S;break;case"week":n=Pn();break;default:throw pt(ht("fromString got unknown type - "+t))}return n},Dn.$metadata$=nt("Companion"),Bn.prototype.z26=function(t){var n,e,r=t.target,i=null==(n=null==r?null:r)?null:n.value;return null==(e=null==i?null:i)?"":e},Bn.$metadata$=ct("InputType"),Ln.prototype.y1y=function(){return this.d27_1},Ln.prototype.f27=function(t){var n;n=new Fe(t),this.c27_1(n)},Ln.prototype.handleEvent=function(t){return this.f27(t)},Ln.$metadata$=ct("SyntheticEventListener",[ft]),Nn.prototype.f27=function(t){var n=this.k27_1.y23(t);this.c27_1(new He(n,t))},Nn.prototype.handleEvent=function(t){return this.f27(t)},Nn.$metadata$=ct("InputEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Rn.prototype.f27=function(t){var n;n=t,this.c27_1(new Ue(n))},Rn.prototype.handleEvent=function(t){return this.f27(t)},Rn.$metadata$=ct("MouseEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Fn.prototype.e20=function(t,n){return this.q27_1.e20(t,n)},Fn.prototype.w20=function(t){this.q27_1.w20(t)},Fn.prototype.v20=function(t){this.q27_1.v20(t)},Fn.prototype.x20=function(t){return this.q27_1.x20(t)},Fn.prototype.a21=function(t){this.q27_1.a21(t)},Fn.prototype.b21=function(t){this.q27_1.b21(t)},Fn.prototype.y20=function(t,n){this.q27_1.y20(t,n)},Fn.prototype.z20=function(t){this.q27_1.z20(t)},Fn.prototype.u20=function(t){this.q27_1.u20(t)},Fn.prototype.s27=function(t){rn(),this.z20(new Nn("input",this.p27_1,t))},Fn.$metadata$=ct("InputAttrsScope",[Qt]),Wn.prototype.js=function(){var t=Un().a3(this.t27_1.name);null==t||t.jf(this.t27_1);var n=Un().a3(this.t27_1.name);!0===(null==n?null:n.h())&&Un().og(this.t27_1.name)},Wn.$metadata$=ct(void 0,[kt]),Kn.prototype.e20=function(t,n){return this.v27_1.e20(t,n)},Kn.prototype.w20=function(t){this.v27_1.w20(t)},Kn.prototype.v20=function(t){this.v27_1.v20(t)},Kn.prototype.x20=function(t){return this.v27_1.x20(t)},Kn.prototype.a21=function(t){this.v27_1.a21(t)},Kn.prototype.b21=function(t){this.v27_1.b21(t)},Kn.prototype.y20=function(t,n){this.v27_1.y20(t,n)},Kn.prototype.z20=function(t){this.v27_1.z20(t)},Kn.prototype.u20=function(t){this.v27_1.u20(t)},Kn.prototype.x27=function(t){rn(),this.z20(new Yn("input",t))},Kn.prototype.y27=function(t){this.z20(new Gn(t))},Kn.$metadata$=ct("SelectAttrsScope",[Qt]),Yn.prototype.f27=function(t){var n=t.target,e=(null==n?null:n).value,r=null==e?null:ht(e);this.c27_1(new He(r,t))},Yn.prototype.handleEvent=function(t){return this.f27(t)},Yn.$metadata$=ct("SelectInputEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Gn.prototype.f27=function(t){var n=t.target,e=(null==n?null:n).value,r=null==e?null:ht(e);this.c27_1(new Re(r,t))},Gn.prototype.handleEvent=function(t){return this.f27(t)},Gn.$metadata$=ct("SelectChangeEventListener",void 0,void 0,void 0,void 0,Ln.prototype),Xn.prototype.e20=function(t,n){return this.h28_1.e20(t,n)},Xn.prototype.w20=function(t){this.h28_1.w20(t)},Xn.prototype.v20=function(t){this.h28_1.v20(t)},Xn.prototype.x20=function(t){return this.h28_1.x20(t)},Xn.prototype.a21=function(t){this.h28_1.a21(t)},Xn.prototype.b21=function(t){this.h28_1.b21(t)},Xn.prototype.y20=function(t,n){this.h28_1.y20(t,n)},Xn.prototype.z20=function(t){this.h28_1.z20(t)},Xn.prototype.u20=function(t){this.h28_1.u20(t)},Xn.prototype.j28=function(t){return this.y20((Xt(),i),t),this},Xn.prototype.k28=function(t){rn(),this.z20(new Nn("input",Cn(),t))},Xn.$metadata$=ct("TextAreaAttrsScope",[Qt]),Zn.prototype.l28=function(){return"%"},Zn.prototype.m28=function(){return"px"},Zn.$metadata$=nt("Companion"),te.prototype.m2=function(){return this.n28_1},te.prototype.q28=function(){return this.o28_1},te.prototype.toString=function(){return""+this.n28_1+this.o28_1},te.prototype.hashCode=function(){var t=zt(this.n28_1);return Q(t,31)+Ct(this.o28_1)|0},te.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof te))return!1;var n=t instanceof te?t:at();return!!xt(this.n28_1,n.n28_1)&&!!xt(this.o28_1,n.o28_1)},te.$metadata$=ct("CSSUnitValueTyped"),Object.defineProperty(te.prototype,"value",{configurable:!0,get:function(){return this.m2()}}),Object.defineProperty(te.prototype,"unit",{configurable:!0,get:function(){return this.q28()}}),ne.$metadata$=et("StyleScope"),ee.prototype.w28=function(){return this.t28_1},ee.prototype.x28=function(){return this.u28_1},ee.prototype.r28=function(t,n){this.w28().a(new ie(t,n))},ee.prototype.equals=function(t){return!(null==t||!St(t,re))&&!!oe(this.w28(),t.w28())&&oe(this.x28(),t.x28())},ee.$metadata$=ct("StyleScopeBuilder",[ne,re]),re.$metadata$=et("StyleHolder"),ie.prototype.y1y=function(){return this.y28_1},ie.prototype.m2=function(){return this.z28_1},ie.prototype.l4=function(){return this.y28_1},ie.prototype.m4=function(){return this.z28_1},ie.prototype.toString=function(){return"StylePropertyDeclaration(name="+this.y28_1+", value="+this.z28_1+")"},ie.prototype.hashCode=function(){var t=qt(this.y28_1);return Q(t,31)+Ct(this.z28_1)|0},ie.prototype.equals=function(t){if(this===t)return!0;if(!(t instanceof ie))return!1;var n=t instanceof ie?t:at();return this.y28_1===n.y28_1&&!!xt(this.z28_1,n.z28_1)},ie.$metadata$=ct("StylePropertyDeclaration"),ae.prototype.g1s=function(){return this.d29_1},ae.prototype.f29=function(t){for(var n=this.e29_1.c();n.d();){var e=n.e();this.d29_1.removeEventListener(e.y1y(),e)}this.e29_1=t;for(var r=this.e29_1.c();r.d();){var i=r.e();this.d29_1.addEventListener(i.y1y(),i)}},ae.prototype.g29=function(t){for(var n=t.c();n.d();){var e=n.e(),r=e.l4(),i=e.m4();r(this.d29_1,i)}},ae.prototype.h29=function(t){var n=this.d29_1;if(n instanceof HTMLElement||n instanceof SVGElement){this.d29_1.removeAttribute("style");for(var e=this.d29_1.style,r=t.w28().c();r.d();){var i=r.e(),o=i.l4(),s=i.m4();e.setProperty(o,ht(s))}for(var a=t.x28().c();a.d();){var u=a.e(),c=u.l4(),l=u.m4();e.setProperty(c,ht(l))}}},ae.prototype.i29=function(t){for(var n=this.d29_1.getAttributeNames(),e=0,r=n.length;e{"use strict";function r(){}e.r(n),e.d(n,{Animation:()=>ye,Animations:()=>ge,ArcElement:()=>bi,BarController:()=>Ne,BarElement:()=>Ti,BasePlatform:()=>qr,BasicPlatform:()=>Or,BubbleController:()=>Re,CategoryScale:()=>zo,Chart:()=>di,DatasetController:()=>Pe,Decimation:()=>Ri,DomPlatform:()=>Ur,DoughnutController:()=>Fe,Element:()=>Je,Filler:()=>ro,Interaction:()=>vr,Legend:()=>so,LineController:()=>He,LineElement:()=>qi,LinearScale:()=>qo,LogarithmicScale:()=>Po,PieController:()=>Ve,PointElement:()=>Pi,PolarAreaController:()=>Ue,RadarController:()=>We,RadialLinearScale:()=>Bo,Scale:()=>rr,ScatterController:()=>sr,SubTitle:()=>lo,Ticks:()=>Ye,TimeScale:()=>Wo,TimeSeriesScale:()=>Ko,Title:()=>uo,Tooltip:()=>ko,_adapters:()=>lr,_detectPlatform:()=>Vr,animator:()=>_e,controllers:()=>ar,defaults:()=>Xt,elements:()=>Bi,layouts:()=>Sr,plugins:()=>jo,registerables:()=>Go,registry:()=>or,scales:()=>Yo});const i=function(){let t=0;return function(){return t++}}();function o(t){return null==t}function s(t){if(Array.isArray&&Array.isArray(t))return!0;const n=Object.prototype.toString.call(t);return"[object"===n.slice(0,7)&&"Array]"===n.slice(-6)}function a(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const u=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function c(t,n){return u(t)?t:n}function l(t,n){return void 0===t?n:t}const h=(t,n)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*n:+t;function p(t,n,e){if(t&&"function"==typeof t.call)return t.apply(e,n)}function f(t,n,e,r){let i,o,u;if(s(t))if(o=t.length,r)for(i=o-1;i>=0;i--)n.call(e,t[i],i);else for(i=0;it,x:t=>t.x,y:t=>t.y};function w(t,n){const e=b[n]||(b[n]=function(t){const n=function(t){const n=t.split("."),e=[];let r="";for(const t of n)r+=t,r.endsWith("\\")?r=r.slice(0,-1)+".":(e.push(r),r="");return e}(t);return t=>{for(const e of n){if(""===e)break;t=t&&t[e]}return t}}(n));return e(t)}function x(t){return t.charAt(0).toUpperCase()+t.slice(1)}const k=t=>void 0!==t,j=t=>"function"==typeof t,z=(t,n)=>{if(t.size!==n.size)return!1;for(const e of t)if(!n.has(e))return!1;return!0},C=Math.PI,S=2*C,q=S+C,O=Number.POSITIVE_INFINITY,P=C/180,M=C/2,A=C/4,E=2*C/3,I=Math.log10,D=Math.sign;function T(t){const n=Math.round(t);t=L(t,n,t/1e3)?n:t;const e=Math.pow(10,Math.floor(I(t))),r=t/e;return(r<=1?1:r<=2?2:r<=5?5:10)*e}function B(t){return!isNaN(parseFloat(t))&&isFinite(t)}function L(t,n,e){return Math.abs(t-n)u&&c=Math.min(n,e)-r&&t<=Math.max(n,e)+r}function X(t,n,e){e=e||(e=>t[e]1;)r=o+i>>1,e(r)?o=r:i=r;return{lo:o,hi:i}}const Z=(t,n,e,r)=>X(t,e,r?r=>t[r][n]<=e:r=>t[r][n]X(t,e,(r=>t[r][n]>=e)),tt=["push","pop","shift","splice","unshift"];function nt(t,n){const e=t._chartjs;if(!e)return;const r=e.listeners,i=r.indexOf(n);-1!==i&&r.splice(i,1),r.length>0||(tt.forEach((n=>{delete t[n]})),delete t._chartjs)}function et(t){const n=new Set;let e,r;for(e=0,r=t.length;eArray.prototype.slice.call(t));let i=!1,o=[];return function(...e){o=r(e),i||(i=!0,rt.call(window,(()=>{i=!1,t.apply(n,o)})))}}const ot=t=>"start"===t?"left":"end"===t?"right":"center",st=(t,n,e)=>"start"===t?n:"end"===t?e:(n+e)/2;function at(t,n,e){const r=n.length;let i=0,o=r;if(t._sorted){const{iScale:s,_parsed:a}=t,u=s.axis,{min:c,max:l,minDefined:h,maxDefined:p}=s.getUserBounds();h&&(i=Y(Math.min(Z(a,s.axis,c).lo,e?r:Z(n,u,s.getPixelForValue(c)).lo),0,r-1)),o=p?Y(Math.max(Z(a,s.axis,l,!0).hi+1,e?0:Z(n,u,s.getPixelForValue(l),!0).hi+1),i,r)-i:r-i}return{start:i,count:o}}function ut(t){const{xScale:n,yScale:e,_scaleRanges:r}=t,i={xmin:n.min,xmax:n.max,ymin:e.min,ymax:e.max};if(!r)return t._scaleRanges=i,!0;const o=r.xmin!==n.min||r.xmax!==n.max||r.ymin!==e.min||r.ymax!==e.max;return Object.assign(r,i),o}const ct=t=>0===t||1===t,lt=(t,n,e)=>-Math.pow(2,10*(t-=1))*Math.sin((t-n)*S/e),ht=(t,n,e)=>Math.pow(2,-10*t)*Math.sin((t-n)*S/e)+1,pt={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*M),easeOutSine:t=>Math.sin(t*M),easeInOutSine:t=>-.5*(Math.cos(C*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>ct(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>ct(t)?t:lt(t,.075,.3),easeOutElastic:t=>ct(t)?t:ht(t,.075,.3),easeInOutElastic(t){const n=.1125;return ct(t)?t:t<.5?.5*lt(2*t,n,.45):.5+.5*ht(2*t-1,n,.45)},easeInBack(t){const n=1.70158;return t*t*((n+1)*t-n)},easeOutBack(t){const n=1.70158;return(t-=1)*t*((n+1)*t+n)+1},easeInOutBack(t){let n=1.70158;return(t/=.5)<1?t*t*((1+(n*=1.525))*t-n)*.5:.5*((t-=2)*t*((1+(n*=1.525))*t+n)+2)},easeInBounce:t=>1-pt.easeOutBounce(1-t),easeOutBounce(t){const n=7.5625,e=2.75;return t<1/e?n*t*t:t<2/e?n*(t-=1.5/e)*t+.75:t<2.5/e?n*(t-=2.25/e)*t+.9375:n*(t-=2.625/e)*t+.984375},easeInOutBounce:t=>t<.5?.5*pt.easeInBounce(2*t):.5*pt.easeOutBounce(2*t-1)+.5};function ft(t){return t+.5|0}const _t=(t,n,e)=>Math.max(Math.min(t,e),n);function dt(t){return _t(ft(2.55*t),0,255)}function vt(t){return _t(ft(255*t),0,255)}function yt(t){return _t(ft(t/2.55)/100,0,1)}function mt(t){return _t(ft(100*t),0,100)}const gt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},$t=[..."0123456789ABCDEF"],bt=t=>$t[15&t],wt=t=>$t[(240&t)>>4]+$t[15&t],xt=t=>(240&t)>>4==(15&t);const kt=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function jt(t,n,e){const r=n*Math.min(e,1-e),i=(n,i=(n+t/30)%12)=>e-r*Math.max(Math.min(i-3,9-i,1),-1);return[i(0),i(8),i(4)]}function zt(t,n,e){const r=(r,i=(r+t/60)%6)=>e-e*n*Math.max(Math.min(i,4-i,1),0);return[r(5),r(3),r(1)]}function Ct(t,n,e){const r=jt(t,1,.5);let i;for(n+e>1&&(i=1/(n+e),n*=i,e*=i),i=0;i<3;i++)r[i]*=1-n-e,r[i]+=n;return r}function St(t){const n=t.r/255,e=t.g/255,r=t.b/255,i=Math.max(n,e,r),o=Math.min(n,e,r),s=(i+o)/2;let a,u,c;return i!==o&&(c=i-o,u=s>.5?c/(2-i-o):c/(i+o),a=function(t,n,e,r,i){return t===i?(n-e)/r+(nt<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,Tt=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function Bt(t,n,e){if(t){let r=St(t);r[n]=Math.max(0,Math.min(r[n]+r[n]*e,0===n?360:1)),r=Ot(r),t.r=r[0],t.g=r[1],t.b=r[2]}}function Lt(t,n){return t?Object.assign(n||{},t):t}function Nt(t){var n={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(n={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(n.a=vt(t[3]))):(n=Lt(t,{r:0,g:0,b:0,a:1})).a=vt(n.a),n}function Rt(t){return"r"===t.charAt(0)?function(t){const n=It.exec(t);let e,r,i,o=255;if(n){if(n[7]!==e){const t=+n[7];o=n[8]?dt(t):_t(255*t,0,255)}return e=+n[1],r=+n[3],i=+n[5],e=255&(n[2]?dt(e):_t(e,0,255)),r=255&(n[4]?dt(r):_t(r,0,255)),i=255&(n[6]?dt(i):_t(i,0,255)),{r:e,g:r,b:i,a:o}}}(t):function(t){const n=kt.exec(t);let e,r=255;if(!n)return;n[5]!==e&&(r=n[6]?dt(+n[5]):vt(+n[5]));const i=Pt(+n[2]),o=+n[3]/100,s=+n[4]/100;return e="hwb"===n[1]?function(t,n,e){return qt(Ct,t,n,e)}(i,o,s):"hsv"===n[1]?function(t,n,e){return qt(zt,t,n,e)}(i,o,s):Ot(i,o,s),{r:e[0],g:e[1],b:e[2],a:r}}(t)}class Ft{constructor(t){if(t instanceof Ft)return t;const n=typeof t;let e;var r,i,o;"object"===n?e=Nt(t):"string"===n&&(o=(r=t).length,"#"===r[0]&&(4===o||5===o?i={r:255&17*gt[r[1]],g:255&17*gt[r[2]],b:255&17*gt[r[3]],a:5===o?17*gt[r[4]]:255}:7!==o&&9!==o||(i={r:gt[r[1]]<<4|gt[r[2]],g:gt[r[3]]<<4|gt[r[4]],b:gt[r[5]]<<4|gt[r[6]],a:9===o?gt[r[7]]<<4|gt[r[8]]:255})),e=i||function(t){Et||(Et=function(){const t={},n=Object.keys(At),e=Object.keys(Mt);let r,i,o,s,a;for(r=0;r>16&255,o>>8&255,255&o]}return t}(),Et.transparent=[0,0,0,0]);const n=Et[t.toLowerCase()];return n&&{r:n[0],g:n[1],b:n[2],a:4===n.length?n[3]:255}}(t)||Rt(t)),this._rgb=e,this._valid=!!e}get valid(){return this._valid}get rgb(){var t=Lt(this._rgb);return t&&(t.a=yt(t.a)),t}set rgb(t){this._rgb=Nt(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${yt(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?(t=this._rgb,n=(t=>xt(t.r)&&xt(t.g)&&xt(t.b)&&xt(t.a))(t)?bt:wt,t?"#"+n(t.r)+n(t.g)+n(t.b)+((t,n)=>t<255?n(t):"")(t.a,n):void 0):void 0;var t,n}hslString(){return this._valid?function(t){if(!t)return;const n=St(t),e=n[0],r=mt(n[1]),i=mt(n[2]);return t.a<255?`hsla(${e}, ${r}%, ${i}%, ${yt(t.a)})`:`hsl(${e}, ${r}%, ${i}%)`}(this._rgb):void 0}mix(t,n){if(t){const e=this.rgb,r=t.rgb;let i;const o=n===i?.5:n,s=2*o-1,a=e.a-r.a,u=((s*a==-1?s:(s+a)/(1+s*a))+1)/2;i=1-u,e.r=255&u*e.r+i*r.r+.5,e.g=255&u*e.g+i*r.g+.5,e.b=255&u*e.b+i*r.b+.5,e.a=o*e.a+(1-o)*r.a,this.rgb=e}return this}interpolate(t,n){return t&&(this._rgb=function(t,n,e){const r=Tt(yt(t.r)),i=Tt(yt(t.g)),o=Tt(yt(t.b));return{r:vt(Dt(r+e*(Tt(yt(n.r))-r))),g:vt(Dt(i+e*(Tt(yt(n.g))-i))),b:vt(Dt(o+e*(Tt(yt(n.b))-o))),a:t.a+e*(n.a-t.a)}}(this._rgb,t._rgb,n)),this}clone(){return new Ft(this.rgb)}alpha(t){return this._rgb.a=vt(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,n=ft(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=n,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Bt(this._rgb,2,t),this}darken(t){return Bt(this._rgb,2,-t),this}saturate(t){return Bt(this._rgb,1,t),this}desaturate(t){return Bt(this._rgb,1,-t),this}rotate(t){return function(t,n){var e=St(t);e[0]=Pt(e[0]+n),e=Ot(e),t.r=e[0],t.g=e[1],t.b=e[2]}(this._rgb,t),this}}function Ht(t){return new Ft(t)}function Ut(t){if(t&&"object"==typeof t){const n=t.toString();return"[object CanvasPattern]"===n||"[object CanvasGradient]"===n}return!1}function Vt(t){return Ut(t)?t:Ht(t)}function Wt(t){return Ut(t)?t:Ht(t).saturate(.5).darken(.1).hexString()}const Jt=Object.create(null),Kt=Object.create(null);function Yt(t,n){if(!n)return t;const e=n.split(".");for(let n=0,r=e.length;nt.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,n)=>Wt(n.backgroundColor),this.hoverBorderColor=(t,n)=>Wt(n.borderColor),this.hoverColor=(t,n)=>Wt(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t)}set(t,n){return Gt(this,t,n)}get(t){return Yt(this,t)}describe(t,n){return Gt(Kt,t,n)}override(t,n){return Gt(Jt,t,n)}route(t,n,e,r){const i=Yt(this,t),o=Yt(this,e),s="_"+n;Object.defineProperties(i,{[s]:{value:i[n],writable:!0},[n]:{enumerable:!0,get(){const t=this[s],n=o[r];return a(t)?Object.assign({},n,t):l(t,n)},set(t){this[s]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Zt(t,n,e,r,i){let o=n[i];return o||(o=n[i]=t.measureText(i).width,e.push(i)),o>r&&(r=o),r}function Qt(t,n,e,r){let i=(r=r||{}).data=r.data||{},o=r.garbageCollect=r.garbageCollect||[];r.font!==n&&(i=r.data={},o=r.garbageCollect=[],r.font=n),t.save(),t.font=n;let a=0;const u=e.length;let c,l,h,p,f;for(c=0;ce.length){for(c=0;c<_;c++)delete i[o[c]];o.splice(0,_)}return a}function tn(t,n,e){const r=t.currentDevicePixelRatio,i=0!==e?Math.max(e/2,.5):0;return Math.round((n-i)*r)/r+i}function nn(t,n){(n=n||t.getContext("2d")).save(),n.resetTransform(),n.clearRect(0,0,t.width,t.height),n.restore()}function en(t,n,e,r){rn(t,n,e,r,null)}function rn(t,n,e,r,i){let o,s,a,u,c,l;const h=n.pointStyle,p=n.rotation,f=n.radius;let _=(p||0)*P;if(h&&"object"==typeof h&&(o=h.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(e,r),t.rotate(_),t.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void t.restore();if(!(isNaN(f)||f<=0)){switch(t.beginPath(),h){default:i?t.ellipse(e,r,i/2,f,0,0,S):t.arc(e,r,f,0,S),t.closePath();break;case"triangle":t.moveTo(e+Math.sin(_)*f,r-Math.cos(_)*f),_+=E,t.lineTo(e+Math.sin(_)*f,r-Math.cos(_)*f),_+=E,t.lineTo(e+Math.sin(_)*f,r-Math.cos(_)*f),t.closePath();break;case"rectRounded":c=.516*f,u=f-c,s=Math.cos(_+A)*u,a=Math.sin(_+A)*u,t.arc(e-s,r-a,c,_-C,_-M),t.arc(e+a,r-s,c,_-M,_),t.arc(e+s,r+a,c,_,_+M),t.arc(e-a,r+s,c,_+M,_+C),t.closePath();break;case"rect":if(!p){u=Math.SQRT1_2*f,l=i?i/2:u,t.rect(e-l,r-u,2*l,2*u);break}_+=A;case"rectRot":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+a,r-s),t.lineTo(e+s,r+a),t.lineTo(e-a,r+s),t.closePath();break;case"crossRot":_+=A;case"cross":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s);break;case"star":s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s),_+=A,s=Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a),t.moveTo(e+a,r-s),t.lineTo(e-a,r+s);break;case"line":s=i?i/2:Math.cos(_)*f,a=Math.sin(_)*f,t.moveTo(e-s,r-a),t.lineTo(e+s,r+a);break;case"dash":t.moveTo(e,r),t.lineTo(e+Math.cos(_)*f,r+Math.sin(_)*f)}t.fill(),n.borderWidth>0&&t.stroke()}}function on(t,n,e){return e=e||.5,!n||t&&t.x>n.left-e&&t.xn.top-e&&t.y0&&""!==a.strokeColor;let l,h;for(t.save(),t.font=i.string,function(t,n){n.translation&&t.translate(n.translation[0],n.translation[1]),o(n.rotation)||t.rotate(n.rotation),n.color&&(t.fillStyle=n.color),n.textAlign&&(t.textAlign=n.textAlign),n.textBaseline&&(t.textBaseline=n.textBaseline)}(t,a),l=0;ll(t[e],t[n[e]]):n=>t[n]:()=>t;for(const t of i)e[t]=+o(t)||0;return e}function yn(t){return vn(t,{top:"y",right:"x",bottom:"y",left:"x"})}function mn(t){return vn(t,["topLeft","topRight","bottomLeft","bottomRight"])}function gn(t){const n=yn(t);return n.width=n.left+n.right,n.height=n.top+n.bottom,n}function $n(t,n){t=t||{},n=n||Xt.font;let e=l(t.size,n.size);"string"==typeof e&&(e=parseInt(e,10));let r=l(t.style,n.style);r&&!(""+r).match(_n)&&(console.warn('Invalid font style specified: "'+r+'"'),r="");const i={family:l(t.family,n.family),lineHeight:dn(l(t.lineHeight,n.lineHeight),e),size:e,style:r,weight:l(t.weight,n.weight),string:""};return i.string=function(t){return!t||o(t.size)||o(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(i),i}function bn(t,n,e,r){let i,o,a,u=!0;for(i=0,o=t.length;it[0])){k(r)||(r=En("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:e,_fallback:r,_getTarget:i,override:i=>xn([i,...t],n,e,r)};return new Proxy(o,{deleteProperty:(n,e)=>(delete n[e],delete n._keys,delete t[0][e],!0),get:(e,r)=>Sn(e,r,(()=>function(t,n,e,r){let i;for(const o of n)if(i=En(zn(o,t),e),k(i))return Cn(t,i)?Mn(e,r,t,i):i}(r,n,t,e))),getOwnPropertyDescriptor:(t,n)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],n),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,n)=>In(t).includes(n),ownKeys:t=>In(t),set(t,n,e){const r=t._storage||(t._storage=i());return t[n]=r[n]=e,delete t._keys,!0}})}function kn(t,n,e,r){const i={_cacheable:!1,_proxy:t,_context:n,_subProxy:e,_stack:new Set,_descriptors:jn(t,r),setContext:n=>kn(t,n,e,r),override:i=>kn(t.override(i),n,e,r)};return new Proxy(i,{deleteProperty:(n,e)=>(delete n[e],delete t[e],!0),get:(t,n,e)=>Sn(t,n,(()=>function(t,n,e){const{_proxy:r,_context:i,_subProxy:o,_descriptors:u}=t;let c=r[n];return j(c)&&u.isScriptable(n)&&(c=function(t,n,e,r){const{_proxy:i,_context:o,_subProxy:s,_stack:a}=e;if(a.has(t))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+t);return a.add(t),n=n(o,s||r),a.delete(t),Cn(t,n)&&(n=Mn(i._scopes,i,t,n)),n}(n,c,t,e)),s(c)&&c.length&&(c=function(t,n,e,r){const{_proxy:i,_context:o,_subProxy:s,_descriptors:u}=e;if(k(o.index)&&r(t))n=n[o.index%n.length];else if(a(n[0])){const e=n,r=i._scopes.filter((t=>t!==e));n=[];for(const a of e){const e=Mn(r,i,t,a);n.push(kn(e,o,s&&s[t],u))}}return n}(n,c,t,u.isIndexable)),Cn(n,c)&&(c=kn(c,i,o&&o[n],u)),c}(t,n,e))),getOwnPropertyDescriptor:(n,e)=>n._descriptors.allKeys?Reflect.has(t,e)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,e),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(n,e)=>Reflect.has(t,e),ownKeys:()=>Reflect.ownKeys(t),set:(n,e,r)=>(t[e]=r,delete n[e],!0)})}function jn(t,n={scriptable:!0,indexable:!0}){const{_scriptable:e=n.scriptable,_indexable:r=n.indexable,_allKeys:i=n.allKeys}=t;return{allKeys:i,scriptable:e,indexable:r,isScriptable:j(e)?e:()=>e,isIndexable:j(r)?r:()=>r}}const zn=(t,n)=>t?t+x(n):n,Cn=(t,n)=>a(n)&&"adapters"!==t&&(null===Object.getPrototypeOf(n)||n.constructor===Object);function Sn(t,n,e){if(Object.prototype.hasOwnProperty.call(t,n))return t[n];const r=e();return t[n]=r,r}function qn(t,n,e){return j(t)?t(n,e):t}const On=(t,n)=>!0===t?n:"string"==typeof t?w(n,t):void 0;function Pn(t,n,e,r,i){for(const o of n){const n=On(e,o);if(n){t.add(n);const o=qn(n._fallback,e,i);if(k(o)&&o!==e&&o!==r)return o}else if(!1===n&&k(r)&&e!==r)return null}return!1}function Mn(t,n,e,r){const i=n._rootScopes,o=qn(n._fallback,e,r),u=[...t,...i],c=new Set;c.add(r);let l=An(c,u,e,o||e,r);return null!==l&&(!k(o)||o===e||(l=An(c,u,o,l,r),null!==l))&&xn(Array.from(c),[""],i,o,(()=>function(t,n,e){const r=t._getTarget();n in r||(r[n]={});const i=r[n];return s(i)&&a(e)?e:i}(n,e,r)))}function An(t,n,e,r,i){for(;e;)e=Pn(t,n,e,r,i);return e}function En(t,n){for(const e of n){if(!e)continue;const n=e[t];if(k(n))return n}}function In(t){let n=t._keys;return n||(n=t._keys=function(t){const n=new Set;for(const e of t)for(const t of Object.keys(e).filter((t=>!t.startsWith("_"))))n.add(t);return Array.from(n)}(t._scopes)),n}function Dn(t,n,e,r){const{iScale:i}=t,{key:o="r"}=this._parsing,s=new Array(r);let a,u,c,l;for(a=0,u=r;an"x"===t?"y":"x";function Nn(t,n,e,r){const i=t.skip?n:t,o=n,s=e.skip?n:e,a=V(o,i),u=V(s,o);let c=a/(a+u),l=u/(a+u);c=isNaN(c)?0:c,l=isNaN(l)?0:l;const h=r*c,p=r*l;return{previous:{x:o.x-h*(s.x-i.x),y:o.y-h*(s.y-i.y)},next:{x:o.x+p*(s.x-i.x),y:o.y+p*(s.y-i.y)}}}function Rn(t,n,e){return Math.max(Math.min(t,e),n)}function Fn(t,n,e,r,i){let o,s,a,u;if(n.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===n.cubicInterpolationMode)!function(t,n="x"){const e=Ln(n),r=t.length,i=Array(r).fill(0),o=Array(r);let s,a,u,c=Bn(t,0);for(s=0;swindow.getComputedStyle(t,null),Jn=["top","right","bottom","left"];function Kn(t,n,e){const r={};e=e?"-"+e:"";for(let i=0;i<4;i++){const o=Jn[i];r[o]=parseFloat(t[n+"-"+o+e])||0}return r.width=r.left+r.right,r.height=r.top+r.bottom,r}function Yn(t,n){if("native"in t)return t;const{canvas:e,currentDevicePixelRatio:r}=n,i=Wn(e),o="border-box"===i.boxSizing,s=Kn(i,"padding"),a=Kn(i,"border","width"),{x:u,y:c,box:l}=function(t,n){const e=t.touches,r=e&&e.length?e[0]:t,{offsetX:i,offsetY:o}=r;let s,a,u=!1;if(((t,n,e)=>(t>0||n>0)&&(!e||!e.shadowRoot))(i,o,t.target))s=i,a=o;else{const t=n.getBoundingClientRect();s=r.clientX-t.left,a=r.clientY-t.top,u=!0}return{x:s,y:a,box:u}}(t,e),h=s.left+(l&&a.left),p=s.top+(l&&a.top);let{width:f,height:_}=n;return o&&(f-=s.width+a.width,_-=s.height+a.height),{x:Math.round((u-h)/f*e.width/r),y:Math.round((c-p)/_*e.height/r)}}const Gn=t=>Math.round(10*t)/10;function Xn(t,n,e){const r=n||1,i=Math.floor(t.height*r),o=Math.floor(t.width*r);t.height=i/r,t.width=o/r;const s=t.canvas;return s.style&&(e||!s.style.height&&!s.style.width)&&(s.style.height=`${t.height}px`,s.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==r||s.height!==i||s.width!==o)&&(t.currentDevicePixelRatio=r,s.height=i,s.width=o,t.ctx.setTransform(r,0,0,r,0,0),!0)}const Zn=function(){let t=!1;try{const n={get passive(){return t=!0,!1}};window.addEventListener("test",null,n),window.removeEventListener("test",null,n)}catch(t){}return t}();function Qn(t,n){const e=function(t,n){return Wn(t).getPropertyValue(n)}(t,n),r=e&&e.match(/^(\d+)(\.\d+)?px$/);return r?+r[1]:void 0}function te(t,n,e,r){return{x:t.x+e*(n.x-t.x),y:t.y+e*(n.y-t.y)}}function ne(t,n,e,r){return{x:t.x+e*(n.x-t.x),y:"middle"===r?e<.5?t.y:n.y:"after"===r?e<1?t.y:n.y:e>0?n.y:t.y}}function ee(t,n,e,r){const i={x:t.cp2x,y:t.cp2y},o={x:n.cp1x,y:n.cp1y},s=te(t,i,e),a=te(i,o,e),u=te(o,n,e),c=te(s,a,e),l=te(a,u,e);return te(c,l,e)}const re=new Map;function ie(t,n,e){return function(t,n){n=n||{};const e=t+JSON.stringify(n);let r=re.get(e);return r||(r=new Intl.NumberFormat(t,n),re.set(e,r)),r}(n,e).format(t)}function oe(t,n,e){return t?function(t,n){return{x:e=>t+t+n-e,setWidth(t){n=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,n)=>t-n,leftForLtr:(t,n)=>t-n}}(n,e):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,n)=>t+n,leftForLtr:(t,n)=>t}}function se(t,n){let e,r;"ltr"!==n&&"rtl"!==n||(e=t.canvas.style,r=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",n,"important"),t.prevTextDirection=r)}function ae(t,n){void 0!==n&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",n[0],n[1]))}function ue(t){return"angle"===t?{between:K,compare:W,normalize:J}:{between:G,compare:(t,n)=>t-n,normalize:t=>t}}function ce({start:t,end:n,count:e,loop:r,style:i}){return{start:t%e,end:n%e,loop:r&&(n-t+1)%e==0,style:i}}function le(t,n,e){if(!e)return[t];const{property:r,start:i,end:o}=e,s=n.length,{compare:a,between:u,normalize:c}=ue(r),{start:l,end:h,loop:p,style:f}=function(t,n,e){const{property:r,start:i,end:o}=e,{between:s,normalize:a}=ue(r),u=n.length;let c,l,{start:h,end:p,loop:f}=t;if(f){for(h+=u,p+=u,c=0,l=u;cr({chart:t,initial:n.initial,numSteps:o,currentStep:Math.min(e-n.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=rt.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let n=0;this._charts.forEach(((e,r)=>{if(!e.running||!e.items.length)return;const i=e.items;let o,s=i.length-1,a=!1;for(;s>=0;--s)o=i[s],o._active?(o._total>e.duration&&(e.duration=o._total),o.tick(t),a=!0):(i[s]=i[i.length-1],i.pop());a&&(r.draw(),this._notify(r,e,t,"progress")),i.length||(e.running=!1,this._notify(r,e,t,"complete"),e.initial=!1),n+=i.length})),this._lastDate=t,0===n&&(this._running=!1)}_getAnims(t){const n=this._charts;let e=n.get(t);return e||(e={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},n.set(t,e)),e}listen(t,n,e){this._getAnims(t).listeners[n].push(e)}add(t,n){n&&n.length&&this._getAnims(t).items.push(...n)}has(t){return this._getAnims(t).items.length>0}start(t){const n=this._charts.get(t);n&&(n.running=!0,n.start=Date.now(),n.duration=n.items.reduce(((t,n)=>Math.max(t,n._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const n=this._charts.get(t);return!!(n&&n.running&&n.items.length)}stop(t){const n=this._charts.get(t);if(!n||!n.items.length)return;const e=n.items;let r=e.length-1;for(;r>=0;--r)e[r].cancel();n.items=[],this._notify(t,n,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};const de="transparent",ve={boolean:(t,n,e)=>e>.5?n:t,color(t,n,e){const r=Vt(t||de),i=r.valid&&Vt(n||de);return i&&i.valid?i.mix(r,e).hexString():n},number:(t,n,e)=>t+(n-t)*e};class ye{constructor(t,n,e,r){const i=n[e];r=bn([t.to,r,i,t.from]);const o=bn([t.from,i,r]);this._active=!0,this._fn=t.fn||ve[t.type||typeof o],this._easing=pt[t.easing]||pt.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=n,this._prop=e,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(t,n,e){if(this._active){this._notify(!1);const r=this._target[this._prop],i=e-this._start,o=this._duration-i;this._start=e,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=i,this._loop=!!t.loop,this._to=bn([t.to,n,r,t.from]),this._from=bn([t.from,r,n])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const n=t-this._start,e=this._duration,r=this._prop,i=this._from,o=this._loop,s=this._to;let a;if(this._active=i!==s&&(o||n1?2-a:a,a=this._easing(Math.min(1,Math.max(0,a))),this._target[r]=this._fn(i,s,a))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((n,e)=>{t.push({res:n,rej:e})}))}_notify(t){const n=t?"res":"rej",e=this._promises||[];for(let t=0;t"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),Xt.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),Xt.describe("animations",{_fallback:"animation"}),Xt.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class ge{constructor(t,n){this._chart=t,this._properties=new Map,this.configure(n)}configure(t){if(!a(t))return;const n=this._properties;Object.getOwnPropertyNames(t).forEach((e=>{const r=t[e];if(!a(r))return;const i={};for(const t of me)i[t]=r[t];(s(r.properties)&&r.properties||[e]).forEach((t=>{t!==e&&n.has(t)||n.set(t,i)}))}))}_animateOptions(t,n){const e=n.options,r=function(t,n){if(!n)return;let e=t.options;if(e)return e.$shared&&(t.options=e=Object.assign({},e,{$shared:!1,$animations:{}})),e;t.options=n}(t,e);if(!r)return[];const i=this._createAnimations(r,e);return e.$shared&&function(t,n){const e=[],r=Object.keys(n);for(let n=0;n{t.options=e}),(()=>{})),i}_createAnimations(t,n){const e=this._properties,r=[],i=t.$animations||(t.$animations={}),o=Object.keys(n),s=Date.now();let a;for(a=o.length-1;a>=0;--a){const u=o[a];if("$"===u.charAt(0))continue;if("options"===u){r.push(...this._animateOptions(t,n));continue}const c=n[u];let l=i[u];const h=e.get(u);if(l){if(h&&l.active()){l.update(h,c,s);continue}l.cancel()}h&&h.duration?(i[u]=l=new ye(h,t,u,c),r.push(l)):t[u]=c}return r}update(t,n){if(0===this._properties.size)return void Object.assign(t,n);const e=this._createAnimations(t,n);return e.length?(_e.add(this._chart,e),!0):void 0}}function $e(t,n){const e=t&&t.options||{},r=e.reverse,i=void 0===e.min?n:0,o=void 0===e.max?n:0;return{start:r?o:i,end:r?i:o}}function be(t,n){const e=[],r=t._getSortedDatasetMetas(n);let i,o;for(i=0,o=r.length;i0||!e&&n<0)return i.index}return null}function ze(t,n){const{chart:e,_cachedMeta:r}=t,i=e._stacks||(e._stacks={}),{iScale:o,vScale:s,index:a}=r,u=o.axis,c=s.axis,l=function(t,n,e){return`${t.id}.${n.id}.${e.stack||e.type}`}(o,s,r),h=n.length;let p;for(let t=0;te[t].axis===n)).shift()}function Se(t,n){const e=t.controller.index,r=t.vScale&&t.vScale.axis;if(r){n=n||t._parsed;for(const t of n){const n=t._stacks;if(!n||void 0===n[r]||void 0===n[r][e])return;delete n[r][e]}}}const qe=t=>"reset"===t||"none"===t,Oe=(t,n)=>n?t:Object.assign({},t);class Pe{constructor(t,n){this.chart=t,this._ctx=t.ctx,this.index=n,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=xe(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&Se(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,n=this._cachedMeta,e=this.getDataset(),r=(t,n,e,r)=>"x"===t?n:"r"===t?r:e,i=n.xAxisID=l(e.xAxisID,Ce(t,"x")),o=n.yAxisID=l(e.yAxisID,Ce(t,"y")),s=n.rAxisID=l(e.rAxisID,Ce(t,"r")),a=n.indexAxis,u=n.iAxisID=r(a,i,o,s),c=n.vAxisID=r(a,o,i,s);n.xScale=this.getScaleForId(i),n.yScale=this.getScaleForId(o),n.rScale=this.getScaleForId(s),n.iScale=this.getScaleForId(u),n.vScale=this.getScaleForId(c)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const n=this._cachedMeta;return t===n.iScale?n.vScale:n.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&nt(this._data,this),t._stacked&&Se(t)}_dataCheck(){const t=this.getDataset(),n=t.data||(t.data=[]),e=this._data;if(a(n))this._data=function(t){const n=Object.keys(t),e=new Array(n.length);let r,i,o;for(r=0,i=n.length;r{const n="_onData"+x(t),e=r[t];Object.defineProperty(r,t,{configurable:!0,enumerable:!1,value(...t){const i=e.apply(this,t);return r._chartjs.listeners.forEach((e=>{"function"==typeof e[n]&&e[n](...t)})),i}})})))),this._syncList=[],this._data=n}var r}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const n=this._cachedMeta,e=this.getDataset();let r=!1;this._dataCheck();const i=n._stacked;n._stacked=xe(n.vScale,n),n.stack!==e.stack&&(r=!0,Se(n),n.stack=e.stack),this._resyncElements(t),(r||i!==n._stacked)&&ze(this,n._parsed)}configure(){const t=this.chart.config,n=t.datasetScopeKeys(this._type),e=t.getOptionScopes(this.getDataset(),n,!0);this.options=t.createResolver(e,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,n){const{_cachedMeta:e,_data:r}=this,{iScale:i,_stacked:o}=e,u=i.axis;let c,l,h,p=0===t&&n===r.length||e._sorted,f=t>0&&e._parsed[t-1];if(!1===this._parsing)e._parsed=r,e._sorted=!0,h=r;else{h=s(r[t])?this.parseArrayData(e,r,t,n):a(r[t])?this.parseObjectData(e,r,t,n):this.parsePrimitiveData(e,r,t,n);const i=()=>null===l[u]||f&&l[u]t&&!n.hidden&&n._stacked&&{keys:be(e,!0),values:null})(n,e,this.chart),c={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:l,max:h}=function(t){const{min:n,max:e,minDefined:r,maxDefined:i}=t.getUserBounds();return{min:r?n:Number.NEGATIVE_INFINITY,max:i?e:Number.POSITIVE_INFINITY}}(s);let p,f;function _(){f=r[p];const n=f[s.axis];return!u(f[t.axis])||l>n||h=0;--p)if(!_()){this.updateRangeFromParsed(c,t,f,a);break}return c}getAllParsedValues(t){const n=this._cachedMeta._parsed,e=[];let r,i,o;for(r=0,i=n.length;r=0&&tthis.getContext(e,r)),l);return f.$shared&&(f.$shared=a,i[o]=Object.freeze(Oe(f,a))),f}_resolveAnimations(t,n,e){const r=this.chart,i=this._cachedDataOpts,o=`animation-${n}`,s=i[o];if(s)return s;let a;if(!1!==r.options.animation){const r=this.chart.config,i=r.datasetAnimationScopeKeys(this._type,n),o=r.getOptionScopes(this.getDataset(),i);a=r.createResolver(o,this.getContext(t,e,n))}const u=new ge(r,a&&a.animations);return a&&a._cacheable&&(i[o]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,n){return!n||qe(t)||this.chart._animationsDisabled}_getSharedOptions(t,n){const e=this.resolveDataElementOptions(t,n),r=this._sharedOptions,i=this.getSharedOptions(e),o=this.includeOptions(n,i)||i!==r;return this.updateSharedOptions(i,n,e),{sharedOptions:i,includeOptions:o}}updateElement(t,n,e,r){qe(r)?Object.assign(t,e):this._resolveAnimations(n,r).update(t,e)}updateSharedOptions(t,n,e){t&&!qe(n)&&this._resolveAnimations(void 0,n).update(t,e)}_setStyle(t,n,e,r){t.active=r;const i=this.getStyle(n,r);this._resolveAnimations(n,e,r).update(t,{options:!r&&this.getSharedOptions(i)||i})}removeHoverStyle(t,n,e){this._setStyle(t,e,"active",!1)}setHoverStyle(t,n,e){this._setStyle(t,e,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const n=this._data,e=this._cachedMeta.data;for(const[t,n,e]of this._syncList)this[t](n,e);this._syncList=[];const r=e.length,i=n.length,o=Math.min(i,r);o&&this.parse(0,o),i>r?this._insertElements(r,i-r,t):i{for(t.length+=n,s=t.length-1;s>=o;s--)t[s]=t[s-n]};for(a(i),s=t;st-n)))}return t._cache.$bar}(n,t.type);let r,i,o,s,a=n._length;const u=()=>{32767!==o&&-32768!==o&&(k(s)&&(a=Math.min(a,Math.abs(o-s)||a)),s=o)};for(r=0,i=e.length;rMath.abs(a)&&(u=a,c=s),n[e.axis]=c,n._custom={barStart:u,barEnd:c,start:i,end:o,min:s,max:a}}(t,n,e,r):n[e.axis]=e.parse(t,r),n}function Ee(t,n,e,r){const i=t.iScale,o=t.vScale,s=i.getLabels(),a=i===o,u=[];let c,l,h,p;for(c=e,l=e+r;ct.x,e="left",r="right"):(n=t.baset.controller.options.grouped)),i=e.options.stacked,s=[],a=t=>{const e=t.controller.getParsed(n),r=e&&e[t.vScale.axis];if(o(r)||isNaN(r))return!0};for(const e of r)if((void 0===n||!a(e))&&((!1===i||-1===s.indexOf(e.stack)||void 0===i&&void 0===e.stack)&&s.push(e.stack),e.index===t))break;return s.length||s.push(void 0),s}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,n,e){const r=this._getStacks(t,e),i=void 0!==n?r.indexOf(n):-1;return-1===i?r.length-1:i}_getRuler(){const t=this.options,n=this._cachedMeta,e=n.iScale,r=[];let i,o;for(i=0,o=n.data.length;i=e?1:-1)}(h,n,s)*i,p===s&&(v-=h/2);const t=n.getPixelForDecimal(0),e=n.getPixelForDecimal(1),r=Math.min(t,e),o=Math.max(t,e);v=Math.max(Math.min(v,o),r),l=v+h}if(v===n.getPixelForValue(s)){const t=D(h)*n.getLineWidthForValue(s)/2;v+=t,h-=t}return{size:h,base:v,head:l,center:l+h/2}}_calculateBarIndexPixels(t,n){const e=n.scale,r=this.options,i=r.skipNull,s=l(r.maxBarThickness,1/0);let a,u;if(n.grouped){const e=i?this._getStackCount(t):n.stackCount,c="flex"===r.barThickness?function(t,n,e,r){const i=n.pixels,o=i[t];let s=t>0?i[t-1]:null,a=t=0;--e)n=Math.max(n,t[e].size(this.resolveDataElementOptions(e))/2);return n>0&&n}getLabelAndValue(t){const n=this._cachedMeta,{xScale:e,yScale:r}=n,i=this.getParsed(t),o=e.getLabelForValue(i.x),s=r.getLabelForValue(i.y),a=i._custom;return{label:n.label,value:"("+o+", "+s+(a?", "+a:"")+")"}}update(t){const n=this._cachedMeta.data;this.updateElements(n,0,n.length,t)}updateElements(t,n,e,r){const i="reset"===r,{iScale:o,vScale:s}=this._cachedMeta,{sharedOptions:a,includeOptions:u}=this._getSharedOptions(n,r),c=o.axis,l=s.axis;for(let h=n;h""}}}};class Fe extends Pe{constructor(t,n){super(t,n),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,n){const e=this.getDataset().data,r=this._cachedMeta;if(!1===this._parsing)r._parsed=e;else{let i,o,s=t=>+e[t];if(a(e[t])){const{key:t="value"}=this._parsing;s=n=>+w(e[n],t)}for(i=t,o=t+n;iK(t,a,u,!0)?1:Math.max(n,n*e,r,r*e),_=(t,n,r)=>K(t,a,u,!0)?-1:Math.min(n,n*e,r,r*e),d=f(0,c,h),v=f(M,l,p),y=_(C,c,h),m=_(C+M,l,p);r=(d-y)/2,i=(v-m)/2,o=-(d+y)/2,s=-(v+m)/2}return{ratioX:r,ratioY:i,offsetX:o,offsetY:s}}(f,p,a),m=(e.width-o)/_,g=(e.height-o)/d,$=Math.max(Math.min(m,g)/2,0),b=h(this.options.radius,$),w=(b-Math.max(b*a,0))/this._getVisibleDatasetWeightTotal();this.offsetX=v*b,this.offsetY=y*b,r.total=this.calculateTotal(),this.outerRadius=b-w*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-w*l,0),this.updateElements(i,0,i.length,t)}_circumference(t,n){const e=this.options,r=this._cachedMeta,i=this._getCircumference();return n&&e.animation.animateRotate||!this.chart.getDataVisibility(t)||null===r._parsed[t]||r.data[t].hidden?0:this.calculateCircumference(r._parsed[t]*i/S)}updateElements(t,n,e,r){const i="reset"===r,o=this.chart,s=o.chartArea,a=o.options.animation,u=(s.left+s.right)/2,c=(s.top+s.bottom)/2,l=i&&a.animateScale,h=l?0:this.innerRadius,p=l?0:this.outerRadius,{sharedOptions:f,includeOptions:_}=this._getSharedOptions(n,r);let d,v=this._getRotation();for(d=0;d0&&!isNaN(t)?S*(Math.abs(t)/n):0}getLabelAndValue(t){const n=this._cachedMeta,e=this.chart,r=e.data.labels||[],i=ie(n._parsed[t],e.options.locale);return{label:r[t]||"",value:i}}getMaxBorderWidth(t){let n=0;const e=this.chart;let r,i,o,s,a;if(!t)for(r=0,i=e.data.datasets.length;r"spacing"!==t,_indexable:t=>"spacing"!==t},Fe.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:e}}=t.legend.options;return n.labels.map(((n,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:e,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,n,e){e.chart.toggleDataVisibility(n.index),e.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let n=t.label;const e=": "+t.formattedValue;return s(n)?(n=n.slice(),n[0]+=e):n+=e,n}}}}};class He extends Pe{initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const n=this._cachedMeta,{dataset:e,data:r=[],_dataset:i}=n,o=this.chart._animationsDisabled;let{start:s,count:a}=at(n,r,o);this._drawStart=s,this._drawCount=a,ut(n)&&(s=0,a=r.length),e._chart=this.chart,e._datasetIndex=this.index,e._decimated=!!i._decimated,e.points=r;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(e,void 0,{animated:!o,options:u},t),this.updateElements(r,s,a,t)}updateElements(t,n,e,r){const i="reset"===r,{iScale:s,vScale:a,_stacked:u,_dataset:c}=this._cachedMeta,{sharedOptions:l,includeOptions:h}=this._getSharedOptions(n,r),p=s.axis,f=a.axis,{spanGaps:_,segment:d}=this.options,v=B(_)?_:Number.POSITIVE_INFINITY,y=this.chart._animationsDisabled||i||"none"===r;let m=n>0&&this.getParsed(n-1);for(let _=n;_0&&Math.abs(e[p]-m[p])>v,d&&(g.parsed=e,g.raw=c.data[_]),h&&(g.options=l||this.resolveDataElementOptions(_,n.active?"active":r)),y||this.updateElement(n,_,g,r),m=e}}getMaxOverflow(){const t=this._cachedMeta,n=t.dataset,e=n.options&&n.options.borderWidth||0,r=t.data||[];if(!r.length)return e;const i=r[0].size(this.resolveDataElementOptions(0)),o=r[r.length-1].size(this.resolveDataElementOptions(r.length-1));return Math.max(e,i,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}He.id="line",He.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},He.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class Ue extends Pe{constructor(t,n){super(t,n),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const n=this._cachedMeta,e=this.chart,r=e.data.labels||[],i=ie(n._parsed[t].r,e.options.locale);return{label:r[t]||"",value:i}}parseObjectData(t,n,e,r){return Dn.bind(this)(t,n,e,r)}update(t){const n=this._cachedMeta.data;this._updateRadius(),this.updateElements(n,0,n.length,t)}getMinMax(){const t=this._cachedMeta,n={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,e)=>{const r=this.getParsed(e).r;!isNaN(r)&&this.chart.getDataVisibility(e)&&(rn.max&&(n.max=r))})),n}_updateRadius(){const t=this.chart,n=t.chartArea,e=t.options,r=Math.min(n.right-n.left,n.bottom-n.top),i=Math.max(r/2,0),o=(i-Math.max(e.cutoutPercentage?i/100*e.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=i-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,n,e,r){const i="reset"===r,o=this.chart,s=o.options.animation,a=this._cachedMeta.rScale,u=a.xCenter,c=a.yCenter,l=a.getIndexAngle(0)-.5*C;let h,p=l;const f=360/this.countVisibleElements();for(h=0;h{!isNaN(this.getParsed(e).r)&&this.chart.getDataVisibility(e)&&n++})),n}_computeAngle(t,n,e){return this.chart.getDataVisibility(t)?R(this.resolveDataElementOptions(t,n).angle||e):0}}Ue.id="polarArea",Ue.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},Ue.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const n=t.data;if(n.labels.length&&n.datasets.length){const{labels:{pointStyle:e}}=t.legend.options;return n.labels.map(((n,r)=>{const i=t.getDatasetMeta(0).controller.getStyle(r);return{text:n,fillStyle:i.backgroundColor,strokeStyle:i.borderColor,lineWidth:i.borderWidth,pointStyle:e,hidden:!t.getDataVisibility(r),index:r}}))}return[]}},onClick(t,n,e){e.chart.toggleDataVisibility(n.index),e.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class Ve extends Fe{}Ve.id="pie",Ve.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class We extends Pe{getLabelAndValue(t){const n=this._cachedMeta.vScale,e=this.getParsed(t);return{label:n.getLabels()[t],value:""+n.getLabelForValue(e[n.axis])}}parseObjectData(t,n,e,r){return Dn.bind(this)(t,n,e,r)}update(t){const n=this._cachedMeta,e=n.dataset,r=n.data||[],i=n.iScale.getLabels();if(e.points=r,"resize"!==t){const n=this.resolveDatasetElementOptions(t);this.options.showLine||(n.borderWidth=0);const o={_loop:!0,_fullLoop:i.length===r.length,options:n};this.updateElement(e,void 0,o,t)}this.updateElements(r,0,r.length,t)}updateElements(t,n,e,r){const i=this._cachedMeta.rScale,o="reset"===r;for(let s=n;s{r[t]=e[t]&&e[t].active()?e[t]._to:this[t]})),r}}Je.defaults={},Je.defaultRoutes=void 0;const Ke={values:t=>s(t)?t:""+t,numeric(t,n,e){if(0===t)return"0";const r=this.chart.options.locale;let i,o=t;if(e.length>1){const n=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(n<1e-4||n>1e15)&&(i="scientific"),o=function(t,n){let e=n.length>3?n[2].value-n[1].value:n[1].value-n[0].value;return Math.abs(e)>=1&&t!==Math.floor(t)&&(e=t-Math.floor(t)),e}(t,e)}const s=I(Math.abs(o)),a=Math.max(Math.min(-1*Math.floor(s),20),0),u={notation:i,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(u,this.options.ticks.format),ie(t,r,u)},logarithmic(t,n,e){if(0===t)return"0";const r=t/Math.pow(10,Math.floor(I(t)));return 1===r||2===r||5===r?Ke.numeric.call(this,t,n,e):""}};var Ye={formatters:Ke};function Ge(t,n,e,r,i){const o=l(r,0),s=Math.min(l(i,t.length),t.length);let a,u,c,h=0;for(e=Math.ceil(e),i&&(a=i-r,e=a/Math.floor(a/e)),c=o;c<0;)h++,c=Math.round(o+h*e);for(u=Math.max(o,0);un.lineWidth,tickColor:(t,n)=>n.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ye.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),Xt.route("scale.ticks","color","","color"),Xt.route("scale.grid","color","","borderColor"),Xt.route("scale.grid","borderColor","","borderColor"),Xt.route("scale.title","color","","color"),Xt.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),Xt.describe("scales",{_fallback:"scale"}),Xt.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Xe=(t,n,e)=>"top"===n||"left"===n?t[n]+e:t[n]-e;function Ze(t,n){const e=[],r=t.length/n,i=t.length;let o=0;for(;os+a)))return c}function tr(t){return t.drawTicks?t.tickLength:0}function nr(t,n){if(!t.display)return 0;const e=$n(t.font,n),r=gn(t.padding);return(s(t.text)?t.text.length:1)*e.lineHeight+r.height}function er(t,n,e){let r=ot(t);return(e&&"right"!==n||!e&&"right"===n)&&(r=(t=>"left"===t?"right":"right"===t?"left":t)(r)),r}class rr extends Je{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,n){return t}getUserBounds(){let{_userMin:t,_userMax:n,_suggestedMin:e,_suggestedMax:r}=this;return t=c(t,Number.POSITIVE_INFINITY),n=c(n,Number.NEGATIVE_INFINITY),e=c(e,Number.POSITIVE_INFINITY),r=c(r,Number.NEGATIVE_INFINITY),{min:c(t,e),max:c(n,r),minDefined:u(t),maxDefined:u(n)}}getMinMax(t){let n,{min:e,max:r,minDefined:i,maxDefined:o}=this.getUserBounds();if(i&&o)return{min:e,max:r};const s=this.getMatchingVisibleMetas();for(let a=0,u=s.length;ar?r:e,r=i&&e>r?e:r,{min:c(e,c(r,e)),max:c(r,c(e,r))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){p(this.options.beforeUpdate,[this])}update(t,n,e){const{beginAtZero:r,grace:i,ticks:s}=this.options,a=s.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=n,this._margins=e=Object.assign({left:0,right:0,top:0,bottom:0},e),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+e.left+e.right:this.height+e.top+e.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(t,n,e){const{min:r,max:i}=t,o=h(n,(i-r)/2),s=(t,n)=>e&&0===t?0:t+n;return{min:s(r,-Math.abs(o)),max:s(i,o)}}(this,i,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const u=ar)return function(t,n,e,r){let i,o=0,s=e[0];for(r=Math.ceil(r),i=0;it-n)).pop(),n}(r);for(let t=0,n=o.length-1;ti)return n}return Math.max(i,1)}(i,n,r);if(s>0){let t,e;const r=s>1?Math.round((u-a)/(s-1)):null;for(Ge(n,c,l,o(r)?0:a-r,a),t=0,e=s-1;t=i||e<=1||!this.isHorizontal())return void(this.labelRotation=r);const c=this._getLabelSizes(),l=c.widest.width,h=c.highest.height,p=Y(this.chart.width-l,0,this.maxWidth);o=t.offset?this.maxWidth/e:p/(e-1),l+6>o&&(o=p/(e-(t.offset?.5:1)),s=this.maxHeight-tr(t.grid)-n.padding-nr(t.title,this.chart.options.font),a=Math.sqrt(l*l+h*h),u=F(Math.min(Math.asin(Y((c.highest.height+6)/o,-1,1)),Math.asin(Y(s/a,-1,1))-Math.asin(Y(h/a,-1,1)))),u=Math.max(r,Math.min(i,u))),this.labelRotation=u}afterCalculateLabelRotation(){p(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){p(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:n,options:{ticks:e,title:r,grid:i}}=this,o=this._isVisible(),s=this.isHorizontal();if(o){const o=nr(r,n.options.font);if(s?(t.width=this.maxWidth,t.height=tr(i)+o):(t.height=this.maxHeight,t.width=tr(i)+o),e.display&&this.ticks.length){const{first:n,last:r,widest:i,highest:o}=this._getLabelSizes(),a=2*e.padding,u=R(this.labelRotation),c=Math.cos(u),l=Math.sin(u);if(s){const n=e.mirror?0:l*i.width+c*o.height;t.height=Math.min(this.maxHeight,t.height+n+a)}else{const n=e.mirror?0:c*i.width+l*o.height;t.width=Math.min(this.maxWidth,t.width+n+a)}this._calculatePadding(n,r,l,c)}}this._handleMargins(),s?(this.width=this._length=n.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=n.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,n,e,r){const{ticks:{align:i,padding:o},position:s}=this.options,a=0!==this.labelRotation,u="top"!==s&&"x"===this.axis;if(this.isHorizontal()){const s=this.getPixelForTick(0)-this.left,c=this.right-this.getPixelForTick(this.ticks.length-1);let l=0,h=0;a?u?(l=r*t.width,h=e*n.height):(l=e*t.height,h=r*n.width):"start"===i?h=n.width:"end"===i?l=t.width:"inner"!==i&&(l=t.width/2,h=n.width/2),this.paddingLeft=Math.max((l-s+o)*this.width/(this.width-s),0),this.paddingRight=Math.max((h-c+o)*this.width/(this.width-c),0)}else{let e=n.height/2,r=t.height/2;"start"===i?(e=0,r=t.height):"end"===i&&(e=n.height,r=0),this.paddingTop=e+o,this.paddingBottom=r+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){p(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:n}=this.options;return"top"===n||"bottom"===n||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let n,e;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),n=0,e=t.length;n{const e=t.gc,r=e.length/2;let i;if(r>n){for(i=0;i({width:i[t]||0,height:a[t]||0});return{first:k(0),last:k(n-1),widest:k(w),highest:k(x),widths:i,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,n){return NaN}getValueForPixel(t){}getPixelForTick(t){const n=this.ticks;return t<0||t>n.length-1?null:this.getPixelForValue(n[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const n=this._startPixel+t*this._length;return Y(this._alignToPixels?tn(this.chart,n,0):n,-32768,32767)}getDecimalForPixel(t){const n=(t-this._startPixel)/this._length;return this._reversePixels?1-n:n}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:n}=this;return t<0&&n<0?n:t>0&&n>0?t:0}getContext(t){const n=this.ticks||[];if(t>=0&&ts*r?s/e:a/r:a*r0}_computeGridLineItems(t){const n=this.axis,e=this.chart,r=this.options,{grid:i,position:o}=r,s=i.offset,u=this.isHorizontal(),c=this.ticks.length+(s?1:0),h=tr(i),p=[],f=i.setContext(this.getContext()),_=f.drawBorder?f.borderWidth:0,d=_/2,v=function(t){return tn(e,t,_)};let y,m,g,$,b,w,x,k,j,z,C,S;if("top"===o)y=v(this.bottom),w=this.bottom-h,k=y-d,z=v(t.top)+d,S=t.bottom;else if("bottom"===o)y=v(this.top),z=t.top,S=v(t.bottom)-d,w=y+d,k=this.top+h;else if("left"===o)y=v(this.right),b=this.right-h,x=y-d,j=v(t.left)+d,C=t.right;else if("right"===o)y=v(this.left),j=t.left,C=v(t.right)-d,b=y+d,x=this.left+h;else if("x"===n){if("center"===o)y=v((t.top+t.bottom)/2+.5);else if(a(o)){const t=Object.keys(o)[0],n=o[t];y=v(this.chart.scales[t].getPixelForValue(n))}z=t.top,S=t.bottom,w=y+d,k=w+h}else if("y"===n){if("center"===o)y=v((t.left+t.right)/2);else if(a(o)){const t=Object.keys(o)[0],n=o[t];y=v(this.chart.scales[t].getPixelForValue(n))}b=y-d,x=b-h,j=t.left,C=t.right}const q=l(r.ticks.maxTicksLimit,c),O=Math.max(1,Math.ceil(c/q));for(m=0;mn.value===t));return e>=0?n.setContext(this.getContext(e)).lineWidth:0}drawGrid(t){const n=this.options.grid,e=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let i,o;const s=(t,n,r)=>{r.width&&r.color&&(e.save(),e.lineWidth=r.width,e.strokeStyle=r.color,e.setLineDash(r.borderDash||[]),e.lineDashOffset=r.borderDashOffset,e.beginPath(),e.moveTo(t.x,t.y),e.lineTo(n.x,n.y),e.stroke(),e.restore())};if(n.display)for(i=0,o=r.length;i{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:e+1,draw:()=>{this.drawBorder()}},{z:n,draw:t=>{this.drawLabels(t)}}]:[{z:n,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const n=this.chart.getSortedVisibleDatasetMetas(),e=this.axis+"AxisID",r=[];let i,o;for(i=0,o=n.length;i{const r=e.split("."),i=r.pop(),o=[t].concat(r).join("."),s=n[e].split("."),a=s.pop(),u=s.join(".");Xt.route(o,i,u,a)}))}(n,t.defaultRoutes),t.descriptors&&Xt.describe(n,t.descriptors)}(t,o,e),this.override&&Xt.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const n=this.items,e=t.id,r=this.scope;e in n&&delete n[e],r&&e in Xt[r]&&(delete Xt[r][e],this.override&&delete Jt[e])}}var or=new class{constructor(){this.controllers=new ir(Pe,"datasets",!0),this.elements=new ir(Je,"elements"),this.plugins=new ir(Object,"plugins"),this.scales=new ir(rr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,n,e){[...n].forEach((n=>{const r=e||this._getRegistryForType(n);e||r.isForType(n)||r===this.plugins&&n.id?this._exec(t,r,n):f(n,(n=>{const r=e||this._getRegistryForType(n);this._exec(t,r,n)}))}))}_exec(t,n,e){const r=x(t);p(e["before"+r],[],e),n[t](e),p(e["after"+r],[],e)}_getRegistryForType(t){for(let n=0;n0&&this.getParsed(n-1);for(let l=n;l0&&Math.abs(e[f]-g[f])>y,v&&(d.parsed=e,d.raw=c.data[l]),p&&(d.options=h||this.resolveDataElementOptions(l,n.active?"active":r)),m||this.updateElement(n,l,d,r),g=e}this.updateSharedOptions(h,r,l)}getMaxOverflow(){const t=this._cachedMeta,n=t.data||[];if(!this.options.showLine){let t=0;for(let e=n.length-1;e>=0;--e)t=Math.max(t,n[e].size(this.resolveDataElementOptions(e))/2);return t>0&&t}const e=t.dataset,r=e.options&&e.options.borderWidth||0;if(!n.length)return r;const i=n[0].size(this.resolveDataElementOptions(0)),o=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(r,i,o)/2}}sr.id="scatter",sr.defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1},sr.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var ar=Object.freeze({__proto__:null,BarController:Ne,BubbleController:Re,DoughnutController:Fe,LineController:He,PolarAreaController:Ue,PieController:Ve,RadarController:We,ScatterController:sr});function ur(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class cr{constructor(t){this.options=t||{}}init(t){}formats(){return ur()}parse(t,n){return ur()}format(t,n){return ur()}add(t,n,e){return ur()}diff(t,n,e){return ur()}startOf(t,n,e){return ur()}endOf(t,n){return ur()}}cr.override=function(t){Object.assign(cr.prototype,t)};var lr={_date:cr};function hr(t,n,e,r){const{controller:i,data:o,_sorted:s}=t,a=i._cachedMeta.iScale;if(a&&n===a.axis&&"r"!==n&&s&&o.length){const t=a._reversePixels?Q:Z;if(!r)return t(o,n,e);if(i._sharedOptions){const r=o[0],i="function"==typeof r.getRange&&r.getRange(n);if(i){const r=t(o,n,e-i),s=t(o,n,e+i);return{lo:r.lo,hi:s.hi}}}}return{lo:0,hi:o.length-1}}function pr(t,n,e,r,i){const o=t.getSortedVisibleDatasetMetas(),s=e[n];for(let t=0,e=o.length;t{t[s](n[e],i)&&(o.push({element:t,datasetIndex:r,index:u}),a=a||t.inRange(n.x,n.y,i))})),r&&!a?[]:o}var vr={evaluateInteractionItems:pr,modes:{index(t,n,e,r){const i=Yn(n,t),o=e.axis||"x",s=e.includeInvisible||!1,a=e.intersect?fr(t,i,o,r,s):_r(t,i,o,!1,r,s),u=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const n=a[0].index,e=t.data[n];e&&!e.skip&&u.push({element:e,datasetIndex:t.index,index:n})})),u):[]},dataset(t,n,e,r){const i=Yn(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;let a=e.intersect?fr(t,i,o,r,s):_r(t,i,o,!1,r,s);if(a.length>0){const n=a[0].datasetIndex,e=t.getDatasetMeta(n).data;a=[];for(let t=0;tfr(t,Yn(n,t),e.axis||"xy",r,e.includeInvisible||!1),nearest(t,n,e,r){const i=Yn(n,t),o=e.axis||"xy",s=e.includeInvisible||!1;return _r(t,i,o,e.intersect,r,s)},x:(t,n,e,r)=>dr(t,Yn(n,t),"x",e.intersect,r),y:(t,n,e,r)=>dr(t,Yn(n,t),"y",e.intersect,r)}};const yr=["left","top","right","bottom"];function mr(t,n){return t.filter((t=>t.pos===n))}function gr(t,n){return t.filter((t=>-1===yr.indexOf(t.pos)&&t.box.axis===n))}function $r(t,n){return t.sort(((t,e)=>{const r=n?e:t,i=n?t:e;return r.weight===i.weight?r.index-i.index:r.weight-i.weight}))}function br(t,n,e,r){return Math.max(t[e],n[e])+Math.max(t[r],n[r])}function wr(t,n){t.top=Math.max(t.top,n.top),t.left=Math.max(t.left,n.left),t.bottom=Math.max(t.bottom,n.bottom),t.right=Math.max(t.right,n.right)}function xr(t,n,e,r){const{pos:i,box:o}=e,s=t.maxPadding;if(!a(i)){e.size&&(t[i]-=e.size);const n=r[e.stack]||{size:0,count:1};n.size=Math.max(n.size,e.horizontal?o.height:o.width),e.size=n.size/n.count,t[i]+=e.size}o.getPadding&&wr(s,o.getPadding());const u=Math.max(0,n.outerWidth-br(s,t,"left","right")),c=Math.max(0,n.outerHeight-br(s,t,"top","bottom")),l=u!==t.w,h=c!==t.h;return t.w=u,t.h=c,e.horizontal?{same:l,other:h}:{same:h,other:l}}function kr(t,n){const e=n.maxPadding;return function(t){const r={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{r[t]=Math.max(n[t],e[t])})),r}(t?["left","right"]:["top","bottom"])}function jr(t,n,e,r){const i=[];let o,s,a,u,c,l;for(o=0,s=t.length,c=0;ot.box.fullSize)),!0),r=$r(mr(n,"left"),!0),i=$r(mr(n,"right")),o=$r(mr(n,"top"),!0),s=$r(mr(n,"bottom")),a=gr(n,"x"),u=gr(n,"y");return{fullSize:e,leftAndTop:r.concat(o),rightAndBottom:i.concat(u).concat(s).concat(a),chartArea:mr(n,"chartArea"),vertical:r.concat(i).concat(u),horizontal:o.concat(s).concat(a)}}(t.boxes),u=a.vertical,c=a.horizontal;f(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const l=u.reduce(((t,n)=>n.box.options&&!1===n.box.options.display?t:t+1),0)||1,h=Object.freeze({outerWidth:n,outerHeight:e,padding:i,availableWidth:o,availableHeight:s,vBoxMaxWidth:o/2/l,hBoxMaxHeight:s/2}),p=Object.assign({},i);wr(p,gn(r));const _=Object.assign({maxPadding:p,w:o,h:s,x:i.left,y:i.top},i),d=function(t,n){const e=function(t){const n={};for(const e of t){const{stack:t,pos:r,stackWeight:i}=e;if(!t||!yr.includes(r))continue;const o=n[t]||(n[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=i}return n}(t),{vBoxMaxWidth:r,hBoxMaxHeight:i}=n;let o,s,a;for(o=0,s=t.length;o{const e=n.box;Object.assign(e,t.chartArea),e.update(_.w,_.h,{left:0,top:0,right:0,bottom:0})}))}};class qr{acquireContext(t,n){}releaseContext(t){return!1}addEventListener(t,n,e){}removeEventListener(t,n,e){}getDevicePixelRatio(){return 1}getMaximumSize(t,n,e,r){return n=Math.max(0,n||t.width),e=e||t.height,{width:n,height:Math.max(0,r?Math.floor(n/r):e)}}isAttached(t){return!0}updateConfig(t){}}class Or extends qr{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Pr={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Mr=t=>null===t||""===t,Ar=!!Zn&&{passive:!0};function Er(t,n,e){t.canvas.removeEventListener(n,e,Ar)}function Ir(t,n){for(const e of t)if(e===n||e.contains(n))return!0}function Dr(t,n,e){const r=t.canvas,i=new MutationObserver((t=>{let n=!1;for(const e of t)n=n||Ir(e.addedNodes,r),n=n&&!Ir(e.removedNodes,r);n&&e()}));return i.observe(document,{childList:!0,subtree:!0}),i}function Tr(t,n,e){const r=t.canvas,i=new MutationObserver((t=>{let n=!1;for(const e of t)n=n||Ir(e.removedNodes,r),n=n&&!Ir(e.addedNodes,r);n&&e()}));return i.observe(document,{childList:!0,subtree:!0}),i}const Br=new Map;let Lr=0;function Nr(){const t=window.devicePixelRatio;t!==Lr&&(Lr=t,Br.forEach(((n,e)=>{e.currentDevicePixelRatio!==t&&n()})))}function Rr(t,n,e){const r=t.canvas,i=r&&Un(r);if(!i)return;const o=it(((t,n)=>{const r=i.clientWidth;e(t,n),r{const n=t[0],e=n.contentRect.width,r=n.contentRect.height;0===e&&0===r||o(e,r)}));return s.observe(i),function(t,n){Br.size||window.addEventListener("resize",Nr),Br.set(t,n)}(t,o),s}function Fr(t,n,e){e&&e.disconnect(),"resize"===n&&function(t){Br.delete(t),Br.size||window.removeEventListener("resize",Nr)}(t)}function Hr(t,n,e){const r=t.canvas,i=it((n=>{null!==t.ctx&&e(function(t,n){const e=Pr[t.type]||t.type,{x:r,y:i}=Yn(t,n);return{type:e,chart:n,native:t,x:void 0!==r?r:null,y:void 0!==i?i:null}}(n,t))}),t,(t=>{const n=t[0];return[n,n.offsetX,n.offsetY]}));return function(t,n,e){t.addEventListener(n,e,Ar)}(r,n,i),i}class Ur extends qr{acquireContext(t,n){const e=t&&t.getContext&&t.getContext("2d");return e&&e.canvas===t?(function(t,n){const e=t.style,r=t.getAttribute("height"),i=t.getAttribute("width");if(t.$chartjs={initial:{height:r,width:i,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Mr(i)){const n=Qn(t,"width");void 0!==n&&(t.width=n)}if(Mr(r))if(""===t.style.height)t.height=t.width/(n||2);else{const n=Qn(t,"height");void 0!==n&&(t.height=n)}}(t,n),e):null}releaseContext(t){const n=t.canvas;if(!n.$chartjs)return!1;const e=n.$chartjs.initial;["height","width"].forEach((t=>{const r=e[t];o(r)?n.removeAttribute(t):n.setAttribute(t,r)}));const r=e.style||{};return Object.keys(r).forEach((t=>{n.style[t]=r[t]})),n.width=n.width,delete n.$chartjs,!0}addEventListener(t,n,e){this.removeEventListener(t,n);const r=t.$proxies||(t.$proxies={}),i={attach:Dr,detach:Tr,resize:Rr}[n]||Hr;r[n]=i(t,n,e)}removeEventListener(t,n){const e=t.$proxies||(t.$proxies={}),r=e[n];r&&(({attach:Fr,detach:Fr,resize:Fr}[n]||Er)(t,n,r),e[n]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,n,e,r){return function(t,n,e,r){const i=Wn(t),o=Kn(i,"margin"),s=Vn(i.maxWidth,t,"clientWidth")||O,a=Vn(i.maxHeight,t,"clientHeight")||O,u=function(t,n,e){let r,i;if(void 0===n||void 0===e){const o=Un(t);if(o){const t=o.getBoundingClientRect(),s=Wn(o),a=Kn(s,"border","width"),u=Kn(s,"padding");n=t.width-u.width-a.width,e=t.height-u.height-a.height,r=Vn(s.maxWidth,o,"clientWidth"),i=Vn(s.maxHeight,o,"clientHeight")}else n=t.clientWidth,e=t.clientHeight}return{width:n,height:e,maxWidth:r||O,maxHeight:i||O}}(t,n,e);let{width:c,height:l}=u;if("content-box"===i.boxSizing){const t=Kn(i,"border","width"),n=Kn(i,"padding");c-=n.width+t.width,l-=n.height+t.height}return c=Math.max(0,c-o.width),l=Math.max(0,r?Math.floor(c/r):l-o.height),c=Gn(Math.min(c,s,u.maxWidth)),l=Gn(Math.min(l,a,u.maxHeight)),c&&!l&&(l=Gn(c/2)),{width:c,height:l}}(t,n,e,r)}isAttached(t){const n=Un(t);return!(!n||!n.isConnected)}}function Vr(t){return!Hn()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Or:Ur}class Wr{constructor(){this._init=[]}notify(t,n,e,r){"beforeInit"===n&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const i=r?this._descriptors(t).filter(r):this._descriptors(t),o=this._notify(i,t,n,e);return"afterDestroy"===n&&(this._notify(i,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,n,e,r){r=r||{};for(const i of t){const t=i.plugin;if(!1===p(t[e],[n,r,i.options],t)&&r.cancelable)return!1}return!0}invalidate(){o(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const n=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),n}_createDescriptors(t,n){const e=t&&t.config,r=l(e.options&&e.options.plugins,{}),i=function(t){const n={},e=[],r=Object.keys(or.plugins.items);for(let t=0;tt.filter((t=>!n.some((n=>t.plugin.id===n.plugin.id))));this._notify(r(n,e),t,"stop"),this._notify(r(e,n),t,"start")}}function Jr(t,n){return n||!1!==t?!0===t?{}:t:null}function Kr(t,{plugin:n,local:e},r,i){const o=t.pluginScopeKeys(n),s=t.getOptionScopes(r,o);return e&&n.defaults&&s.push(n.defaults),t.createResolver(s,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Yr(t,n){const e=Xt.datasets[t]||{};return((n.datasets||{})[t]||{}).indexAxis||n.indexAxis||e.indexAxis||"x"}function Gr(t,n){return"x"===t||"y"===t?t:n.axis||("top"===(e=n.position)||"bottom"===e?"x":"left"===e||"right"===e?"y":void 0)||t.charAt(0).toLowerCase();var e}function Xr(t){const n=t.options||(t.options={});n.plugins=l(n.plugins,{}),n.scales=function(t,n){const e=Jt[t.type]||{scales:{}},r=n.scales||{},i=Yr(t.type,n),o=Object.create(null),s=Object.create(null);return Object.keys(r).forEach((t=>{const n=r[t];if(!a(n))return console.error(`Invalid scale configuration for scale: ${t}`);if(n._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const u=Gr(t,n),c=function(t,n){return t===n?"_index_":"_value_"}(u,i),l=e.scales||{};o[u]=o[u]||t,s[t]=g(Object.create(null),[{axis:u},n,l[u],l[c]])})),t.data.datasets.forEach((e=>{const i=e.type||t.type,a=e.indexAxis||Yr(i,n),u=(Jt[i]||{}).scales||{};Object.keys(u).forEach((t=>{const n=function(t,n){let e=t;return"_index_"===t?e=n:"_value_"===t&&(e="x"===n?"y":"x"),e}(t,a),i=e[n+"AxisID"]||o[n]||n;s[i]=s[i]||Object.create(null),g(s[i],[{axis:n},r[i],u[t]])}))})),Object.keys(s).forEach((t=>{const n=s[t];g(n,[Xt.scales[n.type],Xt.scale])})),s}(t,n)}function Zr(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const Qr=new Map,ti=new Set;function ni(t,n){let e=Qr.get(t);return e||(e=n(),Qr.set(t,e),ti.add(e)),e}const ei=(t,n,e)=>{const r=w(n,e);void 0!==r&&t.add(r)};class ri{constructor(t){this._config=function(t){return(t=t||{}).data=Zr(t.data),Xr(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Zr(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Xr(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return ni(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,n){return ni(`${t}.transition.${n}`,(()=>[[`datasets.${t}.transitions.${n}`,`transitions.${n}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,n){return ni(`${t}-${n}`,(()=>[[`datasets.${t}.elements.${n}`,`datasets.${t}`,`elements.${n}`,""]]))}pluginScopeKeys(t){const n=t.id;return ni(`${this.type}-plugin-${n}`,(()=>[[`plugins.${n}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,n){const e=this._scopeCache;let r=e.get(t);return r&&!n||(r=new Map,e.set(t,r)),r}getOptionScopes(t,n,e){const{options:r,type:i}=this,o=this._cachedScopes(t,e),s=o.get(n);if(s)return s;const a=new Set;n.forEach((n=>{t&&(a.add(t),n.forEach((n=>ei(a,t,n)))),n.forEach((t=>ei(a,r,t))),n.forEach((t=>ei(a,Jt[i]||{},t))),n.forEach((t=>ei(a,Xt,t))),n.forEach((t=>ei(a,Kt,t)))}));const u=Array.from(a);return 0===u.length&&u.push(Object.create(null)),ti.has(n)&&o.set(n,u),u}chartOptionScopes(){const{options:t,type:n}=this;return[t,Jt[n]||{},Xt.datasets[n]||{},{type:n},Xt,Kt]}resolveNamedOptions(t,n,e,r=[""]){const i={$shared:!0},{resolver:o,subPrefixes:a}=ii(this._resolverCache,t,r);let u=o;(function(t,n){const{isScriptable:e,isIndexable:r}=jn(t);for(const i of n){const n=e(i),o=r(i),a=(o||n)&&t[i];if(n&&(j(a)||oi(a))||o&&s(a))return!0}return!1})(o,n)&&(i.$shared=!1,u=kn(o,e=j(e)?e():e,this.createResolver(t,e,a)));for(const t of n)i[t]=u[t];return i}createResolver(t,n,e=[""],r){const{resolver:i}=ii(this._resolverCache,t,e);return a(n)?kn(i,n,void 0,r):i}}function ii(t,n,e){let r=t.get(n);r||(r=new Map,t.set(n,r));const i=e.join();let o=r.get(i);return o||(o={resolver:xn(n,e),subPrefixes:e.filter((t=>!t.toLowerCase().includes("hover")))},r.set(i,o)),o}const oi=t=>a(t)&&Object.getOwnPropertyNames(t).reduce(((n,e)=>n||j(t[e])),!1),si=["top","bottom","left","right","chartArea"];function ai(t,n){return"top"===t||"bottom"===t||-1===si.indexOf(t)&&"x"===n}function ui(t,n){return function(e,r){return e[t]===r[t]?e[n]-r[n]:e[t]-r[t]}}function ci(t){const n=t.chart,e=n.options.animation;n.notifyPlugins("afterRender"),p(e&&e.onComplete,[t],n)}function li(t){const n=t.chart,e=n.options.animation;p(e&&e.onProgress,[t],n)}function hi(t){return Hn()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const pi={},fi=t=>{const n=hi(t);return Object.values(pi).filter((t=>t.canvas===n)).pop()};function _i(t,n,e){const r=Object.keys(t);for(const i of r){const r=+i;if(r>=n){const o=t[i];delete t[i],(e>0||r>n)&&(t[r+e]=o)}}}class di{constructor(t,n){const e=this.config=new ri(n),r=hi(t),o=fi(r);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const s=e.createResolver(e.chartOptionScopes(),this.getContext());this.platform=new(e.platform||Vr(r)),this.platform.updateConfig(e);const a=this.platform.acquireContext(r,s.aspectRatio),u=a&&a.canvas,c=u&&u.height,l=u&&u.width;this.id=i(),this.ctx=a,this.canvas=u,this.width=l,this.height=c,this._options=s,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Wr,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(t,n){let e;return function(...r){return n?(clearTimeout(e),e=setTimeout(t,n,r)):t.apply(this,r),n}}((t=>this.update(t)),s.resizeDelay||0),this._dataChanges=[],pi[this.id]=this,a&&u?(_e.listen(this,"complete",ci),_e.listen(this,"progress",li),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:n},width:e,height:r,_aspectRatio:i}=this;return o(t)?n&&i?i:r?e/r:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Xn(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return nn(this.canvas,this.ctx),this}stop(){return _e.stop(this),this}resize(t,n){_e.running(this)?this._resizeBeforeDraw={width:t,height:n}:this._resize(t,n)}_resize(t,n){const e=this.options,r=this.canvas,i=e.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(r,t,n,i),s=e.devicePixelRatio||this.platform.getDevicePixelRatio(),a=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Xn(this,s,!0)&&(this.notifyPlugins("resize",{size:o}),p(e.onResize,[this,o],this),this.attached&&this._doResize(a)&&this.render())}ensureScalesHaveIDs(){f(this.options.scales||{},((t,n)=>{t.id=n}))}buildOrUpdateScales(){const t=this.options,n=t.scales,e=this.scales,r=Object.keys(e).reduce(((t,n)=>(t[n]=!1,t)),{});let i=[];n&&(i=i.concat(Object.keys(n).map((t=>{const e=n[t],r=Gr(t,e),i="r"===r,o="x"===r;return{options:e,dposition:i?"chartArea":o?"bottom":"left",dtype:i?"radialLinear":o?"category":"linear"}})))),f(i,(n=>{const i=n.options,o=i.id,s=Gr(o,i),a=l(i.type,n.dtype);void 0!==i.position&&ai(i.position,s)===ai(n.dposition)||(i.position=n.dposition),r[o]=!0;let u=null;o in e&&e[o].type===a?u=e[o]:(u=new(or.getScale(a))({id:o,type:a,ctx:this.ctx,chart:this}),e[u.id]=u),u.init(i,t)})),f(r,((t,n)=>{t||delete e[n]})),f(e,(t=>{Sr.configure(this,t,t.options),Sr.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,n=this.data.datasets.length,e=t.length;if(t.sort(((t,n)=>t.index-n.index)),e>n){for(let t=n;tn.length&&delete this._stacks,t.forEach(((t,e)=>{0===n.filter((n=>n===t._dataset)).length&&this._destroyDatasetMeta(e)}))}buildOrUpdateControllers(){const t=[],n=this.data.datasets;let e,r;for(this._removeUnreferencedMetasets(),e=0,r=n.length;e{this.getDatasetMeta(n).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const n=this.config;n.update();const e=this._options=n.createResolver(n.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!e.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const i=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,n=this.data.datasets.length;t{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(ui("z","_idx"));const{_active:s,_lastEvent:a}=this;a?this._eventHandler(a,!0):s.length&&this._updateHoverStyles(s,s,!0),this.render()}_updateScales(){f(this.scales,(t=>{Sr.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,n=new Set(Object.keys(this._listeners)),e=new Set(t.events);z(n,e)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,n=this._getUniformDataChanges()||[];for(const{method:e,start:r,count:i}of n)_i(t,r,"_removeElements"===e?-i:i)}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const n=this.data.datasets.length,e=n=>new Set(t.filter((t=>t[0]===n)).map(((t,n)=>n+","+t.splice(1).join(",")))),r=e(0);for(let t=1;tt.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Sr.update(this,this.width,this.height,t);const n=this.chartArea,e=n.width<=0||n.height<=0;this._layers=[],f(this.boxes,(t=>{e&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,n)=>{t._idx=n})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,n=this.data.datasets.length;t=0;--n)this._drawDataset(t[n]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const n=this.ctx,e=t._clip,r=!e.disabled,i=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(r&&sn(n,{left:!1===e.left?0:i.left-e.left,right:!1===e.right?this.width:i.right+e.right,top:!1===e.top?0:i.top-e.top,bottom:!1===e.bottom?this.height:i.bottom+e.bottom}),t.controller.draw(),r&&an(n),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return on(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,n,e,r){const i=vr.modes[n];return"function"==typeof i?i(this,t,e,r):[]}getDatasetMeta(t){const n=this.data.datasets[t],e=this._metasets;let r=e.filter((t=>t&&t._dataset===n)).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:n&&n.order||0,index:t,_dataset:n,_parsed:[],_sorted:!1},e.push(r)),r}getContext(){return this.$context||(this.$context=wn(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const n=this.data.datasets[t];if(!n)return!1;const e=this.getDatasetMeta(t);return"boolean"==typeof e.hidden?!e.hidden:!n.hidden}setDatasetVisibility(t,n){this.getDatasetMeta(t).hidden=!n}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,n,e){const r=e?"show":"hide",i=this.getDatasetMeta(t),o=i.controller._resolveAnimations(void 0,r);k(n)?(i.data[n].hidden=!e,this.update()):(this.setDatasetVisibility(t,e),o.update(i,{visible:e}),this.update((n=>n.datasetIndex===t?r:void 0)))}hide(t,n){this._updateVisibility(t,n,!1)}show(t,n){this._updateVisibility(t,n,!0)}_destroyDatasetMeta(t){const n=this._metasets[t];n&&n.controller&&n.controller._destroy(),delete this._metasets[t]}_stop(){let t,n;for(this.stop(),_e.remove(this),t=0,n=this.data.datasets.length;t{n.addEventListener(this,e,r),t[e]=r},r=(t,n,e)=>{t.offsetX=n,t.offsetY=e,this._eventHandler(t)};f(this.options.events,(t=>e(t,r)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,n=this.platform,e=(e,r)=>{n.addEventListener(this,e,r),t[e]=r},r=(e,r)=>{t[e]&&(n.removeEventListener(this,e,r),delete t[e])},i=(t,n)=>{this.canvas&&this.resize(t,n)};let o;const s=()=>{r("attach",s),this.attached=!0,this.resize(),e("resize",i),e("detach",o)};o=()=>{this.attached=!1,r("resize",i),this._stop(),this._resize(0,0),e("attach",s)},n.isAttached(this.canvas)?s():o()}unbindEvents(){f(this._listeners,((t,n)=>{this.platform.removeEventListener(this,n,t)})),this._listeners={},f(this._responsiveListeners,((t,n)=>{this.platform.removeEventListener(this,n,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,n,e){const r=e?"set":"remove";let i,o,s,a;for("dataset"===n&&(i=this.getDatasetMeta(t[0].datasetIndex),i.controller["_"+r+"DatasetHoverStyle"]()),s=0,a=t.length;s{const e=this.getDatasetMeta(t);if(!e)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:e.data[n],index:n}}));!_(e,n)&&(this._active=e,this._lastEvent=null,this._updateHoverStyles(e,n))}notifyPlugins(t,n,e){return this._plugins.notify(this,t,n,e)}_updateHoverStyles(t,n,e){const r=this.options.hover,i=(t,n)=>t.filter((t=>!n.some((n=>t.datasetIndex===n.datasetIndex&&t.index===n.index)))),o=i(n,t),s=e?t:i(t,n);o.length&&this.updateHoverStyle(o,r.mode,!1),s.length&&r.mode&&this.updateHoverStyle(s,r.mode,!0)}_eventHandler(t,n){const e={event:t,replay:n,cancelable:!0,inChartArea:this.isPointInArea(t)},r=n=>(n.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",e,r))return;const i=this._handleEvent(t,n,e.inChartArea);return e.cancelable=!1,this.notifyPlugins("afterEvent",e,r),(i||e.changed)&&this.render(),this}_handleEvent(t,n,e){const{_active:r=[],options:i}=this,o=n,s=this._getActiveElements(t,r,e,o),a=function(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(t),u=function(t,n,e,r){return e&&"mouseout"!==t.type?r?n:t:null}(t,this._lastEvent,e,a);e&&(this._lastEvent=null,p(i.onHover,[t,s,this],this),a&&p(i.onClick,[t,s,this],this));const c=!_(s,r);return(c||n)&&(this._active=s,this._updateHoverStyles(s,r,n)),this._lastEvent=u,c}_getActiveElements(t,n,e,r){if("mouseout"===t.type)return[];if(!e)return n;const i=this.options.hover;return this.getElementsAtEventForMode(t,i.mode,i,r)}}const vi=()=>f(di.instances,(t=>t._plugins.invalidate())),yi=!0;function mi(t,n,e){const{startAngle:r,pixelMargin:i,x:o,y:s,outerRadius:a,innerRadius:u}=n;let c=i/a;t.beginPath(),t.arc(o,s,a,r-c,e+c),u>i?(c=i/u,t.arc(o,s,u,e+c,r-c,!0)):t.arc(o,s,i,e+M,r-M),t.closePath(),t.clip()}function gi(t,n,e,r){return{x:e+t*Math.cos(n),y:r+t*Math.sin(n)}}function $i(t,n,e,r,i,o){const{x:s,y:a,startAngle:u,pixelMargin:c,innerRadius:l}=n,h=Math.max(n.outerRadius+r+e-c,0),p=l>0?l+r+e+c:0;let f=0;const _=i-u;if(r){const t=((l>0?l-r:0)+(h>0?h-r:0))/2;f=(_-(0!==t?_*t/(t+r):_))/2}const d=(_-Math.max(.001,_*h-e/C)/h)/2,v=u+d+f,y=i-d-f,{outerStart:m,outerEnd:g,innerStart:$,innerEnd:b}=function(t,n,e,r){const i=vn(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]),o=(e-n)/2,s=Math.min(o,r*n/2),a=t=>{const n=(e-Math.min(o,t))*r/2;return Y(t,0,Math.min(o,n))};return{outerStart:a(i.outerStart),outerEnd:a(i.outerEnd),innerStart:Y(i.innerStart,0,s),innerEnd:Y(i.innerEnd,0,s)}}(n,p,h,y-v),w=h-m,x=h-g,k=v+m/w,j=y-g/x,z=p+$,S=p+b,q=v+$/z,O=y-b/S;if(t.beginPath(),o){if(t.arc(s,a,h,k,j),g>0){const n=gi(x,j,s,a);t.arc(n.x,n.y,g,j,y+M)}const n=gi(S,y,s,a);if(t.lineTo(n.x,n.y),b>0){const n=gi(S,O,s,a);t.arc(n.x,n.y,b,y+M,O+Math.PI)}if(t.arc(s,a,p,y-b/p,v+$/p,!0),$>0){const n=gi(z,q,s,a);t.arc(n.x,n.y,$,q+Math.PI,v-M)}const e=gi(w,v,s,a);if(t.lineTo(e.x,e.y),m>0){const n=gi(w,k,s,a);t.arc(n.x,n.y,m,v-M,k)}}else{t.moveTo(s,a);const n=Math.cos(k)*h+s,e=Math.sin(k)*h+a;t.lineTo(n,e);const r=Math.cos(j)*h+s,i=Math.sin(j)*h+a;t.lineTo(r,i)}t.closePath()}Object.defineProperties(di,{defaults:{enumerable:yi,value:Xt},instances:{enumerable:yi,value:pi},overrides:{enumerable:yi,value:Jt},registry:{enumerable:yi,value:or},version:{enumerable:yi,value:"3.9.1"},getChart:{enumerable:yi,value:fi},register:{enumerable:yi,value:(...t)=>{or.add(...t),vi()}},unregister:{enumerable:yi,value:(...t)=>{or.remove(...t),vi()}}});class bi extends Je{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,n,e){const r=this.getProps(["x","y"],e),{angle:i,distance:o}=U(r,{x:t,y:n}),{startAngle:s,endAngle:a,innerRadius:u,outerRadius:c,circumference:h}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],e),p=this.options.spacing/2,f=l(h,a-s)>=S||K(i,s,a),_=G(o,u+p,c+p);return f&&_}getCenterPoint(t){const{x:n,y:e,startAngle:r,endAngle:i,innerRadius:o,outerRadius:s}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:a,spacing:u}=this.options,c=(r+i)/2,l=(o+s+u+a)/2;return{x:n+Math.cos(c)*l,y:e+Math.sin(c)*l}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:n,circumference:e}=this,r=(n.offset||0)/2,i=(n.spacing||0)/2,o=n.circular;if(this.pixelMargin="inner"===n.borderAlign?.33:0,this.fullCircles=e>S?Math.floor(e/S):0,0===e||this.innerRadius<0||this.outerRadius<0)return;t.save();let s=0;if(r){s=r/2;const n=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(n)*s,Math.sin(n)*s),this.circumference>=C&&(s=r)}t.fillStyle=n.backgroundColor,t.strokeStyle=n.borderColor;const a=function(t,n,e,r,i){const{fullCircles:o,startAngle:s,circumference:a}=n;let u=n.endAngle;if(o){$i(t,n,e,r,s+S,i);for(let n=0;na&&o>a;return{count:r,start:u,loop:n.loop,ilen:c(s+(c?a-t:t))%o,g=()=>{f!==_&&(t.lineTo(v,_),t.lineTo(v,f),t.lineTo(v,d))};for(u&&(h=i[m(0)],t.moveTo(h.x,h.y)),l=0;l<=a;++l){if(h=i[m(l)],h.skip)continue;const n=h.x,e=h.y,r=0|n;r===p?(e_&&(_=e),v=(y*v+n)/++y):(g(),t.lineTo(n,e),p=r,y=0,f=_=e),d=e}g()}function Ci(t){const n=t.options,e=n.borderDash&&n.borderDash.length;return t._decimated||t._loop||n.tension||"monotone"===n.cubicInterpolationMode||n.stepped||e?ji:zi}bi.id="arc",bi.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0},bi.defaultRoutes={backgroundColor:"backgroundColor"};const Si="function"==typeof Path2D;class qi extends Je{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,n){const e=this.options;if((e.tension||"monotone"===e.cubicInterpolationMode)&&!e.stepped&&!this._pointsUpdated){const r=e.spanGaps?this._loop:this._fullLoop;Fn(this._points,e,t,r,n),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(t,n){const e=t.points,r=t.options.spanGaps,i=e.length;if(!i)return[];const o=!!t._loop,{start:s,end:a}=function(t,n,e,r){let i=0,o=n-1;if(e&&!r)for(;ii&&t[o%n].skip;)o--;return o%=n,{start:i,end:o}}(e,i,o,r);return function(t,n,e,r){return r&&r.setContext&&e?function(t,n,e,r){const i=t._chart.getContext(),o=pe(t.options),{_datasetIndex:s,options:{spanGaps:a}}=t,u=e.length,c=[];let l=o,h=n[0].start,p=h;function f(t,n,r,i){const o=a?-1:1;if(t!==n){for(t+=u;e[t%u].skip;)t-=o;for(;e[n%u].skip;)n+=o;t%u!=n%u&&(c.push({start:t%u,end:n%u,loop:r,style:i}),l=i,h=n%u)}}for(const t of n){h=a?h:t.start;let n,o=e[h%u];for(p=h+1;p<=t.end;p++){const a=e[p%u];n=pe(r.setContext(wn(i,{type:"segment",p0:o,p1:a,p0DataIndex:(p-1)%u,p1DataIndex:p%u,datasetIndex:s}))),fe(n,l)&&f(h,p-1,t.loop,l),o=a,l=n}h"borderDash"!==t&&"fill"!==t};class Pi extends Je{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,n,e){const r=this.options,{x:i,y:o}=this.getProps(["x","y"],e);return Math.pow(t-i,2)+Math.pow(n-o,2){Li(t)}))}var Ri={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,n,e)=>{if(!e.enabled)return void Ni(t);const r=t.width;t.data.datasets.forEach(((n,i)=>{const{_data:s,indexAxis:a}=n,u=t.getDatasetMeta(i),c=s||n.data;if("y"===bn([a,t.options.indexAxis]))return;if(!u.controller.supportsDecimation)return;const l=t.scales[u.xAxisID];if("linear"!==l.type&&"time"!==l.type)return;if(t.options.parsing)return;let h,{start:p,count:f}=function(t,n){const e=n.length;let r,i=0;const{iScale:o}=t,{min:s,max:a,minDefined:u,maxDefined:c}=o.getUserBounds();return u&&(i=Y(Z(n,o.axis,s).lo,0,e-1)),r=c?Y(Z(n,o.axis,a).hi+1,i,e)-i:e-i,{start:i,count:r}}(u,c);if(f<=(e.threshold||4*r))Li(n);else{switch(o(s)&&(n._data=c,delete n.data,Object.defineProperty(n,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),e.algorithm){case"lttb":h=function(t,n,e,r,i){const o=i.samples||r;if(o>=e)return t.slice(n,n+e);const s=[],a=(e-2)/(o-2);let u=0;const c=n+e-1;let l,h,p,f,_,d=n;for(s[u++]=t[d],l=0;lp&&(p=f,h=t[r],_=r);s[u++]=h,d=_}return s[u++]=t[c],s}(c,p,f,r,e);break;case"min-max":h=function(t,n,e,r){let i,s,a,u,c,l,h,p,f,_,d=0,v=0;const y=[],m=n+e-1,g=t[n].x,$=t[m].x-g;for(i=n;i_&&(_=u,h=i),d=(v*d+s.x)/++v;else{const e=i-1;if(!o(l)&&!o(h)){const n=Math.min(l,h),r=Math.max(l,h);n!==p&&n!==e&&y.push({...t[n],x:d}),r!==p&&r!==e&&y.push({...t[r],x:d})}i>0&&e!==p&&y.push(t[e]),y.push(s),c=n,v=0,f=_=u,l=h=p=i}}return y}(c,p,f,r);break;default:throw new Error(`Unsupported decimation algorithm '${e.algorithm}'`)}n._decimated=h}}))},destroy(t){Ni(t)}};function Fi(t,n,e,r){if(r)return;let i=n[t],o=e[t];return"angle"===t&&(i=J(i),o=J(o)),{property:t,start:i,end:o}}function Hi(t,n,e){for(;n>t;n--){const t=e[n];if(!isNaN(t.x)&&!isNaN(t.y))break}return n}function Ui(t,n,e,r){return t&&n?r(t[e],n[e]):t?t[e]:n?n[e]:0}function Vi(t,n){let e=[],r=!1;return s(t)?(r=!0,e=t):e=function(t,n){const{x:e=null,y:r=null}=t||{},i=n.points,o=[];return n.segments.forEach((({start:t,end:n})=>{n=Hi(t,n,i);const s=i[t],a=i[n];null!==r?(o.push({x:s.x,y:r}),o.push({x:a.x,y:r})):null!==e&&(o.push({x:e,y:s.y}),o.push({x:e,y:a.y}))})),o}(t,n),e.length?new qi({points:e,options:{tension:0},_loop:r,_fullLoop:r}):null}function Wi(t){return t&&!1!==t.fill}function Ji(t,n,e){let r=t[n].fill;const i=[n];let o;if(!e)return r;for(;!1!==r&&-1===i.indexOf(r);){if(!u(r))return r;if(o=t[r],!o)return!1;if(o.visible)return r;i.push(r),r=o.fill}return!1}function Ki(t,n,e){const r=function(t){const n=t.options,e=n.fill;let r=l(e&&e.target,e);return void 0===r&&(r=!!n.backgroundColor),!1!==r&&null!==r&&(!0===r?"origin":r)}(t);if(a(r))return!isNaN(r.value)&&r;let i=parseFloat(r);return u(i)&&Math.floor(i)===i?function(t,n,e,r){return"-"!==t&&"+"!==t||(e=n+e),!(e===n||e<0||e>=r)&&e}(r[0],n,i,e):["origin","start","end","stack","shape"].indexOf(r)>=0&&r}function Yi(t,n,e){const r=[];for(let i=0;i=0;--n){const e=i[n].$filler;e&&(e.line.updateControlPoints(o,e.axis),r&&e.fill&&Zi(t.ctx,e,o))}},beforeDatasetsDraw(t,n,e){if("beforeDatasetsDraw"!==e.drawTime)return;const r=t.getSortedVisibleDatasetMetas();for(let n=r.length-1;n>=0;--n){const e=r[n].$filler;Wi(e)&&Zi(t.ctx,e,t.chartArea)}},beforeDatasetDraw(t,n,e){const r=n.meta.$filler;Wi(r)&&"beforeDatasetDraw"===e.drawTime&&Zi(t.ctx,r,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const io=(t,n)=>{let{boxHeight:e=n,boxWidth:r=n}=t;return t.usePointStyle&&(e=Math.min(e,n),r=t.pointStyleWidth||Math.min(r,n)),{boxWidth:r,boxHeight:e,itemHeight:Math.max(n,e)}};class oo extends Je{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n,e){this.maxWidth=t,this.maxHeight=n,this._margins=e,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let n=p(t.generateLabels,[this.chart],this)||[];t.filter&&(n=n.filter((n=>t.filter(n,this.chart.data)))),t.sort&&(n=n.sort(((n,e)=>t.sort(n,e,this.chart.data)))),this.options.reverse&&n.reverse(),this.legendItems=n}fit(){const{options:t,ctx:n}=this;if(!t.display)return void(this.width=this.height=0);const e=t.labels,r=$n(e.font),i=r.size,o=this._computeTitleHeight(),{boxWidth:s,itemHeight:a}=io(e,i);let u,c;n.font=r.string,this.isHorizontal()?(u=this.maxWidth,c=this._fitRows(o,i,s,a)+10):(c=this.maxHeight,u=this._fitCols(o,i,s,a)+10),this.width=Math.min(u,t.maxWidth||this.maxWidth),this.height=Math.min(c,t.maxHeight||this.maxHeight)}_fitRows(t,n,e,r){const{ctx:i,maxWidth:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.lineWidths=[0],c=r+s;let l=t;i.textAlign="left",i.textBaseline="middle";let h=-1,p=-c;return this.legendItems.forEach(((t,f)=>{const _=e+n/2+i.measureText(t.text).width;(0===f||u[u.length-1]+_+2*s>o)&&(l+=c,u[u.length-(f>0?0:1)]=0,p+=c,h++),a[f]={left:0,top:p,row:h,width:_,height:r},u[u.length-1]+=_+s})),l}_fitCols(t,n,e,r){const{ctx:i,maxHeight:o,options:{labels:{padding:s}}}=this,a=this.legendHitBoxes=[],u=this.columnSizes=[],c=o-t;let l=s,h=0,p=0,f=0,_=0;return this.legendItems.forEach(((t,o)=>{const d=e+n/2+i.measureText(t.text).width;o>0&&p+r+2*s>c&&(l+=h+s,u.push({width:h,height:p}),f+=h+s,_++,h=p=0),a[o]={left:f,top:p,col:_,width:d,height:r},h=Math.max(h,d),p+=r+s})),l+=h,u.push({width:h,height:p}),l}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:n,options:{align:e,labels:{padding:r},rtl:i}}=this,o=oe(i,this.left,this.width);if(this.isHorizontal()){let i=0,s=st(e,this.left+r,this.right-this.lineWidths[i]);for(const a of n)i!==a.row&&(i=a.row,s=st(e,this.left+r,this.right-this.lineWidths[i])),a.top+=this.top+t+r,a.left=o.leftForLtr(o.x(s),a.width),s+=a.width+r}else{let i=0,s=st(e,this.top+t+r,this.bottom-this.columnSizes[i].height);for(const a of n)a.col!==i&&(i=a.col,s=st(e,this.top+t+r,this.bottom-this.columnSizes[i].height)),a.top=s,a.left+=this.left+r,a.left=o.leftForLtr(o.x(a.left),a.width),s+=a.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;sn(t,this),this._draw(),an(t)}}_draw(){const{options:t,columnSizes:n,lineWidths:e,ctx:r}=this,{align:i,labels:o}=t,s=Xt.color,a=oe(t.rtl,this.left,this.width),u=$n(o.font),{color:c,padding:h}=o,p=u.size,f=p/2;let _;this.drawTitle(),r.textAlign=a.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=u.string;const{boxWidth:d,boxHeight:v,itemHeight:y}=io(o,p),m=this.isHorizontal(),g=this._computeTitleHeight();_=m?{x:st(i,this.left+h,this.right-e[0]),y:this.top+h+g,line:0}:{x:this.left+h,y:st(i,this.top+g+h,this.bottom-n[0].height),line:0},se(this.ctx,t.textDirection);const $=y+h;this.legendItems.forEach(((b,w)=>{r.strokeStyle=b.fontColor||c,r.fillStyle=b.fontColor||c;const x=r.measureText(b.text).width,k=a.textAlign(b.textAlign||(b.textAlign=o.textAlign)),j=d+f+x;let z=_.x,C=_.y;a.setWidth(this.width),m?w>0&&z+j+h>this.right&&(C=_.y+=$,_.line++,z=_.x=st(i,this.left+h,this.right-e[_.line])):w>0&&C+$>this.bottom&&(z=_.x=z+n[_.line].width+h,_.line++,C=_.y=st(i,this.top+g+h,this.bottom-n[_.line].height)),function(t,n,e){if(isNaN(d)||d<=0||isNaN(v)||v<0)return;r.save();const i=l(e.lineWidth,1);if(r.fillStyle=l(e.fillStyle,s),r.lineCap=l(e.lineCap,"butt"),r.lineDashOffset=l(e.lineDashOffset,0),r.lineJoin=l(e.lineJoin,"miter"),r.lineWidth=i,r.strokeStyle=l(e.strokeStyle,s),r.setLineDash(l(e.lineDash,[])),o.usePointStyle){const s={radius:v*Math.SQRT2/2,pointStyle:e.pointStyle,rotation:e.rotation,borderWidth:i},u=a.xPlus(t,d/2);rn(r,s,u,n+f,o.pointStyleWidth&&d)}else{const o=n+Math.max((p-v)/2,0),s=a.leftForLtr(t,d),u=mn(e.borderRadius);r.beginPath(),Object.values(u).some((t=>0!==t))?pn(r,{x:s,y:o,w:d,h:v,radius:u}):r.rect(s,o,d,v),r.fill(),0!==i&&r.stroke()}r.restore()}(a.x(z),C,b),z=((t,n,e,r)=>t===(r?"left":"right")?e:"center"===t?(n+e)/2:n)(k,z+d+f,m?z+j:this.right,t.rtl),function(t,n,e){ln(r,e.text,t,n+y/2,u,{strikethrough:e.hidden,textAlign:a.textAlign(e.textAlign)})}(a.x(z),C,b),m?_.x+=j+h:_.y+=$})),ae(this.ctx,t.textDirection)}drawTitle(){const t=this.options,n=t.title,e=$n(n.font),r=gn(n.padding);if(!n.display)return;const i=oe(t.rtl,this.left,this.width),o=this.ctx,s=n.position,a=e.size/2,u=r.top+a;let c,l=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),c=this.top+u,l=st(t.align,l,this.right-h);else{const n=this.columnSizes.reduce(((t,n)=>Math.max(t,n.height)),0);c=u+st(t.align,this.top,this.bottom-n-t.labels.padding-this._computeTitleHeight())}const p=st(s,l,l+h);o.textAlign=i.textAlign(ot(s)),o.textBaseline="middle",o.strokeStyle=n.color,o.fillStyle=n.color,o.font=e.string,ln(o,n.text,p,c,e)}_computeTitleHeight(){const t=this.options.title,n=$n(t.font),e=gn(t.padding);return t.display?n.lineHeight+e.height:0}_getLegendItemAt(t,n){let e,r,i;if(G(t,this.left,this.right)&&G(n,this.top,this.bottom))for(i=this.legendHitBoxes,e=0;et.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const n=t.data.datasets,{labels:{usePointStyle:e,pointStyle:r,textAlign:i,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const s=t.controller.getStyle(e?0:void 0),a=gn(s.borderWidth);return{text:n[t.index].label,fillStyle:s.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:s.borderCapStyle,lineDash:s.borderDash,lineDashOffset:s.borderDashOffset,lineJoin:s.borderJoinStyle,lineWidth:(a.width+a.height)/4,strokeStyle:s.borderColor,pointStyle:r||s.pointStyle,rotation:s.rotation,textAlign:i||s.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class ao extends Je{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,n){const e=this.options;if(this.left=0,this.top=0,!e.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=n;const r=s(e.text)?e.text.length:1;this._padding=gn(e.padding);const i=r*$n(e.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=i:this.width=i}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:n,left:e,bottom:r,right:i,options:o}=this,s=o.align;let a,u,c,l=0;return this.isHorizontal()?(u=st(s,e,i),c=n+t,a=i-e):("left"===o.position?(u=e+t,c=st(s,r,n),l=-.5*C):(u=i-t,c=st(s,n,r),l=.5*C),a=r-n),{titleX:u,titleY:c,maxWidth:a,rotation:l}}draw(){const t=this.ctx,n=this.options;if(!n.display)return;const e=$n(n.font),r=e.lineHeight/2+this._padding.top,{titleX:i,titleY:o,maxWidth:s,rotation:a}=this._drawArgs(r);ln(t,n.text,0,0,e,{color:n.color,maxWidth:s,rotation:a,textAlign:ot(n.align),textBaseline:"middle",translation:[i,o]})}}var uo={id:"title",_element:ao,start(t,n,e){!function(t,n){const e=new ao({ctx:t.ctx,options:n,chart:t});Sr.configure(t,e,n),Sr.addBox(t,e),t.titleBlock=e}(t,e)},stop(t){const n=t.titleBlock;Sr.removeBox(t,n),delete t.titleBlock},beforeUpdate(t,n,e){const r=t.titleBlock;Sr.configure(t,r,e),r.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const co=new WeakMap;var lo={id:"subtitle",start(t,n,e){const r=new ao({ctx:t.ctx,options:e,chart:t});Sr.configure(t,r,e),Sr.addBox(t,r),co.set(t,r)},stop(t){Sr.removeBox(t,co.get(t)),co.delete(t)},beforeUpdate(t,n,e){const r=co.get(t);Sr.configure(t,r,e),r.options=e},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ho={average(t){if(!t.length)return!1;let n,e,r=0,i=0,o=0;for(n=0,e=t.length;n-1?t.split("\n"):t}function _o(t,n){const{element:e,datasetIndex:r,index:i}=n,o=t.getDatasetMeta(r).controller,{label:s,value:a}=o.getLabelAndValue(i);return{chart:t,label:s,parsed:o.getParsed(i),raw:t.data.datasets[r].data[i],formattedValue:a,dataset:o.getDataset(),dataIndex:i,datasetIndex:r,element:e}}function vo(t,n){const e=t.chart.ctx,{body:r,footer:i,title:o}=t,{boxWidth:s,boxHeight:a}=n,u=$n(n.bodyFont),c=$n(n.titleFont),l=$n(n.footerFont),h=o.length,p=i.length,_=r.length,d=gn(n.padding);let v=d.height,y=0,m=r.reduce(((t,n)=>t+n.before.length+n.lines.length+n.after.length),0);m+=t.beforeBody.length+t.afterBody.length,h&&(v+=h*c.lineHeight+(h-1)*n.titleSpacing+n.titleMarginBottom),m&&(v+=_*(n.displayColors?Math.max(a,u.lineHeight):u.lineHeight)+(m-_)*u.lineHeight+(m-1)*n.bodySpacing),p&&(v+=n.footerMarginTop+p*l.lineHeight+(p-1)*n.footerSpacing);let g=0;const $=function(t){y=Math.max(y,e.measureText(t).width+g)};return e.save(),e.font=c.string,f(t.title,$),e.font=u.string,f(t.beforeBody.concat(t.afterBody),$),g=n.displayColors?s+2+n.boxPadding:0,f(r,(t=>{f(t.before,$),f(t.lines,$),f(t.after,$)})),g=0,e.font=l.string,f(t.footer,$),e.restore(),y+=d.width,{width:y,height:v}}function yo(t,n,e,r){const{x:i,width:o}=e,{width:s,chartArea:{left:a,right:u}}=t;let c="center";return"center"===r?c=i<=(a+u)/2?"left":"right":i<=o/2?c="left":i>=s-o/2&&(c="right"),function(t,n,e,r){const{x:i,width:o}=r,s=e.caretSize+e.caretPadding;return"left"===t&&i+o+s>n.width||"right"===t&&i-o-s<0||void 0}(c,t,n,e)&&(c="center"),c}function mo(t,n,e){const r=e.yAlign||n.yAlign||function(t,n){const{y:e,height:r}=n;return et.height-r/2?"bottom":"center"}(t,e);return{xAlign:e.xAlign||n.xAlign||yo(t,n,e,r),yAlign:r}}function go(t,n,e,r){const{caretSize:i,caretPadding:o,cornerRadius:s}=t,{xAlign:a,yAlign:u}=e,c=i+o,{topLeft:l,topRight:h,bottomLeft:p,bottomRight:f}=mn(s);let _=function(t,n){let{x:e,width:r}=t;return"right"===n?e-=r:"center"===n&&(e-=r/2),e}(n,a);const d=function(t,n,e){let{y:r,height:i}=t;return"top"===n?r+=e:r-="bottom"===n?i+e:i/2,r}(n,u,c);return"center"===u?"left"===a?_+=c:"right"===a&&(_-=c):"left"===a?_-=Math.max(l,p)+i:"right"===a&&(_+=Math.max(h,f)+i),{x:Y(_,0,r.width-n.width),y:Y(d,0,r.height-n.height)}}function $o(t,n,e){const r=gn(e.padding);return"center"===n?t.x+t.width/2:"right"===n?t.x+t.width-r.right:t.x+r.left}function bo(t){return po([],fo(t))}function wo(t,n){const e=n&&n.dataset&&n.dataset.tooltip&&n.dataset.tooltip.callbacks;return e?t.override(e):t}class xo extends Je{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const n=this.chart,e=this.options.setContext(this.getContext()),r=e.enabled&&n.options.animation&&e.animations,i=new ge(this.chart,r);return r._cacheable&&(this._cachedAnimations=Object.freeze(i)),i}getContext(){return this.$context||(this.$context=(this,wn(this.chart.getContext(),{tooltip:this,tooltipItems:this._tooltipItems,type:"tooltip"})))}getTitle(t,n){const{callbacks:e}=n,r=e.beforeTitle.apply(this,[t]),i=e.title.apply(this,[t]),o=e.afterTitle.apply(this,[t]);let s=[];return s=po(s,fo(r)),s=po(s,fo(i)),s=po(s,fo(o)),s}getBeforeBody(t,n){return bo(n.callbacks.beforeBody.apply(this,[t]))}getBody(t,n){const{callbacks:e}=n,r=[];return f(t,(t=>{const n={before:[],lines:[],after:[]},i=wo(e,t);po(n.before,fo(i.beforeLabel.call(this,t))),po(n.lines,i.label.call(this,t)),po(n.after,fo(i.afterLabel.call(this,t))),r.push(n)})),r}getAfterBody(t,n){return bo(n.callbacks.afterBody.apply(this,[t]))}getFooter(t,n){const{callbacks:e}=n,r=e.beforeFooter.apply(this,[t]),i=e.footer.apply(this,[t]),o=e.afterFooter.apply(this,[t]);let s=[];return s=po(s,fo(r)),s=po(s,fo(i)),s=po(s,fo(o)),s}_createItems(t){const n=this._active,e=this.chart.data,r=[],i=[],o=[];let s,a,u=[];for(s=0,a=n.length;st.filter(n,r,i,e)))),t.itemSort&&(u=u.sort(((n,r)=>t.itemSort(n,r,e)))),f(u,(n=>{const e=wo(t.callbacks,n);r.push(e.labelColor.call(this,n)),i.push(e.labelPointStyle.call(this,n)),o.push(e.labelTextColor.call(this,n))})),this.labelColors=r,this.labelPointStyles=i,this.labelTextColors=o,this.dataPoints=u,u}update(t,n){const e=this.options.setContext(this.getContext()),r=this._active;let i,o=[];if(r.length){const t=ho[e.position].call(this,r,this._eventPosition);o=this._createItems(e),this.title=this.getTitle(o,e),this.beforeBody=this.getBeforeBody(o,e),this.body=this.getBody(o,e),this.afterBody=this.getAfterBody(o,e),this.footer=this.getFooter(o,e);const n=this._size=vo(this,e),s=Object.assign({},t,n),a=mo(this.chart,e,s),u=go(e,s,a,this.chart);this.xAlign=a.xAlign,this.yAlign=a.yAlign,i={opacity:1,x:u.x,y:u.y,width:n.width,height:n.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(i={opacity:0});this._tooltipItems=o,this.$context=void 0,i&&this._resolveAnimations().update(this,i),t&&e.external&&e.external.call(this,{chart:this.chart,tooltip:this,replay:n})}drawCaret(t,n,e,r){const i=this.getCaretPosition(t,e,r);n.lineTo(i.x1,i.y1),n.lineTo(i.x2,i.y2),n.lineTo(i.x3,i.y3)}getCaretPosition(t,n,e){const{xAlign:r,yAlign:i}=this,{caretSize:o,cornerRadius:s}=e,{topLeft:a,topRight:u,bottomLeft:c,bottomRight:l}=mn(s),{x:h,y:p}=t,{width:f,height:_}=n;let d,v,y,m,g,$;return"center"===i?(g=p+_/2,"left"===r?(d=h,v=d-o,m=g+o,$=g-o):(d=h+f,v=d+o,m=g-o,$=g+o),y=d):(v="left"===r?h+Math.max(a,c)+o:"right"===r?h+f-Math.max(u,l)-o:this.caretX,"top"===i?(m=p,g=m-o,d=v-o,y=v+o):(m=p+_,g=m+o,d=v+o,y=v-o),$=m),{x1:d,x2:v,x3:y,y1:m,y2:g,y3:$}}drawTitle(t,n,e){const r=this.title,i=r.length;let o,s,a;if(i){const u=oe(e.rtl,this.x,this.width);for(t.x=$o(this,e.titleAlign,e),n.textAlign=u.textAlign(e.titleAlign),n.textBaseline="middle",o=$n(e.titleFont),s=e.titleSpacing,n.fillStyle=e.titleColor,n.font=o.string,a=0;a0!==t))?(t.beginPath(),t.fillStyle=i.multiKeyBackground,pn(t,{x:n,y:d,w:c,h:u,radius:s}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),pn(t,{x:e,y:d+1,w:c-2,h:u-2,radius:s}),t.fill()):(t.fillStyle=i.multiKeyBackground,t.fillRect(n,d,c,u),t.strokeRect(n,d,c,u),t.fillStyle=o.backgroundColor,t.fillRect(e,d+1,c-2,u-2))}t.fillStyle=this.labelTextColors[e]}drawBody(t,n,e){const{body:r}=this,{bodySpacing:i,bodyAlign:o,displayColors:s,boxHeight:a,boxWidth:u,boxPadding:c}=e,l=$n(e.bodyFont);let h=l.lineHeight,p=0;const _=oe(e.rtl,this.x,this.width),d=function(e){n.fillText(e,_.x(t.x+p),t.y+h/2),t.y+=h+i},v=_.textAlign(o);let y,m,g,$,b,w,x;for(n.textAlign=o,n.textBaseline="middle",n.font=l.string,t.x=$o(this,v,e),n.fillStyle=e.bodyColor,f(this.beforeBody,d),p=s&&"right"!==v?"center"===o?u/2+c:u+2+c:0,$=0,w=r.length;$0&&n.stroke()}_updateAnimationTarget(t){const n=this.chart,e=this.$animations,r=e&&e.x,i=e&&e.y;if(r||i){const e=ho[t.position].call(this,this._active,this._eventPosition);if(!e)return;const o=this._size=vo(this,t),s=Object.assign({},e,this._size),a=mo(n,t,s),u=go(t,s,a,n);r._to===u.x&&i._to===u.y||(this.xAlign=a.xAlign,this.yAlign=a.yAlign,this.width=o.width,this.height=o.height,this.caretX=e.x,this.caretY=e.y,this._resolveAnimations().update(this,u))}}_willRender(){return!!this.opacity}draw(t){const n=this.options.setContext(this.getContext());let e=this.opacity;if(!e)return;this._updateAnimationTarget(n);const r={width:this.width,height:this.height},i={x:this.x,y:this.y};e=Math.abs(e)<.001?0:e;const o=gn(n.padding),s=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;n.enabled&&s&&(t.save(),t.globalAlpha=e,this.drawBackground(i,t,r,n),se(t,n.textDirection),i.y+=o.top,this.drawTitle(i,t,n),this.drawBody(i,t,n),this.drawFooter(i,t,n),ae(t,n.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,n){const e=this._active,r=t.map((({datasetIndex:t,index:n})=>{const e=this.chart.getDatasetMeta(t);if(!e)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:e.data[n],index:n}})),i=!_(e,r),o=this._positionChanged(r,n);(i||o)&&(this._active=r,this._eventPosition=n,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,n,e=!0){if(n&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const r=this.options,i=this._active||[],o=this._getActiveElements(t,i,n,e),s=this._positionChanged(o,t),a=n||!_(o,i)||s;return a&&(this._active=o,(r.enabled||r.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,n))),a}_getActiveElements(t,n,e,r){const i=this.options;if("mouseout"===t.type)return[];if(!r)return n;const o=this.chart.getElementsAtEventForMode(t,i.mode,i,e);return i.reverse&&o.reverse(),o}_positionChanged(t,n){const{caretX:e,caretY:r,options:i}=this,o=ho[i.position].call(this,t,n);return!1!==o&&(e!==o.x||r!==o.y)}}xo.positioners=ho;var ko={id:"tooltip",_element:xo,positioners:ho,afterInit(t,n,e){e&&(t.tooltip=new xo({chart:t,options:e}))},beforeUpdate(t,n,e){t.tooltip&&t.tooltip.initialize(e)},reset(t,n,e){t.tooltip&&t.tooltip.initialize(e)},afterDraw(t){const n=t.tooltip;if(n&&n._willRender()){const e={tooltip:n};if(!1===t.notifyPlugins("beforeTooltipDraw",e))return;n.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",e)}},afterEvent(t,n){if(t.tooltip){const e=n.replay;t.tooltip.handleEvent(n.event,e,n.inChartArea)&&(n.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,n)=>n.bodyFont.size,boxWidth:(t,n)=>n.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:r,title(t){if(t.length>0){const n=t[0],e=n.chart.data.labels,r=e?e.length:0;if(this&&this.options&&"dataset"===this.options.mode)return n.dataset.label||"";if(n.label)return n.label;if(r>0&&n.dataIndex"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},jo=Object.freeze({__proto__:null,Decimation:Ri,Filler:ro,Legend:so,SubTitle:lo,Title:uo,Tooltip:ko});class zo extends rr{constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const n=this._addedLabels;if(n.length){const t=this.getLabels();for(const{index:e,label:r}of n)t[e]===r&&t.splice(e,1);this._addedLabels=[]}super.init(t)}parse(t,n){if(o(t))return null;const e=this.getLabels();return((t,n)=>null===t?null:Y(Math.round(t),0,n))(n=isFinite(n)&&e[n]===t?n:function(t,n,e,r){const i=t.indexOf(n);return-1===i?((t,n,e,r)=>("string"==typeof n?(e=t.push(n)-1,r.unshift({index:e,label:n})):isNaN(n)&&(e=null),e))(t,n,e,r):i!==t.lastIndexOf(n)?e:i}(e,t,l(n,t),this._addedLabels),e.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let{min:e,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(e=0),n||(r=this.getLabels().length-1)),this.min=e,this.max=r}buildTicks(){const t=this.min,n=this.max,e=this.options.offset,r=[];let i=this.getLabels();i=0===t&&n===i.length-1?i:i.slice(t,n+1),this._valueRange=Math.max(i.length-(e?0:1),1),this._startValue=this.min-(e?.5:0);for(let e=t;e<=n;e++)r.push({value:e});return r}getLabelForValue(t){const n=this.getLabels();return t>=0&&tn.length-1?null:this.getPixelForValue(n[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function Co(t,n,{horizontal:e,minRotation:r}){const i=R(r),o=(e?Math.sin(i):Math.cos(i))||.001,s=.75*n*(""+t).length;return Math.min(n/o,s)}zo.id="category",zo.defaults={ticks:{callback:zo.prototype.getLabelForValue}};class So extends rr{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,n){return o(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:n,maxDefined:e}=this.getUserBounds();let{min:r,max:i}=this;const o=t=>r=n?r:t,s=t=>i=e?i:t;if(t){const t=D(r),n=D(i);t<0&&n<0?s(0):t>0&&n>0&&o(0)}if(r===i){let n=1;(i>=Number.MAX_SAFE_INTEGER||r<=Number.MIN_SAFE_INTEGER)&&(n=Math.abs(.05*i)),s(i+n),t||o(r-n)}this.min=r,this.max=i}getTickLimit(){const t=this.options.ticks;let n,{maxTicksLimit:e,stepSize:r}=t;return r?(n=Math.ceil(this.max/r)-Math.floor(this.min/r)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${r} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,n=t.ticks;let e=this.getTickLimit();e=Math.max(2,e);const r=function(t,n){const e=[],{bounds:r,step:i,min:s,max:a,precision:u,count:c,maxTicks:l,maxDigits:h,includeBounds:p}=t,f=i||1,_=l-1,{min:d,max:v}=n,y=!o(s),m=!o(a),g=!o(c),$=(v-d)/(h+1);let b,w,x,k,j=T((v-d)/_/f)*f;if(j<1e-14&&!y&&!m)return[{value:d},{value:v}];k=Math.ceil(v/j)-Math.floor(d/j),k>_&&(j=T(k*j/_/f)*f),o(u)||(b=Math.pow(10,u),j=Math.ceil(j*b)/b),"ticks"===r?(w=Math.floor(d/j)*j,x=Math.ceil(v/j)*j):(w=d,x=v),y&&m&&i&&function(t,n){const e=Math.round(t);return e-n<=t&&e+n>=t}((a-s)/i,j/1e3)?(k=Math.round(Math.min((a-s)/j,l)),j=(a-s)/k,w=s,x=a):g?(w=y?s:w,x=m?a:x,k=c-1,j=(x-w)/k):(k=(x-w)/j,k=L(k,Math.round(k),j/1e3)?Math.round(k):Math.ceil(k));const z=Math.max(H(j),H(w));b=Math.pow(10,o(u)?z:u),w=Math.round(w*b)/b,x=Math.round(x*b)/b;let C=0;for(y&&(p&&w!==s?(e.push({value:s}),w0?e:null;this._zero=!0}determineDataLimits(){const{min:t,max:n}=this.getMinMax(!0);this.min=u(t)?Math.max(0,t):null,this.max=u(n)?Math.max(0,n):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:n}=this.getUserBounds();let e=this.min,r=this.max;const i=n=>e=t?e:n,o=t=>r=n?r:t,s=(t,n)=>Math.pow(10,Math.floor(I(t))+n);e===r&&(e<=0?(i(1),o(10)):(i(s(e,-1)),o(s(r,1)))),e<=0&&i(s(r,-1)),r<=0&&o(s(e,1)),this._zero&&this.min!==this._suggestedMin&&e===s(this.min,0)&&i(s(e,-1)),this.min=e,this.max=r}buildTicks(){const t=this.options,n=function(t,n){const e=Math.floor(I(n.max)),r=Math.ceil(n.max/Math.pow(10,e)),i=[];let o=c(t.min,Math.pow(10,Math.floor(I(n.min)))),s=Math.floor(I(o)),a=Math.floor(o/Math.pow(10,s)),u=s<0?Math.pow(10,Math.abs(s)):1;do{i.push({value:o,major:Oo(o)}),++a,10===a&&(a=1,++s,u=s>=0?1:u),o=Math.round(a*Math.pow(10,s)*u)/u}while(si?{start:n-e,end:n}:{start:n,end:n+e}}function Eo(t,n,e,r,i){const o=Math.abs(Math.sin(e)),s=Math.abs(Math.cos(e));let a=0,u=0;r.startn.r&&(a=(r.end-n.r)/o,t.r=Math.max(t.r,n.r+a)),i.startn.b&&(u=(i.end-n.b)/s,t.b=Math.max(t.b,n.b+u))}function Io(t){return 0===t||180===t?"center":t<180?"left":"right"}function Do(t,n,e){return 90===e||270===e?t-=n/2:(e>270||e<90)&&(t-=n),t}function To(t,n,e,r){const{ctx:i}=t;if(e)i.arc(t.xCenter,t.yCenter,n,0,S);else{let e=t.getPointPosition(0,n);i.moveTo(e.x,e.y);for(let o=1;o{const e=p(this.options.pointLabels.callback,[t,n],this);return e||0===e?e:""})).filter(((t,n)=>this.chart.getDataVisibility(n)))}fit(){const t=this.options;t.display&&t.pointLabels.display?function(t){const n={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},e=Object.assign({},n),r=[],i=[],o=t._pointLabels.length,a=t.options.pointLabels,u=a.centerPointLabels?C/o:0;for(let p=0;p=0&&t=0;i--){const n=r.setContext(t.getPointLabelContext(i)),s=$n(n.font),{x:a,y:u,textAlign:c,left:l,top:h,right:p,bottom:f}=t._pointLabelItems[i],{backdropColor:_}=n;if(!o(_)){const t=mn(n.borderRadius),r=gn(n.backdropPadding);e.fillStyle=_;const i=l-r.left,o=h-r.top,s=p-l+r.width,a=f-h+r.height;Object.values(t).some((t=>0!==t))?(e.beginPath(),pn(e,{x:i,y:o,w:s,h:a,radius:t}),e.fill()):e.fillRect(i,o,s,a)}ln(e,t._pointLabels[i],a,u+s.lineHeight/2,s,{color:n.color,textAlign:c,textBaseline:"middle"})}}(this,i),r.display&&this.ticks.forEach(((t,n)=>{0!==n&&(a=this.getDistanceFromCenterForValue(t.value),function(t,n,e,r){const i=t.ctx,o=n.circular,{color:s,lineWidth:a}=n;!o&&!r||!s||!a||e<0||(i.save(),i.strokeStyle=s,i.lineWidth=a,i.setLineDash(n.borderDash),i.lineDashOffset=n.borderDashOffset,i.beginPath(),To(t,e,o,r),i.closePath(),i.stroke(),i.restore())}(this,r.setContext(this.getContext(n-1)),a,i))})),e.display){for(t.save(),s=i-1;s>=0;s--){const r=e.setContext(this.getPointLabelContext(s)),{color:i,lineWidth:o}=r;o&&i&&(t.lineWidth=o,t.strokeStyle=i,t.setLineDash(r.borderDash),t.lineDashOffset=r.borderDashOffset,a=this.getDistanceFromCenterForValue(n.ticks.reverse?this.min:this.max),u=this.getPointPosition(s,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(u.x,u.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,n=this.options,e=n.ticks;if(!e.display)return;const r=this.getIndexAngle(0);let i,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(r),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((r,s)=>{if(0===s&&!n.reverse)return;const a=e.setContext(this.getContext(s)),u=$n(a.font);if(i=this.getDistanceFromCenterForValue(this.ticks[s].value),a.showLabelBackdrop){t.font=u.string,o=t.measureText(r.label).width,t.fillStyle=a.backdropColor;const n=gn(a.backdropPadding);t.fillRect(-o/2-n.left,-i-u.size/2-n.top,o+n.width,u.size+n.height)}ln(t,r.label,0,-i,u,{color:a.color})})),t.restore()}drawTitle(){}}Bo.id="radialLinear",Bo.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ye.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}},Bo.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},Bo.descriptors={angleLines:{_fallback:"grid"}};const Lo={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},No=Object.keys(Lo);function Ro(t,n){return t-n}function Fo(t,n){if(o(n))return null;const e=t._adapter,{parser:r,round:i,isoWeekday:s}=t._parseOpts;let a=n;return"function"==typeof r&&(a=r(a)),u(a)||(a="string"==typeof r?e.parse(a,r):e.parse(a)),null===a?null:(i&&(a="week"!==i||!B(s)&&!0!==s?e.startOf(a,i):e.startOf(a,"isoWeek",s)),+a)}function Ho(t,n,e,r){const i=No.length;for(let o=No.indexOf(t);o=n?e[r]:e[i]]=!0}}else t[n]=!0}function Vo(t,n,e){const r=[],i={},o=n.length;let s,a;for(s=0;s=0&&(n[u].major=!0);return n}(t,r,i,e):r}class Wo extends rr{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,n){const e=t.time||(t.time={}),r=this._adapter=new lr._date(t.adapters.date);r.init(n),g(e.displayFormats,r.formats()),this._parseOpts={parser:e.parser,round:e.round,isoWeekday:e.isoWeekday},super.init(t),this._normalized=n.normalized}parse(t,n){return void 0===t?null:Fo(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,n=this._adapter,e=t.time.unit||"day";let{min:r,max:i,minDefined:o,maxDefined:s}=this.getUserBounds();function a(t){o||isNaN(t.min)||(r=Math.min(r,t.min)),s||isNaN(t.max)||(i=Math.max(i,t.max))}o&&s||(a(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||a(this.getMinMax(!1))),r=u(r)&&!isNaN(r)?r:+n.startOf(Date.now(),e),i=u(i)&&!isNaN(i)?i:+n.endOf(Date.now(),e)+1,this.min=Math.min(r,i-1),this.max=Math.max(r+1,i)}_getLabelBounds(){const t=this.getLabelTimestamps();let n=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY;return t.length&&(n=t[0],e=t[t.length-1]),{min:n,max:e}}buildTicks(){const t=this.options,n=t.time,e=t.ticks,r="labels"===e.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&r.length&&(this.min=this._userMin||r[0],this.max=this._userMax||r[r.length-1]);const i=this.min,o=function(t,n,e){let r=0,i=t.length;for(;rr&&t[i-1]>e;)i--;return r>0||i=No.indexOf(e);o--){const e=No[o];if(Lo[e].common&&t._adapter.diff(i,r,e)>=n-1)return e}return No[e?No.indexOf(e):0]}(this,o.length,n.minUnit,this.min,this.max)),this._majorUnit=e.major.enabled&&"year"!==this._unit?function(t){for(let n=No.indexOf(t)+1,e=No.length;n+t.value)))}initOffsets(t){let n,e,r=0,i=0;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),r=1===t.length?1-n:(this.getDecimalForValue(t[1])-n)/2,e=this.getDecimalForValue(t[t.length-1]),i=1===t.length?e:(e-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;r=Y(r,0,o),i=Y(i,0,o),this._offsets={start:r,end:i,factor:1/(r+1+i)}}_generate(){const t=this._adapter,n=this.min,e=this.max,r=this.options,i=r.time,o=i.unit||Ho(i.minUnit,n,e,this._getLabelCapacity(n)),s=l(i.stepSize,1),a="week"===o&&i.isoWeekday,u=B(a)||!0===a,c={};let h,p,f=n;if(u&&(f=+t.startOf(f,"isoWeek",a)),f=+t.startOf(f,u?"day":o),t.diff(e,n,o)>1e5*s)throw new Error(n+" and "+e+" are too far apart with stepSize of "+s+" "+o);const _="data"===r.ticks.source&&this.getDataTimestamps();for(h=f,p=0;ht-n)).map((t=>+t))}getLabelForValue(t){const n=this._adapter,e=this.options.time;return e.tooltipFormat?n.format(t,e.tooltipFormat):n.format(t,e.displayFormats.datetime)}_tickFormatFunction(t,n,e,r){const i=this.options,o=i.time.displayFormats,s=this._unit,a=this._majorUnit,u=s&&o[s],c=a&&o[a],l=e[n],h=a&&c&&l&&l.major,f=this._adapter.format(t,r||(h?c:u)),_=i.ticks.callback;return _?p(_,[f,n,e],this):f}generateTickLabels(t){let n,e,r;for(n=0,e=t.length;n0?s:1}getDataTimestamps(){let t,n,e=this._cache.data||[];if(e.length)return e;const r=this.getMatchingVisibleMetas();if(this._normalized&&r.length)return this._cache.data=r[0].controller.getAllParsedValues(this);for(t=0,n=r.length;t=t[a].pos&&n<=t[u].pos&&({lo:a,hi:u}=Z(t,"pos",n)),({pos:r,time:o}=t[a]),({pos:i,time:s}=t[u])):(n>=t[a].time&&n<=t[u].time&&({lo:a,hi:u}=Z(t,"time",n)),({time:r,pos:o}=t[a]),({time:i,pos:s}=t[u]));const c=i-r;return c?o+(s-o)*(n-r)/c:o}Wo.id="time",Wo.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class Ko extends Wo{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),n=this._table=this.buildLookupTable(t);this._minPos=Jo(n,this.min),this._tableRange=Jo(n,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:n,max:e}=this,r=[],i=[];let o,s,a,u,c;for(o=0,s=t.length;o=n&&u<=e&&r.push(u);if(r.length<2)return[{time:n,pos:0},{time:e,pos:1}];for(o=0,s=r.length;o{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},e.o=(t,n)=>Object.prototype.hasOwnProperty.call(t,n),e.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e(608)})())); //# sourceMappingURL=benchart.js.map \ No newline at end of file diff --git a/benchart.js.map b/benchart.js.map index ec8c063..6c8be39 100644 --- a/benchart.js.map +++ b/benchart.js.map @@ -1 +1 @@ -{"version":3,"file":"benchart.js","mappings":"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","sources":["webpack://benchart/webpack/universalModuleDefinition","webpack://benchart/../../../../../Trace.common.kt","webpack://benchart/../../../../../AtomicFU.kt","webpack://benchart/../../../../../MonotonicFrameClock.kt","webpack://benchart/../../../../../Applier.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Collections.kt","webpack://benchart/../../../../../BroadcastFrameClock.kt","webpack://benchart/../../../../../Composer.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterators.kt","webpack://benchart/../../../../../InspectionTables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Standard.kt","webpack://benchart/../../../../../ListUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sets.kt","webpack://benchart/../../../../../SlotTable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Maps.kt","webpack://benchart/../../../../../BitwiseOperators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Collections.kt","webpack://benchart/../../../../../Trace.kt","webpack://benchart/../../../../../IdentityArrayMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/comparisons/Comparisons.kt","webpack://benchart/../../../../../DerivedState.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MutableCollections.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Preconditions.kt","webpack://benchart/../../../../../Composition.kt","webpack://benchart/../../../../../IdentityScopeMap.kt","webpack://benchart/../../../../../IdentityArraySet.kt","webpack://benchart/../../../../../Synchronization.kt","webpack://benchart/../../../../../CompositionContext.kt","webpack://benchart/../../../../../CompositionLocal.kt","webpack://benchart/../../../../../Effects.kt","webpack://benchart/../../../../../JoinedKey.kt","webpack://benchart/../../../../../MovableContent.kt","webpack://benchart/../../../../../OpaqueKey.kt","webpack://benchart/../../../../../RecomposeScopeImpl.kt","webpack://benchart/../../../../../Recomposer.kt","webpack://benchart/../../../../../Synchronized.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Result.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/Continuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sequences.kt","webpack://benchart/../../../../../runtime/coroutineInternalJS.kt","webpack://benchart/../../../../../Snapshot.kt","webpack://benchart/../../../../../extensions.kt","webpack://benchart/../../../../../src/generated/_ArraysJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/dynamic.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/math.kt","webpack://benchart/../../../../../builtins/Library.kt","webpack://benchart/../../../../../SnapshotMutationPolicy.kt","webpack://benchart/../../../../../SnapshotState.kt","webpack://benchart/../../../../../ActualJs.js.kt","webpack://benchart/../../../../../Stack.kt","webpack://benchart/../../../../../ValueHolders.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Lazy.kt","webpack://benchart/../../../../../IdentityArrayIntMap.kt","webpack://benchart/../../../../../AbstractListIterator.kt","webpack://benchart/../../../../../AbstractPersistentList.kt","webpack://benchart/../../../../../BufferIterator.kt","webpack://benchart/../../../../../PersistentVector.kt","webpack://benchart/../../../../../PersistentVectorBuilder.kt","webpack://benchart/../../../../../runtime/kotlinHacks.kt","webpack://benchart/../../../../../PersistentVectorIterator.kt","webpack://benchart/../../../../../PersistentVectorMutableIterator.kt","webpack://benchart/../../../../../SmallPersistentVector.kt","webpack://benchart/../../../../../TrieIterator.kt","webpack://benchart/../../../../../Utils.kt","webpack://benchart/../../../../../PersistentHashMap.kt","webpack://benchart/../../../../../PersistentHashMapContentIterators.kt","webpack://benchart/../../../../../PersistentHashMapContentViews.kt","webpack://benchart/../../../../../TrieNode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/HashCode.kt","webpack://benchart/../../../../../PersistentOrderedSet.kt","webpack://benchart/../../../../../PersistentOrderedSetIterator.kt","webpack://benchart/../../../../../ComposableLambda.kt","webpack://benchart/../../../../../SnapshotDoubleIndexHeap.kt","webpack://benchart/../../../../../SnapshotIdSet.kt","webpack://benchart/../../../../../SnapshotStateList.kt","webpack://benchart/../../../../../SnapshotStateMap.kt","webpack://benchart/../../../../../","webpack://benchart/../../../../../Composer.js.kt","webpack://benchart/../../../../../ComposableLambda.js.kt","webpack://benchart/../../../../../CancellableContinuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Arrays.kt","webpack://benchart/../../../../../ListImplementation.kt","webpack://benchart/../../../../../ActualJsBrowser.js.kt","webpack://benchart/../../../../../Composables.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/BenchmarkResult.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/regex/RegexExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/numberConversions.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/ChartsTransformers.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Ranges.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/TextNumberLine.kt","webpack://benchart/../../../../src/commonMain/kotlin/model/Chart.kt","webpack://benchart/../../../../src/commonMain/kotlin/model/FormData.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/AutoFormUi.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/AutoGroupToggle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/ChartUi.kt","webpack://benchart/../../../../src/jsMain/kotlin/Utils.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections.kt","webpack://benchart/../../../../src/jsMain/kotlin/chartjs/Type.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/EditableTitle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Error.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Heading.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/SavedBenchmarkNode.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/SavedBenchmarksDropDown.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Summary.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/TestNameDetectionToggle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/TestNames.kt","webpack://benchart/../../../../src/jsMain/kotlin/main.kt","webpack://benchart/../../../../src/jsMain/kotlin/page/home/HomePage.kt","webpack://benchart/../../../../src/jsMain/kotlin/page/home/HomeViewModel.kt","webpack://benchart/../../../../src/jsMain/kotlin/repo/BenchmarkRepo.kt","webpack://benchart/../../../../src/jsMain/kotlin/repo/FormRepo.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/DefaultValues.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/JsonUtils.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/string.kt","webpack://benchart/../../../../../SerialFormat.kt","webpack://benchart/../../../../../Serializers.kt","webpack://benchart/../../../../../Platform.common.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/SummaryUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Maps.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContext.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_OneToManyTitlecaseMappings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Char.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/char.kt","webpack://benchart/../../../../../src/generated/_TitlecaseMappings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/CharCode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sequences.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractIterator.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractList.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractSet.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/IndexedValue.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/SequenceBuilder.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/SlidingWindow.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContextImpl.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/intrinsics/Intrinsics.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/internal/progressionUtil.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/random/Random.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/random/XorWowRandom.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/PrimitiveRanges.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/ProgressionIterators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Progressions.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Appendable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Indent.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringNumberConversions.kt","webpack://benchart/../../../../../runtime/long.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/stringsCode.kt","webpack://benchart/../../../../../runtime/noPackageHacks.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/time/Duration.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringBuilder.kt","webpack://benchart/../../../../../src/generated/_ComparisonsJs.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/time/DurationUnit.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/DeepRecursive.kt","webpack://benchart/../../../../../runtime/typeCheckUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Tuples.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UByte.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UByteArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UInt.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UIntArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/ULong.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UnsignedUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/ULongArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShort.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShortArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UStrings.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/runtime/primitiveCompanionObjects.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableCollection.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableList.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/ArrayList.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/ArraySorting.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/HashMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/HashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/InternalHashCodeMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/console.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/coroutines/SafeContinuationJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/coroutines/cancellation/CancellationException.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/numbers.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/JsClass.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KClassImpl.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KTypeImpl.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/primitives.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/reflection.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/regexp.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/StringBuilderJs.kt","webpack://benchart/../../../../../src/generated/_WhitespaceChars.kt","webpack://benchart/../../../../../src/generated/_DigitChars.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/regex.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/throwableExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/time/DurationUnit.kt","webpack://benchart/../../../../../builtins/Char.kt","webpack://benchart/../../../../../builtins/Enum.kt","webpack://benchart/../../../../../runtime/arrays.kt","webpack://benchart/../../../../../runtime/bitUtils.kt","webpack://benchart/../../../../../runtime/charSequence.kt","webpack://benchart/../../../../../runtime/collectionsHacks.kt","webpack://benchart/../../../../../runtime/compareTo.kt","webpack://benchart/../../../../../runtime/coreRuntime.kt","webpack://benchart/../../../../../runtime/hacks.kt","webpack://benchart/../../../../../runtime/longjs.kt","webpack://benchart/../../../../../runtime/numberConversion.kt","webpack://benchart/../../../../../runtime/rangeTo.kt","webpack://benchart/../../../../../runtime/reflectRuntime.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/js.arrays/fill.kt","webpack://benchart/../../../../../src/generated/_CharCategories.kt","webpack://benchart/../../../../../src/generated/_LetterChars.kt","webpack://benchart/../../../../../src/generated/_OtherLowercaseChars.kt","webpack://benchart/../../../../../src/kotlin/coroutines_13/CoroutineImpl.kt","webpack://benchart/../../../../../src/kotlin/coroutines_13/IntrinsicsJs.kt","webpack://benchart/../../../../../src/kotlin/exceptions.kt","webpack://benchart/../../../../../src/kotlin/jsOperators.kt","webpack://benchart/../../../../../src/kotlin/text/numberConversions_js-ir.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractCollection.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/PrimitiveIterators.kt","webpack://benchart/../../../../../jsMainSources/core/builtins/src/kotlin/Unit.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/EqualityComparator.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/InternalMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KTypeHelpers.kt","webpack://benchart/../../../../../src/kotlin/reflection_js-ir.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MapWithDefault.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sets.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/ContinuationInterceptor.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Ranges.kt","webpack://benchart/../../../../../SerialDescriptor.kt","webpack://benchart/../../../../../Decoding.kt","webpack://benchart/../../../../../Encoding.kt","webpack://benchart/../../../../../PluginHelperInterfaces.kt","webpack://benchart/../../../../../PolymorphicSerializer.kt","webpack://benchart/../../../../../ContextAware.kt","webpack://benchart/../../../../../AbstractPolymorphicSerializer.kt","webpack://benchart/../../../../../SerializationExceptions.kt","webpack://benchart/../../../../../Platform.kt","webpack://benchart/../../../../../Primitives.kt","webpack://benchart/../../../../../BuiltinSerializers.kt","webpack://benchart/../../../../../SerializersCache.kt","webpack://benchart/../../../../../SerialDescriptors.kt","webpack://benchart/../../../../../SerialKinds.kt","webpack://benchart/../../../../../BuiltInSerializers.kt","webpack://benchart/../../../../../CollectionDescriptors.kt","webpack://benchart/../../../../../CollectionSerializers.kt","webpack://benchart/../../../../../ElementMarker.kt","webpack://benchart/../../../../../InlineClassDescriptor.kt","webpack://benchart/../../../../../NoOpEncoder.kt","webpack://benchart/../../../../../NullableSerializer.kt","webpack://benchart/../../../../../ObjectSerializer.kt","webpack://benchart/../../../../../PluginGeneratedSerialDescriptor.kt","webpack://benchart/../../../../../PrimitiveArraysSerializers.kt","webpack://benchart/../../../../../Tagged.kt","webpack://benchart/../../../../../Tuples.kt","webpack://benchart/../../../../../ValueClasses.kt","webpack://benchart/../../../../../SerializersModule.kt","webpack://benchart/../../../../../SerializersModuleBuilders.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/AssociatedObjects.kt","webpack://benchart/../../../../../AbstractDecoder.kt","webpack://benchart/../../../../../AbstractEncoder.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_UArrays.kt","webpack://benchart/../../../../../JsonInternalDependencies.kt","webpack://benchart/../../../../../PluginExceptions.kt","webpack://benchart/../../../../../SerializersModuleCollector.kt","webpack://benchart/../../../../../Json.kt","webpack://benchart/../../../../../JsonConfiguration.kt","webpack://benchart/../../../../../JsonElement.kt","webpack://benchart/../../../../../StringOps.kt","webpack://benchart/../../../../../JsonElementSerializers.kt","webpack://benchart/../../../../../Composers.kt","webpack://benchart/../../../../../JsonElementMarker.kt","webpack://benchart/../../../../../JsonExceptions.kt","webpack://benchart/../../../../../AbstractJsonLexer.kt","webpack://benchart/../../../../../JsonNamesMap.kt","webpack://benchart/../../../../../JsonPath.kt","webpack://benchart/../../../../../JsonStreams.kt","webpack://benchart/../../../../../StreamingJsonEncoder.kt","webpack://benchart/../../../../../JsonTreeReader.kt","webpack://benchart/../../../../../Polymorphic.kt","webpack://benchart/../../../../../TreeJsonEncoder.kt","webpack://benchart/../../../../../TreeJsonDecoder.kt","webpack://benchart/../../../../../PolymorphismValidator.kt","webpack://benchart/../../../../../SchemaCache.kt","webpack://benchart/../../../../../StreamingJsonDecoder.kt","webpack://benchart/../../../../../WriteMode.kt","webpack://benchart/../../../../../StringJsonLexer.kt","webpack://benchart/../../../../../JsonSchemaCache.kt","webpack://benchart/../../../../../JsonToStringWriter.kt","webpack://benchart/../../../../../createMapForCache.kt","webpack://benchart/../../../../../Job.kt","webpack://benchart/../../../../../AbstractCoroutine.kt","webpack://benchart/../../../../../Builders.common.kt","webpack://benchart/../../../../../CoroutineContext.kt","webpack://benchart/../../../../../DispatchedTask.kt","webpack://benchart/../../../../../CancellableContinuationImpl.kt","webpack://benchart/../../../../../CompletionHandler.kt","webpack://benchart/../../../../../AtomicFU.common.kt","webpack://benchart/../../../../../CompletionState.kt","webpack://benchart/../../../../../CoroutineDispatcher.kt","webpack://benchart/../../../../../CoroutineExceptionHandler.kt","webpack://benchart/../../../../../EventLoop.common.kt","webpack://benchart/../../../../../Exceptions.common.kt","webpack://benchart/../../../../../JobSupport.kt","webpack://benchart/../../../../../Concurrent.kt","webpack://benchart/../../../../../LinkedList.kt","webpack://benchart/../../../../../MainCoroutineDispatcher.kt","webpack://benchart/../../../../../Supervisor.kt","webpack://benchart/../../../../../Unconfined.kt","webpack://benchart/../../../../../StateFlow.kt","webpack://benchart/../../../../../AbstractSharedFlow.kt","webpack://benchart/../../../../../NullSurrogate.kt","webpack://benchart/../../../../../ArrayQueue.kt","webpack://benchart/../../../../../DispatchedContinuation.kt","webpack://benchart/../../../../../ThreadContext.kt","webpack://benchart/../../../../../Scopes.kt","webpack://benchart/../../../../../Symbol.kt","webpack://benchart/../../../../../Cancellable.kt","webpack://benchart/../../../../../Undispatched.kt","webpack://benchart/../../../../../Window.kt","webpack://benchart/../../../../../CoroutineExceptionHandlerImpl.kt","webpack://benchart/../../../../../Debug.kt","webpack://benchart/../../../../../Dispatchers.kt","webpack://benchart/../../../../../EventLoop.kt","webpack://benchart/../../../../../Exceptions.kt","webpack://benchart/../../../../../JSDispatcher.kt","webpack://benchart/../../../../../StackTraceRecovery.kt","webpack://benchart/../../../../../ThreadLocal.kt","webpack://benchart/../../../../../CoroutineStart.kt","webpack://benchart/../../../../../ProbesSupport.kt","webpack://benchart/../../../../../CompletionHandler.common.kt","webpack://benchart/../../../../../SchedulerTask.kt","webpack://benchart/../../../../../CoroutineScope.kt","webpack://benchart/../../../../../DomApplier.kt","webpack://benchart/../../../../../GlobalSnapshotManager.kt","webpack://benchart/../../../../../JsMicrotasksDispatcher.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/org.w3c/org.w3c.dom.kt","webpack://benchart/../../../../../renderComposable.kt","webpack://benchart/../../../../../Attrs.kt","webpack://benchart/../../../../../InternalControlledInputUtils.kt","webpack://benchart/../../../../../AttrsScope.kt","webpack://benchart/../../../../../EventsListenerScope.kt","webpack://benchart/../../../../../PredefinedAttrValues.kt","webpack://benchart/../../../../../SyntheticEventListener.kt","webpack://benchart/../../../../../InputAttrsScope.kt","webpack://benchart/../../../../../SelectAttrsScope.kt","webpack://benchart/../../../../../TextAreaAttrsScope.kt","webpack://benchart/../../../../../CSSUnits.kt","webpack://benchart/../../../../../StyleScope.kt","webpack://benchart/../../../../../Base.kt","webpack://benchart/../../../../../ElementScope.kt","webpack://benchart/../../../../../Elements.kt","webpack://benchart/../../../../../SyntheticChangeEvent.kt","webpack://benchart/../../../../../SyntheticEvent.kt","webpack://benchart/../../../../../SyntheticInputEvent.kt","webpack://benchart/../../../../../SyntheticMouseEvent.kt","webpack://benchart/../../../../../StylePropertyValue.kt","webpack://benchart/../../../../../text.kt","webpack://benchart/../../../../../box.kt","webpack://benchart/../../../../../margin.kt","webpack://benchart/../../../../../padding.kt","webpack://benchart/../../node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack://benchart/../../node_modules/chart.js/dist/chart.mjs","webpack://benchart/webpack/bootstrap","webpack://benchart/webpack/runtime/define property getters","webpack://benchart/webpack/runtime/hasOwnProperty shorthand","webpack://benchart/webpack/runtime/make namespace object","webpack://benchart/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"benchart\"] = factory();\n\telse\n\t\troot[\"benchart\"] = factory();\n})(this, () => {\nreturn ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"package core\n\nimport model.FormData\n\nopen class InvalidDataException(message: String?) : Throwable(message)\nclass InvalidBenchmarkDataException(message: String?) : InvalidDataException(message)\nclass InvalidGenericDataException(message: String?) : InvalidDataException(message)\n\ndata class BlockRow(\n val title: String,\n val data: Map\n)\n\nenum class SupportedMetrics(\n val key: String,\n val emoji: String,\n val title: String\n) {\n Duration(\n emoji = \"⏱\",\n key = \"frameDurationCpuMs\",\n title = \"Duration Summary\"\n ),\n Overrun(\n emoji = \"🏃🏻‍♂️\",\n key = \"frameOverrunMs\",\n title = \"Overrun Summary\"\n ),\n InitialDisplay(\n emoji = \"🌘\",\n key = \"timeToInitialDisplayMs\",\n title = \"Initial Display Summary\"\n ),\n FullDisplay(\n emoji = \"🌕\",\n key = \"timeToFullDisplayMs\",\n title = \"Full Display Summary\"\n ),\n}\n\nenum class InputType {\n GENERIC,\n NORMAL_BENCHMARK\n}\n\ndata class BenchmarkResult(\n val title: String,\n val testName: String?,\n val blockRows: List,\n) {\n companion object {\n\n private val metricKeys = SupportedMetrics.values().map { it.key }\n\n private val machineLineRegEx = \"^(Traces|${metricKeys.joinToString(separator = \"|\")}).+\".toRegex()\n private val titleStripRegEx = \"\\\\W+\".toRegex()\n private val genericTitleStripRegEx = \"\\\\W+\".toRegex()\n private val testNameRegex = \"[A-Z].*_[a-z].*\".toRegex()\n\n fun parse(form: FormData): Pair>? {\n\n val blocks = form.data\n .split(\"\\n\").joinToString(separator = \"\\n\") { it.trim() }\n .split(\"^\\\\s+\".toRegex(RegexOption.MULTILINE)).map { it.trim() }\n .filter { it.isNotBlank() }\n\n println(\"parsing input...\")\n if(blocks.isEmpty()) return null\n if (form.isGenericInput()) return parseGenericInput(blocks)\n\n println(\"parsing machine generated benchmark input...\")\n val benchmarkResults = mutableListOf()\n\n for ((index, block) in blocks.withIndex()) {\n println(\"block: '$block'\")\n val lines = block.split(\"\\n\").map { it.trim() }\n var title: String? = null\n var testName: String? = null\n val blockRows = mutableListOf()\n for (line in lines) {\n\n if (title == null && isHumanLine(line)) {\n title = line\n }\n\n\n\n if (form.isTestNameDetectionEnabled && isTestName(line)) {\n if (testName != null && blockRows.isNotEmpty()) {\n\n if (title == null) {\n title = \"benchmark $index $testName\"\n }\n\n // We already have an unsaved testData, so let's save it\n benchmarkResults.add(\n BenchmarkResult(\n title = title,\n testName = testName,\n blockRows = blockRows\n )\n )\n\n blockRows.clear()\n }\n\n testName = line\n }\n\n val metricName = line.findMetricKeyOrNull()\n if (metricName != null) {\n val isMetricAlreadyAdded = blockRows.find { it.title == metricName } != null\n if (isMetricAlreadyAdded) {\n throw InvalidBenchmarkDataException(\"Two $metricName found in block ${index + 1}. Expected only one\")\n }\n blockRows.add(\n BlockRow(\n title = metricName,\n data = parseValues(metricName, line)\n )\n )\n }\n }\n\n if (title == null) {\n title = \"benchmark $index\"\n }\n\n title = parseTitle(title)\n\n if (blockRows.isNotEmpty()) {\n benchmarkResults.add(\n BenchmarkResult(\n title = title,\n testName = testName,\n blockRows = blockRows\n )\n )\n }\n }\n\n return Pair(InputType.NORMAL_BENCHMARK, benchmarkResults)\n }\n\n private fun parseGenericInput(blocks: List): Pair> {\n return Pair(InputType.GENERIC, parseMultiLineGenericInput(blocks))\n }\n\n private fun createChartTitle(blockRows: MutableList): String {\n return blockRows.joinToString(separator = \" vs \") { it.title }\n }\n\n private fun parseMultiLineGenericInput(blocks: List): List {\n val benchmarkResults = mutableListOf()\n val blockRows = mutableListOf()\n for ((index, block) in blocks.withIndex()) {\n val lines = block.split(\"\\n\").map { it.trim() }\n var title: String? = null\n val values = mutableMapOf()\n for (line in lines) {\n\n if (title == null && isHumanLine(line)) {\n title = line\n continue\n }\n\n val textNumberLine = TextNumberLine.parse(line)\n values[parseGenericTitle(textNumberLine.text)] = textNumberLine.number\n }\n\n if (title == null) {\n title = \"benchmark $index\"\n }\n\n title = parseGenericTitle(title)\n\n blockRows.add(\n BlockRow(\n title = title,\n data = values\n )\n )\n }\n\n checkDataIntegrity(blockRows)\n\n val chartTitle = createChartTitle(blockRows)\n\n benchmarkResults.add(\n BenchmarkResult(\n title = chartTitle,\n testName = \"\",\n blockRows = blockRows\n )\n )\n\n return benchmarkResults\n }\n\n private fun checkDataIntegrity(blockRows: List) {\n if (blockRows.size >= 2) {\n val originalValueOrder = blockRows.first().data.keys.toList()\n for ((index, blockRow) in blockRows.withIndex()) {\n if (index == 0) {\n continue\n }\n val currentValueOrder = blockRow.data.keys.toList()\n if (originalValueOrder != currentValueOrder) {\n error(\"Invalid order. Expected '$originalValueOrder', but found '$currentValueOrder'\")\n }\n }\n }\n }\n\n\n private fun isTestName(line: String): Boolean {\n return testNameRegex.matches(line)\n }\n\n private fun parseTitle(title: String): String {\n return title\n .replace(titleStripRegEx, \" \")\n .replace(\"\\\\s{2,}\".toRegex(), \" \")\n .trim()\n }\n\n private fun parseGenericTitle(title: String): String {\n return title\n .replace(genericTitleStripRegEx, \" \")\n .replace(\"\\\\s{2,}\".toRegex(), \" \")\n .trim()\n }\n\n private fun isHumanLine(line: String): Boolean {\n return !isMachineLine(line)\n }\n\n private fun isMachineLine(line: String): Boolean {\n return line.matches(machineLineRegEx)\n }\n\n private fun parseValues(key: String, data: String): Map {\n if (!data.startsWith(key)) {\n error(\"Invalid $key.Expected to start with '$key' but found '$data'\")\n }\n\n val transformedList = data.replace(key, \"\")\n .replace(\"\\\\s+\".toRegex(), \" \")\n .split(\", \")\n // remove commas in numbers\n .map { it.replace(\",\", \"\").trim().split(\" \") }\n\n val valueMap = mutableMapOf()\n for (item in transformedList) {\n valueMap[item[0]] = item[1].toFloat()\n }\n return valueMap\n }\n\n\n private fun String.findMetricKeyOrNull(): String? {\n return metricKeys.find { this.startsWith(it) }\n }\n }\n}\n\n\n\nprivate fun FormData.isGenericInput(): Boolean {\n return !this.data.contains(\n SupportedMetrics.values().joinToString(separator = \"|\", prefix = \"(\", postfix = \")\") { it.key }.toRegex()\n )\n}\n\n",null,null,null,"package core\n\nimport model.Chart\nimport model.ChartsBundle\n\n\nfun List.toCharts(): ChartsBundle {\n val chartNames = this\n .map { result ->\n result.blockRows.map { dataPoint ->\n dataPoint.title\n }\n }\n .flatten()\n .toSet()\n\n val charts = mutableListOf()\n for (chartName in chartNames) {\n // before1 -> {P50=40.5, P90=45.8, P95=60.4, P99=80.4}\n val dataSets = mutableMapOf>()\n for (item in this) {\n dataSets[item.title] = item.blockRows.find { it.title == chartName }?.data ?: emptyMap()\n }\n\n charts.add(\n Chart(\n emoji = SupportedMetrics.values().find { it.key == chartName }?.emoji ?: \"📊\",\n label = chartName, // frameDurationCpuMs, frameOverrunMs, etc\n dataSets = dataSets\n )\n )\n }\n\n val groupMap = parseGroupMap(this, isGeneric = false)\n return ChartsBundle(\n groupMap = groupMap,\n charts = charts\n )\n}\n\n\nfun List.toGenericChart(): ChartsBundle {\n // Generic chart will be always 1\n val result = this.first()\n\n val chart = Chart(\n emoji = \"📊\",\n label = result.title,\n dataSets = mutableMapOf>().apply {\n for(blockRow in result.blockRows){\n put(blockRow.title, blockRow.data)\n }\n }.also {\n println(\"chartSet -> $it\")\n },\n bsClass = \"col-lg-12\"\n )\n\n return ChartsBundle(\n groupMap = parseGroupMap(this, isGeneric = true),\n charts = listOf(\n chart\n )\n )\n}\n\n\ndata class GroupMap(\n val autoGroupMap: Map,\n val wordColorMap: Map\n)\n\nfun parseGroupMap(\n benchmarkResults: List,\n isGeneric : Boolean\n): GroupMap {\n val autoGroupMap = mutableMapOf()\n val titles = if(isGeneric){\n benchmarkResults.flatMap { it.blockRows.map { blockRow -> blockRow.title } }\n }else {\n benchmarkResults.map { it.title }\n }\n println(\"titles: $titles -> ${benchmarkResults.map { it.blockRows }}\")\n val wordColorMap = mutableMapOf()\n // TODO: Add more colors\n val lineColors = mutableListOf(\n \"rgba(255, 99, 132, 1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\",\n )\n for (title in titles) {\n val firstWord = title.split(\" \")[0]\n val color = wordColorMap.getOrPut(firstWord) {\n\n if (lineColors.isEmpty()) {\n lineColors.add(\"rgba(${randomRgb()}, ${randomRgb()}, ${randomRgb()}, 1)\")\n }\n\n val newColor = lineColors.first()\n lineColors.remove(newColor)\n newColor\n }\n autoGroupMap[title] = color\n }\n return GroupMap(\n autoGroupMap = autoGroupMap,\n wordColorMap = wordColorMap\n ).also {\n println(\"groupMap: $it\")\n }\n}\n\nprivate fun randomRgb() = (0..255).random()\n",null,"package core\n\nprivate val digitRegex = \"\\\\d+(.\\\\d+)?\".toRegex()\n\ndata class TextNumberLine(\n val text: String,\n val number: Float\n) {\n companion object {\n private val AVGIZER_REGEX = \"\\\\(input count : \\\\d+\\\\)\\$\".toRegex()\n fun parse(iLine: String): TextNumberLine {\n // Quick support for https://theapache64.github.io/avgizer/\n val match = AVGIZER_REGEX.find(iLine)\n val line = if (match != null){\n iLine.replace(match.groupValues.first(), \"\")\n } else {\n iLine\n }\n\n val number = digitRegex.findAll(line)\n .lastOrNull()\n ?.groupValues\n ?.firstOrNull()\n ?: error(\"$line doesn't match the regex '${digitRegex.pattern}'\")\n val numberIndex = line.lastIndexOf(number)\n val newLine = line.substring(0, numberIndex)\n return TextNumberLine(newLine, number.toFloat())\n }\n }\n}","package model\n\nimport core.GroupMap\n\ndata class ChartsBundle(\n val groupMap: GroupMap,\n val charts: List\n)\n\ndata class Chart(\n val emoji: String,\n val label: String,\n // eg format: (before1 -> map { p50 -> 20, p90 -> 30 })\n val dataSets: Map>,\n val bsClass : String = \"col-lg-6\"\n)\n\n\n\n","package model\n\ndata class FormData(\n val data: String,\n val isTestNameDetectionEnabled : Boolean,\n val isAutoGroupEnabled : Boolean\n)\n","package components\n\nimport androidx.compose.runtime.*\nimport kotlinx.browser.window\nimport model.FormData\nimport org.jetbrains.compose.web.attributes.*\nimport org.jetbrains.compose.web.css.marginTop\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n\n\n\n@Composable\nfun FormUi(\n form: FormData,\n shouldSelectUnsaved : Boolean,\n savedBenchmarks: List,\n onFormChanged: (form: FormData) -> Unit,\n onSaveClicked: (form: FormData) -> Unit,\n onSavedBenchmarkChanged: (key :String) -> Unit,\n onLoadBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n onDeleteBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n) {\n\n\n LaunchedEffect(Unit) {\n onFormChanged(form)\n }\n\n H3 {\n Text(\"⌨️ Input\")\n }\n\n Div {\n Form {\n\n key(\"inputForm\") {\n\n SavedBenchmarksDropDown(\n shouldSelectUnsaved = shouldSelectUnsaved,\n savedBenchmarks = savedBenchmarks,\n onSavedBenchmarkChanged =onSavedBenchmarkChanged,\n onLoadBenchmarkClicked = onLoadBenchmarkClicked,\n onDeleteBenchmarkClicked = onDeleteBenchmarkClicked\n )\n\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n\n Label(\n forId = \"benchmark\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Benchmark :\")\n }\n\n TextArea(\n value = form.data\n ) {\n id(\"benchmark\")\n classes(\"form-control\")\n placeholder(value = \"Benchmark data\")\n rows(20)\n onInput { textInput ->\n onFormChanged(form.copy(data = textInput.value))\n }\n }\n }\n\n Button(\n attrs = {\n classes(\"btn\", \"btn-dark\", \"float-end\")\n style {\n marginTop(10.px)\n }\n if (form.data.isBlank()) {\n attr(\"disabled\", \"true\")\n }\n onClick {\n onSaveClicked(form)\n }\n type(ButtonType.Button)\n }\n ) {\n Text(\"💾 SAVE\")\n }\n }\n }\n }\n}\n","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginLeft\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n@Composable\nfun AutoGroup(\n isEnabled: Boolean,\n onButtonClicked: () -> Unit\n) {\n Div(\n attrs = {\n classes(\"form-group\")\n style {\n marginLeft(10.px)\n }\n }\n ) {\n // 🖌 Color map\n\n Label(\n forId = \"colorMap\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Auto Group:\")\n }\n Br()\n Button(\n attrs = {\n id(\"colorMap\")\n classes(\"btn\", if (isEnabled) \"btn-success\" else \"btn-secondary\")\n onClick {\n onButtonClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(if (isEnabled) \"ON\" else \"OFF\")\n }\n }\n}","package components\n\nimport Chart\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.DisposableEffect\nimport chartjs.Type\nimport core.GroupMap\nimport jso\nimport org.jetbrains.compose.web.css.*\nimport org.jetbrains.compose.web.dom.Canvas\nimport org.jetbrains.compose.web.dom.H3\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun ChartUi(\n isColorMapEnabled: Boolean,\n groupMap: GroupMap,\n chart: model.Chart,\n) {\n H3 { Text(\"${chart.emoji} ${chart.label}\") }\n\n // Charts\n Canvas(\n attrs = {\n style {\n width(100.percent)\n maxWidth(100.percent)\n\n height(700.px)\n maxHeight(700.px)\n }\n }\n ) {\n DisposableEffect(chart, isColorMapEnabled) {\n val dataSets = mutableListOf()\n for ((legend, values) in chart.dataSets) {\n\n dataSets.add(\n jso {\n label = legend\n data = values.values.toTypedArray()\n borderColor = if (isColorMapEnabled) {\n groupMap.autoGroupMap[label]\n } else {\n arrayOf(\n \"rgba(255, 99, 132, 1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\"\n )\n }\n borderWidth = 3\n }\n )\n }\n val chart = Chart(scopeElement, jso {\n type = Type.line\n this.data = jso {\n labels = chart.dataSets.values.flatMap { it.keys }.toSet().toTypedArray().also {\n println(\"labels: ${it.toList()}\")\n }\n datasets = dataSets.toTypedArray()\n }\n this.options = jso {\n plugins = jso {\n title = jso {\n display = true\n }\n }\n }\n })\n onDispose {\n chart.destroy()\n }\n }\n }\n\n}","inline fun jso(): T = js(\"({})\")\n\ninline fun jso(builder: T.() -> Unit): T = jso().apply(builder)",null,"package chartjs\n\ninterface Type {\n companion object {\n inline val line: Type get() = Type(\"line\")\n inline val bar: Type get() = Type(\"bar\")\n\n inline val horizontalBar: Type get() = Type(\"horizontalBar\")\n inline val radar: Type get() = Type(\"radar\")\n inline val doughnut: Type get() = Type(\"doughnut\")\n inline val polarArea: Type get() = Type(\"polarArea\")\n inline val bubble: Type get() = Type(\"bubble\")\n inline val pie: Type get() = Type(\"pie\")\n inline val scatter: Type get() = Type(\"scatter\")\n }\n}\n\ninline fun Type(value: String) = value.unsafeCast()","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.InputType\nimport org.jetbrains.compose.web.attributes.placeholder\nimport org.jetbrains.compose.web.css.fontSize\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.Input\nimport org.jetbrains.compose.web.dom.Label\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun EditableTitle() {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Label(\n forId = \"customTitle\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Title :\")\n }\n Input(\n type = InputType.Text,\n ) {\n id(\"customTitle\")\n classes(\"form-control\")\n placeholder(value = \"Custom title goes here\")\n style {\n fontSize(24.px)\n }\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.H4\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun ErrorUi(message: String) {\n Div(attrs = {\n classes(\"row\")\n }) {\n Div(attrs = {\n classes(\"col-lg-12\")\n }) {\n H4(attrs = {\n classes(\"text-center\")\n }) {\n Text(\"❌ $message\")\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.css.*\nimport org.jetbrains.compose.web.dom.*\n\n\n@Composable\nfun Heading() {\n Div(attrs = {\n classes(\"row\")\n }) {\n Div(attrs = {\n classes(\"col-lg-12\")\n style {\n marginBottom(30.px)\n marginTop(30.px)\n }\n }) {\n H1(attrs = {\n classes(\"text-center\")\n }) { Text(\"📊 benchart\") }\n }\n }\n}","package components\n\nimport kotlinx.serialization.Serializable\n\n@Serializable\ndata class SavedBenchmarkNode(\n val key : String,\n val value : String\n)\n\n@Serializable\ndata class SavedBenchmarks(\n var items : List\n)","package components\n\nimport androidx.compose.runtime.*\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.disabled\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginRight\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\nimport kotlin.js.Date\n\nval KEY_UNSAVED_BENCHMARK = \"unsavedBenchmark_${Date().getMilliseconds()}\"\n\n@Composable\nfun SavedBenchmarksDropDown(\n shouldSelectUnsaved: Boolean,\n savedBenchmarks: List,\n onSavedBenchmarkChanged: (key: String) -> Unit,\n onLoadBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n onDeleteBenchmarkClicked: (SavedBenchmarkNode) -> Unit\n) {\n\n if (savedBenchmarks.isEmpty()) {\n return\n }\n\n var selectedBenchmark by remember(savedBenchmarks) { mutableStateOf(savedBenchmarks.first()) }\n\n\n Label(\n forId = \"savedBenchmarks\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Load Benchmark :\")\n }\n\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Select(\n attrs = {\n classes(\"form-select\")\n id(\"savedBenchmarks\")\n onChange {\n it.value?.let { benchmarkKey ->\n onSavedBenchmarkChanged(benchmarkKey)\n selectedBenchmark =\n savedBenchmarks.find { benchmark -> benchmark.key == benchmarkKey }!!\n }\n }\n }\n ) {\n for (savedBenchmark in savedBenchmarks) {\n Option(\n value = savedBenchmark.key,\n attrs = {\n if (savedBenchmark.key == selectedBenchmark.key && !shouldSelectUnsaved) {\n selected()\n }\n }\n ) {\n Text(savedBenchmark.key)\n }\n }\n\n Option(\n value = KEY_UNSAVED_BENCHMARK,\n attrs = {\n if (shouldSelectUnsaved) {\n selected()\n }\n }\n ) {\n Text(\"Unsaved benchmark\")\n }\n }\n }\n\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Button(\n attrs = {\n classes(\"btn\", \"btn-primary\")\n style {\n marginRight(10.px)\n }\n onClick {\n onLoadBenchmarkClicked(selectedBenchmark)\n }\n type(ButtonType.Button)\n\n if (shouldSelectUnsaved) {\n disabled()\n }\n }\n ) {\n Text(\"LOAD\")\n }\n\n Button(\n attrs = {\n classes(\"btn\", \"btn-danger\")\n onClick {\n onDeleteBenchmarkClicked(selectedBenchmark)\n }\n type(ButtonType.Button)\n\n if (shouldSelectUnsaved) {\n disabled()\n }\n }\n ) {\n Text(\"DELETE\")\n }\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.key\nimport kotlinx.browser.document\nimport org.jetbrains.compose.web.attributes.AttrsScope\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.fontWeight\nimport org.jetbrains.compose.web.dom.*\nimport org.w3c.dom.Element\nimport org.w3c.dom.HTMLElement\nimport org.w3c.dom.HTMLSpanElement\n\n// P50 : After performed 25% better (-30ms)\nclass SummaryNode(\n val isGeneric: Boolean,\n val emoji: String,\n val segment: String,\n val label: String,\n val percentage: Float,\n val stateWord: String,\n val diff: Float,\n val diffSymbol: String,\n val after: Float,\n val before: Float\n)\n\ndata class Summary(\n val title: String,\n val nodes: List\n)\n\n@Composable\nfun SummaryContainer(\n selector: @Composable () -> Unit,\n summaries: List,\n) {\n\n selector()\n Br()\n\n for (summary in summaries) {\n key(summary.title) {\n SummaryUi(summary.title, summary.nodes)\n Br()\n }\n }\n}\n\n@Composable\nfun SummarySelector(\n bestButtonLabel : String,\n worstButtonLabel : String,\n onBestClicked: () -> Unit,\n onWorstClicked: () -> Unit,\n blockNames: List,\n selectedBlockNameOne: String?,\n selectedBlockNameTwo: String?,\n onBlockOneSelected: (String) -> Unit,\n onBlockTwoSelected: (String) -> Unit,\n) {\n\n Div(\n attrs = {\n classes(\"row\", \"mb-3\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n // Best\n Button(\n attrs = {\n classes(\"btn\", \"btn-outline-dark\", \"btn-sm\")\n onClick {\n onBestClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(bestButtonLabel)\n }\n\n }\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n // Best\n Button(\n attrs = {\n classes(\"btn\", \"btn-outline-dark\", \"btn-sm\")\n onClick {\n onWorstClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(worstButtonLabel)\n }\n }\n\n }\n\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n repeat(2) { index ->\n key(\"block-selector-$index\") {\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Select(\n attrs = {\n classes(\"form-select\")\n onInput {\n it.value?.let { newBlockName ->\n if (index == 0) {\n // first block name\n onBlockOneSelected(newBlockName)\n } else {\n // second block name\n onBlockTwoSelected(newBlockName)\n }\n }\n }\n }\n ) {\n for (blockName in blockNames) {\n Option(\n value = blockName,\n attrs = {\n val selectedBlockName =\n if (index == 0) selectedBlockNameOne else selectedBlockNameTwo\n if (blockName == selectedBlockName) {\n selected()\n }\n }\n ) {\n Text(blockName)\n }\n }\n }\n }\n\n if (index == 0) {\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n P {\n Strong {\n Text(\"vs\")\n }\n }\n }\n\n }\n }\n }\n\n }\n\n\n}\n\nprivate open class ElementBuilderImplementation(private val tagName: String) :\n ElementBuilder {\n private val el: Element by lazy { document.createElement(tagName) }\n\n @Suppress(\"UNCHECKED_CAST\")\n override fun create(): TElement = el.cloneNode() as TElement\n}\n\nprivate val Strong: ElementBuilder = ElementBuilderImplementation(\"strong\")\n\n@Composable\nfun Strong(\n attrs: AttrBuilderContext? = null,\n content: ContentBuilder? = null\n) = TagElement(elementBuilder = Strong, applyAttrs = attrs, content = content)\n\n@Composable\nfun SummaryUi(title: String, summary: List) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n H3 { Text(title) }\n Ul {\n summary.forEach { node ->\n Li {\n Text(\"${node.emoji} \")\n // ${node.segment} : ${node.label} performed ${node.percentage}%\n BoldText(\n text = node.segment,\n style = {\n classes(\"text-capitalize\")\n }\n )\n Text(\" : \")\n BoldText(node.label)\n Text(if (node.isGeneric) \" looks \" else \" performed \")\n BoldText(\"${node.percentage}% \")\n val postfix = if (node.isGeneric) \"\" else \"ms\"\n Span(\n attrs = {\n val badgeClass = when {\n node.diff == 0f -> \"secondary\"\n node.diff > 0 -> \"danger\"\n else -> \"success\"\n }\n classes(\"badge\", \"bg-$badgeClass\")\n\n attr(\"data-bs-toggle\", \"tooltip\")\n attr(\"data-bs-placement\", \"top\")\n\n attr(\"title\", \"${node.before}$postfix to ${node.after}$postfix\")\n }\n ) {\n Text(node.stateWord)\n }\n Text(\" (${node.diffSymbol}${node.diff}$postfix)\")\n }\n }\n }\n }\n}\n\n@Composable\nprivate fun BoldText(\n text: String,\n style: (AttrsScope.() -> Unit)? = null\n) {\n Span(\n attrs = {\n style?.invoke(this)\n style {\n fontWeight(\"bold\")\n }\n }\n ) {\n Text(text)\n }\n}\n","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginLeft\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n@Composable\nfun TestNameDetectionToggle(\n isEnabled: Boolean,\n onButtonClicked: () -> Unit\n) {\n Div(\n attrs = {\n classes(\"form-group\")\n style {\n marginLeft(10.px)\n }\n }\n ) {\n // 🖌 Color map\n\n Label(\n forId = \"testNameDetection\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Test Name Detection:\")\n }\n Br()\n Button(\n attrs = {\n id(\"testNameDetection\")\n classes(\"btn\", if (isEnabled) \"btn-success\" else \"btn-secondary\")\n onClick {\n onButtonClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(if (isEnabled) \"ON\" else \"OFF\")\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.dom.*\n\n\n@Composable\nfun TestNames(\n testNames: List,\n currentTestName: String? = null,\n onTestNameChanged: (option: String) -> Unit\n){\n if(testNames.isNotEmpty()){\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Label(\n forId = \"testNames\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Test Name :\")\n }\n Select(\n attrs = {\n classes(\"form-select\")\n id(\"testNames\")\n onInput {\n it.value?.let { newTestName ->\n onTestNameChanged(newTestName)\n }\n }\n }\n ) {\n for (testName in testNames) {\n Option(\n value = testName,\n attrs = {\n if (testName == currentTestName) {\n selected()\n }\n }\n ) {\n Text(testName)\n }\n }\n }\n }\n }\n}","import org.jetbrains.compose.web.renderComposable\nimport page.home.HomePageUi\n\nconst val IS_INJECT_DUMMY = true\n\nfun main() {\n\n initChartSettings()\n renderComposable(rootElementId = \"root\") {\n HomePageUi()\n }\n}\n\nprivate fun initChartSettings() {\n Chart.register(\n ArcElement,\n LineElement,\n BarElement,\n PointElement,\n BarController,\n BubbleController,\n DoughnutController,\n LineController,\n PieController,\n PolarAreaController,\n RadarController,\n ScatterController,\n CategoryScale,\n LinearScale,\n LogarithmicScale,\n RadialLinearScale,\n TimeScale,\n TimeSeriesScale,\n Decimation,\n Filler,\n Legend,\n Title,\n Tooltip,\n SubTitle\n )\n}\n","package page.home\n\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.remember\nimport components.AutoGroup\nimport components.ChartUi\nimport components.EditableTitle\nimport components.ErrorUi\nimport components.FormUi\nimport components.Heading\nimport components.SummaryContainer\nimport components.SummarySelector\nimport components.TestNameDetectionToggle\nimport components.TestNames\nimport core.InputType\nimport org.jetbrains.compose.web.css.paddingBottom\nimport org.jetbrains.compose.web.css.paddingLeft\nimport org.jetbrains.compose.web.css.paddingRight\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.Br\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.Form\nimport org.jetbrains.compose.web.dom.H3\nimport org.jetbrains.compose.web.dom.Text\nimport repo.BenchmarkRepoImpl\nimport repo.FormRepoImpl\n\n@Composable\nfun HomePageUi(\n viewModel: HomeViewModel = remember { HomeViewModel(BenchmarkRepoImpl(), FormRepoImpl()) }\n) {\n Div(\n attrs = {\n classes(\"container-fluid\")\n }\n ) {\n\n // Heading\n Heading()\n\n // Error\n if (viewModel.errorMsg.isNotBlank()) {\n ErrorUi(viewModel.errorMsg)\n }\n\n\n // Main\n Div(attrs = {\n classes(\"row\")\n style {\n paddingLeft(40.px)\n paddingRight(40.px)\n paddingBottom(40.px)\n }\n }) {\n Div(attrs = {\n classes(\"col-lg-4\")\n }) {\n FormUi(\n form = viewModel.form,\n shouldSelectUnsaved = viewModel.shouldSelectUnsaved,\n onFormChanged = viewModel::onFormChanged,\n onSaveClicked = viewModel::onSaveClicked,\n savedBenchmarks = viewModel.savedBenchmarks,\n onSavedBenchmarkChanged = viewModel::onSavedBenchmarkChanged,\n onLoadBenchmarkClicked = viewModel::onLoadBenchmarkClicked,\n onDeleteBenchmarkClicked = viewModel::onDeleteBenchmarkClicked,\n )\n\n Br()\n Br()\n\n SummaryContainer(\n selector = {\n println(\"block size ${viewModel.blockNames.size}\")\n if (viewModel.blockNames.size > 2) {\n SummarySelector(\n bestButtonLabel = \"BEST (-${viewModel.bestAggSummary?.sumOfGreen}${viewModel.unit})\",\n worstButtonLabel = \"WORST (+${viewModel.worstAggSummary?.sumOfRed}${viewModel.unit})\",\n onBestClicked = viewModel::onBestClicked,\n onWorstClicked = viewModel::onWorstClicked,\n blockNames = viewModel.blockNames,\n selectedBlockNameOne = viewModel.selectedBlockNameOne,\n selectedBlockNameTwo = viewModel.selectedBlockNameTwo,\n onBlockOneSelected = viewModel::onBlockNameOneChanged,\n onBlockTwoSelected = viewModel::onBlockNameTwoChanged\n )\n }\n },\n summaries = viewModel.summaries\n )\n }\n\n viewModel.chartsBundle?.charts?.takeIf { it.isNotEmpty() }?.let { fullChartsList ->\n val mainCharts = viewModel.chartsBundle ?: error(\"TSH\")\n Div(\n attrs = {\n classes(\"col-lg-8\")\n }\n ) {\n\n if (viewModel.isEditableTitleEnabled) {\n EditableTitle()\n } else {\n H3(\n attrs = {\n onDoubleClick {\n viewModel.onTitleDoubleClicked()\n }\n }\n ) {\n Text(\"🖥 Output\")\n }\n }\n\n // 🧪 ToolBar\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n Form {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col-md-2\")\n }\n ) {\n AutoGroup(\n isEnabled = viewModel.form.isAutoGroupEnabled,\n onButtonClicked = viewModel::onToggleAutoGroupClicked\n )\n }\n\n if (viewModel.inputType == InputType.NORMAL_BENCHMARK) {\n Div(\n attrs = {\n classes(\"col-md-2\")\n }\n ) {\n TestNameDetectionToggle(\n isEnabled = viewModel.form.isTestNameDetectionEnabled,\n onButtonClicked = viewModel::onToggleTestNameDetectionClicked\n )\n }\n }\n\n if (viewModel.testNames.isNotEmpty()) {\n Div(\n attrs = {\n classes(\"col-md-4\")\n }\n ) {\n TestNames(\n testNames = viewModel.testNames,\n onTestNameChanged = { newTestName ->\n viewModel.onTestNameChanged(newTestName)\n }\n )\n }\n\n }\n\n }\n }\n }\n\n Br()\n val chunkedCharts = remember(fullChartsList) { fullChartsList.chunked(2) }\n\n\n // 📊 Charts\n for (charts in chunkedCharts) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n for (chart in charts) {\n // 📊 duration chart\n Div(attrs = {\n classes(chart.bsClass)\n }) {\n ChartUi(\n isColorMapEnabled = viewModel.form.isAutoGroupEnabled,\n groupMap = mainCharts.groupMap,\n chart = chart\n )\n }\n }\n }\n }\n }\n }\n\n\n }\n }\n}\n","package page.home\n\nimport androidx.compose.runtime.Stable\nimport androidx.compose.runtime.getValue\nimport androidx.compose.runtime.mutableStateListOf\nimport androidx.compose.runtime.mutableStateOf\nimport androidx.compose.runtime.setValue\nimport components.KEY_UNSAVED_BENCHMARK\nimport components.SavedBenchmarkNode\nimport components.Summary\nimport core.BenchmarkResult\nimport core.InputType\nimport core.toCharts\nimport core.toGenericChart\nimport kotlinx.browser.window\nimport model.ChartsBundle\nimport model.FormData\nimport repo.BenchmarkRepo\nimport repo.FormRepo\nimport utils.DefaultValues\nimport utils.SummaryUtils\n\nexternal fun setTimeout(handler: dynamic, timeout: Int): Int\nexternal fun clearTimeout(timeoutId: Int)\n\n\n@Stable\nclass HomeViewModel(\n private val benchmarkRepo: BenchmarkRepo,\n private val formRepo: FormRepo\n) {\n\n companion object {\n private const val ERROR_GENERIC = \"Something went wrong!\"\n\n // keys\n }\n\n var savedBenchmarks by mutableStateOf>(emptyList())\n private set\n\n // States\n private var currentTestName: String? = null\n\n var testNames = mutableStateListOf()\n private set\n\n var chartsBundle by mutableStateOf(null)\n private set\n\n var errorMsg by mutableStateOf(\"\")\n private set\n\n var isEditableTitleEnabled by mutableStateOf(false)\n private set\n\n var shouldSelectUnsaved by mutableStateOf(false)\n private set\n\n var selectedBlockNameOne by mutableStateOf(null)\n private set\n\n var selectedBlockNameTwo by mutableStateOf(null)\n private set\n\n var blockNames = mutableStateListOf()\n private set\n\n var summaries = mutableStateListOf()\n private set\n\n var inputType by mutableStateOf(null)\n private set\n\n var unit by mutableStateOf(\"\")\n private set\n\n var bestAggSummary by mutableStateOf(null)\n private set\n\n var worstAggSummary by mutableStateOf(null)\n private set\n\n var form by mutableStateOf(\n formRepo.getFormData() ?: FormData(\n DefaultValues.form,\n isTestNameDetectionEnabled = false,\n isAutoGroupEnabled = false\n )\n )\n private set\n\n init {\n refreshBenchmarks()\n }\n\n\n private fun refreshBenchmarks() {\n savedBenchmarks = benchmarkRepo.getSavedBenchmarks()\n }\n\n // Normal fields\n private val fullBenchmarkResults = mutableListOf()\n\n\n var timeoutId: Int? = null\n fun debounce(func: () -> Unit, delay: Int) {\n timeoutId?.let { clearTimeout(it) }\n timeoutId = setTimeout({\n func()\n }, delay)\n }\n\n fun onFormChanged(newForm: FormData, shouldSelectUnsaved: Boolean = true) {\n form = newForm\n formRepo.saveFormData(newForm)\n\n debounce(\n func = {\n\n this.shouldSelectUnsaved = shouldSelectUnsaved\n try {\n // clearing old data\n fullBenchmarkResults.clear()\n testNames.clear()\n blockNames.clear()\n\n // refill\n val (inputType, benchmarkResults) = BenchmarkResult.parse(newForm) ?: run {\n println(\"failed to parse form\")\n reset()\n errorMsg = \"\"\n return@debounce\n }\n this.inputType = inputType\n fullBenchmarkResults.addAll(benchmarkResults)\n\n when (inputType) {\n InputType.GENERIC -> {\n val newCharts = fullBenchmarkResults.toGenericChart()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\n unit = \"\"\n }\n\n InputType.NORMAL_BENCHMARK -> {\n\n testNames.addAll(fullBenchmarkResults.mapNotNull { it.testName }.toSet())\n\n val currentTestName = testNames.find { it == currentTestName } ?: testNames.firstOrNull()\n val filteredBenchmarkResult = if (currentTestName != null) {\n fullBenchmarkResults.filter { it.testName == currentTestName }\n } else {\n fullBenchmarkResults\n }\n val newCharts = filteredBenchmarkResult.toCharts()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\n unit = \"ms\"\n }\n }\n\n\n errorMsg = \"\"\n } catch (e: Throwable) {\n e.printStackTrace()\n errorMsg = e.message ?: ERROR_GENERIC\n reset()\n }\n },\n 300\n )\n }\n\n private fun reset() {\n selectedBlockNameOne = null\n selectedBlockNameTwo = null\n blockNames.clear()\n chartsBundle = null\n summaries.clear()\n bestAggSummary = null\n worstAggSummary = null\n updateSummary()\n }\n\n private fun calcAggSummary() {\n val isGeneric = inputType == InputType.GENERIC\n val newAggSums = mutableListOf()\n for (blockNameOuter in blockNames) {\n for (blockNameInner in blockNames) {\n if(blockNameOuter==blockNameInner){\n continue\n }\n chartsBundle?.charts?.mapNotNull { chart ->\n SummaryUtils.getSummaryOrThrow(\n isGeneric = isGeneric,\n chart = chart,\n selectedBlockNameOne = blockNameOuter,\n selectedBlockNameTwo = blockNameInner\n )\n }?.let { summaries ->\n var greenSum = 0\n var redSum = 0\n for (summary in summaries) {\n for (node in summary.nodes) {\n when {\n node.diff > 0 -> {\n // bad\n redSum += node.diff.toInt()\n }\n node.diff < 0 -> {\n // green\n greenSum -= node.diff.toInt()\n }\n }\n }\n }\n newAggSums.add(AggSummary(blockNameOuter, blockNameInner, sumOfGreen = greenSum, sumOfRed = redSum))\n }\n }\n }\n\n bestAggSummary = newAggSums.maxByOrNull { it.sumOfGreen }\n worstAggSummary = newAggSums.maxByOrNull { it.sumOfRed }\n }\n\n private fun onChartsBundleUpdated(chartsBundle: ChartsBundle) {\n blockNames.clear()\n val blockNames = chartsBundle.groupMap.wordColorMap.keys.toList()\n this.blockNames.addAll(blockNames)\n if (blockNames.size >= 2) {\n selectedBlockNameOne = blockNames[0]\n selectedBlockNameTwo = blockNames[1]\n }else {\n selectedBlockNameOne = null\n selectedBlockNameTwo = null\n }\n updateSummary()\n }\n\n private fun updateSummary() {\n // Calculating duration summary\n summaries.clear()\n\n val isGeneric = inputType == InputType.GENERIC\n val allSummaries = chartsBundle?.charts?.mapNotNull { chart ->\n SummaryUtils.getSummaryOrThrow(\n isGeneric = isGeneric,\n chart = chart,\n selectedBlockNameOne = selectedBlockNameOne,\n selectedBlockNameTwo = selectedBlockNameTwo\n )\n }\n summaries.addAll(allSummaries ?: emptyList())\n calcAggSummary()\n }\n\n fun onTestNameChanged(newTestName: String) {\n try {\n currentTestName = newTestName\n val filteredBenchmarkResult = if (currentTestName != null) {\n fullBenchmarkResults.filter { it.testName == currentTestName }\n } else {\n fullBenchmarkResults\n }\n val newCharts = filteredBenchmarkResult.toCharts()\n chartsBundle = newCharts\n updateSummary()\n errorMsg = \"\"\n } catch (e: Throwable) {\n summaries.clear()\n e.printStackTrace()\n errorMsg = e.message ?: ERROR_GENERIC\n }\n }\n\n fun onTitleDoubleClicked() {\n isEditableTitleEnabled = true\n }\n\n fun onToggleAutoGroupClicked() {\n onFormChanged(form.copy(isAutoGroupEnabled = !form.isAutoGroupEnabled))\n }\n\n fun onToggleTestNameDetectionClicked() {\n onFormChanged(form.copy(isTestNameDetectionEnabled = !form.isTestNameDetectionEnabled))\n }\n\n fun onSaveClicked(formData: FormData) {\n val bName = window.prompt(\"Name: \")\n if (bName.isNullOrBlank()) {\n return\n }\n\n val isExist = savedBenchmarks.find { it.key == bName } != null\n if (isExist) {\n window.alert(\"Bruhh.. $bName exists! Try something else\")\n return\n }\n\n // Appending new benchmark\n val newList = savedBenchmarks.toMutableList().apply {\n add(\n index = 0,\n element = SavedBenchmarkNode(\n key = bName, value = formData.data\n )\n )\n }\n benchmarkRepo.saveBenchmarks(newList)\n shouldSelectUnsaved = false\n refreshBenchmarks()\n }\n\n fun onLoadBenchmarkClicked(savedBenchmarkNode: SavedBenchmarkNode) {\n val newForm = form.copy(data = savedBenchmarkNode.value)\n onFormChanged(newForm, shouldSelectUnsaved = false)\n }\n\n fun onDeleteBenchmarkClicked(deletedBenchmarkNode: SavedBenchmarkNode) {\n val isYes = window.confirm(\n \"Do you want to delete `${deletedBenchmarkNode.key}` ?\"\n )\n\n if (isYes) {\n benchmarkRepo.delete(deletedBenchmarkNode)\n shouldSelectUnsaved = true\n refreshBenchmarks()\n }\n }\n\n fun onSavedBenchmarkChanged(key: String) {\n shouldSelectUnsaved = key == KEY_UNSAVED_BENCHMARK\n if (shouldSelectUnsaved) {\n val newForm = formRepo.getFormData() ?: form\n onFormChanged(newForm, shouldSelectUnsaved = false)\n }\n }\n\n fun onBlockNameOneChanged(newBlockName: String) {\n selectedBlockNameOne = newBlockName\n updateSummary()\n }\n\n fun onBlockNameTwoChanged(newBlockName: String) {\n selectedBlockNameTwo = newBlockName\n updateSummary()\n }\n\n fun onBestClicked() {\n selectedBlockNameOne = bestAggSummary?.blockOneName\n selectedBlockNameTwo = bestAggSummary?.blockTwoName\n updateSummary()\n }\n\n fun onWorstClicked() {\n selectedBlockNameOne = worstAggSummary?.blockOneName\n selectedBlockNameTwo = worstAggSummary?.blockTwoName\n updateSummary()\n }\n}\n\ndata class AggSummary(\n val blockOneName: String,\n val blockTwoName: String,\n val sumOfGreen: Int,\n val sumOfRed: Int\n)\n","package repo\n\nimport components.SavedBenchmarkNode\nimport components.SavedBenchmarks\nimport kotlinx.browser.window\nimport kotlinx.serialization.decodeFromString\nimport kotlinx.serialization.encodeToString\nimport utils.JsonUtils\n\ninterface BenchmarkRepo {\n fun getSavedBenchmarks(): List\n fun saveBenchmarks(newList: List)\n fun delete(deletedBenchmarkNode: SavedBenchmarkNode)\n}\n\nclass BenchmarkRepoImpl : BenchmarkRepo {\n\n companion object {\n private const val KEY_SAVED_BENCHMARKS = \"savedBenchmarks\"\n }\n\n\n override fun getSavedBenchmarks(): List {\n val savedBenchmarksString = window.localStorage.getItem(KEY_SAVED_BENCHMARKS)\n val savedBenchmark = if (savedBenchmarksString == null) {\n // Creating first saved benchmark\n SavedBenchmarks(items = listOf())\n } else {\n println(\"JSON is '$savedBenchmarksString'\")\n try {\n JsonUtils.json.decodeFromString(savedBenchmarksString)\n }catch (e: Exception){\n e.printStackTrace()\n saveBenchmarks(listOf()) // reset\n SavedBenchmarks(items = listOf())\n }\n }\n\n return savedBenchmark.items.toList()\n }\n\n override fun saveBenchmarks(newList: List) {\n val savedBenchmarks = JsonUtils.json.encodeToString(SavedBenchmarks(newList))\n window.localStorage.setItem(KEY_SAVED_BENCHMARKS, savedBenchmarks)\n }\n\n override fun delete(deletedBenchmarkNode: SavedBenchmarkNode) {\n // Appending new benchmark\n val newList = getSavedBenchmarks().toMutableList().apply {\n removeAll { it.key == deletedBenchmarkNode.key }\n }\n saveBenchmarks(newList)\n }\n\n}","package repo\n\nimport kotlinx.browser.window\nimport model.FormData\n\ninterface FormRepo {\n fun saveFormData(newForm: FormData)\n fun getFormData(): FormData?\n}\n\nclass FormRepoImpl : FormRepo {\n companion object {\n private const val KEY_AUTO_FORM_INPUT = \"auto_form_input\"\n private const val KEY_IS_TEST_NAME_DETECTION_ENABLED = \"is_test_name_detection_enabled\"\n private const val KEY_IS_AUTO_GROUP_ENABLED = \"is_auto_group_enabled\"\n }\n\n override fun saveFormData(newForm: FormData) {\n window.localStorage.apply {\n setItem(KEY_AUTO_FORM_INPUT, newForm.data)\n setItem(KEY_IS_TEST_NAME_DETECTION_ENABLED, newForm.isTestNameDetectionEnabled.toString())\n setItem(KEY_IS_AUTO_GROUP_ENABLED, newForm.isAutoGroupEnabled.toString())\n }\n }\n\n override fun getFormData(): FormData? {\n val localStorage = window.localStorage\n val data = localStorage.getItem(KEY_AUTO_FORM_INPUT) ?: return null\n val isTestNameDetectionEnabled = localStorage.getItem(KEY_IS_TEST_NAME_DETECTION_ENABLED).toBoolean()\n val isAutoGroupEnabled = localStorage.getItem(KEY_IS_AUTO_GROUP_ENABLED).toBoolean()\n return FormData(data, isTestNameDetectionEnabled, isAutoGroupEnabled)\n }\n\n}","package utils\n\nobject DefaultValues {\n val form = \"\"\"\n - Before 1\n # first line will be treated as title of the block\n special chars will be stripped from the title\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 40.5, P90 45.8, P95 60.4, P99 80.4\n frameOverrunMs P50 -5.9, P90 7.0, P95 20.1, P99 64.4\n Traces: Iteration 0 1 2 3 4\n\n ## Before 2\n # line breaks are used to separate the block\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 45.5, P90 43.8, P95 58.4, P99 78.4\n frameOverrunMs P50 -6.5, P90 5.4, P95 15.0, P99 60.3\n Traces: Iteration 0 1 2 3 4\n\n After 1\n you can include whatever text you want anywhere you want\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 13.6, P90 21.8, P95 27.5, P99 49.4\n the order doesn't matter\n frameOverrunMs P50 -6.2, P90 7.3, P95 19.5, P99 61.7\n Traces: Iteration 0 1 2 3 4\n\n > After 2\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 13.8, P90 21.9, P95 27.3, P99 53.4\n see.. am some random text\n frameOverrunMs P50 -5.7, P90 7.4, P95 22.4, P99 63.2\n Traces: Iteration 0 1 2 3 4\n\"\"\".trimIndent()\n}","package utils\n\nimport kotlinx.serialization.json.Json\n\nobject JsonUtils {\n val json = Json {\n ignoreUnknownKeys = true\n }\n}",null,null,null,null,"package utils\n\nimport components.Summary\nimport components.SummaryNode\nimport core.SupportedMetrics\nimport model.Chart\nimport kotlin.math.absoluteValue\n\nobject SummaryUtils {\n\n fun getSummaryOrThrow(\n isGeneric: Boolean,\n chart: Chart,\n selectedBlockNameOne: String?,\n selectedBlockNameTwo: String?,\n ): Summary? {\n if (selectedBlockNameOne == null || selectedBlockNameTwo == null) {\n println(\"blank block name detected. skipping summary\")\n return null\n }\n\n val combinedMap = mutableMapOf>()\n val words = listOf(selectedBlockNameOne, selectedBlockNameTwo)\n println(\"words : $words\")\n for (word in words) {\n\n combinedMap[word] =\n chart.dataSets.filterKeys { it.startsWith(word) }.values.map { it.values.toFloatArray() }\n .let { arrays ->\n // Sum\n val newArray = mutableListOf().apply {\n repeat(chart.dataSets.values.first().size) {\n add(0f)\n }\n }\n for (array in arrays) {\n for (i in newArray.indices) {\n newArray[i] = newArray[i] + array[i]\n }\n }\n // Average\n for (i in newArray.indices) {\n newArray[i] = newArray[i] / arrays.size\n }\n newArray\n }\n }\n println(\"combinedMap : ${combinedMap.map { it.value.toList() }}\")\n\n val summaryNodes = mutableListOf()\n val segments = chart.dataSets.values.first().keys.toList()\n println(\"segments: $segments\")\n repeat(segments.size) { index ->\n val segment = segments[index]\n val after = combinedMap[words[1]]?.get(index) ?: 0f\n val before = combinedMap[words[0]]?.get(index) ?: 0f\n println(\"before : '$before' -> after: '$after'\")\n val diff = \"${(after - before).asDynamic().toFixed(2)}\".toFloat()\n val percDiff =\n \"${(((before - after) / before) * 100).asDynamic().toFixed(2)}\".toFloat().absoluteValue\n\n val resultWord = if (diff > 0) \"worse\" else \"better\"\n val symbol = if (diff > 0) \"+\" else \"\"\n val emoji = if (diff > 0) \"❌\" else \"✅\"\n\n summaryNodes.add(\n SummaryNode(\n isGeneric = isGeneric,\n emoji = emoji,\n segment = segment,\n label = words[1],\n percentage = percDiff,\n stateWord = resultWord,\n diff = diff,\n diffSymbol = symbol,\n after = \"${after.asDynamic().toFixed(2)}\".toFloat(),\n before = \"${before.asDynamic().toFixed(2)}\".toFloat()\n )\n )\n }\n val title = if (isGeneric) {\n \"📊$selectedBlockNameOne vs $selectedBlockNameTwo\"\n } else {\n val metricConfig = SupportedMetrics.values().find { it.key == chart.label }\n ?: error(\"Unsupported metric name `${chart.label}`\")\n \"${metricConfig.emoji} ${metricConfig.title}\"\n }\n\n return Summary(title = title, summaryNodes)\n }\n}",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(608);\n"],"names":["root","factory","exports","module","define","amd","this","message","InvalidDataException","Pair","blocks","block","title","lines","line","isHumanLine","parseGenericTitle","blockRows","a","BlockRow","values","toList","first","blockRow","originalValueOrder","currentValueOrder","checkDataIntegrity","createChartTitle","benchmarkResults","BenchmarkResult","chartTitle","parseMultiLineGenericInput","isMachineLine","data","key","transformedList","valueMap","it","toSet","flatten","chartNames","c","chartName","charts","dataSets","ChartsBundle","parseGroupMap","isGeneric","println","titles","mutableListOf","lineColors","randomRgb","newColor","placeholder","rows","textInput","isBlank","type","marginTop","marginLeft","legend","label","borderColor","borderWidth","labels","datasets","plugins","Chart","width","maxWidth","height","maxHeight","fontSize","marginBottom","savedBenchmarks","savedBenchmark","selected","disabled","marginRight","Date","getMilliseconds","lazy","document","createElement","selector","summaries","summary","blockName","badgeClass","postfix","fontWeight","ElementBuilderImplementation","testName","HomeViewModel","BenchmarkRepoImpl","FormRepoImpl","newTestName","chunked","paddingLeft","paddingRight","paddingBottom","chart","updateSummary","chartsBundle","blockNames","emptyList","blockNameOuter","blockNameInner","greenSum","redSum","node","newAggSums","AggSummary","calcAggSummary","inputType","result","listOf","toGenericChart","newCharts","onChartsBundleUpdated","firstOrNull","currentTestName","toCharts","printStackTrace","reset","mutableStateListOf","FormData","refreshBenchmarks","isGenericInput","form","parseGenericInput","isTestName","findMetricKeyOrNull","metricName","InvalidBenchmarkDataException","parseValues","parseTitle","iLine","match","lastOrNull","number","TextNumberLine","destroy","cloneNode","setTimeout","delay","newForm","window","prompt","bName","alert","SavedBenchmarkNode","formData","newList","savedBenchmarkNode","confirm","deletedBenchmarkNode","newBlockName","localStorage","getItem","savedBenchmarksString","SavedBenchmarks","setItem","removeAll","toString","toBoolean","isTestNameDetectionEnabled","selectedBlockNameOne","selectedBlockNameTwo","words","word","toFloatArray","array","newArray","i","segments","combinedMap","g","before","after","diff","summaryNodes","SummaryNode","emoji","segment","percDiff","resultWord","symbol","metricConfig","Summary","register","ArcElement","LineElement","BarElement","PointElement","BarController","BubbleController","DoughnutController","LineController","PieController","PolarAreaController","RadarController","ScatterController","CategoryScale","LinearScale","LogarithmicScale","RadialLinearScale","TimeScale","TimeSeriesScale","Decimation","Filler","Legend","Title","Tooltip","SubTitle","noop","uid","id","isNullOrUndef","value","isArray","Array","Object","prototype","call","slice","isObject","isNumberFinite","Number","isFinite","finiteOrDefault","defaultValue","valueOrDefault","toDimension","dimension","endsWith","parseFloat","callback","fn","args","thisArg","apply","each","loopable","reverse","len","keys","length","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","index","clone$1","source","map","target","create","klen","k","isValidKey","indexOf","_merger","options","tval","sval","merge","sources","merger","mergeIf","_mergerIf","hasOwnProperty","keyResolvers","v","x","o","y","resolveObjectKey","obj","resolver","parts","split","tmp","part","push","_splitKey","_getKeyResolver","_capitalize","str","charAt","toUpperCase","defined","isFunction","setsEqual","b","size","item","has","PI","Math","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","round","almostEquals","niceRange","pow","floor","fraction","isNumber","n","isNaN","epsilon","abs","_setMinAndMaxByKey","property","min","max","toRadians","degrees","toDegrees","radians","_decimalPlaces","e","p","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","sqrt","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","start","end","sameAngleIsFullCircle","s","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","table","cmp","mid","hi","lo","_lookupByKey","last","_rlookupByKey","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","listeners","splice","forEach","_arrayUnique","items","set","Set","add","from","requestAnimFrame","requestAnimationFrame","throttled","updateFn","updateArgs","ticking","rest","_toLeftRightCenter","align","_alignStartEnd","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","count","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","assign","atEdge","t","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","m","d","easeInOutBounce","lim","l","h","p2b","n2b","b2n","n2p","map$1","A","B","C","D","E","F","f","hex","h1","h2","eq","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","w","rgb","rgb2hsl","r","hueValue","calln","hsl2rgb","hue","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","L","K","G","H","I","J","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","names","RGB_RE","to","modHSL","ratio","clone","proto","fromObject","input","functionParse","exec","rgbParse","p1","p2","hwb2rgb","hsv2rgb","hueParse","Color","constructor","ret","unpacked","tkeys","j","ok","nk","replace","parseInt","unpack","transparent","toLowerCase","nameParse","_rgb","_valid","valid","rgbString","undefined","hexString","isShort","alpha","hslString","mix","color","weight","c1","c2","w2","w1","interpolate","rgb1","rgb2","clearer","greyscale","val","opaquer","negate","lighten","darken","saturate","desaturate","rotate","deg","index_esm","isPatternOrGradient","getHoverColor","overrides","descriptors","getScope$1","scope","defaults","_descriptors","animation","backgroundColor","devicePixelRatio","context","platform","getDevicePixelRatio","elements","events","font","family","style","lineHeight","hover","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","mode","intersect","includeInvisible","maintainAspectRatio","onHover","onClick","parsing","responsive","scale","scales","showLine","drawActiveElementsOnTop","describe","get","override","route","name","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","writable","enumerable","local","_scriptable","startsWith","_indexable","_fallback","_measureText","gc","longest","string","textWidth","measureText","_longestText","arrayOfThings","cache","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","resetTransform","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","rect","fill","stroke","_isPointInArea","point","area","margin","left","right","top","bottom","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","text","opts","strokeWidth","strokeColor","translation","fillStyle","textAlign","textBaseline","setRenderOpts","strokeStyle","lineWidth","strokeText","fillText","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","RegExp","FONT_STYLE","toLineHeight","matches","_readValueToProps","props","objProps","read","prop","toTRBL","toTRBLCorners","toPadding","toFont","fallback","console","warn","toFontString","resolve","inputs","info","cacheable","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","_resolve","Symbol","toStringTag","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_keys","_cached","proxy","prefix","readKey","needsSubResolver","createSubResolver","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","getPrototypeOf","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_context","_subProxy","_stack","setContext","receiver","isScriptable","Error","join","delete","_resolveScriptable","isIndexable","arr","filter","_resolveArray","_resolveWithContext","allKeys","configurable","scriptable","indexable","_allKeys","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","parse","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","current","next","d01","d12","s01","s12","fa","fb","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","alphaK","betaK","tauK","squaredMagnitude","monotoneAdjust","delta","iPixel","vPixel","monotoneCompute","splineCurveMonotone","prev","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parentNode","host","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","element","positions","getPositionedStyle","styles","suffix","pos","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","box","touches","offsetX","offsetY","shadowRoot","useOffsetPos","getBoundingClientRect","clientX","clientY","getCanvasPosition","round1","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","passive","addEventListener","removeEventListener","readUsedSize","el","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","formatNumber","num","locale","cacheKey","JSON","stringify","formatter","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","_boundSegment","bounds","startBound","endBound","getSegment","prevValue","inside","subStart","_boundSegments","sub","readStyle","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","styleChanged","prevStyle","animator","_request","_charts","_running","_lastDate","_notify","anims","date","callbacks","numSteps","duration","initial","currentStep","_refresh","_update","now","remaining","running","draw","_active","_total","tick","pop","_getAnims","complete","progress","listen","event","cb","reduce","acc","cur","_duration","stop","cancel","remove","interpolators","boolean","factor","c0","Animation","cfg","currentValue","_fn","_easing","easing","_start","_loop","_target","_prop","_from","_to","_promises","active","update","elapsed","remain","wait","promises","Promise","res","rej","resolved","method","animationOptions","colors","properties","numbers","resize","show","animations","visible","hide","Animations","config","_chart","_properties","configure","animatedProps","getOwnPropertyNames","option","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","all","awaitAll","then","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","stack","dsIndex","singleMode","otherValue","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","shift","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_data","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","dataset","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","_destroy","_dataCheck","adata","convertObjectDataToArray","isExtensible","defineProperty","base","object","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","hidden","createStack","NEGATIVE_INFINITY","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","resolveNamedOptions","freeze","_resolveAnimations","transition","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_sync","_dataChanges","_onDataPush","arguments","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","_cache","$bar","visibleMetas","concat","sort","getAllScaleValues","curr","_length","updateMinAndPrev","ticks","getPixelForTick","parseValue","entry","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","edge","borderSkipped","horizontal","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","iAxisKey","vAxisKey","super","bars","getBasePixel","isHorizontal","ruler","_getRuler","vpixels","head","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","_getStacks","grouped","skipNull","_getStackCount","_getStackIndex","pixels","barThickness","_startPixel","_endPixel","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","Infinity","percent","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","rects","_index_","offset","grid","_value_","beginAtZero","tooltip","innerRadius","outerRadius","getter","_getRotation","_getCircumference","circumference","_getRotationExtents","isDatasetVisible","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","cutout","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","aspectRatio","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","_dataset","_datasetIndex","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","border","lastPoint","updateControlPoints","bind","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","display","circular","pointLabels","_fullLoop","pointPosition","getPointPositionForValue","Element","tooltipPosition","useFinalPosition","getProps","hasValue","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","newTicks","majorStart","majorEnd","ceil","grace","drawBorder","drawOnChartArea","drawTicks","tickLength","tickWidth","tickColor","padding","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkip","autoSkipPadding","labelOffset","minor","major","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","position","reverseAlign","Scale","_margins","paddingTop","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_maxLength","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","init","suggestedMin","suggestedMax","metas","getPadding","getTicks","xLabels","yLabels","beforeLayout","beforeUpdate","margins","tickOpts","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","change","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","ticksLimit","maxTicksLimit","_tickSize","maxScale","maxChart","determineMaxTicks","majorIndices","enabled","getMajorIndices","numMajorIndices","skipMajors","evenMajorSpacing","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","isFullSize","fullSize","_computeLabelSizes","caches","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","createTickContext","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","positionAxisID","limit","step","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","backdrop","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","fillRect","findIndex","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","_layers","tz","z","gz","getSortedVisibleDatasetMetas","axisID","_maxDigits","TypedRegistry","isForType","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","routes","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","unregister","registry","controllers","_typedRegistries","_each","addControllers","addPlugins","addScales","getController","_get","getElement","getPlugin","getScale","removeControllers","removeElements","removePlugins","removeScales","typedRegistry","arg","reg","_getRegistryForType","_exec","itemReg","component","camelMethod","__proto__","DateAdapter","chartOptions","formats","timestamp","amount","unit","startOf","weekday","endOf","members","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","handler","getIntersectItems","isPointInArea","inRange","getNearestItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestCartesianItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","params","layout","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","placed","stackWeight","autoPadding","layouts","addBox","removeBox","layoutItem","minPadding","availableWidth","availableHeight","layoutBoxes","wrapBoxes","wrap","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","vBoxMaxWidth","hBoxMaxHeight","buildStacks","setLayoutDims","updatePos","handleMaxPadding","BasePlatform","acquireContext","releaseContext","getMaximumSize","isAttached","updateConfig","BasicPlatform","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","removeListener","nodeListContains","nodeList","contains","createAttachObserver","observer","MutationObserver","entries","trigger","addedNodes","removedNodes","observe","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","container","clientWidth","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","addListener","DomPlatform","renderHeight","getAttribute","renderWidth","displayWidth","displayHeight","initCanvas","removeAttribute","setAttribute","proxies","$proxies","attach","detach","bbWidth","bbHeight","containerSize","containerStyle","containerBorder","containerPadding","clientHeight","getContainerSize","isConnected","_detectPlatform","OffscreenCanvas","PluginService","_init","notify","hook","_createDescriptors","descriptor","plugin","cancelable","invalidate","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","some","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","error","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","clear","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","onProgress","getCanvas","getElementById","instances","getChart","moveNumericKeys","intKey","userConfig","initialCanvas","existingChart","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","timeout","clearTimeout","debounce","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","render","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","order","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","invalidatePlugins","clipArc","pixelMargin","angleMargin","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStart","outerEnd","innerStart","innerEnd","angleDelta","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","parseBorderRadius$1","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","version","fullCircles","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","inner","lineJoin","drawFullCircleBorders","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","_points","_segments","_pointsUpdated","segmentOptions","findStartAndEnd","chartContext","baseStyle","addStyle","st","dir","p0","p0DataIndex","p1DataIndex","doSplitByStyles","splitByStyles","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","segmentMethod","path","strokePathWithCache","strokePathDirect","inRange$1","hitRadius","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","bar","half","skipOrLimit","skipX","skipY","addNormalRectPath","inflateRect","refRect","outer","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","boundingRects","addRectPath","cleanDecimatedDataset","cleanDecimatedData","plugin_decimation","algorithm","beforeElementsUpdate","xAxis","decimated","getStartAndCountOfVisiblePointsSimplified","threshold","samples","bucketWidth","sampledIndex","endIndex","maxAreaPoint","maxArea","nextA","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","lttbDecimation","minIndex","maxIndex","startIndex","xMin","dx","lastIndex","intermediateIndex1","intermediateIndex2","minMaxDecimation","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","boundary","linePoints","_pointsFromSegments","_shouldApplyFill","_resolveTarget","propagate","visited","_decodeFill","fillOption","parseFillOption","firstCh","decodeTargetIndex","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","unshift","pointValue","firstValue","lastValue","simpleArc","_drawfill","getLineByIndex","sourcePoints","below","getLinesBelow","_buildStackLine","_getTargetValue","computeCircularBoundary","_getTargetPixel","computeLinearBoundary","computeBoundary","lineOpts","above","clipVertical","doFill","clipY","lineLoop","tpoints","targetSegments","tgt","subBounds","fillSources","fillSource","src","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","col","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","cursor","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","onLeave","isListened","hoveredItem","sameItem","plugin_legend","_element","afterEvent","ci","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","WeakMap","plugin_subtitle","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","String","createTooltipItem","getTooltipSize","body","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","opacity","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","getTitle","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","globalAlpha","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","_startValue","_valueRange","_addedLabels","added","addedLabels","addIfString","lastIndexOf","findOrAddLabel","relativeLabelSize","minSpacing","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","maxTicks","stepSize","computeTickLimit","generationOptions","dataRange","precision","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","niceMin","niceMax","numSpaces","rounded","almostWhole","decimalPlaces","generateTicks$1","isMajor","tickVal","_zero","exp","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","updateLimits","limits","hLimits","vLimits","getTextAlignForAngle","yForAngle","pathRadiusLine","getPointPosition","drawingArea","_pointLabels","_pointLabelItems","valueCount","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","plFont","setCenterPoint","extra","outerDistance","pointLabelPosition","buildPointLabelItems","fitWithPointLabels","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","animate","INTERVALS","millisecond","common","steps","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","adapter","_adapter","parser","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","interval","addTick","time","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","_unit","_majorUnit","_offsets","_normalized","displayFormats","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","_tickFormatFunction","minorFormat","majorFormat","offsets","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","registerables","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"benchart.js","mappings":"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","sources":["webpack://benchart/webpack/universalModuleDefinition","webpack://benchart/../../../../../Trace.common.kt","webpack://benchart/../../../../../AtomicFU.kt","webpack://benchart/../../../../../MonotonicFrameClock.kt","webpack://benchart/../../../../../Applier.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Collections.kt","webpack://benchart/../../../../../BroadcastFrameClock.kt","webpack://benchart/../../../../../Composer.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterators.kt","webpack://benchart/../../../../../InspectionTables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Standard.kt","webpack://benchart/../../../../../ListUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sets.kt","webpack://benchart/../../../../../SlotTable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Maps.kt","webpack://benchart/../../../../../BitwiseOperators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Collections.kt","webpack://benchart/../../../../../Trace.kt","webpack://benchart/../../../../../IdentityArrayMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/comparisons/Comparisons.kt","webpack://benchart/../../../../../DerivedState.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MutableCollections.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Preconditions.kt","webpack://benchart/../../../../../Composition.kt","webpack://benchart/../../../../../IdentityScopeMap.kt","webpack://benchart/../../../../../IdentityArraySet.kt","webpack://benchart/../../../../../Synchronization.kt","webpack://benchart/../../../../../CompositionContext.kt","webpack://benchart/../../../../../CompositionLocal.kt","webpack://benchart/../../../../../Effects.kt","webpack://benchart/../../../../../JoinedKey.kt","webpack://benchart/../../../../../MovableContent.kt","webpack://benchart/../../../../../OpaqueKey.kt","webpack://benchart/../../../../../RecomposeScopeImpl.kt","webpack://benchart/../../../../../Recomposer.kt","webpack://benchart/../../../../../Synchronized.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Result.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/Continuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sequences.kt","webpack://benchart/../../../../../runtime/coroutineInternalJS.kt","webpack://benchart/../../../../../Snapshot.kt","webpack://benchart/../../../../../extensions.kt","webpack://benchart/../../../../../src/generated/_ArraysJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/dynamic.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/math.kt","webpack://benchart/../../../../../builtins/Library.kt","webpack://benchart/../../../../../SnapshotMutationPolicy.kt","webpack://benchart/../../../../../SnapshotState.kt","webpack://benchart/../../../../../ActualJs.js.kt","webpack://benchart/../../../../../Stack.kt","webpack://benchart/../../../../../ValueHolders.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Lazy.kt","webpack://benchart/../../../../../IdentityArrayIntMap.kt","webpack://benchart/../../../../../AbstractListIterator.kt","webpack://benchart/../../../../../AbstractPersistentList.kt","webpack://benchart/../../../../../BufferIterator.kt","webpack://benchart/../../../../../PersistentVector.kt","webpack://benchart/../../../../../PersistentVectorBuilder.kt","webpack://benchart/../../../../../runtime/kotlinHacks.kt","webpack://benchart/../../../../../PersistentVectorIterator.kt","webpack://benchart/../../../../../PersistentVectorMutableIterator.kt","webpack://benchart/../../../../../SmallPersistentVector.kt","webpack://benchart/../../../../../TrieIterator.kt","webpack://benchart/../../../../../Utils.kt","webpack://benchart/../../../../../PersistentHashMap.kt","webpack://benchart/../../../../../PersistentHashMapContentIterators.kt","webpack://benchart/../../../../../PersistentHashMapContentViews.kt","webpack://benchart/../../../../../TrieNode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/HashCode.kt","webpack://benchart/../../../../../PersistentOrderedSet.kt","webpack://benchart/../../../../../PersistentOrderedSetIterator.kt","webpack://benchart/../../../../../ComposableLambda.kt","webpack://benchart/../../../../../SnapshotDoubleIndexHeap.kt","webpack://benchart/../../../../../SnapshotIdSet.kt","webpack://benchart/../../../../../SnapshotStateList.kt","webpack://benchart/../../../../../SnapshotStateMap.kt","webpack://benchart/../../../../../","webpack://benchart/../../../../../Composer.js.kt","webpack://benchart/../../../../../ComposableLambda.js.kt","webpack://benchart/../../../../../CancellableContinuation.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Arrays.kt","webpack://benchart/../../../../../ListImplementation.kt","webpack://benchart/../../../../../ActualJsBrowser.js.kt","webpack://benchart/../../../../../Composables.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/BenchmarkResult.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/regex/RegexExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/numberConversions.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/ChartsTransformers.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Ranges.kt","webpack://benchart/../../../../src/commonMain/kotlin/core/TextNumberLine.kt","webpack://benchart/../../../../src/commonMain/kotlin/model/Chart.kt","webpack://benchart/../../../../src/commonMain/kotlin/model/FormData.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/AutoFormUi.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/AutoGroupToggle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/ChartUi.kt","webpack://benchart/../../../../src/jsMain/kotlin/Utils.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections.kt","webpack://benchart/../../../../src/jsMain/kotlin/chartjs/Type.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/EditableTitle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Error.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Heading.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/SavedBenchmarkNode.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/SavedBenchmarksDropDown.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/Summary.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/TestNameDetectionToggle.kt","webpack://benchart/../../../../src/jsMain/kotlin/components/TestNames.kt","webpack://benchart/../../../../src/jsMain/kotlin/main.kt","webpack://benchart/../../../../src/jsMain/kotlin/page/home/HomePage.kt","webpack://benchart/../../../../src/jsMain/kotlin/page/home/HomeViewModel.kt","webpack://benchart/../../../../src/jsMain/kotlin/repo/BenchmarkRepo.kt","webpack://benchart/../../../../src/jsMain/kotlin/repo/FormRepo.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/DefaultValues.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/JsonUtils.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/string.kt","webpack://benchart/../../../../../SerialFormat.kt","webpack://benchart/../../../../../Serializers.kt","webpack://benchart/../../../../../Platform.common.kt","webpack://benchart/../../../../src/jsMain/kotlin/utils/SummaryUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Maps.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContext.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_OneToManyTitlecaseMappings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Char.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/char.kt","webpack://benchart/../../../../../src/generated/_TitlecaseMappings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/CharCode.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Sequences.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Strings.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractIterator.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractList.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractMap.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractSet.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/IndexedValue.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/Iterables.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/SequenceBuilder.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/SlidingWindow.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/CoroutineContextImpl.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/intrinsics/Intrinsics.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/internal/progressionUtil.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/random/Random.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/random/XorWowRandom.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/PrimitiveRanges.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/ProgressionIterators.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Progressions.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Appendable.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/Indent.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringNumberConversions.kt","webpack://benchart/../../../../../runtime/long.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/stringsCode.kt","webpack://benchart/../../../../../runtime/noPackageHacks.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/time/Duration.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/text/StringBuilder.kt","webpack://benchart/../../../../../src/generated/_ComparisonsJs.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/time/DurationUnit.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/DeepRecursive.kt","webpack://benchart/../../../../../runtime/typeCheckUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/util/Tuples.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UByte.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UByteArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UInt.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UIntArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/ULong.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UnsignedUtils.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/ULongArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShort.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UShortArray.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/unsigned/src/kotlin/UStrings.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/runtime/primitiveCompanionObjects.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableCollection.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableList.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/AbstractMutableSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/ArrayList.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/ArraySorting.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/HashMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/HashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/InternalHashCodeMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/LinkedHashSet.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/console.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/coroutines/SafeContinuationJs.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/coroutines/cancellation/CancellationException.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/numbers.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/JsClass.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KClassImpl.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KTypeImpl.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/primitives.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/reflection.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/regexp.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/StringBuilderJs.kt","webpack://benchart/../../../../../src/generated/_WhitespaceChars.kt","webpack://benchart/../../../../../src/generated/_DigitChars.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/text/regex.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/throwableExtensions.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/time/DurationUnit.kt","webpack://benchart/../../../../../builtins/Char.kt","webpack://benchart/../../../../../builtins/Enum.kt","webpack://benchart/../../../../../runtime/arrays.kt","webpack://benchart/../../../../../runtime/bitUtils.kt","webpack://benchart/../../../../../runtime/charSequence.kt","webpack://benchart/../../../../../runtime/collectionsHacks.kt","webpack://benchart/../../../../../runtime/compareTo.kt","webpack://benchart/../../../../../runtime/coreRuntime.kt","webpack://benchart/../../../../../runtime/hacks.kt","webpack://benchart/../../../../../runtime/longjs.kt","webpack://benchart/../../../../../runtime/numberConversion.kt","webpack://benchart/../../../../../runtime/rangeTo.kt","webpack://benchart/../../../../../runtime/reflectRuntime.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/js.arrays/fill.kt","webpack://benchart/../../../../../src/generated/_CharCategories.kt","webpack://benchart/../../../../../src/generated/_LetterChars.kt","webpack://benchart/../../../../../src/generated/_OtherLowercaseChars.kt","webpack://benchart/../../../../../src/kotlin/coroutines_13/CoroutineImpl.kt","webpack://benchart/../../../../../src/kotlin/coroutines_13/IntrinsicsJs.kt","webpack://benchart/../../../../../src/kotlin/exceptions.kt","webpack://benchart/../../../../../src/kotlin/jsOperators.kt","webpack://benchart/../../../../../src/kotlin/text/numberConversions_js-ir.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/AbstractCollection.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/PrimitiveIterators.kt","webpack://benchart/../../../../../jsMainSources/core/builtins/src/kotlin/Unit.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/EqualityComparator.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/collections/InternalMap.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/KTypeHelpers.kt","webpack://benchart/../../../../../src/kotlin/reflection_js-ir.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/collections/MapWithDefault.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_Sets.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/coroutines/ContinuationInterceptor.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/src/kotlin/ranges/Ranges.kt","webpack://benchart/../../../../../SerialDescriptor.kt","webpack://benchart/../../../../../Decoding.kt","webpack://benchart/../../../../../Encoding.kt","webpack://benchart/../../../../../PluginHelperInterfaces.kt","webpack://benchart/../../../../../PolymorphicSerializer.kt","webpack://benchart/../../../../../ContextAware.kt","webpack://benchart/../../../../../AbstractPolymorphicSerializer.kt","webpack://benchart/../../../../../SerializationExceptions.kt","webpack://benchart/../../../../../Platform.kt","webpack://benchart/../../../../../Primitives.kt","webpack://benchart/../../../../../BuiltinSerializers.kt","webpack://benchart/../../../../../SerializersCache.kt","webpack://benchart/../../../../../SerialDescriptors.kt","webpack://benchart/../../../../../SerialKinds.kt","webpack://benchart/../../../../../BuiltInSerializers.kt","webpack://benchart/../../../../../CollectionDescriptors.kt","webpack://benchart/../../../../../CollectionSerializers.kt","webpack://benchart/../../../../../ElementMarker.kt","webpack://benchart/../../../../../InlineClassDescriptor.kt","webpack://benchart/../../../../../NoOpEncoder.kt","webpack://benchart/../../../../../NullableSerializer.kt","webpack://benchart/../../../../../ObjectSerializer.kt","webpack://benchart/../../../../../PluginGeneratedSerialDescriptor.kt","webpack://benchart/../../../../../PrimitiveArraysSerializers.kt","webpack://benchart/../../../../../Tagged.kt","webpack://benchart/../../../../../Tuples.kt","webpack://benchart/../../../../../ValueClasses.kt","webpack://benchart/../../../../../SerializersModule.kt","webpack://benchart/../../../../../SerializersModuleBuilders.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/kotlin/reflect/AssociatedObjects.kt","webpack://benchart/../../../../../AbstractDecoder.kt","webpack://benchart/../../../../../AbstractEncoder.kt","webpack://benchart/../../../../../commonMainSources/libraries/stdlib/common/src/generated/_UArrays.kt","webpack://benchart/../../../../../JsonInternalDependencies.kt","webpack://benchart/../../../../../PluginExceptions.kt","webpack://benchart/../../../../../SerializersModuleCollector.kt","webpack://benchart/../../../../../Json.kt","webpack://benchart/../../../../../JsonConfiguration.kt","webpack://benchart/../../../../../JsonElement.kt","webpack://benchart/../../../../../StringOps.kt","webpack://benchart/../../../../../JsonElementSerializers.kt","webpack://benchart/../../../../../Composers.kt","webpack://benchart/../../../../../JsonElementMarker.kt","webpack://benchart/../../../../../JsonExceptions.kt","webpack://benchart/../../../../../AbstractJsonLexer.kt","webpack://benchart/../../../../../JsonNamesMap.kt","webpack://benchart/../../../../../JsonPath.kt","webpack://benchart/../../../../../JsonStreams.kt","webpack://benchart/../../../../../StreamingJsonEncoder.kt","webpack://benchart/../../../../../JsonTreeReader.kt","webpack://benchart/../../../../../Polymorphic.kt","webpack://benchart/../../../../../TreeJsonEncoder.kt","webpack://benchart/../../../../../TreeJsonDecoder.kt","webpack://benchart/../../../../../PolymorphismValidator.kt","webpack://benchart/../../../../../SchemaCache.kt","webpack://benchart/../../../../../StreamingJsonDecoder.kt","webpack://benchart/../../../../../WriteMode.kt","webpack://benchart/../../../../../StringJsonLexer.kt","webpack://benchart/../../../../../JsonSchemaCache.kt","webpack://benchart/../../../../../JsonToStringWriter.kt","webpack://benchart/../../../../../createMapForCache.kt","webpack://benchart/../../../../../Job.kt","webpack://benchart/../../../../../AbstractCoroutine.kt","webpack://benchart/../../../../../Builders.common.kt","webpack://benchart/../../../../../CoroutineContext.kt","webpack://benchart/../../../../../DispatchedTask.kt","webpack://benchart/../../../../../CancellableContinuationImpl.kt","webpack://benchart/../../../../../CompletionHandler.kt","webpack://benchart/../../../../../AtomicFU.common.kt","webpack://benchart/../../../../../CompletionState.kt","webpack://benchart/../../../../../CoroutineDispatcher.kt","webpack://benchart/../../../../../CoroutineExceptionHandler.kt","webpack://benchart/../../../../../EventLoop.common.kt","webpack://benchart/../../../../../Exceptions.common.kt","webpack://benchart/../../../../../JobSupport.kt","webpack://benchart/../../../../../Concurrent.kt","webpack://benchart/../../../../../LinkedList.kt","webpack://benchart/../../../../../MainCoroutineDispatcher.kt","webpack://benchart/../../../../../Supervisor.kt","webpack://benchart/../../../../../Unconfined.kt","webpack://benchart/../../../../../StateFlow.kt","webpack://benchart/../../../../../AbstractSharedFlow.kt","webpack://benchart/../../../../../NullSurrogate.kt","webpack://benchart/../../../../../ArrayQueue.kt","webpack://benchart/../../../../../DispatchedContinuation.kt","webpack://benchart/../../../../../ThreadContext.kt","webpack://benchart/../../../../../Scopes.kt","webpack://benchart/../../../../../Symbol.kt","webpack://benchart/../../../../../Cancellable.kt","webpack://benchart/../../../../../Undispatched.kt","webpack://benchart/../../../../../Window.kt","webpack://benchart/../../../../../CoroutineExceptionHandlerImpl.kt","webpack://benchart/../../../../../Debug.kt","webpack://benchart/../../../../../Dispatchers.kt","webpack://benchart/../../../../../EventLoop.kt","webpack://benchart/../../../../../Exceptions.kt","webpack://benchart/../../../../../JSDispatcher.kt","webpack://benchart/../../../../../StackTraceRecovery.kt","webpack://benchart/../../../../../ThreadLocal.kt","webpack://benchart/../../../../../CoroutineStart.kt","webpack://benchart/../../../../../ProbesSupport.kt","webpack://benchart/../../../../../CompletionHandler.common.kt","webpack://benchart/../../../../../SchedulerTask.kt","webpack://benchart/../../../../../CoroutineScope.kt","webpack://benchart/../../../../../DomApplier.kt","webpack://benchart/../../../../../GlobalSnapshotManager.kt","webpack://benchart/../../../../../JsMicrotasksDispatcher.kt","webpack://benchart/../../../../../jsMainSources/libraries/stdlib/js/src/org.w3c/org.w3c.dom.kt","webpack://benchart/../../../../../renderComposable.kt","webpack://benchart/../../../../../Attrs.kt","webpack://benchart/../../../../../InternalControlledInputUtils.kt","webpack://benchart/../../../../../AttrsScope.kt","webpack://benchart/../../../../../EventsListenerScope.kt","webpack://benchart/../../../../../PredefinedAttrValues.kt","webpack://benchart/../../../../../SyntheticEventListener.kt","webpack://benchart/../../../../../InputAttrsScope.kt","webpack://benchart/../../../../../SelectAttrsScope.kt","webpack://benchart/../../../../../TextAreaAttrsScope.kt","webpack://benchart/../../../../../CSSUnits.kt","webpack://benchart/../../../../../StyleScope.kt","webpack://benchart/../../../../../Base.kt","webpack://benchart/../../../../../ElementScope.kt","webpack://benchart/../../../../../Elements.kt","webpack://benchart/../../../../../SyntheticChangeEvent.kt","webpack://benchart/../../../../../SyntheticEvent.kt","webpack://benchart/../../../../../SyntheticInputEvent.kt","webpack://benchart/../../../../../SyntheticMouseEvent.kt","webpack://benchart/../../../../../StylePropertyValue.kt","webpack://benchart/../../../../../text.kt","webpack://benchart/../../../../../box.kt","webpack://benchart/../../../../../margin.kt","webpack://benchart/../../../../../padding.kt","webpack://benchart/../../node_modules/chart.js/dist/chunks/helpers.segment.mjs","webpack://benchart/../../node_modules/chart.js/dist/chart.mjs","webpack://benchart/webpack/bootstrap","webpack://benchart/webpack/runtime/define property getters","webpack://benchart/webpack/runtime/hasOwnProperty shorthand","webpack://benchart/webpack/runtime/make namespace object","webpack://benchart/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"benchart\"] = factory();\n\telse\n\t\troot[\"benchart\"] = factory();\n})(this, () => {\nreturn ",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"package core\n\nimport model.FormData\n\nopen class InvalidDataException(message: String?) : Throwable(message)\nclass InvalidBenchmarkDataException(message: String?) : InvalidDataException(message)\nclass InvalidGenericDataException(message: String?) : InvalidDataException(message)\n\ndata class BlockRow(\n val title: String,\n val data: Map\n)\n\nenum class SupportedMetrics(\n val key: String,\n val emoji: String,\n val title: String\n) {\n Duration(\n emoji = \"⏱\",\n key = \"frameDurationCpuMs\",\n title = \"Duration Summary\"\n ),\n Overrun(\n emoji = \"🏃🏻‍♂️\",\n key = \"frameOverrunMs\",\n title = \"Overrun Summary\"\n ),\n InitialDisplay(\n emoji = \"🌘\",\n key = \"timeToInitialDisplayMs\",\n title = \"Initial Display Summary\"\n ),\n FullDisplay(\n emoji = \"🌕\",\n key = \"timeToFullDisplayMs\",\n title = \"Full Display Summary\"\n ),\n}\n\nenum class InputType {\n GENERIC,\n NORMAL_BENCHMARK\n}\n\ndata class BenchmarkResult(\n val title: String,\n val testName: String?,\n val blockRows: List,\n) {\n companion object {\n\n private val metricKeys = SupportedMetrics.values().map { it.key }\n\n private val machineLineRegEx = \"^(Traces|${metricKeys.joinToString(separator = \"|\")}).+\".toRegex()\n private val titleStripRegEx = \"\\\\W+\".toRegex()\n private val genericTitleStripRegEx = \"\\\\W+\".toRegex()\n private val testNameRegex = \"[A-Z].*_[a-z].*\".toRegex()\n\n fun parse(form: FormData): Pair>? {\n\n val blocks = form.data\n .split(\"\\n\").joinToString(separator = \"\\n\") { it.trim() }\n .split(\"^\\\\s+\".toRegex(RegexOption.MULTILINE)).map { it.trim() }\n .filter { it.isNotBlank() }\n\n println(\"parsing input...\")\n if(blocks.isEmpty()) return null\n if (form.isGenericInput()) return parseGenericInput(blocks)\n\n println(\"parsing machine generated benchmark input...\")\n val benchmarkResults = mutableListOf()\n\n for ((index, block) in blocks.withIndex()) {\n println(\"block: '$block'\")\n val lines = block.split(\"\\n\").map { it.trim() }\n var title: String? = null\n var testName: String? = null\n val blockRows = mutableListOf()\n for (line in lines) {\n\n if (title == null && isHumanLine(line)) {\n title = line\n }\n\n\n\n if (form.isTestNameDetectionEnabled && isTestName(line)) {\n if (testName != null && blockRows.isNotEmpty()) {\n\n if (title == null) {\n title = \"benchmark $index $testName\"\n }\n\n // We already have an unsaved testData, so let's save it\n benchmarkResults.add(\n BenchmarkResult(\n title = title,\n testName = testName,\n blockRows = blockRows\n )\n )\n\n blockRows.clear()\n }\n\n testName = line\n }\n\n val metricName = line.findMetricKeyOrNull()\n if (metricName != null) {\n val isMetricAlreadyAdded = blockRows.find { it.title == metricName } != null\n if (isMetricAlreadyAdded) {\n throw InvalidBenchmarkDataException(\"Two $metricName found in block ${index + 1}. Expected only one\")\n }\n blockRows.add(\n BlockRow(\n title = metricName,\n data = parseValues(metricName, line)\n )\n )\n }\n }\n\n if (title == null) {\n title = \"benchmark $index\"\n }\n\n title = parseTitle(title)\n\n if (blockRows.isNotEmpty()) {\n benchmarkResults.add(\n BenchmarkResult(\n title = title,\n testName = testName,\n blockRows = blockRows\n )\n )\n }\n }\n\n return Pair(InputType.NORMAL_BENCHMARK, benchmarkResults)\n }\n\n private fun parseGenericInput(blocks: List): Pair> {\n return Pair(InputType.GENERIC, parseMultiLineGenericInput(blocks))\n }\n\n private fun createChartTitle(blockRows: MutableList): String {\n return blockRows.joinToString(separator = \" vs \") { it.title }\n }\n\n private fun parseMultiLineGenericInput(blocks: List): List {\n val benchmarkResults = mutableListOf()\n val blockRows = mutableListOf()\n for ((index, block) in blocks.withIndex()) {\n val lines = block.split(\"\\n\").map { it.trim() }\n var title: String? = null\n val values = mutableMapOf()\n for (line in lines) {\n\n if (title == null && isHumanLine(line)) {\n title = line\n continue\n }\n\n val textNumberLine = TextNumberLine.parse(line)\n values[parseGenericTitle(textNumberLine.text)] = textNumberLine.number\n }\n\n if (title == null) {\n title = \"benchmark $index\"\n }\n\n title = parseGenericTitle(title)\n\n blockRows.add(\n BlockRow(\n title = title,\n data = values\n )\n )\n }\n\n checkDataIntegrity(blockRows)\n\n val chartTitle = createChartTitle(blockRows)\n\n benchmarkResults.add(\n BenchmarkResult(\n title = chartTitle,\n testName = \"\",\n blockRows = blockRows\n )\n )\n\n return benchmarkResults\n }\n\n private fun checkDataIntegrity(blockRows: List) {\n if (blockRows.size >= 2) {\n val originalValueOrder = blockRows.first().data.keys.toList()\n for ((index, blockRow) in blockRows.withIndex()) {\n if (index == 0) {\n continue\n }\n val currentValueOrder = blockRow.data.keys.toList()\n if (originalValueOrder != currentValueOrder) {\n error(\"Invalid order. Expected '$originalValueOrder', but found '$currentValueOrder'\")\n }\n }\n }\n }\n\n\n private fun isTestName(line: String): Boolean {\n return testNameRegex.matches(line)\n }\n\n private fun parseTitle(title: String): String {\n return title\n .replace(titleStripRegEx, \" \")\n .replace(\"\\\\s{2,}\".toRegex(), \" \")\n .trim()\n }\n\n private fun parseGenericTitle(title: String): String {\n return title\n .replace(genericTitleStripRegEx, \" \")\n .replace(\"\\\\s{2,}\".toRegex(), \" \")\n .trim()\n }\n\n private fun isHumanLine(line: String): Boolean {\n return !isMachineLine(line)\n }\n\n private fun isMachineLine(line: String): Boolean {\n return line.matches(machineLineRegEx)\n }\n\n private fun parseValues(key: String, data: String): Map {\n if (!data.startsWith(key)) {\n error(\"Invalid $key.Expected to start with '$key' but found '$data'\")\n }\n\n val transformedList = data.replace(key, \"\")\n .replace(\"\\\\s+\".toRegex(), \" \")\n .split(\", \")\n // remove commas in numbers\n .map { it.replace(\",\", \"\").trim().split(\" \") }\n\n val valueMap = mutableMapOf()\n for (item in transformedList) {\n valueMap[item[0]] = item[1].toFloat()\n }\n return valueMap\n }\n\n\n private fun String.findMetricKeyOrNull(): String? {\n return metricKeys.find { this.startsWith(it) }\n }\n }\n}\n\n\n\nprivate fun FormData.isGenericInput(): Boolean {\n return !this.data.contains(\n SupportedMetrics.values().joinToString(separator = \"|\", prefix = \"(\", postfix = \")\") { it.key }.toRegex()\n )\n}\n\n",null,null,null,"package core\n\nimport model.Chart\nimport model.ChartsBundle\n\n\nfun List.toCharts(): ChartsBundle {\n val chartNames = this\n .map { result ->\n result.blockRows.map { dataPoint ->\n dataPoint.title\n }\n }\n .flatten()\n .toSet()\n\n val charts = mutableListOf()\n for (chartName in chartNames) {\n // before1 -> {P50=40.5, P90=45.8, P95=60.4, P99=80.4}\n val dataSets = mutableMapOf>()\n for (item in this) {\n dataSets[item.title] = item.blockRows.find { it.title == chartName }?.data ?: emptyMap()\n }\n\n charts.add(\n Chart(\n emoji = SupportedMetrics.values().find { it.key == chartName }?.emoji ?: \"📊\",\n label = chartName, // frameDurationCpuMs, frameOverrunMs, etc\n dataSets = dataSets\n )\n )\n }\n\n val groupMap = parseGroupMap(this, isGeneric = false)\n return ChartsBundle(\n groupMap = groupMap,\n charts = charts\n )\n}\n\n\nfun List.toGenericChart(): ChartsBundle {\n // Generic chart will be always 1\n val result = this.first()\n\n val chart = Chart(\n emoji = \"📊\",\n label = result.title,\n dataSets = mutableMapOf>().apply {\n for(blockRow in result.blockRows){\n put(blockRow.title, blockRow.data)\n }\n }.also {\n println(\"chartSet -> $it\")\n },\n bsClass = \"col-lg-12\"\n )\n\n return ChartsBundle(\n groupMap = parseGroupMap(this, isGeneric = true),\n charts = listOf(\n chart\n )\n )\n}\n\n\ndata class GroupMap(\n val autoGroupMap: Map,\n val wordColorMap: Map\n)\n\nfun parseGroupMap(\n benchmarkResults: List,\n isGeneric : Boolean\n): GroupMap {\n val autoGroupMap = mutableMapOf()\n val titles = if(isGeneric){\n benchmarkResults.flatMap { it.blockRows.map { blockRow -> blockRow.title } }\n }else {\n benchmarkResults.map { it.title }\n }\n println(\"titles: $titles -> ${benchmarkResults.map { it.blockRows }}\")\n val wordColorMap = mutableMapOf()\n // TODO: Add more colors\n val lineColors = mutableListOf(\n \"rgba(255, 99, 132, 1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\",\n )\n for (title in titles) {\n val firstWord = title.split(\" \")[0]\n val color = wordColorMap.getOrPut(firstWord) {\n\n if (lineColors.isEmpty()) {\n lineColors.add(\"rgba(${randomRgb()}, ${randomRgb()}, ${randomRgb()}, 1)\")\n }\n\n val newColor = lineColors.first()\n lineColors.remove(newColor)\n newColor\n }\n autoGroupMap[title] = color\n }\n return GroupMap(\n autoGroupMap = autoGroupMap,\n wordColorMap = wordColorMap\n ).also {\n println(\"groupMap: $it\")\n }\n}\n\nprivate fun randomRgb() = (0..255).random()\n",null,"package core\n\nprivate val digitRegex = \"\\\\d+(.\\\\d+)?\".toRegex()\n\ndata class TextNumberLine(\n val text: String,\n val number: Float\n) {\n companion object {\n private val AVGIZER_REGEX = \"\\\\(input count : .+\\\\)\\$\".toRegex()\n fun parse(iLine: String): TextNumberLine {\n // Quick support for https://theapache64.github.io/avgizer/\n val match = AVGIZER_REGEX.find(iLine)\n val line = if (match != null){\n iLine.replace(match.groupValues.first(), \"\")\n } else {\n iLine\n }\n\n val number = digitRegex.findAll(line)\n .lastOrNull()\n ?.groupValues\n ?.firstOrNull()\n ?: error(\"$line doesn't match the regex '${digitRegex.pattern}'\")\n val numberIndex = line.lastIndexOf(number)\n val newLine = line.substring(0, numberIndex)\n return TextNumberLine(newLine, number.toFloat())\n }\n }\n}","package model\n\nimport core.GroupMap\n\ndata class ChartsBundle(\n val groupMap: GroupMap,\n val charts: List\n)\n\ndata class Chart(\n val emoji: String,\n val label: String,\n // eg format: (before1 -> map { p50 -> 20, p90 -> 30 })\n val dataSets: Map>,\n val bsClass : String = \"col-lg-6\"\n)\n\n\n\n","package model\n\ndata class FormData(\n val data: String,\n val isTestNameDetectionEnabled : Boolean,\n val isAutoGroupEnabled : Boolean\n)\n","package components\n\nimport androidx.compose.runtime.*\nimport kotlinx.browser.window\nimport model.FormData\nimport org.jetbrains.compose.web.attributes.*\nimport org.jetbrains.compose.web.css.marginTop\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n\n\n\n@Composable\nfun FormUi(\n form: FormData,\n shouldSelectUnsaved : Boolean,\n savedBenchmarks: List,\n onFormChanged: (form: FormData) -> Unit,\n onSaveClicked: (form: FormData) -> Unit,\n onSavedBenchmarkChanged: (key :String) -> Unit,\n onLoadBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n onDeleteBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n) {\n\n\n LaunchedEffect(Unit) {\n onFormChanged(form)\n }\n\n H3 {\n Text(\"⌨️ Input\")\n }\n\n Div {\n Form {\n\n key(\"inputForm\") {\n\n SavedBenchmarksDropDown(\n shouldSelectUnsaved = shouldSelectUnsaved,\n savedBenchmarks = savedBenchmarks,\n onSavedBenchmarkChanged =onSavedBenchmarkChanged,\n onLoadBenchmarkClicked = onLoadBenchmarkClicked,\n onDeleteBenchmarkClicked = onDeleteBenchmarkClicked\n )\n\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n\n Label(\n forId = \"benchmark\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Benchmark :\")\n }\n\n TextArea(\n value = form.data\n ) {\n id(\"benchmark\")\n classes(\"form-control\")\n placeholder(value = \"Benchmark data\")\n rows(20)\n onInput { textInput ->\n onFormChanged(form.copy(data = textInput.value))\n }\n }\n }\n\n Button(\n attrs = {\n classes(\"btn\", \"btn-dark\", \"float-end\")\n style {\n marginTop(10.px)\n }\n if (form.data.isBlank()) {\n attr(\"disabled\", \"true\")\n }\n onClick {\n onSaveClicked(form)\n }\n type(ButtonType.Button)\n }\n ) {\n Text(\"💾 SAVE\")\n }\n }\n }\n }\n}\n","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginLeft\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n@Composable\nfun AutoGroup(\n isEnabled: Boolean,\n onButtonClicked: () -> Unit\n) {\n Div(\n attrs = {\n classes(\"form-group\")\n style {\n marginLeft(10.px)\n }\n }\n ) {\n // 🖌 Color map\n\n Label(\n forId = \"colorMap\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Auto Group:\")\n }\n Br()\n Button(\n attrs = {\n id(\"colorMap\")\n classes(\"btn\", if (isEnabled) \"btn-success\" else \"btn-secondary\")\n onClick {\n onButtonClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(if (isEnabled) \"ON\" else \"OFF\")\n }\n }\n}","package components\n\nimport Chart\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.DisposableEffect\nimport chartjs.Type\nimport core.GroupMap\nimport jso\nimport org.jetbrains.compose.web.css.*\nimport org.jetbrains.compose.web.dom.Canvas\nimport org.jetbrains.compose.web.dom.H3\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun ChartUi(\n isColorMapEnabled: Boolean,\n groupMap: GroupMap,\n chart: model.Chart,\n) {\n H3 { Text(\"${chart.emoji} ${chart.label}\") }\n\n // Charts\n Canvas(\n attrs = {\n style {\n width(100.percent)\n maxWidth(100.percent)\n\n height(700.px)\n maxHeight(700.px)\n }\n }\n ) {\n DisposableEffect(chart, isColorMapEnabled) {\n val dataSets = mutableListOf()\n for ((legend, values) in chart.dataSets) {\n\n dataSets.add(\n jso {\n label = legend\n data = values.values.toTypedArray()\n borderColor = if (isColorMapEnabled) {\n groupMap.autoGroupMap[label]\n } else {\n arrayOf(\n \"rgba(255, 99, 132, 1)\",\n \"rgba(54, 162, 235, 1)\",\n \"rgba(255, 206, 86, 1)\",\n \"rgba(75, 192, 192, 1)\",\n \"rgba(153, 102, 255, 1)\",\n \"rgba(255, 159, 64, 1)\"\n )\n }\n borderWidth = 3\n }\n )\n }\n val chart = Chart(scopeElement, jso {\n type = Type.line\n this.data = jso {\n labels = chart.dataSets.values.flatMap { it.keys }.toSet().toTypedArray().also {\n println(\"labels: ${it.toList()}\")\n }\n datasets = dataSets.toTypedArray()\n }\n this.options = jso {\n plugins = jso {\n title = jso {\n display = true\n }\n }\n }\n })\n onDispose {\n chart.destroy()\n }\n }\n }\n\n}","inline fun jso(): T = js(\"({})\")\n\ninline fun jso(builder: T.() -> Unit): T = jso().apply(builder)",null,"package chartjs\n\ninterface Type {\n companion object {\n inline val line: Type get() = Type(\"line\")\n inline val bar: Type get() = Type(\"bar\")\n\n inline val horizontalBar: Type get() = Type(\"horizontalBar\")\n inline val radar: Type get() = Type(\"radar\")\n inline val doughnut: Type get() = Type(\"doughnut\")\n inline val polarArea: Type get() = Type(\"polarArea\")\n inline val bubble: Type get() = Type(\"bubble\")\n inline val pie: Type get() = Type(\"pie\")\n inline val scatter: Type get() = Type(\"scatter\")\n }\n}\n\ninline fun Type(value: String) = value.unsafeCast()","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.InputType\nimport org.jetbrains.compose.web.attributes.placeholder\nimport org.jetbrains.compose.web.css.fontSize\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.Input\nimport org.jetbrains.compose.web.dom.Label\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun EditableTitle() {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Label(\n forId = \"customTitle\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Title :\")\n }\n Input(\n type = InputType.Text,\n ) {\n id(\"customTitle\")\n classes(\"form-control\")\n placeholder(value = \"Custom title goes here\")\n style {\n fontSize(24.px)\n }\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.H4\nimport org.jetbrains.compose.web.dom.Text\n\n@Composable\nfun ErrorUi(message: String) {\n Div(attrs = {\n classes(\"row\")\n }) {\n Div(attrs = {\n classes(\"col-lg-12\")\n }) {\n H4(attrs = {\n classes(\"text-center\")\n }) {\n Text(\"❌ $message\")\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.css.*\nimport org.jetbrains.compose.web.dom.*\n\n\n@Composable\nfun Heading() {\n Div(attrs = {\n classes(\"row\")\n }) {\n Div(attrs = {\n classes(\"col-lg-12\")\n style {\n marginBottom(30.px)\n marginTop(30.px)\n }\n }) {\n H1(attrs = {\n classes(\"text-center\")\n }) { Text(\"📊 benchart\") }\n }\n }\n}","package components\n\nimport kotlinx.serialization.Serializable\n\n@Serializable\ndata class SavedBenchmarkNode(\n val key : String,\n val value : String\n)\n\n@Serializable\ndata class SavedBenchmarks(\n var items : List\n)","package components\n\nimport androidx.compose.runtime.*\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.disabled\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginRight\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\nimport kotlin.js.Date\n\nval KEY_UNSAVED_BENCHMARK = \"unsavedBenchmark_${Date().getMilliseconds()}\"\n\n@Composable\nfun SavedBenchmarksDropDown(\n shouldSelectUnsaved: Boolean,\n savedBenchmarks: List,\n onSavedBenchmarkChanged: (key: String) -> Unit,\n onLoadBenchmarkClicked: (SavedBenchmarkNode) -> Unit,\n onDeleteBenchmarkClicked: (SavedBenchmarkNode) -> Unit\n) {\n\n if (savedBenchmarks.isEmpty()) {\n return\n }\n\n var selectedBenchmark by remember(savedBenchmarks) { mutableStateOf(savedBenchmarks.first()) }\n\n\n Label(\n forId = \"savedBenchmarks\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Load Benchmark :\")\n }\n\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Select(\n attrs = {\n classes(\"form-select\")\n id(\"savedBenchmarks\")\n onChange {\n it.value?.let { benchmarkKey ->\n onSavedBenchmarkChanged(benchmarkKey)\n selectedBenchmark =\n savedBenchmarks.find { benchmark -> benchmark.key == benchmarkKey }!!\n }\n }\n }\n ) {\n for (savedBenchmark in savedBenchmarks) {\n Option(\n value = savedBenchmark.key,\n attrs = {\n if (savedBenchmark.key == selectedBenchmark.key && !shouldSelectUnsaved) {\n selected()\n }\n }\n ) {\n Text(savedBenchmark.key)\n }\n }\n\n Option(\n value = KEY_UNSAVED_BENCHMARK,\n attrs = {\n if (shouldSelectUnsaved) {\n selected()\n }\n }\n ) {\n Text(\"Unsaved benchmark\")\n }\n }\n }\n\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Button(\n attrs = {\n classes(\"btn\", \"btn-primary\")\n style {\n marginRight(10.px)\n }\n onClick {\n onLoadBenchmarkClicked(selectedBenchmark)\n }\n type(ButtonType.Button)\n\n if (shouldSelectUnsaved) {\n disabled()\n }\n }\n ) {\n Text(\"LOAD\")\n }\n\n Button(\n attrs = {\n classes(\"btn\", \"btn-danger\")\n onClick {\n onDeleteBenchmarkClicked(selectedBenchmark)\n }\n type(ButtonType.Button)\n\n if (shouldSelectUnsaved) {\n disabled()\n }\n }\n ) {\n Text(\"DELETE\")\n }\n }\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.key\nimport kotlinx.browser.document\nimport org.jetbrains.compose.web.attributes.AttrsScope\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.fontWeight\nimport org.jetbrains.compose.web.dom.*\nimport org.w3c.dom.Element\nimport org.w3c.dom.HTMLElement\nimport org.w3c.dom.HTMLSpanElement\n\n// P50 : After performed 25% better (-30ms)\nclass SummaryNode(\n val isGeneric: Boolean,\n val emoji: String,\n val segment: String,\n val label: String,\n val percentage: Float,\n val stateWord: String,\n val diff: Float,\n val diffSymbol: String,\n val after: Float,\n val before: Float\n)\n\ndata class Summary(\n val title: String,\n val nodes: List\n)\n\n@Composable\nfun SummaryContainer(\n selector: @Composable () -> Unit,\n summaries: List,\n) {\n\n selector()\n Br()\n\n for (summary in summaries) {\n key(summary.title) {\n SummaryUi(summary.title, summary.nodes)\n Br()\n }\n }\n}\n\n@Composable\nfun SummarySelector(\n bestButtonLabel : String,\n worstButtonLabel : String,\n onBestClicked: () -> Unit,\n onWorstClicked: () -> Unit,\n blockNames: List,\n selectedBlockNameOne: String?,\n selectedBlockNameTwo: String?,\n onBlockOneSelected: (String) -> Unit,\n onBlockTwoSelected: (String) -> Unit,\n) {\n\n Div(\n attrs = {\n classes(\"row\", \"mb-3\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n // Best\n Button(\n attrs = {\n classes(\"btn\", \"btn-outline-dark\", \"btn-sm\")\n onClick {\n onBestClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(bestButtonLabel)\n }\n\n }\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n // Best\n Button(\n attrs = {\n classes(\"btn\", \"btn-outline-dark\", \"btn-sm\")\n onClick {\n onWorstClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(worstButtonLabel)\n }\n }\n\n }\n\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n repeat(2) { index ->\n key(\"block-selector-$index\") {\n Div(\n attrs = {\n classes(\"col\")\n }\n ) {\n Select(\n attrs = {\n classes(\"form-select\")\n onInput {\n it.value?.let { newBlockName ->\n if (index == 0) {\n // first block name\n onBlockOneSelected(newBlockName)\n } else {\n // second block name\n onBlockTwoSelected(newBlockName)\n }\n }\n }\n }\n ) {\n for (blockName in blockNames) {\n Option(\n value = blockName,\n attrs = {\n val selectedBlockName =\n if (index == 0) selectedBlockNameOne else selectedBlockNameTwo\n if (blockName == selectedBlockName) {\n selected()\n }\n }\n ) {\n Text(blockName)\n }\n }\n }\n }\n\n if (index == 0) {\n Div(\n attrs = {\n classes(\"col-auto\")\n }\n ) {\n P {\n Strong {\n Text(\"vs\")\n }\n }\n }\n\n }\n }\n }\n\n }\n\n\n}\n\nprivate open class ElementBuilderImplementation(private val tagName: String) :\n ElementBuilder {\n private val el: Element by lazy { document.createElement(tagName) }\n\n @Suppress(\"UNCHECKED_CAST\")\n override fun create(): TElement = el.cloneNode() as TElement\n}\n\nprivate val Strong: ElementBuilder = ElementBuilderImplementation(\"strong\")\n\n@Composable\nfun Strong(\n attrs: AttrBuilderContext? = null,\n content: ContentBuilder? = null\n) = TagElement(elementBuilder = Strong, applyAttrs = attrs, content = content)\n\n@Composable\nfun SummaryUi(title: String, summary: List) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n H3 { Text(title) }\n Ul {\n summary.forEach { node ->\n Li {\n Text(\"${node.emoji} \")\n // ${node.segment} : ${node.label} performed ${node.percentage}%\n BoldText(\n text = node.segment,\n style = {\n classes(\"text-capitalize\")\n }\n )\n Text(\" : \")\n BoldText(node.label)\n Text(if (node.isGeneric) \" looks \" else \" performed \")\n BoldText(\"${node.percentage}% \")\n val postfix = if (node.isGeneric) \"\" else \"ms\"\n Span(\n attrs = {\n val badgeClass = when {\n node.diff == 0f -> \"secondary\"\n node.diff > 0 -> \"danger\"\n else -> \"success\"\n }\n classes(\"badge\", \"bg-$badgeClass\")\n\n attr(\"data-bs-toggle\", \"tooltip\")\n attr(\"data-bs-placement\", \"top\")\n\n attr(\"title\", \"${node.before}$postfix to ${node.after}$postfix\")\n }\n ) {\n Text(node.stateWord)\n }\n Text(\" (${node.diffSymbol}${node.diff}$postfix)\")\n }\n }\n }\n }\n}\n\n@Composable\nprivate fun BoldText(\n text: String,\n style: (AttrsScope.() -> Unit)? = null\n) {\n Span(\n attrs = {\n style?.invoke(this)\n style {\n fontWeight(\"bold\")\n }\n }\n ) {\n Text(text)\n }\n}\n","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.ButtonType\nimport org.jetbrains.compose.web.attributes.type\nimport org.jetbrains.compose.web.css.marginLeft\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.*\n\n@Composable\nfun TestNameDetectionToggle(\n isEnabled: Boolean,\n onButtonClicked: () -> Unit\n) {\n Div(\n attrs = {\n classes(\"form-group\")\n style {\n marginLeft(10.px)\n }\n }\n ) {\n // 🖌 Color map\n\n Label(\n forId = \"testNameDetection\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Test Name Detection:\")\n }\n Br()\n Button(\n attrs = {\n id(\"testNameDetection\")\n classes(\"btn\", if (isEnabled) \"btn-success\" else \"btn-secondary\")\n onClick {\n onButtonClicked()\n }\n type(ButtonType.Button)\n }\n ) {\n Text(if (isEnabled) \"ON\" else \"OFF\")\n }\n }\n}","package components\n\nimport androidx.compose.runtime.Composable\nimport org.jetbrains.compose.web.attributes.selected\nimport org.jetbrains.compose.web.dom.*\n\n\n@Composable\nfun TestNames(\n testNames: List,\n currentTestName: String? = null,\n onTestNameChanged: (option: String) -> Unit\n){\n if(testNames.isNotEmpty()){\n Div(\n attrs = {\n classes(\"form-group\")\n }\n ) {\n Label(\n forId = \"testNames\",\n attrs = {\n classes(\"form-label\")\n }\n ) {\n Text(\"Test Name :\")\n }\n Select(\n attrs = {\n classes(\"form-select\")\n id(\"testNames\")\n onInput {\n it.value?.let { newTestName ->\n onTestNameChanged(newTestName)\n }\n }\n }\n ) {\n for (testName in testNames) {\n Option(\n value = testName,\n attrs = {\n if (testName == currentTestName) {\n selected()\n }\n }\n ) {\n Text(testName)\n }\n }\n }\n }\n }\n}","import org.jetbrains.compose.web.renderComposable\nimport page.home.HomePageUi\n\nconst val IS_INJECT_DUMMY = true\n\nfun main() {\n\n initChartSettings()\n renderComposable(rootElementId = \"root\") {\n HomePageUi()\n }\n}\n\nprivate fun initChartSettings() {\n Chart.register(\n ArcElement,\n LineElement,\n BarElement,\n PointElement,\n BarController,\n BubbleController,\n DoughnutController,\n LineController,\n PieController,\n PolarAreaController,\n RadarController,\n ScatterController,\n CategoryScale,\n LinearScale,\n LogarithmicScale,\n RadialLinearScale,\n TimeScale,\n TimeSeriesScale,\n Decimation,\n Filler,\n Legend,\n Title,\n Tooltip,\n SubTitle\n )\n}\n","package page.home\n\nimport androidx.compose.runtime.Composable\nimport androidx.compose.runtime.remember\nimport components.AutoGroup\nimport components.ChartUi\nimport components.EditableTitle\nimport components.ErrorUi\nimport components.FormUi\nimport components.Heading\nimport components.SummaryContainer\nimport components.SummarySelector\nimport components.TestNameDetectionToggle\nimport components.TestNames\nimport core.InputType\nimport org.jetbrains.compose.web.css.paddingBottom\nimport org.jetbrains.compose.web.css.paddingLeft\nimport org.jetbrains.compose.web.css.paddingRight\nimport org.jetbrains.compose.web.css.px\nimport org.jetbrains.compose.web.dom.Br\nimport org.jetbrains.compose.web.dom.Div\nimport org.jetbrains.compose.web.dom.Form\nimport org.jetbrains.compose.web.dom.H3\nimport org.jetbrains.compose.web.dom.Text\nimport repo.BenchmarkRepoImpl\nimport repo.FormRepoImpl\n\n@Composable\nfun HomePageUi(\n viewModel: HomeViewModel = remember { HomeViewModel(BenchmarkRepoImpl(), FormRepoImpl()) }\n) {\n Div(\n attrs = {\n classes(\"container-fluid\")\n }\n ) {\n\n // Heading\n Heading()\n\n // Error\n if (viewModel.errorMsg.isNotBlank()) {\n ErrorUi(viewModel.errorMsg)\n }\n\n\n // Main\n Div(attrs = {\n classes(\"row\")\n style {\n paddingLeft(40.px)\n paddingRight(40.px)\n paddingBottom(40.px)\n }\n }) {\n Div(attrs = {\n classes(\"col-lg-4\")\n }) {\n FormUi(\n form = viewModel.form,\n shouldSelectUnsaved = viewModel.shouldSelectUnsaved,\n onFormChanged = viewModel::onFormChanged,\n onSaveClicked = viewModel::onSaveClicked,\n savedBenchmarks = viewModel.savedBenchmarks,\n onSavedBenchmarkChanged = viewModel::onSavedBenchmarkChanged,\n onLoadBenchmarkClicked = viewModel::onLoadBenchmarkClicked,\n onDeleteBenchmarkClicked = viewModel::onDeleteBenchmarkClicked,\n )\n\n Br()\n Br()\n\n SummaryContainer(\n selector = {\n println(\"block size ${viewModel.blockNames.size}\")\n if (viewModel.blockNames.size > 2) {\n SummarySelector(\n bestButtonLabel = \"BEST (-${viewModel.bestAggSummary?.sumOfGreen}${viewModel.unit})\",\n worstButtonLabel = \"WORST (+${viewModel.worstAggSummary?.sumOfRed}${viewModel.unit})\",\n onBestClicked = viewModel::onBestClicked,\n onWorstClicked = viewModel::onWorstClicked,\n blockNames = viewModel.blockNames,\n selectedBlockNameOne = viewModel.selectedBlockNameOne,\n selectedBlockNameTwo = viewModel.selectedBlockNameTwo,\n onBlockOneSelected = viewModel::onBlockNameOneChanged,\n onBlockTwoSelected = viewModel::onBlockNameTwoChanged\n )\n }\n },\n summaries = viewModel.summaries\n )\n }\n\n viewModel.chartsBundle?.charts?.takeIf { it.isNotEmpty() }?.let { fullChartsList ->\n val mainCharts = viewModel.chartsBundle ?: error(\"TSH\")\n Div(\n attrs = {\n classes(\"col-lg-8\")\n }\n ) {\n\n if (viewModel.isEditableTitleEnabled) {\n EditableTitle()\n } else {\n H3(\n attrs = {\n onDoubleClick {\n viewModel.onTitleDoubleClicked()\n }\n }\n ) {\n Text(\"🖥 Output\")\n }\n }\n\n // 🧪 ToolBar\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n Form {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n\n Div(\n attrs = {\n classes(\"col-md-2\")\n }\n ) {\n AutoGroup(\n isEnabled = viewModel.form.isAutoGroupEnabled,\n onButtonClicked = viewModel::onToggleAutoGroupClicked\n )\n }\n\n if (viewModel.inputType == InputType.NORMAL_BENCHMARK) {\n Div(\n attrs = {\n classes(\"col-md-2\")\n }\n ) {\n TestNameDetectionToggle(\n isEnabled = viewModel.form.isTestNameDetectionEnabled,\n onButtonClicked = viewModel::onToggleTestNameDetectionClicked\n )\n }\n }\n\n if (viewModel.testNames.isNotEmpty()) {\n Div(\n attrs = {\n classes(\"col-md-4\")\n }\n ) {\n TestNames(\n testNames = viewModel.testNames,\n onTestNameChanged = { newTestName ->\n viewModel.onTestNameChanged(newTestName)\n }\n )\n }\n\n }\n\n }\n }\n }\n\n Br()\n val chunkedCharts = remember(fullChartsList) { fullChartsList.chunked(2) }\n\n\n // 📊 Charts\n for (charts in chunkedCharts) {\n Div(\n attrs = {\n classes(\"row\")\n }\n ) {\n for (chart in charts) {\n // 📊 duration chart\n Div(attrs = {\n classes(chart.bsClass)\n }) {\n ChartUi(\n isColorMapEnabled = viewModel.form.isAutoGroupEnabled,\n groupMap = mainCharts.groupMap,\n chart = chart\n )\n }\n }\n }\n }\n }\n }\n\n\n }\n }\n}\n","package page.home\n\nimport androidx.compose.runtime.Stable\nimport androidx.compose.runtime.getValue\nimport androidx.compose.runtime.mutableStateListOf\nimport androidx.compose.runtime.mutableStateOf\nimport androidx.compose.runtime.setValue\nimport components.KEY_UNSAVED_BENCHMARK\nimport components.SavedBenchmarkNode\nimport components.Summary\nimport core.BenchmarkResult\nimport core.InputType\nimport core.toCharts\nimport core.toGenericChart\nimport kotlinx.browser.window\nimport model.ChartsBundle\nimport model.FormData\nimport repo.BenchmarkRepo\nimport repo.FormRepo\nimport utils.DefaultValues\nimport utils.SummaryUtils\n\nexternal fun setTimeout(handler: dynamic, timeout: Int): Int\nexternal fun clearTimeout(timeoutId: Int)\n\n\n@Stable\nclass HomeViewModel(\n private val benchmarkRepo: BenchmarkRepo,\n private val formRepo: FormRepo\n) {\n\n companion object {\n private const val ERROR_GENERIC = \"Something went wrong!\"\n\n // keys\n }\n\n var savedBenchmarks by mutableStateOf>(emptyList())\n private set\n\n // States\n private var currentTestName: String? = null\n\n var testNames = mutableStateListOf()\n private set\n\n var chartsBundle by mutableStateOf(null)\n private set\n\n var errorMsg by mutableStateOf(\"\")\n private set\n\n var isEditableTitleEnabled by mutableStateOf(false)\n private set\n\n var shouldSelectUnsaved by mutableStateOf(false)\n private set\n\n var selectedBlockNameOne by mutableStateOf(null)\n private set\n\n var selectedBlockNameTwo by mutableStateOf(null)\n private set\n\n var blockNames = mutableStateListOf()\n private set\n\n var summaries = mutableStateListOf()\n private set\n\n var inputType by mutableStateOf(null)\n private set\n\n var unit by mutableStateOf(\"\")\n private set\n\n var bestAggSummary by mutableStateOf(null)\n private set\n\n var worstAggSummary by mutableStateOf(null)\n private set\n\n var form by mutableStateOf(\n formRepo.getFormData() ?: FormData(\n DefaultValues.form,\n isTestNameDetectionEnabled = false,\n isAutoGroupEnabled = false\n )\n )\n private set\n\n init {\n refreshBenchmarks()\n }\n\n\n private fun refreshBenchmarks() {\n savedBenchmarks = benchmarkRepo.getSavedBenchmarks()\n }\n\n // Normal fields\n private val fullBenchmarkResults = mutableListOf()\n\n\n var timeoutId: Int? = null\n fun debounce(func: () -> Unit, delay: Int) {\n timeoutId?.let { clearTimeout(it) }\n timeoutId = setTimeout({\n func()\n }, delay)\n }\n\n fun onFormChanged(newForm: FormData, shouldSelectUnsaved: Boolean = true) {\n form = newForm\n formRepo.saveFormData(newForm)\n\n debounce(\n func = {\n\n this.shouldSelectUnsaved = shouldSelectUnsaved\n try {\n // clearing old data\n fullBenchmarkResults.clear()\n testNames.clear()\n blockNames.clear()\n\n // refill\n val (inputType, benchmarkResults) = BenchmarkResult.parse(newForm) ?: run {\n println(\"failed to parse form\")\n reset()\n errorMsg = \"\"\n return@debounce\n }\n this.inputType = inputType\n fullBenchmarkResults.addAll(benchmarkResults)\n\n when (inputType) {\n InputType.GENERIC -> {\n val newCharts = fullBenchmarkResults.toGenericChart()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\n unit = \"\"\n }\n\n InputType.NORMAL_BENCHMARK -> {\n\n testNames.addAll(fullBenchmarkResults.mapNotNull { it.testName }.toSet())\n\n val currentTestName = testNames.find { it == currentTestName } ?: testNames.firstOrNull()\n val filteredBenchmarkResult = if (currentTestName != null) {\n fullBenchmarkResults.filter { it.testName == currentTestName }\n } else {\n fullBenchmarkResults\n }\n val newCharts = filteredBenchmarkResult.toCharts()\n chartsBundle = newCharts\n onChartsBundleUpdated(newCharts)\n unit = \"ms\"\n }\n }\n\n\n errorMsg = \"\"\n } catch (e: Throwable) {\n e.printStackTrace()\n errorMsg = e.message ?: ERROR_GENERIC\n reset()\n }\n },\n 300\n )\n }\n\n private fun reset() {\n selectedBlockNameOne = null\n selectedBlockNameTwo = null\n blockNames.clear()\n chartsBundle = null\n summaries.clear()\n bestAggSummary = null\n worstAggSummary = null\n updateSummary()\n }\n\n private fun calcAggSummary() {\n val isGeneric = inputType == InputType.GENERIC\n val newAggSums = mutableListOf()\n for (blockNameOuter in blockNames) {\n for (blockNameInner in blockNames) {\n if(blockNameOuter==blockNameInner){\n continue\n }\n chartsBundle?.charts?.mapNotNull { chart ->\n SummaryUtils.getSummaryOrThrow(\n isGeneric = isGeneric,\n chart = chart,\n selectedBlockNameOne = blockNameOuter,\n selectedBlockNameTwo = blockNameInner\n )\n }?.let { summaries ->\n var greenSum = 0\n var redSum = 0\n for (summary in summaries) {\n for (node in summary.nodes) {\n when {\n node.diff > 0 -> {\n // bad\n redSum += node.diff.toInt()\n }\n node.diff < 0 -> {\n // green\n greenSum -= node.diff.toInt()\n }\n }\n }\n }\n newAggSums.add(AggSummary(blockNameOuter, blockNameInner, sumOfGreen = greenSum, sumOfRed = redSum))\n }\n }\n }\n\n bestAggSummary = newAggSums.maxByOrNull { it.sumOfGreen }\n worstAggSummary = newAggSums.maxByOrNull { it.sumOfRed }\n }\n\n private fun onChartsBundleUpdated(chartsBundle: ChartsBundle) {\n blockNames.clear()\n val blockNames = chartsBundle.groupMap.wordColorMap.keys.toList()\n this.blockNames.addAll(blockNames)\n if (blockNames.size >= 2) {\n selectedBlockNameOne = blockNames[0]\n selectedBlockNameTwo = blockNames[1]\n }else {\n selectedBlockNameOne = null\n selectedBlockNameTwo = null\n }\n updateSummary()\n }\n\n private fun updateSummary() {\n // Calculating duration summary\n summaries.clear()\n\n val isGeneric = inputType == InputType.GENERIC\n val allSummaries = chartsBundle?.charts?.mapNotNull { chart ->\n SummaryUtils.getSummaryOrThrow(\n isGeneric = isGeneric,\n chart = chart,\n selectedBlockNameOne = selectedBlockNameOne,\n selectedBlockNameTwo = selectedBlockNameTwo\n )\n }\n summaries.addAll(allSummaries ?: emptyList())\n calcAggSummary()\n }\n\n fun onTestNameChanged(newTestName: String) {\n try {\n currentTestName = newTestName\n val filteredBenchmarkResult = if (currentTestName != null) {\n fullBenchmarkResults.filter { it.testName == currentTestName }\n } else {\n fullBenchmarkResults\n }\n val newCharts = filteredBenchmarkResult.toCharts()\n chartsBundle = newCharts\n updateSummary()\n errorMsg = \"\"\n } catch (e: Throwable) {\n summaries.clear()\n e.printStackTrace()\n errorMsg = e.message ?: ERROR_GENERIC\n }\n }\n\n fun onTitleDoubleClicked() {\n isEditableTitleEnabled = true\n }\n\n fun onToggleAutoGroupClicked() {\n onFormChanged(form.copy(isAutoGroupEnabled = !form.isAutoGroupEnabled))\n }\n\n fun onToggleTestNameDetectionClicked() {\n onFormChanged(form.copy(isTestNameDetectionEnabled = !form.isTestNameDetectionEnabled))\n }\n\n fun onSaveClicked(formData: FormData) {\n val bName = window.prompt(\"Name: \")\n if (bName.isNullOrBlank()) {\n return\n }\n\n val isExist = savedBenchmarks.find { it.key == bName } != null\n if (isExist) {\n window.alert(\"Bruhh.. $bName exists! Try something else\")\n return\n }\n\n // Appending new benchmark\n val newList = savedBenchmarks.toMutableList().apply {\n add(\n index = 0,\n element = SavedBenchmarkNode(\n key = bName, value = formData.data\n )\n )\n }\n benchmarkRepo.saveBenchmarks(newList)\n shouldSelectUnsaved = false\n refreshBenchmarks()\n }\n\n fun onLoadBenchmarkClicked(savedBenchmarkNode: SavedBenchmarkNode) {\n val newForm = form.copy(data = savedBenchmarkNode.value)\n onFormChanged(newForm, shouldSelectUnsaved = false)\n }\n\n fun onDeleteBenchmarkClicked(deletedBenchmarkNode: SavedBenchmarkNode) {\n val isYes = window.confirm(\n \"Do you want to delete `${deletedBenchmarkNode.key}` ?\"\n )\n\n if (isYes) {\n benchmarkRepo.delete(deletedBenchmarkNode)\n shouldSelectUnsaved = true\n refreshBenchmarks()\n }\n }\n\n fun onSavedBenchmarkChanged(key: String) {\n shouldSelectUnsaved = key == KEY_UNSAVED_BENCHMARK\n if (shouldSelectUnsaved) {\n val newForm = formRepo.getFormData() ?: form\n onFormChanged(newForm, shouldSelectUnsaved = false)\n }\n }\n\n fun onBlockNameOneChanged(newBlockName: String) {\n selectedBlockNameOne = newBlockName\n updateSummary()\n }\n\n fun onBlockNameTwoChanged(newBlockName: String) {\n selectedBlockNameTwo = newBlockName\n updateSummary()\n }\n\n fun onBestClicked() {\n selectedBlockNameOne = bestAggSummary?.blockOneName\n selectedBlockNameTwo = bestAggSummary?.blockTwoName\n updateSummary()\n }\n\n fun onWorstClicked() {\n selectedBlockNameOne = worstAggSummary?.blockOneName\n selectedBlockNameTwo = worstAggSummary?.blockTwoName\n updateSummary()\n }\n}\n\ndata class AggSummary(\n val blockOneName: String,\n val blockTwoName: String,\n val sumOfGreen: Int,\n val sumOfRed: Int\n)\n","package repo\n\nimport components.SavedBenchmarkNode\nimport components.SavedBenchmarks\nimport kotlinx.browser.window\nimport kotlinx.serialization.decodeFromString\nimport kotlinx.serialization.encodeToString\nimport utils.JsonUtils\n\ninterface BenchmarkRepo {\n fun getSavedBenchmarks(): List\n fun saveBenchmarks(newList: List)\n fun delete(deletedBenchmarkNode: SavedBenchmarkNode)\n}\n\nclass BenchmarkRepoImpl : BenchmarkRepo {\n\n companion object {\n private const val KEY_SAVED_BENCHMARKS = \"savedBenchmarks\"\n }\n\n\n override fun getSavedBenchmarks(): List {\n val savedBenchmarksString = window.localStorage.getItem(KEY_SAVED_BENCHMARKS)\n val savedBenchmark = if (savedBenchmarksString == null) {\n // Creating first saved benchmark\n SavedBenchmarks(items = listOf())\n } else {\n println(\"JSON is '$savedBenchmarksString'\")\n try {\n JsonUtils.json.decodeFromString(savedBenchmarksString)\n }catch (e: Exception){\n e.printStackTrace()\n saveBenchmarks(listOf()) // reset\n SavedBenchmarks(items = listOf())\n }\n }\n\n return savedBenchmark.items.toList()\n }\n\n override fun saveBenchmarks(newList: List) {\n val savedBenchmarks = JsonUtils.json.encodeToString(SavedBenchmarks(newList))\n window.localStorage.setItem(KEY_SAVED_BENCHMARKS, savedBenchmarks)\n }\n\n override fun delete(deletedBenchmarkNode: SavedBenchmarkNode) {\n // Appending new benchmark\n val newList = getSavedBenchmarks().toMutableList().apply {\n removeAll { it.key == deletedBenchmarkNode.key }\n }\n saveBenchmarks(newList)\n }\n\n}","package repo\n\nimport kotlinx.browser.window\nimport model.FormData\n\ninterface FormRepo {\n fun saveFormData(newForm: FormData)\n fun getFormData(): FormData?\n}\n\nclass FormRepoImpl : FormRepo {\n companion object {\n private const val KEY_AUTO_FORM_INPUT = \"auto_form_input\"\n private const val KEY_IS_TEST_NAME_DETECTION_ENABLED = \"is_test_name_detection_enabled\"\n private const val KEY_IS_AUTO_GROUP_ENABLED = \"is_auto_group_enabled\"\n }\n\n override fun saveFormData(newForm: FormData) {\n window.localStorage.apply {\n setItem(KEY_AUTO_FORM_INPUT, newForm.data)\n setItem(KEY_IS_TEST_NAME_DETECTION_ENABLED, newForm.isTestNameDetectionEnabled.toString())\n setItem(KEY_IS_AUTO_GROUP_ENABLED, newForm.isAutoGroupEnabled.toString())\n }\n }\n\n override fun getFormData(): FormData? {\n val localStorage = window.localStorage\n val data = localStorage.getItem(KEY_AUTO_FORM_INPUT) ?: return null\n val isTestNameDetectionEnabled = localStorage.getItem(KEY_IS_TEST_NAME_DETECTION_ENABLED).toBoolean()\n val isAutoGroupEnabled = localStorage.getItem(KEY_IS_AUTO_GROUP_ENABLED).toBoolean()\n return FormData(data, isTestNameDetectionEnabled, isAutoGroupEnabled)\n }\n\n}","package utils\n\nobject DefaultValues {\n val form = \"\"\"\n - Before 1\n # first line will be treated as title of the block\n special chars will be stripped from the title\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 40.5, P90 45.8, P95 60.4, P99 80.4\n frameOverrunMs P50 -5.9, P90 7.0, P95 20.1, P99 64.4\n Traces: Iteration 0 1 2 3 4\n\n ## Before 2\n # line breaks are used to separate the block\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 45.5, P90 43.8, P95 58.4, P99 78.4\n frameOverrunMs P50 -6.5, P90 5.4, P95 15.0, P99 60.3\n Traces: Iteration 0 1 2 3 4\n\n After 1\n you can include whatever text you want anywhere you want\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 13.6, P90 21.8, P95 27.5, P99 49.4\n the order doesn't matter\n frameOverrunMs P50 -6.2, P90 7.3, P95 19.5, P99 61.7\n Traces: Iteration 0 1 2 3 4\n\n > After 2\n HomeScrollBenchmark_scrollTest\n frameDurationCpuMs P50 13.8, P90 21.9, P95 27.3, P99 53.4\n see.. am some random text\n frameOverrunMs P50 -5.7, P90 7.4, P95 22.4, P99 63.2\n Traces: Iteration 0 1 2 3 4\n\"\"\".trimIndent()\n}","package utils\n\nimport kotlinx.serialization.json.Json\n\nobject JsonUtils {\n val json = Json {\n ignoreUnknownKeys = true\n }\n}",null,null,null,null,"package utils\n\nimport components.Summary\nimport components.SummaryNode\nimport core.SupportedMetrics\nimport model.Chart\nimport kotlin.math.absoluteValue\n\nobject SummaryUtils {\n\n fun getSummaryOrThrow(\n isGeneric: Boolean,\n chart: Chart,\n selectedBlockNameOne: String?,\n selectedBlockNameTwo: String?,\n ): Summary? {\n if (selectedBlockNameOne == null || selectedBlockNameTwo == null) {\n println(\"blank block name detected. skipping summary\")\n return null\n }\n\n val combinedMap = mutableMapOf>()\n val words = listOf(selectedBlockNameOne, selectedBlockNameTwo)\n println(\"words : $words\")\n for (word in words) {\n\n combinedMap[word] =\n chart.dataSets.filterKeys { it.startsWith(word) }.values.map { it.values.toFloatArray() }\n .let { arrays ->\n // Sum\n val newArray = mutableListOf().apply {\n repeat(chart.dataSets.values.first().size) {\n add(0f)\n }\n }\n for (array in arrays) {\n for (i in newArray.indices) {\n newArray[i] = newArray[i] + array[i]\n }\n }\n // Average\n for (i in newArray.indices) {\n newArray[i] = newArray[i] / arrays.size\n }\n newArray\n }\n }\n println(\"combinedMap : ${combinedMap.map { it.value.toList() }}\")\n\n val summaryNodes = mutableListOf()\n val segments = chart.dataSets.values.first().keys.toList()\n println(\"segments: $segments\")\n repeat(segments.size) { index ->\n val segment = segments[index]\n val after = combinedMap[words[1]]?.get(index) ?: 0f\n val before = combinedMap[words[0]]?.get(index) ?: 0f\n println(\"before : '$before' -> after: '$after'\")\n val diff = \"${(after - before).asDynamic().toFixed(2)}\".toFloat()\n val percDiff =\n \"${(((before - after) / before) * 100).asDynamic().toFixed(2)}\".toFloat().absoluteValue\n\n val resultWord = if (diff > 0) \"worse\" else \"better\"\n val symbol = if (diff > 0) \"+\" else \"\"\n val emoji = if (diff > 0) \"❌\" else \"✅\"\n\n summaryNodes.add(\n SummaryNode(\n isGeneric = isGeneric,\n emoji = emoji,\n segment = segment,\n label = words[1],\n percentage = percDiff,\n stateWord = resultWord,\n diff = diff,\n diffSymbol = symbol,\n after = \"${after.asDynamic().toFixed(2)}\".toFloat(),\n before = \"${before.asDynamic().toFixed(2)}\".toFloat()\n )\n )\n }\n val title = if (isGeneric) {\n \"📊$selectedBlockNameOne vs $selectedBlockNameTwo\"\n } else {\n val metricConfig = SupportedMetrics.values().find { it.key == chart.label }\n ?: error(\"Unsupported metric name `${chart.label}`\")\n \"${metricConfig.emoji} ${metricConfig.title}\"\n }\n\n return Summary(title = title, summaryNodes)\n }\n}",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nfunction noop() {}\nconst uid = (function() {\n let id = 0;\n return function() {\n return id++;\n };\n}());\nfunction isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\nfunction isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\nfunction isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\nconst isNumberFinite = (value) => (typeof value === 'number' || value instanceof Number) && isFinite(+value);\nfunction finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\nfunction valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100\n : value / dimension;\nconst toDimension = (value, dimension) =>\n typeof value === 'string' && value.endsWith('%') ?\n parseFloat(value) / 100 * dimension\n : +value;\nfunction callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for (i = len - 1; i >= 0; i--) {\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for (i = 0; i < len; i++) {\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\nfunction _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for (i = 0, ilen = a0.length; i < ilen; ++i) {\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\nfunction clone$1(source) {\n if (isArray(source)) {\n return source.map(clone$1);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for (; k < klen; ++k) {\n target[keys[k]] = clone$1(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return ['__proto__', 'prototype', 'constructor'].indexOf(key) === -1;\n}\nfunction _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n merge(tval, sval, options);\n } else {\n target[key] = clone$1(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [source];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n for (let i = 0; i < ilen; ++i) {\n source = sources[i];\n if (!isObject(source)) {\n continue;\n }\n const keys = Object.keys(source);\n for (let k = 0, klen = keys.length; k < klen; ++k) {\n merger(keys[k], target, source, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n return merge(target, source, {merger: _mergerIf});\n}\nfunction _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone$1(sval);\n }\n}\nfunction _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous +\n\t\t\t'\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\nconst keyResolvers = {\n '': v => v,\n x: o => o.x,\n y: o => o.y\n};\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return obj => {\n for (const k of keys) {\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts) {\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value) => typeof value !== 'undefined';\nconst isFunction = (value) => typeof value === 'function';\nconst setsEqual = (a, b) => {\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a) {\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\nfunction _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\nconst PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\nfunction _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for (i = 1; i < sqrt; i++) {\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b) => a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return ((rounded - epsilon) <= x) && ((rounded + epsilon) >= x);\n}\nfunction _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for (i = 0, ilen = array.length; i < ilen; i++) {\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\nfunction _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while (Math.round(x * e) / e !== x) {\n e *= 10;\n p++;\n }\n return p;\n}\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < (-0.5 * PI)) {\n angle += TAU;\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\nfunction _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\nfunction _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\nfunction _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || (sameAngleIsFullCircle && s === e)\n || (angleToStart > angleToEnd && startToAngle < endToAngle);\n}\nfunction _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\nfunction _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\nfunction _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index) => table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while (hi - lo > 1) {\n mid = (lo + hi) >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {lo, hi};\n}\nconst _lookupByKey = (table, key, value, last) =>\n _lookup(table, value, last\n ? index => table[index][key] <= value\n : index => table[index][key] < value);\nconst _rlookupByKey = (table, key, value) =>\n _lookup(table, value, index => table[index][key] >= value);\nfunction _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while (start < end && values[start] < min) {\n start++;\n }\n while (end > start && values[end - 1] > max) {\n end--;\n }\n return start > 0 || end < values.length\n ? values.slice(start, end)\n : values;\n}\nconst arrayEvents = ['push', 'pop', 'shift', 'splice', 'unshift'];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [listener]\n }\n });\n arrayEvents.forEach((key) => {\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value(...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object) => {\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key) => {\n delete array[key];\n });\n delete array._chartjs;\n}\nfunction _arrayUnique(items) {\n const set = new Set();\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n set.add(items[i]);\n }\n if (set.size === ilen) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\nconst requestAnimFrame = (function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}());\nfunction throttled(fn, thisArg, updateFn) {\n const updateArgs = updateFn || ((args) => Array.prototype.slice.call(args));\n let ticking = false;\n let args = [];\n return function(...rest) {\n args = updateArgs(rest);\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, () => {\n ticking = false;\n fn.apply(thisArg, args);\n });\n }\n };\n}\nfunction debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\nconst _toLeftRightCenter = (align) => align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\nconst _alignStartEnd = (align, start, end) => align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\nconst _textX = (align, left, right, rtl) => {\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\nfunction _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const {iScale, _parsed} = meta;\n const axis = iScale.axis;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(\n _lookupByKey(_parsed, iScale.axis, min).lo,\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo),\n 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1,\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1),\n start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {start, count};\n}\nfunction _scaleRangesChanged(meta) {\n const {xScale, yScale, _scaleRanges} = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min\n\t\t|| _scaleRanges.xmax !== xScale.max\n\t\t|| _scaleRanges.ymin !== yScale.min\n\t\t|| _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t) => t === 0 || t === 1;\nconst elasticIn = (t, s, p) => -(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p) => Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\nconst effects = {\n linear: t => t,\n easeInQuad: t => t * t,\n easeOutQuad: t => -t * (t - 2),\n easeInOutQuad: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t\n : -0.5 * ((--t) * (t - 2) - 1),\n easeInCubic: t => t * t * t,\n easeOutCubic: t => (t -= 1) * t * t + 1,\n easeInOutCubic: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t\n : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: t => t * t * t * t,\n easeOutQuart: t => -((t -= 1) * t * t * t - 1),\n easeInOutQuart: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t\n : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: t => t * t * t * t * t,\n easeOutQuint: t => (t -= 1) * t * t * t * t + 1,\n easeInOutQuint: t => ((t /= 0.5) < 1)\n ? 0.5 * t * t * t * t * t\n : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: t => -Math.cos(t * HALF_PI) + 1,\n easeOutSine: t => Math.sin(t * HALF_PI),\n easeInOutSine: t => -0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: t => (t === 0) ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: t => (t === 1) ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: t => atEdge(t) ? t : t < 0.5\n ? 0.5 * Math.pow(2, 10 * (t * 2 - 1))\n : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: t => (t >= 1) ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: t => Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: t => ((t /= 0.5) < 1)\n ? -0.5 * (Math.sqrt(1 - t * t) - 1)\n : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: t => atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: t => atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic(t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t :\n t < 0.5\n ? 0.5 * elasticIn(t * 2, s, p)\n : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack(t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack(t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack(t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= (1.525)) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2);\n },\n easeInBounce: t => 1 - effects.easeOutBounce(1 - t),\n easeOutBounce(t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < (1 / d)) {\n return m * t * t;\n }\n if (t < (2 / d)) {\n return m * (t -= (1.5 / d)) * t + 0.75;\n }\n if (t < (2.5 / d)) {\n return m * (t -= (2.25 / d)) * t + 0.9375;\n }\n return m * (t -= (2.625 / d)) * t + 0.984375;\n },\n easeInOutBounce: t => (t < 0.5)\n ? effects.easeInBounce(t * 2) * 0.5\n : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5,\n};\n\n/*!\n * @kurkle/color v0.2.1\n * https://github.com/kurkle/color#readme\n * (c) 2022 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\nfunction index_esm(input) {\n return new Color(input);\n}\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : index_esm(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value)\n ? value\n : index_esm(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\nfunction getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for (let i = 0, n = keys.length; i < n; ++i) {\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\nclass Defaults {\n constructor(_descriptors) {\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context) => context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options) => getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options) => getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options) => getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get() {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set(value) {\n this[privateName] = value;\n }\n }\n });\n }\n}\nvar defaults = new Defaults({\n _scriptable: (name) => !name.startsWith('on'),\n _indexable: (name) => name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false,\n }\n});\n\nfunction toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '')\n\t\t+ (font.weight ? font.weight + ' ' : '')\n\t\t+ font.size + 'px '\n\t\t+ font.family;\n}\nfunction _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for (i = 0; i < ilen; i++) {\n thing = arrayOfThings[i];\n if (thing !== undefined && thing !== null && isArray(thing) !== true) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n for (j = 0, jlen = thing.length; j < jlen; j++) {\n nestedThing = thing[j];\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for (i = 0; i < gcLen; i++) {\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\nfunction _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\nfunction clearCanvas(canvas, ctx) {\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n drawPointLegend(ctx, options, x, y, null);\n}\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch (style) {\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n ctx.moveTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * radius, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n ctx.arc(x - xOffset, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffset, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffset, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffset, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n case 'rectRot':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + yOffset, y - xOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n case 'cross':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'star':\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n rad += QUARTER_PI;\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n ctx.moveTo(x + yOffset, y - xOffset);\n ctx.lineTo(x - yOffset, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * radius, y + Math.sin(rad) * radius);\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\nfunction _isPointInArea(point, area, margin) {\n margin = margin || 0.5;\n return !area || (point && point.x > area.left - margin && point.x < area.right + margin &&\n\t\tpoint.y > area.top - margin && point.y < area.bottom + margin);\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\nfunction _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\nfunction _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(\n flip ? previous.cp1x : previous.cp2x,\n flip ? previous.cp1y : previous.cp2y,\n flip ? target.cp2x : target.cp1x,\n flip ? target.cp2y : target.cp1y,\n target.x,\n target.y);\n}\nfunction renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [text];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for (i = 0; i < lines.length; ++i) {\n line = lines[i];\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += font.lineHeight;\n }\n ctx.restore();\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction addRoundedRectPath(ctx, rect) {\n const {x, y, w, h, radius} = rect;\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, -HALF_PI, PI, true);\n ctx.lineTo(x, y + h - radius.bottomLeft);\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n ctx.lineTo(x + w, y + radius.topRight);\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = new RegExp(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);\nconst FONT_STYLE = new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);\nfunction toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch (matches[3]) {\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = v => +v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value)\n ? objProps\n ? prop => valueOrDefault(value[prop], value[props[prop]])\n : prop => value[prop]\n : () => value;\n for (const prop of keys) {\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\nfunction toTRBL(value) {\n return _readValueToProps(value, {top: 'y', right: 'x', bottom: 'y', left: 'x'});\n}\nfunction toTRBLCorners(value) {\n return _readValueToProps(value, ['topLeft', 'topRight', 'bottomLeft', 'bottomRight']);\n}\nfunction toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\nfunction toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = '';\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\nfunction resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for (i = 0, ilen = inputs.length; i < ilen; ++i) {\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\nfunction _addGrace(minmax, grace, beginAtZero) {\n const {min, max} = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add) => beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\nfunction _createResolver(scopes, prefixes = [''], rootScopes = scopes, fallback, getTarget = () => scopes[0]) {\n if (!defined(fallback)) {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: rootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope) => _createResolver([scope, ...scopes], prefixes, rootScopes, fallback),\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete target._keys;\n delete scopes[0][prop];\n return true;\n },\n get(target, prop) {\n return _cached(target, prop,\n () => _resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n getOwnPropertyDescriptor(target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n has(target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n ownKeys(target) {\n return getKeysFromAllScopes(target);\n },\n set(target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value;\n delete target._keys;\n return true;\n }\n });\n}\nfunction _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx) => _attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope) => _attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n deleteProperty(target, prop) {\n delete target[prop];\n delete proxy[prop];\n return true;\n },\n get(target, prop, receiver) {\n return _cached(target, prop,\n () => _resolveWithContext(target, prop, receiver));\n },\n getOwnPropertyDescriptor(target, prop) {\n return target._descriptors.allKeys\n ? Reflect.has(proxy, prop) ? {enumerable: true, configurable: true} : undefined\n : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n getPrototypeOf() {\n return Reflect.getPrototypeOf(proxy);\n },\n has(target, prop) {\n return Reflect.has(proxy, prop);\n },\n ownKeys() {\n return Reflect.ownKeys(proxy);\n },\n set(target, prop, value) {\n proxy[prop] = value;\n delete target[prop];\n return true;\n }\n });\n}\nfunction _descriptors(proxy, defaults = {scriptable: true, indexable: true}) {\n const {_scriptable = defaults.scriptable, _indexable = defaults.indexable, _allKeys = defaults.allKeys} = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : () => _scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : () => _indexable\n };\n}\nconst readKey = (prefix, name) => prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value) => isObject(value) && prop !== 'adapters' &&\n (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop)) {\n return target[prop];\n }\n const value = resolve();\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n let value = _proxy[prop];\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, value, target, receiver) {\n const {_proxy, _context, _subProxy, _stack} = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n value = value(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const {_proxy, _context, _subProxy, _descriptors: descriptors} = target;\n if (defined(_context.index) && isIndexable(prop)) {\n value = value[_context.index % value.length];\n } else if (isObject(value[0])) {\n const arr = value;\n const scopes = _proxy._scopes.filter(s => s !== arr);\n value = [];\n for (const item of arr) {\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent) => key === true ? parent\n : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes) {\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (defined(fallback) && fallback !== key && fallback !== parentFallback) {\n return fallback;\n }\n } else if (scope === false && defined(parentFallback) && key !== parentFallback) {\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [...parentScopes, ...rootScopes];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (defined(fallback) && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [''], rootScopes, fallback,\n () => subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while (key) {\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n return value;\n }\n return target;\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes) {\n value = _resolve(readKey(prefix, prop), scopes);\n if (defined(value)) {\n return needsSubResolver(prop, value)\n ? createSubResolver(scopes, proxy, prop, value)\n : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes) {\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (defined(value)) {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes) {\n for (const key of Object.keys(scope).filter(k => !k.startsWith('_'))) {\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const {iScale} = meta;\n const {key = 'r'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i) => i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis) => indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01;\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\nfunction monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen - 1; ++i) {\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (let i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\nfunction splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for (i = 0; i < pointsLen; ++i) {\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i]\n : !pointAfter ? deltaK[i - 1]\n : (sign(deltaK[i - 1]) !== sign(deltaK[i])) ? 0\n : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\nfunction _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n if (options.spanGaps) {\n points = points.filter((pt) => !pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for (i = 0, ilen = points.length; i < ilen; ++i) {\n point = points[i];\n controlPoints = splineCurve(\n prev,\n point,\n points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen],\n options.tension\n );\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\nfunction _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\nfunction _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\nfunction parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element) => window.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = ['top', 'right', 'bottom', 'left'];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for (let i = 0; i < 4; i++) {\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target) => (x > 0 || y > 0) && (!target || !target.shadowRoot);\nfunction getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const {offsetX, offsetY} = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {x, y, box};\n}\nfunction getRelativePosition(evt, chart) {\n if ('native' in evt) {\n return evt;\n }\n const {canvas, currentDevicePixelRatio} = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const {x, y, box} = getCanvasPosition(evt, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let {width, height} = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect();\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = v => Math.round(v * 10) / 10;\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let {width, height} = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n height = round1(width / 2);\n }\n return {\n width,\n height\n };\n}\nfunction retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = deviceHeight / pixelRatio;\n chart.width = deviceWidth / pixelRatio;\n const canvas = chart.canvas;\n if (canvas.style && (forceStyle || (!canvas.style.height && !canvas.style.width))) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio\n || canvas.height !== deviceHeight\n || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\nconst supportsEventListenerOptions = (function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive() {\n passiveSupported = true;\n return false;\n }\n };\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {\n }\n return passiveSupported;\n}());\nfunction readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\nfunction _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\nfunction _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y\n : mode === 'after' ? t < 1 ? p1.y : p2.y\n : t > 0 ? p2.y : p1.y\n };\n}\nfunction _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {x: p1.cp2x, y: p1.cp2y};\n const cp2 = {x: p2.cp1x, y: p2.cp1y};\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x(x) {\n return rectX + rectX + width - x;\n },\n setWidth(w) {\n width = w;\n },\n textAlign(align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus(x, value) {\n return x - value;\n },\n leftForLtr(x, itemWidth) {\n return x - itemWidth;\n },\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x(x) {\n return x;\n },\n setWidth(w) {\n },\n textAlign(align) {\n return align;\n },\n xPlus(x, value) {\n return x + value;\n },\n leftForLtr(x, _itemWidth) {\n return x;\n },\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction'),\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle,\n };\n }\n return {\n between: _isBetween,\n compare: (a, b) => a - b,\n normalize: x => x\n };\n}\nfunction normalizeSegment({start, end, count, loop, style}) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const {property, start: startBound, end: endBound} = bounds;\n const {between, normalize} = propertyFn(property);\n const count = points.length;\n let {start, end, loop} = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for (i = 0, ilen = count; i < ilen; ++i) {\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {start, end, loop, style: segment.style};\n}\nfunction _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [segment];\n }\n const {property, start: startBound, end: endBound} = bounds;\n const count = points.length;\n const {compare, between, normalize} = propertyFn(property);\n const {start, end, loop, style} = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = () => between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = () => compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = () => inside || startIsBefore();\n const shouldStop = () => !inside || endIsBefore();\n for (let i = start, prev = start; i <= end; ++i) {\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({start: subStart, end: i, loop, count, style}));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({start: subStart, end, loop, count, style}));\n }\n return result;\n}\nfunction _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for (let i = 0; i < segments.length; i++) {\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\nfunction findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while (start < count && !points[start].skip) {\n start++;\n }\n }\n while (start < count && points[start].skip) {\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while (end > start && points[end % count].skip) {\n end--;\n }\n end %= count;\n return {start, end};\n}\nfunction solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for (end = start + 1; end <= max; ++end) {\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({start: start % count, end: (end - 1) % count, loop});\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({start: start % count, end: last % count, loop});\n }\n return result;\n}\nfunction _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const {start, end} = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [{start, end, loop}], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\nfunction splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\nfunction doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const {_datasetIndex: datasetIndex, options: {spanGaps}} = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while (points[s % count].skip) {\n s -= dir;\n }\n while (points[e % count].skip) {\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({start: s % count, end: e % count, loop: l, style: st});\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments) {\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for (i = start + 1; i <= segment.end; i++) {\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n return prevStyle && JSON.stringify(style) !== JSON.stringify(prevStyle);\n}\n\nexport { _isPointInArea as $, _factorize as A, finiteOrDefault as B, callback as C, _addGrace as D, _limitValue as E, toDegrees as F, _measureText as G, HALF_PI as H, _int16Range as I, _alignPixel as J, toPadding as K, clipArea as L, renderText as M, unclipArea as N, toFont as O, PI as P, each as Q, _toLeftRightCenter as R, _alignStartEnd as S, TAU as T, overrides as U, merge as V, _capitalize as W, getRelativePosition as X, _rlookupByKey as Y, _lookupByKey as Z, _arrayUnique as _, resolve as a, toLineHeight as a$, getAngleFromPoint as a0, getMaximumSize as a1, _getParentNode as a2, readUsedSize as a3, throttled as a4, supportsEventListenerOptions as a5, _isDomSupported as a6, descriptors as a7, isFunction as a8, _attachContext as a9, getRtlAdapter as aA, overrideTextDirection as aB, _textX as aC, restoreTextDirection as aD, drawPointLegend as aE, noop as aF, distanceBetweenPoints as aG, _setMinAndMaxByKey as aH, niceNum as aI, almostWhole as aJ, almostEquals as aK, _decimalPlaces as aL, _longestText as aM, _filterBetween as aN, _lookup as aO, isPatternOrGradient as aP, getHoverColor as aQ, clone$1 as aR, _merger as aS, _mergerIf as aT, _deprecated as aU, _splitKey as aV, toFontString as aW, splineCurve as aX, splineCurveMonotone as aY, getStyle as aZ, fontString as a_, _createResolver as aa, _descriptors as ab, mergeIf as ac, uid as ad, debounce as ae, retinaScale as af, clearCanvas as ag, setsEqual as ah, _elementsEqual as ai, _isClickEvent as aj, _isBetween as ak, _readValueToProps as al, _updateBezierControlPoints as am, _computeSegments as an, _boundSegments as ao, _steppedInterpolation as ap, _bezierInterpolation as aq, _pointInLine as ar, _steppedLineTo as as, _bezierCurveTo as at, drawPoint as au, addRoundedRectPath as av, toTRBL as aw, toTRBLCorners as ax, _boundSegment as ay, _normalizeAngle as az, isArray as b, PITAU as b0, INFINITY as b1, RAD_PER_DEG as b2, QUARTER_PI as b3, TWO_THIRDS_PI as b4, _angleDiff as b5, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, createContext as h, isObject as i, defined as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, log10 as z };\n","/*!\n * Chart.js v3.9.1\n * https://www.chartjs.org\n * (c) 2022 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, d as defaults, i as isObject, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as createContext, j as defined, s as sign, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as log10, A as _factorize, B as finiteOrDefault, C as callback, D as _addGrace, E as _limitValue, F as toDegrees, G as _measureText, I as _int16Range, J as _alignPixel, K as toPadding, L as clipArea, M as renderText, N as unclipArea, O as toFont, Q as each, R as _toLeftRightCenter, S as _alignStartEnd, U as overrides, V as merge, W as _capitalize, X as getRelativePosition, Y as _rlookupByKey, Z as _lookupByKey, $ as _isPointInArea, a0 as getAngleFromPoint, a1 as getMaximumSize, a2 as _getParentNode, a3 as readUsedSize, a4 as throttled, a5 as supportsEventListenerOptions, a6 as _isDomSupported, a7 as descriptors, a8 as isFunction, a9 as _attachContext, aa as _createResolver, ab as _descriptors, ac as mergeIf, ad as uid, ae as debounce, af as retinaScale, ag as clearCanvas, ah as setsEqual, ai as _elementsEqual, aj as _isClickEvent, ak as _isBetween, al as _readValueToProps, am as _updateBezierControlPoints, an as _computeSegments, ao as _boundSegments, ap as _steppedInterpolation, aq as _bezierInterpolation, ar as _pointInLine, as as _steppedLineTo, at as _bezierCurveTo, au as drawPoint, av as addRoundedRectPath, aw as toTRBL, ax as toTRBLCorners, ay as _boundSegment, az as _normalizeAngle, aA as getRtlAdapter, aB as overrideTextDirection, aC as _textX, aD as restoreTextDirection, aE as drawPointLegend, aF as noop, aG as distanceBetweenPoints, aH as _setMinAndMaxByKey, aI as niceNum, aJ as almostWhole, aK as almostEquals, aL as _decimalPlaces, aM as _longestText, aN as _filterBetween, aO as _lookup } from './chunks/helpers.segment.mjs';\nexport { d as defaults } from './chunks/helpers.segment.mjs';\n\nclass Animator {\n constructor() {\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach(fn => fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, () => {\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart) => {\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for (; i >= 0; --i) {\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur) => Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for (; i >= 0; --i) {\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean(from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color(from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid\n ? c1.mix(c0, factor).hexString()\n : to;\n },\n number(from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to) {\n const currentValue = target[prop];\n to = resolve([cfg.to, to, currentValue, cfg.from]);\n const from = resolve([cfg.from, currentValue, to]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([cfg.to, to, currentValue, cfg.from]);\n this._from = resolve([cfg.from, currentValue, to]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || (elapsed < duration));\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = (elapsed / duration) % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej) => {\n promises.push({res, rej});\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for (let i = 0; i < promises.length; i++) {\n promises[i][method]();\n }\n }\n}\n\nconst numbers = ['x', 'y', 'borderWidth', 'radius', 'tension'];\nconst colors = ['color', 'borderColor', 'backgroundColor'];\ndefaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined,\n});\nconst animationOptions = Object.keys(defaults.animation);\ndefaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name) => name !== 'onProgress' && name !== 'onComplete' && name !== 'fn',\n});\ndefaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n },\n});\ndefaults.describe('animations', {\n _fallback: 'animation',\n});\ndefaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n },\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: v => v | 0\n },\n }\n }\n});\nclass Animations {\n constructor(chart, config) {\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach(key => {\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions) {\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [key]).forEach((prop) => {\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(() => {\n target.options = newOptions;\n }, () => {\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for (i = props.length - 1; i >= 0; --i) {\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for (let i = 0; i < keys.length; i++) {\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {$shared: false, $animations: {}});\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || (value === 0 || sign(value) === sign(otherValue)))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data) {\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for (i = 0, ilen = keys.length; i < ilen; ++i) {\n key = keys[i];\n adata[i] = {\n x: key,\n y: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || (stacked === undefined && meta.stack !== undefined);\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const {min, max, minDefined, maxDefined} = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()) {\n const value = stack[meta.index];\n if ((positive && value > 0) || (!positive && value < 0)) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const {chart, _cachedMeta: meta} = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const {iScale, vScale, index: datasetIndex} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for (let i = 0; i < ilen; ++i) {\n const item = parsed[i];\n const {[iAxis]: index, [vAxis]: value} = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter(key => scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent,\n {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n }\n );\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items) {\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n }\n}\nconst isDirectUpdateMode = (mode) => mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared) => shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart) => canStack && !meta.hidden && meta._stacked\n && {keys: getSortedDatasetIndices(chart, true), values: null};\nclass DatasetController {\n constructor(chart, datasetIndex) {\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r) => axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale\n ? meta.vScale\n : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n this._data = convertObjectDataToArray(data);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const {_cachedMeta: meta, _data: data} = this;\n const {iScale, _stacked} = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = () => cur[iAxis] === null || (prev && cur[iAxis] < prev[iAxis]);\n for (i = 0; i < count; ++i) {\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const {xScale, yScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for (i = 0, ilen = count; i < ilen; ++i) {\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]\n };\n return applyStack(stack, value, meta.index, {mode});\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n const {min: otherMin, max: otherMax} = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for (i = 0; i < ilen; ++i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for (i = ilen - 1; i >= 0; --i) {\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for (i = 0, ilen = parsed.length; i < ilen; ++i) {\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || (elements.length - start);\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for (i = start; i < start + count; ++i) {\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for (i = 0; i < active.length; ++i) {\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset\n ? this.resolveDatasetElementOptions(mode)\n : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context ||\n (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context ||\n (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [`${elementType}Hover`, 'hover', elementType, ''] : [elementType, ''];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = () => this.getContext(index, active);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || (sharedOptions !== previouslySharedOptions);\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {sharedOptions, includeOptions};\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: (!active && this.getSharedOptions(options)) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList) {\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr) => {\n arr.length += count;\n for (i = arr.length - 1; i >= end; i--) {\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for (i = start; i < end; ++i) {\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([this.index, ...args]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync(['_insertElements', this.getDataset().data.length - count, count]);\n }\n _onDataPop() {\n this._sync(['_removeElements', this._cachedMeta.data.length - 1, 1]);\n }\n _onDataShift() {\n this._sync(['_removeElements', 0, 1]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync(['_removeElements', start, count]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync(['_insertElements', start, newCount]);\n }\n }\n _onDataUnshift() {\n this._sync(['_insertElements', 0, arguments.length]);\n }\n}\nDatasetController.defaults = {};\nDatasetController.prototype.datasetElementType = null;\nDatasetController.prototype.dataElementType = null;\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for (let i = 0, ilen = visibleMetas.length; i < ilen; i++) {\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b) => a - b));\n }\n return scale._cache.$bar;\n}\nfunction computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = () => {\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for (i = 0, ilen = values.length; i < ilen; ++i) {\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for (i = 0, ilen = scale.ticks.length; i < ilen; ++i) {\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\nfunction computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - (size / 2)\n };\n}\nfunction computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {start, end, reverse, top, bottom};\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {top: true, right: true, bottom: true, left: true};\n return;\n }\n const {start, end, reverse, top, bottom} = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, {inflateAmount}, ratio) {\n properties.inflateAmount = inflateAmount === 'auto'\n ? ratio === 1 ? 0.33 : 0\n : inflateAmount;\n}\nclass BarController extends DatasetController {\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const {iScale, vScale} = meta;\n const {xAxisKey = 'x', yAxisKey = 'y'} = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {iScale, vScale} = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom)\n ? '[' + custom.start + ', ' + custom.end + ']'\n : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const {index, _cachedMeta: {vScale}} = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n for (let i = start; i < start + count; i++) {\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {base, head: base} : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || (index === stack._top || index === stack._bottom),\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const {iScale} = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type)\n .filter(meta => meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta) => {\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets) {\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 ||\n\t\t\t\t(stacked === undefined && meta.stack === undefined)) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = (name !== undefined)\n ? stacks.indexOf(name)\n : -1;\n return (index === -1)\n ? stacks.length - 1\n : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for (i = 0, ilen = meta.data.length; i < ilen; ++i) {\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const {_cachedMeta: {vScale, _stacked}, options: {base: baseValue, minBarLength}} = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex'\n ? computeFlexCategoryTraits(index, ruler, options, stackCount)\n : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + (range.chunk * stackIndex) + (range.chunk / 2);\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for (; i < ilen; ++i) {\n if (this.getParsed(i)[vScale.axis] !== null) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\nBarController.id = 'bar';\nBarController.defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'base', 'width', 'height']\n }\n }\n};\nBarController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true,\n }\n }\n};\n\nclass BubbleController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for (let i = 0; i < parsed.length; i++) {\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const {xScale, yScale} = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: meta.label,\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {$shared: false});\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\nBubbleController.id = 'bubble';\nBubbleController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'borderWidth', 'radius']\n }\n }\n};\nBubbleController.overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n }\n }\n }\n }\n};\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b) => _angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {ratioX, ratioY, offsetX, offsetY};\n}\nclass DoughnutController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i) => +data[i];\n if (isObject(data[start])) {\n const {key = 'value'} = this._parsing;\n getter = (i) => +resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for (i = start, ilen = start + count; i < ilen; ++i) {\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for (let i = 0; i < this.chart.data.datasets.length; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min,\n };\n }\n update(mode) {\n const chart = this.chart;\n const {chartArea} = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const {circumference, rotation} = this._getRotationExtents();\n const {ratioX, ratioY, offsetX, offsetY} = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if ((reset && opts.animation.animateRotate) || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for (i = 0; i < start; ++i) {\n startAngle += this._circumference(i, reset);\n }\n for (i = start; i < start + count; ++i) {\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for (i = 0; i < metaData.length; i++) {\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for (i = 0, ilen = chart.data.datasets.length; i < ilen; ++i) {\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for (i = 0, ilen = arcs.length; i < ilen; ++i) {\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for (let i = 0, ilen = arcs.length; i < ilen; ++i) {\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for (let i = 0; i < datasetIndex; ++i) {\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\nDoughnutController.id = 'doughnut';\nDoughnutController.defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['circumference', 'endAngle', 'innerRadius', 'outerRadius', 'startAngle', 'x', 'y', 'offset', 'borderWidth', 'spacing']\n },\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r',\n};\nDoughnutController.descriptors = {\n _scriptable: (name) => name !== 'spacing',\n _indexable: (name) => name !== 'spacing',\n};\nDoughnutController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(tooltipItem) {\n let dataLabel = tooltipItem.label;\n const value = ': ' + tooltipItem.formattedValue;\n if (isArray(dataLabel)) {\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n return dataLabel;\n }\n }\n }\n }\n};\n\nclass LineController extends DatasetController {\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const {dataset: line, data: points = [], _dataset} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const {sharedOptions, includeOptions} = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\nLineController.id = 'line';\nLineController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false,\n};\nLineController.overrides = {\n scales: {\n _index_: {\n type: 'category',\n },\n _value_: {\n type: 'linear',\n },\n }\n};\n\nclass PolarAreaController extends DatasetController {\n constructor(chart, datasetIndex) {\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value,\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {min: Number.POSITIVE_INFINITY, max: Number.NEGATIVE_INFINITY};\n meta.data.forEach((element, index) => {\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? (outerRadius / 100) * (opts.cutoutPercentage) : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - (radiusLength * this.index);\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for (i = 0; i < start; ++i) {\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for (i = start; i < start + count; i++) {\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index) => {\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index)\n ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle)\n : 0;\n }\n}\nPolarAreaController.id = 'polarArea';\nPolarAreaController.defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'startAngle', 'endAngle', 'innerRadius', 'outerRadius']\n },\n },\n indexAxis: 'r',\n startAngle: 0,\n};\nPolarAreaController.overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels(chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const {labels: {pointStyle}} = chart.legend.options;\n return data.labels.map((label, i) => {\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick(e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n },\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(context) {\n return context.chart.data.labels[context.dataIndex] + ': ' + context.formattedValue;\n }\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n};\n\nclass PieController extends DoughnutController {\n}\nPieController.id = 'pie';\nPieController.defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n};\n\nclass RadarController extends DatasetController {\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for (let i = start; i < start + count; i++) {\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\nRadarController.id = 'radar';\nRadarController.defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n },\n};\nRadarController.overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear',\n }\n }\n};\n\nclass Element {\n constructor() {\n this.x = undefined;\n this.y = undefined;\n this.active = false;\n this.options = undefined;\n this.$animations = undefined;\n }\n tooltipPosition(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n return this;\n }\n const ret = {};\n props.forEach(prop => {\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\nElement.defaults = {};\nElement.defaultRoutes = undefined;\n\nconst formatters = {\n values(value) {\n return isArray(value) ? value : '' + value;\n },\n numeric(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {notation, minimumFractionDigits: numDecimal, maximumFractionDigits: numDecimal};\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic(tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = tickValue / (Math.pow(10, Math.floor(log10(tickValue))));\n if (remain === 1 || remain === 2 || remain === 5) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\nvar Ticks = {formatters};\n\ndefaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawBorder: true,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options) => options.lineWidth,\n tickColor: (_ctx, options) => options.color,\n offset: false,\n borderDash: [],\n borderDashOffset: 0.0,\n borderWidth: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2,\n }\n});\ndefaults.route('scale.ticks', 'color', '', 'color');\ndefaults.route('scale.grid', 'color', '', 'borderColor');\ndefaults.route('scale.grid', 'borderColor', '', 'borderColor');\ndefaults.route('scale.title', 'color', '', 'color');\ndefaults.describe('scale', {\n _fallback: false,\n _scriptable: (name) => !name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name) => name !== 'borderDash' && name !== 'tickBorderDash',\n});\ndefaults.describe('scales', {\n _fallback: 'scale',\n});\ndefaults.describe('scale.ticks', {\n _scriptable: (name) => name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name) => name !== 'backdropPadding',\n});\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const ticksLimit = tickOpts.maxTicksLimit || determineMaxTicks(scale);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for (i = 0, ilen = numMajorIndices - 1; i < ilen; i++) {\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\nfunction calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for (let i = 0, ilen = factors.length - 1; i < ilen; i++) {\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\nfunction getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\nfunction skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for (i = 0; i < ticks.length; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\nfunction skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while (next < 0) {\n count++;\n next = Math.round(start + count * spacing);\n }\n for (i = Math.max(start, 0); i < end; i++) {\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\nfunction getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for (diff = arr[0], i = 1; i < len; ++i) {\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align) => align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset) => edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nfunction sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for (; i < len; i += increment) {\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\nfunction getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\nfunction garbageCollect(caches, length) {\n each(caches, (cache) => {\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for (i = 0; i < gcLen; ++i) {\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\nfunction getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\nfunction getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return (lines * font.lineHeight) + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if ((reverse && position !== 'right') || (!reverse && position === 'right')) {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const {top, left, bottom, right, chart} = scale;\n const {chartArea, scales} = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {titleX, titleY, maxWidth, rotation};\n}\nclass Scale extends Element {\n constructor(cfg) {\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let {_userMin, _userMax, _suggestedMin, _suggestedMax} = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {min, max};\n }\n const metas = this.getMatchingVisibleMetas();\n for (let i = 0, ilen = metas.length; i < ilen; ++i) {\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [this]);\n }\n update(maxWidth, maxHeight, margins) {\n const {beginAtZero, grace, ticks: tickOpts} = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal()\n ? this.width + margins.left + margins.right\n : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [this]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [this]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [this]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [this]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [this]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [tick.value, i, ticks], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [this]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [this]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = this.ticks.length;\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid)\n\t\t\t\t- tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(\n Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)),\n Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))\n ));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [this]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [this]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const {chart, options: {ticks: tickOpts, title: titleOpts, grid: gridOpts}} = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const {first, last, widest, highest} = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const {ticks: {align, padding}, position} = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [this]);\n }\n isHorizontal() {\n const {axis, position} = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for (i = 0, ilen = ticks.length; i < ilen; i++) {\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length) {\n const {ctx, _longestTextCache: caches} = this;\n const widths = [];\n const heights = [];\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for (i = 0; i < length; ++i) {\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {data: {}, gc: []};\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for (j = 0, jlen = label.length; j < jlen; ++j) {\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx) => ({width: widths[idx] || 0, height: heights[idx] || 0});\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights,\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const {min, max} = this;\n return min < 0 && max < 0 ? max :\n min > 0 && max > 0 ? min :\n 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context ||\n\t\t\t\t(tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context ||\n\t\t\t(this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal()\n ? h * cos > w * sin ? w / cos : h / sin\n : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const {grid, position} = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = borderOpts.drawBorder ? borderOpts.borderWidth : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for (i = 0; i < ticksLength; i += step) {\n const optsAtIndex = grid.setContext(this.getContext(i));\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndex.borderDash || [];\n const borderDashOffset = optsAtIndex.borderDashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset,\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const {position, ticks: optionTicks} = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const {align, crossAlign, padding, mirror} = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = ((chartArea.top + chartArea.bottom) / 2) + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = ((chartArea.left + chartArea.right) / 2) - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = y + textOffset - labelPadding.top;\n let left = x - labelPadding.left;\n switch (textBaseline) {\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch (textAlign) {\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor,\n };\n }\n items.push({\n rotation,\n label,\n font,\n color,\n strokeColor,\n strokeWidth,\n textOffset,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [x, y],\n backdrop,\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const {position, ticks} = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const {position, ticks: {crossAlign, mirror, padding}} = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += (widest / 2);\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= (widest / 2);\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {textAlign, x};\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {top: 0, left: this.left, bottom: chart.height, right: this.right};\n } if (position === 'top' || position === 'bottom') {\n return {top: this.top, left: 0, bottom: this.bottom, right: chart.width};\n }\n }\n drawBackground() {\n const {ctx, options: {backgroundColor}, left, top, width, height} = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex(t => t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style) => {\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine(\n {x: item.x1, y: item.y1},\n {x: item.x2, y: item.y2},\n item\n );\n }\n if (grid.drawTicks) {\n drawLine(\n {x: item.tx1, y: item.ty1},\n {x: item.tx2, y: item.ty2},\n {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n }\n );\n }\n }\n }\n }\n drawBorder() {\n const {chart, ctx, options: {grid}} = this;\n const borderOpts = grid.setContext(this.getContext());\n const axisWidth = grid.drawBorder ? borderOpts.borderWidth : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.borderWidth;\n ctx.strokeStyle = borderOpts.borderColor;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n let i, ilen;\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n const item = items[i];\n const tickFont = item.font;\n const label = item.label;\n if (item.backdrop) {\n ctx.fillStyle = item.backdrop.color;\n ctx.fillRect(item.backdrop.left, item.backdrop.top, item.backdrop.width, item.backdrop.height);\n }\n let y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, item);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const {ctx, options: {position, title, reverse}} = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const {titleX, titleY, maxWidth, rotation} = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [{\n z: tz,\n draw: (chartArea) => {\n this.draw(chartArea);\n }\n }];\n }\n return [{\n z: gz,\n draw: (chartArea) => {\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n }, {\n z: gz + 1,\n draw: () => {\n this.drawBorder();\n }\n }, {\n z: tz,\n draw: (chartArea) => {\n this.drawLabels(chartArea);\n }\n }];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override) {\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach(property => {\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [scope].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor() {\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [this.controllers, this.scales, this.elements];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [...args].forEach(arg => {\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || (reg === this.plugins && arg.id)) {\n this._exec(method, reg, arg);\n } else {\n each(arg, item => {\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for (let i = 0; i < this._typedRegistries.length; i++) {\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = new Registry();\n\nclass ScatterController extends DatasetController {\n update(mode) {\n const meta = this._cachedMeta;\n const {data: points = []} = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let {start, count} = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n const {dataset: line, _dataset} = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const {showLine} = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const {iScale, vScale, _stacked, _dataset} = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const {spanGaps, segment} = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for (let i = start; i < start + count; ++i) {\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && (Math.abs(parsed[iAxis] - prevParsed[iAxis])) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for (let i = data.length - 1; i >= 0; --i) {\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\nScatterController.id = 'scatter';\nScatterController.defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n};\nScatterController.overrides = {\n interaction: {\n mode: 'point'\n },\n plugins: {\n tooltip: {\n callbacks: {\n title() {\n return '';\n },\n label(item) {\n return '(' + item.label + ', ' + item.formattedValue + ')';\n }\n }\n }\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n};\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPolarAreaController: PolarAreaController,\nPieController: PieController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\nfunction abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\nclass DateAdapter {\n constructor(options) {\n this.options = options || {};\n }\n init(chartOptions) {}\n formats() {\n return abstract();\n }\n parse(value, format) {\n return abstract();\n }\n format(timestamp, format) {\n return abstract();\n }\n add(timestamp, amount, unit) {\n return abstract();\n }\n diff(a, b, unit) {\n return abstract();\n }\n startOf(timestamp, unit, weekday) {\n return abstract();\n }\n endOf(timestamp, unit) {\n return abstract();\n }\n}\nDateAdapter.override = function(members) {\n Object.assign(DateAdapter.prototype, members);\n};\nvar adapters = {\n _date: DateAdapter\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const {controller, data, _sorted} = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {lo: start.lo, hi: end.hi};\n }\n }\n }\n return {lo: 0, hi: data.length - 1};\n}\nfunction evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for (let i = 0, ilen = metasets.length; i < ilen; ++i) {\n const {index, data} = metasets[i];\n const {lo, hi} = binarySearch(metasets[i], axis, value, intersect);\n for (let j = lo; j <= hi; ++j) {\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\nfunction getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\nfunction getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({element, datasetIndex, index});\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\nfunction getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const {startAngle, endAngle} = element.getProps(['startAngle', 'endAngle'], useFinalPosition);\n const {angle} = getAngleFromPoint(element, {x: position.x, y: position.y});\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [{element, datasetIndex, index}];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({element, datasetIndex, index});\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\nfunction getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect\n ? getNearestRadialItems(chart, position, axis, useFinalPosition)\n : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\nfunction getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index) => {\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({element, datasetIndex, index});\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\nvar Interaction = {\n evaluateInteractionItems,\n modes: {\n index(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible)\n : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta) => {\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({element, datasetIndex: meta.index, index});\n }\n });\n return elements;\n },\n dataset(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect\n ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) :\n getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for (let i = 0; i < data.length; ++i) {\n items.push({element: data[i], datasetIndex, index: i});\n }\n }\n return items;\n },\n point(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y(chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = ['left', 'top', 'right', 'bottom'];\nfunction filterByPosition(array, position) {\n return array.filter(v => v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter(v => STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b) => {\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ?\n v0.index - v1.index :\n v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for (i = 0, ilen = (boxes || []).length; i < ilen; ++i) {\n box = boxes[i];\n ({position: pos, options: {stack, stackWeight = 1}} = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && (pos + stack),\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts) {\n const {stack, pos, stackWeight} = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {count: 0, placed: 0, weight: 0, size: 0});\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\nfunction setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const {vBoxMaxWidth, hBoxMaxHeight} = params;\n let i, ilen, layout;\n for (i = 0, ilen = layouts.length; i < ilen; ++i) {\n layout = layouts[i];\n const {fullSize} = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter(wrap => wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const {pos, box} = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {size: 0, count: 1};\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal\n ? {same: widthChanged, other: heightChanged}\n : {same: heightChanged, other: widthChanged};\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {left: 0, top: 0, right: 0, bottom: 0};\n positions.forEach((pos) => {\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal\n ? marginForPositions(['left', 'right'])\n : marginForPositions(['top', 'bottom']);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for (i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i) {\n layout = boxes[i];\n box = layout.box;\n box.update(\n layout.width || chartArea.w,\n layout.height || chartArea.h,\n getMargins(layout.horizontal, chartArea)\n );\n const {same, other} = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let {x, y} = chartArea;\n for (const layout of boxes) {\n const box = layout.box;\n const stack = stacks[layout.stack] || {count: 1, placed: 0, weight: 1};\n const weight = (layout.stackWeight / stack.weight) || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\ndefaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n});\nvar layouts = {\n addBox(chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [{\n z: 0,\n draw(chartArea) {\n item.draw(chartArea);\n }\n }];\n };\n chart.boxes.push(item);\n },\n removeBox(chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure(chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update(chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, box => {\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap) =>\n wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w,\n };\n each(boxes.chartArea, (layout) => {\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {left: 0, top: 0, right: 0, bottom: 0});\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\nconst EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = value => value === null || value === '';\nfunction initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {passive: true} : false;\nfunction addListener(node, type, listener) {\n node.addEventListener(type, listener, eventListenerOptions);\n}\nfunction removeListener(chart, type, listener) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const {x, y} = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null,\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList) {\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver(entries => {\n let trigger = false;\n for (const entry of entries) {\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {childList: true, subtree: true});\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart) => {\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height) => {\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver(entries => {\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event) => {\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart, (args) => {\n const event = args[0];\n return [event, event.offsetX, event.offsetY];\n });\n addListener(canvas, type, proxy);\n return proxy;\n}\nclass DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n ['height', 'width'].forEach((prop) => {\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key) => {\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || (typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas)) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass PluginService {\n constructor() {\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors) {\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [chart, args, descriptor.options];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b) => a.filter(x => !b.some(y => x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\nfunction allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for (let i = 0; i < keys.length; i++) {\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for (let i = 0; i < local.length; i++) {\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {plugins, localIds};\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, {plugins, localIds}, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins) {\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {plugin, local: localIds[id]}, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, {plugin, local}, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [''], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, scaleOptions) {\n if (id === 'x' || id === 'y') {\n return id;\n }\n return scaleOptions.axis || axisFromPosition(scaleOptions.position) || id.charAt(0).toLowerCase();\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {scales: {}};\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const firstIDs = Object.create(null);\n const scales = Object.create(null);\n Object.keys(configScales).forEach(id => {\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n firstIDs[axis] = firstIDs[axis] || id;\n scales[id] = mergeIf(Object.create(null), [{axis}, scaleConf, defaultScaleOptions[axis], defaultScaleOptions[defaultId]]);\n });\n config.data.datasets.forEach(dataset => {\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach(defaultID => {\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || firstIDs[axis] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [{axis}, configScales[id], defaultScaleOptions[defaultID]]);\n });\n });\n Object.keys(scales).forEach(key => {\n const scale = scales[key];\n mergeIf(scale, [defaults.scales[scale.type], defaults.scale]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key) => {\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config) {\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType,\n () => [[\n `datasets.${datasetType}`,\n ''\n ]]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`,\n () => [\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`,\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`,\n () => [[\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`,\n () => [[\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || [],\n ]]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const {options, type} = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach(keys => {\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach(key => addIfFound(scopes, mainScope, key));\n }\n keys.forEach(key => addIfFound(scopes, options, key));\n keys.forEach(key => addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach(key => addIfFound(scopes, defaults, key));\n keys.forEach(key => addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const {options, type} = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {type},\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = ['']) {\n const result = {$shared: true};\n const {resolver, subPrefixes} = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names) {\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [''], descriptorDefaults) {\n const {resolver} = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context)\n ? _attachContext(resolver, context, undefined, descriptorDefaults)\n : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter(p => !p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = value => isObject(value)\n && Object.getOwnPropertyNames(value).reduce((acc, key) => acc || isFunction(value[key]), false);\nfunction needContext(proxy, names) {\n const {isScriptable, isIndexable} = _descriptors(proxy);\n for (const prop of names) {\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if ((scriptable && (isFunction(value) || hasFunction(value)))\n || (indexable && isArray(value))) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"3.9.1\";\n\nconst KNOWN_POSITIONS = ['top', 'bottom', 'left', 'right', 'chartArea'];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || (KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x');\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1]\n ? a[l2] - b[l2]\n : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [context], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [context], chart);\n}\nfunction getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key) => {\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c) => c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys) {\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\nfunction determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nclass Chart {\n constructor(item, userConfig) {\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error(\n 'Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' +\n\t\t\t\t' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.'\n );\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce(mode => this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const {options: {aspectRatio, maintainAspectRatio}, width, height, _aspectRatio} = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {width, height};\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {size: newSize});\n callback(options.onResize, [this, newSize], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID) => {\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id) => {\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(\n Object.keys(scaleOpts).map((id) => {\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n })\n );\n }\n each(items, (item) => {\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id) => {\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale) => {\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b) => a.index - b.index);\n if (numMeta > numData) {\n for (let i = numData; i < numMeta; ++i) {\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const {_metasets: metasets, data: {datasets}} = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index) => {\n if (datasets.filter(x => x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for (i = 0, ilen = datasets.length; i < ilen; i++) {\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const {datasetElementType, dataElementType} = defaults.datasets[type];\n Object.assign(ControllerClass.prototype, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex) => {\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; i++) {\n const {controller} = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller) => {\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {mode});\n this._layers.sort(compare2Level('z', '_idx'));\n const {_active, _lastEvent} = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale) => {\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const {_hiddenIndices} = this;\n const changes = this._getUniformDataChanges() || [];\n for (const {method, start, count} of changes) {\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx) => new Set(\n _dataChanges\n .filter(c => c[0] === idx)\n .map((c, i) => i + ',' + c.splice(1).join(','))\n );\n const changeSet = makeSet(0);\n for (let i = 1; i < datasetCount; i++) {\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet)\n .map(c => c.split(','))\n .map(a => ({method: a[1], start: +a[2], count: +a[3]}));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {cancelable: true}) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box) => {\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index) => {\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {mode, cancelable: true}) === false) {\n return;\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this.getDatasetMeta(i).controller.configure();\n }\n for (let i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._updateDataset(i, isFunction(mode) ? mode({datasetIndex: i}) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {mode});\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {meta, index, mode, cancelable: true};\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {cancelable: true}) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({chart: this});\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const {width, height} = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {cancelable: true}) === false) {\n return;\n }\n const layers = this._layers;\n for (i = 0; i < layers.length && layers[i].z <= 0; ++i) {\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for (; i < layers.length; ++i) {\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for (i = 0, ilen = metasets.length; i < ilen; ++i) {\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {cancelable: true}) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = this.chartArea;\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter(x => x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {chart: this, type: 'chart'}));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {visible});\n this.update((ctx) => ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for (i = 0, ilen = this.data.datasets.length; i < ilen; ++i) {\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const {canvas, ctx} = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n this.notifyPlugins('destroy');\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y) => {\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type) => _add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener) => {\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener) => {\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height) => {\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = () => {\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = () => {\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type) => {\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b) => a.filter(x => !b.some(y => x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin) => (plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const {_active: lastActive = [], options} = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [e, active, this], this);\n if (isClick) {\n callback(options.onClick, [e, active, this], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nconst invalidatePlugins = () => each(Chart.instances, (chart) => chart._plugins.invalidate());\nconst enumerable = true;\nObject.defineProperties(Chart, {\n defaults: {\n enumerable,\n value: defaults\n },\n instances: {\n enumerable,\n value: instances\n },\n overrides: {\n enumerable,\n value: overrides\n },\n registry: {\n enumerable,\n value: registry\n },\n version: {\n enumerable,\n value: version\n },\n getChart: {\n enumerable,\n value: getChart\n },\n register: {\n enumerable,\n value: (...items) => {\n registry.add(...items);\n invalidatePlugins();\n }\n },\n unregister: {\n enumerable,\n value: (...items) => {\n registry.remove(...items);\n invalidatePlugins();\n }\n }\n});\n\nfunction clipArc(ctx, element, endAngle) {\n const {startAngle, pixelMargin, x, y, outerRadius, innerRadius} = element;\n let angleMargin = pixelMargin / outerRadius;\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, ['outerStart', 'outerEnd', 'innerStart', 'innerEnd']);\n}\nfunction parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n const computeOuterLimit = (val) => {\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit),\n };\n}\nfunction rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta),\n };\n}\nfunction pathArc(ctx, element, offset, spacing, end, circular) {\n const {x, y, startAngle: start, pixelMargin, innerRadius: innerR} = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? (alpha * avNogSpacingRadius) / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const {outerStart, outerEnd, innerStart, innerEnd} = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerEndAdjustedAngle);\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n ctx.arc(x, y, innerRadius, endAngle - (innerEnd / innerRadius), startAngle + (innerStart / innerRadius), true);\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const {fullCircles, startAngle, circumference} = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, startAngle + TAU, circular);\n for (let i = 0; i < fullCircles; ++i) {\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + circumference % TAU;\n if (circumference % TAU === 0) {\n endAngle += TAU;\n }\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawFullCircleBorders(ctx, element, inner) {\n const {x, y, startAngle, pixelMargin, fullCircles} = element;\n const outerRadius = Math.max(element.outerRadius - pixelMargin, 0);\n const innerRadius = element.innerRadius + pixelMargin;\n let i;\n if (inner) {\n clipArc(ctx, element, startAngle + TAU);\n }\n ctx.beginPath();\n ctx.arc(x, y, innerRadius, startAngle + TAU, startAngle, true);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle, startAngle + TAU);\n for (i = 0; i < fullCircles; ++i) {\n ctx.stroke();\n }\n}\nfunction drawBorder(ctx, element, offset, spacing, endAngle, circular) {\n const {options} = element;\n const {borderWidth, borderJoinStyle} = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n if (element.fullCircles) {\n drawFullCircleBorders(ctx, element, inner);\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n}\nclass ArcElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps(['x', 'y'], useFinalPosition);\n const {angle, distance} = getAngleFromPoint(point, {x: chartX, y: chartY});\n const {startAngle, endAngle, innerRadius, outerRadius, circumference} = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = this.options.spacing / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return (betweenAngles && withinRadius);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, startAngle, endAngle, innerRadius, outerRadius} = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference',\n ], useFinalPosition);\n const {offset, spacing} = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const {options, circumference} = this;\n const offset = (options.offset || 0) / 2;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = (options.borderAlign === 'inner') ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n let radiusOffset = 0;\n if (offset) {\n radiusOffset = offset / 2;\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * radiusOffset, Math.sin(halfAngle) * radiusOffset);\n if (this.circumference >= PI) {\n radiusOffset = offset;\n }\n }\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n const endAngle = drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, endAngle, circular);\n ctx.restore();\n }\n}\nArcElement.id = 'arc';\nArcElement.defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true,\n};\nArcElement.defaultRoutes = {\n backgroundColor: 'backgroundColor'\n};\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\nfunction getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const {start: paramsStart = 0, end: paramsEnd = count - 1} = params;\n const {start: segmentStart, end: segmentEnd} = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\nfunction pathSegment(ctx, line, segment, params) {\n const {points, options} = line;\n const {count, start, loop, ilen} = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let {move = true, reverse} = params || {};\n let i, point, prev;\n for (i = 0; i <= ilen; ++i) {\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\nfunction fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const {count, start, ilen} = pathVars(points, segment, params);\n const {move = true, reverse} = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index) => (start + (reverse ? ilen - index : index)) % count;\n const drawX = () => {\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for (i = 0; i <= ilen; ++i) {\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\nfunction _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\nfunction _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const {segments, options} = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments) {\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {start, end: start + count - 1})) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n constructor(cfg) {\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {property, start: value, end: value});\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for (i = 0, ilen = segments.length; i < ilen; ++i) {\n const {start, end} = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || (this.points.length - start);\n for (const segment of segments) {\n loop &= segmentMethod(ctx, this, segment, {start, end: start + count - 1});\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\nLineElement.id = 'line';\nLineElement.defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0,\n};\nLineElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\nLineElement.descriptors = {\n _scriptable: true,\n _indexable: (name) => name !== 'borderDash' && name !== 'fill',\n};\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const {[axis]: value} = el.getProps([axis], useFinalPosition);\n return (Math.abs(pos - value) < options.radius + options.hitRadius);\n}\nclass PointElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return ((Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2)) < Math.pow(options.hitRadius + options.radius, 2));\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y} = this.getProps(['x', 'y'], useFinalPosition);\n return {x, y};\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n return options.radius + options.hitRadius;\n }\n}\nPointElement.id = 'point';\nPointElement.defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n};\nPointElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nfunction getBarBounds(bar, useFinalPosition) {\n const {x, y, base, width, height} = bar.getProps(['x', 'y', 'base', 'width', 'height'], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {left, top, right, bottom};\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const {enableBorderRadius} = bar.getProps(['enableBorderRadius']);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r)),\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds\n\t\t&& (skipX || _isBetween(x, bounds.left, bounds.right))\n\t\t&& (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\nfunction addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n constructor(cfg) {\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const {inflateAmount, options: {borderColor, backgroundColor}} = this;\n const {inner, outer} = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const {x, y, base, horizontal} = this.getProps(['x', 'y', 'base', 'horizontal'], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\nBarElement.id = 'bar';\nBarElement.defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n};\nBarElement.defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n};\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nLineElement: LineElement,\nPointElement: PointElement,\nBarElement: BarElement\n});\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for (i = 0; i < samples - 2; i++) {\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for (j = avgRangeStart; j < avgRangeEnd; j++) {\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const {x: pointAx, y: pointAy} = data[a];\n maxArea = area = -1;\n for (j = rangeOffs; j < rangeTo; j++) {\n area = 0.5 * Math.abs(\n (pointAx - avgX) * (data[j].y - pointAy) -\n (pointAx - data[j].x) * (avgY - pointAy)\n );\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for (i = start; i < start + count; ++i) {\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX,\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {value: data});\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset) => {\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const {iScale} = meta;\n const {min, max, minDefined, maxDefined} = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {start, count};\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false,\n },\n beforeElementsUpdate: (chart, args, options) => {\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex) => {\n const {_data, indexAxis} = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([indexAxis, chart.options.indexAxis]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let {start, count} = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch (options.algorithm) {\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy(chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments) {\n let {start, end} = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments) {\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources) {\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {property, start, end};\n}\nfunction _pointsFromSegments(boundary, line) {\n const {x = null, y = null} = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({start, end}) => {\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({x: first.x, y});\n points.push({x: last.x, y});\n } else if (x !== null) {\n points.push({x, y: first.y});\n points.push({x, y: last.y});\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for (;end > start; end--) {\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {tension: 0},\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [index];\n let target;\n if (!propagate) {\n return fill;\n }\n while (fill !== false && visited.indexOf(fill) === -1) {\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\nfunction _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return ['origin', 'start', 'end', 'stack', 'shape'].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\nfunction _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\nfunction _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\nfunction parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const {scale, index, line} = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({x: null, y: scale.bottom}, line));\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n for (let j = segment.start; j <= segment.end; j++) {\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({points, options: {}});\n}\nfunction getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for (let i = 0; i < metas.length; i++) {\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\nfunction addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for (let j = 0; j < linesBelow.length; j++) {\n const line = linesBelow[j];\n const {first, last, point} = findPoint(line, sourcePoint, 'x');\n if (!point || (first && last)) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\nfunction findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for (let i = 0; i < segments.length; i++) {\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {first, last, point};\n}\n\nclass simpleArc {\n constructor(opts) {\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const {x, y, radius} = this;\n bounds = bounds || {start: 0, end: TAU};\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const {x, y, radius} = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const {chart, fill, line} = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\nfunction getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const {scale = {}, fill} = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const {scale, fill} = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for (let i = 0; i < length; ++i) {\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const {line, scale, axis} = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const {above = color, below = color} = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {line, target, above, below, area, scale, axis});\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const {line, target, above, below, area, scale} = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {line, target, color: above, scale, property});\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {line, target, color: below, scale, property});\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const {segments, points} = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments) {\n const {start, end} = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {move: lineLoop});\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const {line, target, property, color, scale} = cfg;\n const segments = _segments(line, target, property);\n for (const {source: src, target: tgt, start, end} of segments) {\n const {style: {backgroundColor = color} = {}} = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {move: lineLoop, reverse: true});\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const {top, bottom} = scale.chart.chartArea;\n const {property, start, end} = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate(chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for (i = 0; i < count; ++i) {\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line,\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for (i = 0; i < count; ++i) {\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw(chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw(chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for (let i = metasets.length - 1; i >= 0; --i) {\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw(chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize) => {\n let {boxHeight = fontSize, boxWidth = fontSize} = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b) => a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config) {\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [this.chart], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item) => labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b) => labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const {options, ctx} = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const {boxWidth, itemHeight} = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxWidth, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [0];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {left: 0, top, row, width: itemWidth, height: itemHeight};\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, fontSize, boxWidth, itemHeight) {\n const {ctx, maxHeight, options: {labels: {padding}}} = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i) => {\n const itemWidth = boxWidth + (fontSize / 2) + ctx.measureText(legendItem.text).width;\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {left, top: currentColHeight, col, width: itemWidth, height: itemHeight};\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({width: currentColWidth, height: currentColHeight});\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const {legendHitBoxes: hitboxes, options: {align, labels: {padding}, rtl}} = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes) {\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes) {\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const {options: opts, columnSizes, lineWidths, ctx} = this;\n const {align, labels: labelOpts} = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const {color: fontColor, padding} = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const {boxWidth, boxHeight, itemHeight} = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some(v => v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + (itemHeight / 2), labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i) => {\n ctx.strokeStyle = legendItem.fontColor || fontColor;\n ctx.fillStyle = legendItem.fontColor || fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size) => Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right)\n && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for (i = 0; i < lh.length; ++i) {\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width)\n && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [e, previous, this], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [e, hoveredItem, this], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [e, hoveredItem, this], this);\n }\n }\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start(chart, _args, options) {\n const legend = chart.legend = new Legend({ctx: chart.ctx, options, chart});\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop(chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate(chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate(chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent(chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick(e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx) => ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels(chart) {\n const datasets = chart.data.datasets;\n const {labels: {usePointStyle, pointStyle, textAlign, color}} = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta) => {\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: 0,\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx) => ctx.chart.options.color,\n display: false,\n position: 'center',\n text: '',\n }\n },\n descriptors: {\n _scriptable: (name) => !name.startsWith('on'),\n labels: {\n _scriptable: (name) => !['generateLabels', 'filter', 'sort'].includes(name),\n }\n },\n};\n\nclass Title extends Element {\n constructor(config) {\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const {top, left, bottom, right, options} = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {titleX, titleY, maxWidth, rotation};\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const {titleX, titleY, maxWidth, rotation} = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [titleX, titleY],\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start(chart, _args, options) {\n createTitle(chart, options);\n },\n stop(chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate(chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold',\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start(chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop(chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate(chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal',\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false,\n },\n};\n\nconst positioners = {\n average(items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let x = 0;\n let y = 0;\n let count = 0;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n x += pos.x;\n y += pos.y;\n ++count;\n }\n }\n return {\n x: x / count,\n y: y / count\n };\n },\n nearest(items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for (i = 0, len = items.length; i < len; ++i) {\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\nfunction splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\nfunction createTooltipItem(chart, item) {\n const {element, datasetIndex, index} = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const {label, value} = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\nfunction getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const {body, footer, title} = tooltip;\n const {boxWidth, boxHeight} = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem) => count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight\n\t\t\t+ (titleLineCount - 1) * options.titleSpacing\n\t\t\t+ options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight\n\t\t\t+ (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight\n\t\t\t+ (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop\n\t\t\t+ footerLineCount * footerFont.lineHeight\n\t\t\t+ (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? (boxWidth + 2 + options.boxPadding) : 0;\n each(body, (bodyItem) => {\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {width, height};\n}\nfunction determineYAlign(chart, size) {\n const {y, height} = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > (chart.height - height / 2)) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const {x, width} = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const {x, width} = size;\n const {width: chartWidth, chartArea: {left, right}} = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\nfunction determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let {x, width} = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= (width / 2);\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let {y, height} = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= (height / 2);\n }\n return y;\n}\nfunction getBackgroundPoint(options, size, alignment, chart) {\n const {caretSize, caretPadding, cornerRadius} = options;\n const {xAlign, yAlign} = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center'\n ? tooltip.x + tooltip.width / 2\n : align === 'right'\n ? tooltip.x + tooltip.width - padding.right\n : tooltip.x + padding.left;\n}\nfunction getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nclass Tooltip extends Element {\n constructor(config) {\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart || config._chart;\n this._chart = this.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context ||\n\t\t\t(this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const {callbacks} = options;\n const beforeTitle = callbacks.beforeTitle.apply(this, [context]);\n const title = callbacks.title.apply(this, [context]);\n const afterTitle = callbacks.afterTitle.apply(this, [context]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.beforeBody.apply(this, [tooltipItems]));\n }\n getBody(tooltipItems, options) {\n const {callbacks} = options;\n const bodyItems = [];\n each(tooltipItems, (context) => {\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(scoped.beforeLabel.call(this, context)));\n pushOrConcat(bodyItem.lines, scoped.label.call(this, context));\n pushOrConcat(bodyItem.after, splitNewlines(scoped.afterLabel.call(this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(options.callbacks.afterBody.apply(this, [tooltipItems]));\n }\n getFooter(tooltipItems, options) {\n const {callbacks} = options;\n const beforeFooter = callbacks.beforeFooter.apply(this, [tooltipItems]);\n const footer = callbacks.footer.apply(this, [tooltipItems]);\n const afterFooter = callbacks.afterFooter.apply(this, [tooltipItems]);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for (i = 0, len = active.length; i < len; ++i) {\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array) => options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b) => options.itemSort(a, b, data));\n }\n each(tooltipItems, (context) => {\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(scoped.labelColor.call(this, context));\n labelPointStyles.push(scoped.labelPointStyle.call(this, context));\n labelTextColors.push(scoped.labelTextColor.call(this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {chart: this.chart, tooltip: this, replay});\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const {xAlign, yAlign} = this;\n const {caretSize, cornerRadius} = options;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(cornerRadius);\n const {x: ptX, y: ptY} = tooltipPoint;\n const {width, height} = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + (height / 2);\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + (caretSize);\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {x1, x2, x3, y1, y2, y3};\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColors = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const {boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.fillStyle = labelColors.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColors.borderWidth) ? Math.max(...Object.values(labelColors.borderWidth)) : (labelColors.borderWidth || 1);\n ctx.strokeStyle = labelColors.borderColor;\n ctx.setLineDash(labelColors.borderDash || []);\n ctx.lineDashOffset = labelColors.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth - boxPadding);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - boxPadding - 2);\n const borderRadius = toTRBLCorners(labelColors.borderRadius);\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius,\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColors.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const {body} = this;\n const {bodySpacing, bodyAlign, displayColors, boxHeight, boxWidth, boxPadding} = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right'\n ? bodyAlign === 'center' ? (boxWidth / 2 + boxPadding) : (boxWidth + 2 + boxPadding)\n : 0;\n for (i = 0, ilen = body.length; i < ilen; ++i) {\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for (j = 0, jlen = lines.length; j < jlen; ++j) {\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for (i = 0; i < length; ++i) {\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const {xAlign, yAlign} = this;\n const {x, y} = pt;\n const {width, height} = tooltipSize;\n const {topLeft, topRight, bottomLeft, bottomRight} = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({datasetIndex, index}) => {\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index,\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const {caretX, caretY, options} = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nTooltip.positioners = positioners;\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit(chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({chart, options});\n }\n },\n beforeUpdate(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset(chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw(chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', args) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent(chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold',\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {\n },\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold',\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts) => opts.bodyFont.size,\n boxWidth: (ctx, opts) => opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart',\n },\n animations: {\n numbers: {\n type: 'number',\n properties: ['x', 'y', 'width', 'height', 'caretX', 'caretY'],\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: {\n beforeTitle: noop,\n title(tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label(tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0,\n };\n },\n labelTextColor() {\n return this.options.bodyColor;\n },\n labelPointStyle(tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation,\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n }\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name) => name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false,\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: ['interaction']\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels) => {\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({index, label: raw});\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max) => index === null ? null : _limitValue(Math.round(index), 0, max);\nclass CategoryScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const {index, label} of added) {\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index\n : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = (min === 0 && max === labels.length - 1) ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for (let value = min; value <= max; value++) {\n ticks.push({value});\n }\n return ticks;\n }\n getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\nCategoryScale.id = 'category';\nCategoryScale.defaults = {\n ticks: {\n callback: CategoryScale.prototype.getLabelForValue\n }\n};\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const {bounds, step, min, max, precision, count, maxTicks, maxDigits, includeBounds} = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const {min: rmin, max: rmax} = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [{value: rmin}, {value: rmax}];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(\n _decimalPlaces(spacing),\n _decimalPlaces(niceMin)\n );\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({value: min});\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for (; j < numSpaces; ++j) {\n ticks.push({value: Math.round((niceMin + j * spacing) * factor) / factor});\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({value: max});\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({value: niceMax});\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, {horizontal, minRotation}) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const {beginAtZero} = this.options;\n const {minDefined, maxDefined} = this.getUserBounds();\n let {min, max} = this;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = 1;\n if (max >= Number.MAX_SAFE_INTEGER || min <= Number.MIN_SAFE_INTEGER) {\n offset = Math.abs(max * 0.05);\n }\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let {maxTicksLimit, stepSize} = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\nLinearScale.id = 'linear';\nLinearScale.defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n};\n\nfunction isMajor(tickVal) {\n const remain = tickVal / (Math.pow(10, Math.floor(log10(tickVal))));\n return remain === 1;\n}\nfunction generateTicks(generationOptions, dataRange) {\n const endExp = Math.floor(log10(dataRange.max));\n const endSignificand = Math.ceil(dataRange.max / Math.pow(10, endExp));\n const ticks = [];\n let tickVal = finiteOrDefault(generationOptions.min, Math.pow(10, Math.floor(log10(dataRange.min))));\n let exp = Math.floor(log10(tickVal));\n let significand = Math.floor(tickVal / Math.pow(10, exp));\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n do {\n ticks.push({value: tickVal, major: isMajor(tickVal)});\n ++significand;\n if (significand === 10) {\n significand = 1;\n ++exp;\n precision = exp >= 0 ? 1 : precision;\n }\n tickVal = Math.round(significand * Math.pow(10, exp) * precision) / precision;\n } while (exp < endExp || (exp === endExp && significand < endSignificand));\n const lastTick = finiteOrDefault(generationOptions.max, tickVal);\n ticks.push({value: lastTick, major: isMajor(tickVal)});\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n constructor(cfg) {\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [raw, index]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const {minDefined, maxDefined} = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = v => (min = minDefined ? min : v);\n const setMax = v => (max = maxDefined ? max : v);\n const exp = (v, m) => Math.pow(10, Math.floor(log10(v)) + m);\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(exp(min, -1));\n setMax(exp(max, +1));\n }\n }\n if (min <= 0) {\n setMin(exp(max, -1));\n }\n if (max <= 0) {\n setMax(exp(min, +1));\n }\n if (this._zero && this.min !== this._suggestedMin && min === exp(this.min, 0)) {\n setMin(exp(min, -1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined\n ? '0'\n : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min\n ? 0\n : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\nLogarithmicScale.id = 'logarithmic';\nLogarithmicScale.defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n};\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [label];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - (size / 2),\n end: pos + (size / 2)\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\nfunction fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(\n orig.l - limits.l,\n limits.r - orig.r,\n orig.t - limits.t,\n limits.b - orig.b\n );\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const extra = getTickBackdropHeight(opts) / 2;\n const outerDistance = scale.drawingArea;\n const additionalAngle = opts.pointLabels.centerPointLabels ? PI / valueCount : 0;\n for (let i = 0; i < valueCount; i++) {\n const pointLabelPosition = scale.getPointPosition(i, outerDistance + extra + padding[i], additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const size = labelSizes[i];\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n items.push({\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n });\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= (w / 2);\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= (h / 2);\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabels(scale, labelCount) {\n const {ctx, options: {pointLabels}} = scale;\n for (let i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n const plFont = toFont(optsAtIndex.font);\n const {x, y, textAlign, left, top, right, bottom} = scale._pointLabelItems[i];\n const {backdropColor} = optsAtIndex;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(optsAtIndex.borderRadius);\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some(v => v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius,\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n renderText(\n ctx,\n scale._pointLabels[i],\n x,\n y + (plFont.lineHeight / 2),\n plFont,\n {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n }\n );\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const {ctx} = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for (let i = 1; i < labelCount; i++) {\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const {color, lineWidth} = gridLineOpts;\n if ((!circular && !labelCount) || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(gridLineOpts.borderDash);\n ctx.lineDashOffset = gridLineOpts.borderDashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n constructor(cfg) {\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const {min, max} = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels()\n .map((value, index) => {\n const label = callback(this.options.pointLabels.callback, [value, index], this);\n return label || label === 0 ? label : '';\n })\n .filter((v, i) => this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const {left, top, right, bottom} = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom,\n };\n }\n drawBackground() {\n const {backgroundColor, grid: {circular}} = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const {angleLines, grid} = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index) => {\n if (index !== 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const optsAtIndex = grid.setContext(this.getContext(index - 1));\n drawRadiusLine(this, optsAtIndex, offset, labelCount);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for (i = labelCount - 1; i >= 0; i--) {\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const {color, lineWidth} = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index) => {\n if (index === 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(\n -width / 2 - padding.left,\n -offset - tickFont.size / 2 - padding.top,\n width + padding.width,\n tickFont.size + padding.height\n );\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\nRadialLinearScale.id = 'radialLinear';\nRadialLinearScale.defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback(label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n};\nRadialLinearScale.defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n};\nRadialLinearScale.descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n};\n\nconst INTERVALS = {\n millisecond: {common: true, size: 1, steps: 1000},\n second: {common: true, size: 1000, steps: 60},\n minute: {common: true, size: 60000, steps: 60},\n hour: {common: true, size: 3600000, steps: 24},\n day: {common: true, size: 86400000, steps: 30},\n week: {common: false, size: 604800000, steps: 4},\n month: {common: true, size: 2.628e9, steps: 12},\n quarter: {common: false, size: 7.884e9, steps: 4},\n year: {common: true, size: 3.154e10}\n};\nconst UNITS = (Object.keys(INTERVALS));\nfunction sorter(a, b) {\n return a - b;\n}\nfunction parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const {parser, round, isoWeekday} = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string'\n ? adapter.parse(value, parser)\n : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true)\n ? adapter.startOf(value, 'isoWeek', isoWeekday)\n : adapter.startOf(value, round);\n }\n return +value;\n}\nfunction determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for (let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i) {\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\nfunction determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for (let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--) {\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\nfunction determineMajorUnit(unit) {\n for (let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i) {\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\nfunction addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const {lo, hi} = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\nfunction setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for (major = first; major <= last; major = +adapter.add(major, 1, majorUnit)) {\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\nfunction ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for (i = 0; i < ilen; ++i) {\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return (ilen === 0 || !majorUnit) ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n constructor(props) {\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let {min, max, minDefined, maxDefined} = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {min, max};\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip\n ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min))\n : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined\n : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map(tick => +tick.value));\n }\n }\n initOffsets(timestamps) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {start, end, factor: 1 / (start + 1 + end)};\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(timeOpts.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for (time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++) {\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort((a, b) => a - b).map(x => +x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n const label = this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n const formatter = options.ticks.callback;\n return formatter ? callback(formatter, [label, index, ticks], this) : label;\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for (i = 0, ilen = ticks.length; i < ilen; ++i) {\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: (tickLabelWidth * cosRotation) + (tickFontSize * sinRotation),\n h: (tickLabelWidth * sinRotation) + (tickFontSize * cosRotation)\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [exampleTime], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return (this._cache.data = metas[0].controller.getAllParsedValues(this));\n }\n for (i = 0, ilen = metas.length; i < ilen; ++i) {\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return (this._cache.data = this.normalize(timestamps));\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for (i = 0, ilen = labels.length; i < ilen; ++i) {\n timestamps.push(parse(this, labels[i]));\n }\n return (this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps));\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\nTimeScale.id = 'time';\nTimeScale.defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n major: {\n enabled: false\n }\n }\n};\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({lo, hi} = _lookupByKey(table, 'pos', val));\n }\n ({pos: prevSource, time: prevTarget} = table[lo]);\n ({pos: nextSource, time: nextTarget} = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({lo, hi} = _lookupByKey(table, 'time', val));\n }\n ({time: prevSource, pos: prevTarget} = table[lo]);\n ({time: nextSource, pos: nextTarget} = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n constructor(props) {\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const {min, max} = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for (i = 0, ilen = timestamps.length; i < ilen; ++i) {\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {time: min, pos: 0},\n {time: max, pos: 1}\n ];\n }\n for (i = 0, ilen = items.length; i < ilen; ++i) {\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({time: curr, pos: i / (ilen - 1)});\n }\n }\n return table;\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\nTimeSeriesScale.id = 'timeseries';\nTimeSeriesScale.defaults = TimeScale.defaults;\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales,\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, elements, layouts, plugins, registerables, registry, scales };\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(608);\n"],"names":["root","factory","exports","module","define","amd","this","message","InvalidDataException","Pair","blocks","block","title","lines","line","isHumanLine","parseGenericTitle","blockRows","a","BlockRow","values","toList","first","blockRow","originalValueOrder","currentValueOrder","checkDataIntegrity","createChartTitle","benchmarkResults","BenchmarkResult","chartTitle","parseMultiLineGenericInput","isMachineLine","data","key","transformedList","valueMap","it","toSet","flatten","chartNames","c","chartName","charts","dataSets","ChartsBundle","parseGroupMap","isGeneric","println","titles","mutableListOf","lineColors","randomRgb","newColor","placeholder","rows","textInput","isBlank","type","marginTop","marginLeft","legend","label","borderColor","borderWidth","labels","datasets","plugins","Chart","width","maxWidth","height","maxHeight","fontSize","marginBottom","savedBenchmarks","savedBenchmark","selected","disabled","marginRight","Date","getMilliseconds","lazy","document","createElement","selector","summaries","summary","blockName","badgeClass","postfix","fontWeight","ElementBuilderImplementation","testName","HomeViewModel","BenchmarkRepoImpl","FormRepoImpl","newTestName","chunked","paddingLeft","paddingRight","paddingBottom","chart","updateSummary","chartsBundle","blockNames","emptyList","blockNameOuter","blockNameInner","greenSum","redSum","node","newAggSums","AggSummary","calcAggSummary","inputType","result","listOf","toGenericChart","newCharts","onChartsBundleUpdated","firstOrNull","currentTestName","toCharts","printStackTrace","reset","mutableStateListOf","FormData","refreshBenchmarks","isGenericInput","form","parseGenericInput","isTestName","findMetricKeyOrNull","metricName","InvalidBenchmarkDataException","parseValues","parseTitle","iLine","match","lastOrNull","number","TextNumberLine","destroy","cloneNode","setTimeout","delay","newForm","window","prompt","bName","alert","SavedBenchmarkNode","formData","newList","savedBenchmarkNode","confirm","deletedBenchmarkNode","newBlockName","localStorage","getItem","savedBenchmarksString","SavedBenchmarks","setItem","removeAll","toString","toBoolean","isTestNameDetectionEnabled","selectedBlockNameOne","selectedBlockNameTwo","words","word","toFloatArray","array","newArray","i","segments","combinedMap","g","before","after","diff","summaryNodes","SummaryNode","emoji","segment","percDiff","resultWord","symbol","metricConfig","Summary","register","ArcElement","LineElement","BarElement","PointElement","BarController","BubbleController","DoughnutController","LineController","PieController","PolarAreaController","RadarController","ScatterController","CategoryScale","LinearScale","LogarithmicScale","RadialLinearScale","TimeScale","TimeSeriesScale","Decimation","Filler","Legend","Title","Tooltip","SubTitle","noop","uid","id","isNullOrUndef","value","isArray","Array","Object","prototype","call","slice","isObject","isNumberFinite","Number","isFinite","finiteOrDefault","defaultValue","valueOrDefault","toDimension","dimension","endsWith","parseFloat","callback","fn","args","thisArg","apply","each","loopable","reverse","len","keys","length","_elementsEqual","a0","a1","ilen","v0","v1","datasetIndex","index","clone$1","source","map","target","create","klen","k","isValidKey","indexOf","_merger","options","tval","sval","merge","sources","merger","mergeIf","_mergerIf","hasOwnProperty","keyResolvers","v","x","o","y","resolveObjectKey","obj","resolver","parts","split","tmp","part","push","_splitKey","_getKeyResolver","_capitalize","str","charAt","toUpperCase","defined","isFunction","setsEqual","b","size","item","has","PI","Math","TAU","PITAU","INFINITY","POSITIVE_INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","niceNum","range","roundedRange","round","almostEquals","niceRange","pow","floor","fraction","isNumber","n","isNaN","epsilon","abs","_setMinAndMaxByKey","property","min","max","toRadians","degrees","toDegrees","radians","_decimalPlaces","e","p","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","sqrt","angle","atan2","distance","distanceBetweenPoints","pt1","pt2","_angleDiff","_normalizeAngle","_angleBetween","start","end","sameAngleIsFullCircle","s","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_isBetween","_lookup","table","cmp","mid","hi","lo","_lookupByKey","last","_rlookupByKey","arrayEvents","unlistenArrayEvents","listener","stub","_chartjs","listeners","splice","forEach","_arrayUnique","items","set","Set","add","from","requestAnimFrame","requestAnimationFrame","throttled","updateFn","updateArgs","ticking","rest","_toLeftRightCenter","align","_alignStartEnd","_getStartAndCountOfVisiblePoints","meta","points","animationsDisabled","pointCount","count","_sorted","iScale","_parsed","axis","minDefined","maxDefined","getUserBounds","getPixelForValue","_scaleRangesChanged","xScale","yScale","_scaleRanges","newRanges","xmin","xmax","ymin","ymax","changed","assign","atEdge","t","elasticIn","sin","elasticOut","effects","linear","easeInQuad","easeOutQuad","easeInOutQuad","easeInCubic","easeOutCubic","easeInOutCubic","easeInQuart","easeOutQuart","easeInOutQuart","easeInQuint","easeOutQuint","easeInOutQuint","easeInSine","cos","easeOutSine","easeInOutSine","easeInExpo","easeOutExpo","easeInOutExpo","easeInCirc","easeOutCirc","easeInOutCirc","easeInElastic","easeOutElastic","easeInOutElastic","easeInBack","easeOutBack","easeInOutBack","easeInBounce","easeOutBounce","m","d","easeInOutBounce","lim","l","h","p2b","n2b","b2n","n2p","map$1","A","B","C","D","E","F","f","hex","h1","h2","eq","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","w","rgb","rgb2hsl","r","hueValue","calln","hsl2rgb","hue","Z","Y","X","W","V","U","T","S","R","Q","P","O","N","M","L","K","G","H","I","J","names$1","OiceXe","antiquewEte","aqua","aquamarRe","azuY","beige","bisque","black","blanKedOmond","Xe","XeviTet","bPwn","burlywood","caMtXe","KartYuse","KocTate","cSO","cSnflowerXe","cSnsilk","crimson","cyan","xXe","xcyan","xgTMnPd","xWay","xgYF","xgYy","xkhaki","xmagFta","xTivegYF","xSange","xScEd","xYd","xsOmon","xsHgYF","xUXe","xUWay","xUgYy","xQe","xviTet","dAppRk","dApskyXe","dimWay","dimgYy","dodgerXe","fiYbrick","flSOwEte","foYstWAn","fuKsia","gaRsbSo","ghostwEte","gTd","gTMnPd","Way","gYF","gYFLw","gYy","honeyMw","hotpRk","RdianYd","Rdigo","ivSy","khaki","lavFMr","lavFMrXsh","lawngYF","NmoncEffon","ZXe","ZcSO","Zcyan","ZgTMnPdLw","ZWay","ZgYF","ZgYy","ZpRk","ZsOmon","ZsHgYF","ZskyXe","ZUWay","ZUgYy","ZstAlXe","ZLw","lime","limegYF","lRF","magFta","maPon","VaquamarRe","VXe","VScEd","VpurpN","VsHgYF","VUXe","VsprRggYF","VQe","VviTetYd","midnightXe","mRtcYam","mistyPse","moccasR","navajowEte","navy","Tdlace","Tive","TivedBb","Sange","SangeYd","ScEd","pOegTMnPd","pOegYF","pOeQe","pOeviTetYd","papayawEp","pHKpuff","peru","pRk","plum","powMrXe","purpN","YbeccapurpN","Yd","Psybrown","PyOXe","saddNbPwn","sOmon","sandybPwn","sHgYF","sHshell","siFna","silver","skyXe","UXe","UWay","UgYy","snow","sprRggYF","stAlXe","tan","teO","tEstN","tomato","Qe","viTet","JHt","wEte","wEtesmoke","Lw","LwgYF","names","RGB_RE","to","modHSL","ratio","clone","proto","fromObject","input","functionParse","exec","rgbParse","p1","p2","hwb2rgb","hsv2rgb","hueParse","Color","constructor","ret","unpacked","tkeys","j","ok","nk","replace","parseInt","unpack","transparent","toLowerCase","nameParse","_rgb","_valid","valid","rgbString","undefined","hexString","isShort","alpha","hslString","mix","color","weight","c1","c2","w2","w1","interpolate","rgb1","rgb2","clearer","greyscale","val","opaquer","negate","lighten","darken","saturate","desaturate","rotate","deg","index_esm","isPatternOrGradient","getHoverColor","overrides","descriptors","getScope$1","scope","defaults","_descriptors","animation","backgroundColor","devicePixelRatio","context","platform","getDevicePixelRatio","elements","events","font","family","style","lineHeight","hover","hoverBackgroundColor","ctx","hoverBorderColor","hoverColor","indexAxis","interaction","mode","intersect","includeInvisible","maintainAspectRatio","onHover","onClick","parsing","responsive","scale","scales","showLine","drawActiveElementsOnTop","describe","get","override","route","name","targetScope","targetName","scopeObject","targetScopeObject","privateName","defineProperties","writable","enumerable","local","_scriptable","startsWith","_indexable","_fallback","_measureText","gc","longest","string","textWidth","measureText","_longestText","arrayOfThings","cache","garbageCollect","save","jlen","thing","nestedThing","restore","gcLen","_alignPixel","pixel","currentDevicePixelRatio","halfWidth","clearCanvas","canvas","getContext","resetTransform","clearRect","drawPoint","drawPointLegend","xOffset","yOffset","cornerRadius","pointStyle","rotation","radius","rad","translate","drawImage","beginPath","ellipse","arc","closePath","moveTo","lineTo","SQRT1_2","rect","fill","stroke","_isPointInArea","point","area","margin","left","right","top","bottom","clipArea","clip","unclipArea","_steppedLineTo","previous","flip","midpoint","_bezierCurveTo","bezierCurveTo","cp1x","cp2x","cp1y","cp2y","renderText","text","opts","strokeWidth","strokeColor","translation","fillStyle","textAlign","textBaseline","setRenderOpts","strokeStyle","lineWidth","strokeText","fillText","decorateText","strikethrough","underline","metrics","actualBoundingBoxLeft","actualBoundingBoxRight","actualBoundingBoxAscent","actualBoundingBoxDescent","yDecoration","decorationWidth","addRoundedRectPath","topLeft","bottomLeft","bottomRight","topRight","LINE_HEIGHT","RegExp","FONT_STYLE","toLineHeight","matches","_readValueToProps","props","objProps","read","prop","toTRBL","toTRBLCorners","toPadding","toFont","fallback","console","warn","toFontString","resolve","inputs","info","cacheable","createContext","parentContext","_createResolver","scopes","prefixes","rootScopes","getTarget","_resolve","Symbol","toStringTag","_cacheable","_scopes","_rootScopes","_getTarget","Proxy","deleteProperty","_keys","_cached","proxy","prefix","readKey","needsSubResolver","createSubResolver","_resolveWithPrefixes","getOwnPropertyDescriptor","Reflect","getPrototypeOf","getKeysFromAllScopes","includes","ownKeys","storage","_storage","_attachContext","subProxy","descriptorDefaults","_proxy","_context","_subProxy","_stack","setContext","receiver","isScriptable","Error","join","delete","_resolveScriptable","isIndexable","arr","filter","_resolveArray","_resolveWithContext","allKeys","configurable","scriptable","indexable","_allKeys","resolveFallback","getScope","parent","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_parseObjectDataRadialScale","_parsing","parsed","parse","EPSILON","getPoint","skip","getValueAxis","splineCurve","firstPoint","middlePoint","afterPoint","current","next","d01","d12","s01","s12","fa","fb","capControlPoint","pt","_updateBezierControlPoints","loop","controlPoints","spanGaps","cubicInterpolationMode","valueAxis","pointsLen","deltaK","mK","pointBefore","pointCurrent","pointAfter","slopeDelta","alphaK","betaK","tauK","squaredMagnitude","monotoneAdjust","delta","iPixel","vPixel","monotoneCompute","splineCurveMonotone","prev","tension","capBezierPoints","inArea","inAreaPrev","inAreaNext","_isDomSupported","_getParentNode","domNode","parentNode","host","parseMaxStyle","styleValue","parentProperty","valueInPixels","getComputedStyle","element","positions","getPositionedStyle","styles","suffix","pos","getRelativePosition","evt","borderBox","boxSizing","paddings","borders","box","touches","offsetX","offsetY","shadowRoot","useOffsetPos","getBoundingClientRect","clientX","clientY","getCanvasPosition","round1","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","setTransform","supportsEventListenerOptions","passiveSupported","passive","addEventListener","removeEventListener","readUsedSize","el","getPropertyValue","getStyle","_pointInLine","_steppedInterpolation","_bezierInterpolation","cp1","cp2","intlCache","Map","formatNumber","num","locale","cacheKey","JSON","stringify","formatter","Intl","NumberFormat","getNumberFormat","format","getRtlAdapter","rtl","rectX","setWidth","xPlus","leftForLtr","itemWidth","getRightToLeftAdapter","_itemWidth","overrideTextDirection","direction","original","getPropertyPriority","setProperty","prevTextDirection","restoreTextDirection","propertyFn","between","compare","normalize","normalizeSegment","_boundSegment","bounds","startBound","endBound","getSegment","prevValue","inside","subStart","_boundSegments","sub","readStyle","borderCapStyle","borderDash","borderDashOffset","borderJoinStyle","styleChanged","prevStyle","animator","_request","_charts","_running","_lastDate","_notify","anims","date","callbacks","numSteps","duration","initial","currentStep","_refresh","_update","now","remaining","running","draw","_active","_total","tick","pop","_getAnims","complete","progress","listen","event","cb","reduce","acc","cur","_duration","stop","cancel","remove","interpolators","boolean","factor","c0","Animation","cfg","currentValue","_fn","_easing","easing","_start","_loop","_target","_prop","_from","_to","_promises","active","update","elapsed","remain","wait","promises","Promise","res","rej","resolved","method","animationOptions","colors","properties","numbers","resize","show","animations","visible","hide","Animations","config","_chart","_properties","configure","animatedProps","getOwnPropertyNames","option","_animateOptions","newOptions","$shared","$animations","resolveTargetOptions","_createAnimations","anim","all","awaitAll","then","scaleClip","allowedOverflow","getSortedDatasetIndices","filterVisible","metasets","_getSortedDatasetMetas","applyStack","stack","dsIndex","singleMode","otherValue","isStacked","stacked","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","vScale","positive","getMatchingVisibleMetas","updateStacks","controller","_cachedMeta","_stacks","iAxis","vAxis","indexScale","valueScale","getStackKey","_top","_bottom","getFirstScaleId","shift","clearStacks","isDirectUpdateMode","cloneIfNotShared","cached","shared","DatasetController","_ctx","_cachedDataOpts","getMeta","_type","_data","_objectData","_sharedOptions","_drawStart","_drawCount","enableOptionSharing","supportsDecimation","$context","_syncList","initialize","linkScales","_stacked","addElements","updateIndex","dataset","getDataset","chooseId","xid","xAxisID","yid","yAxisID","rid","rAxisID","iid","iAxisID","vid","vAxisID","getScaleForId","rScale","getDatasetMeta","scaleID","_getOtherScale","_destroy","_dataCheck","adata","convertObjectDataToArray","isExtensible","defineProperty","base","object","datasetElementType","buildOrUpdateElements","resetNewElements","stackChanged","oldStacked","_resyncElements","scopeKeys","datasetScopeKeys","getOptionScopes","createResolver","sorted","parseArrayData","parseObjectData","parsePrimitiveData","isNotInOrderComparedToPrev","getLabels","singleScale","xAxisKey","yAxisKey","getParsed","getDataElement","updateRangeFromParsed","parsedValue","NaN","getMinMax","canStack","otherScale","hidden","createStack","NEGATIVE_INFINITY","otherMin","otherMax","_skip","getAllParsedValues","getMaxOverflow","getLabelAndValue","getLabelForValue","_clip","toClip","defaultClip","chartArea","resolveDatasetElementOptions","resolveDataElementOptions","dataIndex","raw","createDataContext","createDatasetContext","_resolveElementOptions","dataElementType","elementType","sharing","datasetElementScopeKeys","resolveNamedOptions","freeze","_resolveAnimations","transition","datasetAnimationScopeKeys","getSharedOptions","includeOptions","sharedOptions","_animationsDisabled","_getSharedOptions","firstOpts","previouslySharedOptions","updateSharedOptions","updateElement","_setStyle","removeHoverStyle","setHoverStyle","_removeDatasetHoverStyle","_setDatasetHoverStyle","arg1","arg2","numMeta","numData","_insertElements","_removeElements","move","updateElements","removed","_sync","_dataChanges","_onDataPush","arguments","_onDataPop","_onDataShift","_onDataSplice","newCount","_onDataUnshift","computeMinSampleSize","_cache","$bar","visibleMetas","concat","sort","getAllScaleValues","curr","_length","updateMinAndPrev","ticks","getPixelForTick","parseValue","entry","startValue","endValue","barStart","barEnd","_custom","parseFloatBar","parseArrayOrPrimitive","isFloatBar","custom","setBorderSkipped","edge","borderSkipped","horizontal","borderProps","enableBorderRadius","parseEdge","orig","v2","startEnd","setInflateAmount","inflateAmount","iAxisKey","vAxisKey","super","bars","getBasePixel","isHorizontal","ruler","_getRuler","vpixels","head","_calculateBarValuePixels","ipixels","_calculateBarIndexPixels","center","_getStacks","grouped","skipNull","_getStackCount","_getStackIndex","pixels","barThickness","_startPixel","_endPixel","stackCount","categoryPercentage","barPercentage","baseValue","minBarLength","actualBase","floating","getDataVisibility","barSign","startPixel","getPixelForDecimal","endPixel","halfGrid","getLineWidthForValue","maxBarThickness","Infinity","percent","chunk","computeFlexCategoryTraits","thickness","computeFitCategoryTraits","stackIndex","rects","_index_","offset","grid","_value_","beginAtZero","tooltip","innerRadius","outerRadius","getter","_getRotation","_getCircumference","circumference","_getRotationExtents","isDatasetVisible","arcs","spacing","getMaxBorderWidth","getMaxOffset","maxSize","cutout","chartWeight","_getRingWeight","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","getRatioAndOffset","maxRadius","radiusLength","_getVisibleDatasetWeightTotal","total","calculateTotal","_getRingWeightOffset","_circumference","animateRotate","calculateCircumference","animationOpts","centerX","centerY","animateScale","metaData","borderAlign","hoverBorderWidth","hoverOffset","ringWeightOffset","aspectRatio","generateLabels","legendItem","toggleDataVisibility","tooltipItem","dataLabel","formattedValue","_dataset","_datasetIndex","_decimated","animated","maxGapLength","directUpdate","prevParsed","nullData","border","lastPoint","updateControlPoints","bind","_updateRadius","minSize","cutoutPercentage","getVisibleDatasetCount","xCenter","yCenter","datasetStartAngle","getIndexAngle","defaultAngle","countVisibleElements","_computeAngle","getDistanceFromCenterForValue","angleLines","display","circular","pointLabels","_fullLoop","pointPosition","getPointPositionForValue","Element","tooltipPosition","useFinalPosition","getProps","hasValue","final","defaultRoutes","formatters","numeric","tickValue","notation","maxTick","calculateDelta","logDelta","numDecimal","minimumFractionDigits","maximumFractionDigits","logarithmic","Ticks","newTicks","majorStart","majorEnd","ceil","grace","drawBorder","drawOnChartArea","drawTicks","tickLength","tickWidth","tickColor","padding","minRotation","maxRotation","mirror","textStrokeWidth","textStrokeColor","autoSkip","autoSkipPadding","labelOffset","minor","major","crossAlign","showLabelBackdrop","backdropColor","backdropPadding","offsetFromEdge","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","getTickMarkLength","getTitleHeight","titleAlign","position","reverseAlign","Scale","_margins","paddingTop","labelRotation","_range","_gridLineItems","_labelItems","_labelSizes","_maxLength","_longestTextCache","_reversePixels","_userMax","_userMin","_suggestedMax","_suggestedMin","_ticksLength","_borderValue","_dataLimitsCached","init","suggestedMin","suggestedMax","metas","getPadding","getTicks","xLabels","yLabels","beforeLayout","beforeUpdate","margins","tickOpts","sampleSize","beforeSetDimensions","setDimensions","afterSetDimensions","beforeDataLimits","determineDataLimits","afterDataLimits","minmax","change","keepZero","_addGrace","beforeBuildTicks","buildTicks","afterBuildTicks","samplingEnabled","_convertTicksToLabels","beforeCalculateLabelRotation","calculateLabelRotation","afterCalculateLabelRotation","ticksLimit","maxTicksLimit","_tickSize","maxScale","maxChart","determineMaxTicks","majorIndices","enabled","getMajorIndices","numMajorIndices","skipMajors","evenMajorSpacing","getEvenSpacing","factors","_factorize","calculateSpacing","avgMajorSpacing","afterAutoSkip","beforeFit","fit","afterFit","afterUpdate","reversePixels","_alignToPixels","alignToPixels","_callHooks","notifyPlugins","beforeTickToLabelConversion","generateTickLabels","afterTickToLabelConversion","numTicks","maxLabelDiagonal","_isVisible","labelSizes","_getLabelSizes","maxLabelWidth","widest","maxLabelHeight","highest","asin","titleOpts","gridOpts","titleHeight","tickPadding","angleRadians","labelHeight","labelWidth","_calculatePadding","_handleMargins","isRotated","labelsBelowTicks","offsetLeft","offsetRight","isFullSize","fullSize","_computeLabelSizes","caches","widths","heights","tickFont","fontString","nestedLabel","widestLabelSize","highestLabelSize","_resolveTickFontOptions","valueAt","idx","getValueForPixel","decimal","getDecimalForPixel","getBaseValue","createTickContext","optionTicks","rot","_computeGridLineItems","ticksLength","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","positionAxisID","limit","step","optsAtIndex","lineColor","tickBorderDash","tickBorderDashOffset","_computeLabelItems","tickAndPadding","hTickAndPadding","lineCount","textOffset","_getXAxisLabelAlignment","_getYAxisLabelAlignment","halfCount","backdrop","tickTextAlign","labelPadding","_computeLabelArea","drawBackground","fillRect","findIndex","drawGrid","drawLine","setLineDash","lineDashOffset","lastLineWidth","drawLabels","drawTitle","titleX","titleY","titleArgs","_layers","tz","z","gz","getSortedVisibleDatasetMetas","axisID","_maxDigits","TypedRegistry","isForType","isPrototypeOf","parentScope","isIChartComponent","itemDefaults","routes","propertyParts","sourceName","sourceScope","routeDefaults","registerDefaults","unregister","registry","controllers","_typedRegistries","_each","addControllers","addPlugins","addScales","getController","_get","getElement","getPlugin","getScale","removeControllers","removeElements","removePlugins","removeScales","typedRegistry","arg","reg","_getRegistryForType","_exec","itemReg","component","camelMethod","__proto__","DateAdapter","chartOptions","formats","timestamp","amount","unit","startOf","weekday","endOf","members","adapters","_date","binarySearch","metaset","lookupMethod","getRange","evaluateInteractionItems","handler","getIntersectItems","isPointInArea","inRange","getNearestItems","distanceMetric","useX","useY","deltaX","deltaY","getDistanceMetricForAxis","minDistance","getCenterPoint","getNearestCartesianItems","getNearestRadialItems","getAxisItems","rangeMethod","intersectsItem","Interaction","modes","nearest","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","params","layout","newWidth","outerWidth","newHeight","outerHeight","widthChanged","heightChanged","same","other","getMargins","marginForPositions","fitBoxes","boxes","refitBoxes","refit","setBoxDims","placeBoxes","userPadding","placed","stackWeight","autoPadding","layouts","addBox","removeBox","layoutItem","minPadding","availableWidth","availableHeight","layoutBoxes","wrapBoxes","wrap","centerHorizontal","centerVertical","leftAndTop","rightAndBottom","vertical","buildLayoutBoxes","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","vBoxMaxWidth","hBoxMaxHeight","buildStacks","setLayoutDims","updatePos","handleMaxPadding","BasePlatform","acquireContext","releaseContext","getMaximumSize","isAttached","updateConfig","BasicPlatform","EVENT_TYPES","touchstart","touchmove","touchend","pointerenter","pointerdown","pointermove","pointerup","pointerleave","pointerout","isNullOrEmpty","eventListenerOptions","removeListener","nodeListContains","nodeList","contains","createAttachObserver","observer","MutationObserver","entries","trigger","addedNodes","removedNodes","observe","childList","subtree","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","createResizeObserver","container","clientWidth","ResizeObserver","contentRect","listenDevicePixelRatioChanges","releaseObserver","disconnect","unlistenDevicePixelRatioChanges","createProxyAndListen","native","fromNativeEvent","addListener","DomPlatform","renderHeight","getAttribute","renderWidth","displayWidth","displayHeight","initCanvas","removeAttribute","setAttribute","proxies","$proxies","attach","detach","bbWidth","bbHeight","containerSize","containerStyle","containerBorder","containerPadding","clientHeight","getContainerSize","isConnected","_detectPlatform","OffscreenCanvas","PluginService","_init","notify","hook","_createDescriptors","descriptor","plugin","cancelable","invalidate","_oldCache","_notifyStateChanges","localIds","allPlugins","getOpts","pluginOpts","createDescriptors","previousDescriptors","some","pluginScopeKeys","getIndexAxis","datasetDefaults","determineAxis","scaleOptions","initOptions","chartDefaults","configScales","chartIndexAxis","firstIDs","scaleConf","error","defaultId","getDefaultScaleIDFromAxis","defaultScaleOptions","defaultID","getAxisFromDefaultScaleID","mergeScaleConfig","initData","keyCache","keysCached","cachedKeys","generate","addIfFound","Config","_config","initConfig","_scopeCache","_resolverCache","clearCache","clear","datasetType","additionalOptionScopes","_cachedScopes","mainScope","resetCache","keyLists","chartOptionScopes","subPrefixes","getResolver","hasFunction","needContext","resolverCache","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","l2","onAnimationsComplete","onComplete","onAnimationProgress","onProgress","getCanvas","getElementById","instances","getChart","moveNumericKeys","intKey","userConfig","initialCanvas","existingChart","_options","_aspectRatio","_metasets","_lastEvent","_listeners","_responsiveListeners","_sortedMetasets","_plugins","_hiddenIndices","attached","_doResize","timeout","clearTimeout","debounce","resizeDelay","_initialize","bindEvents","_resizeBeforeDraw","_resize","newSize","newRatio","onResize","render","ensureScalesHaveIDs","axisOptions","buildOrUpdateScales","scaleOpts","updated","isRadial","dposition","dtype","scaleType","hasUpdated","_updateMetasets","_destroyDatasetMeta","_removeUnreferencedMetasets","buildOrUpdateControllers","newControllers","order","ControllerClass","_resetElements","animsDisabled","_updateScales","_checkEventBindings","_updateHiddenIndices","_minPadding","_updateLayout","_updateDatasets","_eventHandler","_updateHoverStyles","existingEvents","newEvents","unbindEvents","changes","_getUniformDataChanges","datasetCount","makeSet","changeSet","noArea","_idx","_updateDataset","layers","_drawDatasets","_drawDataset","useClip","getElementsAtEventForMode","setDatasetVisibility","_updateVisibility","_stop","toBase64Image","toDataURL","bindUserEvents","bindResponsiveEvents","_add","_remove","detached","updateHoverStyle","getActiveElements","setActiveElements","activeElements","lastActive","replay","hoverOptions","deactivated","activated","inChartArea","eventFilter","_handleEvent","_getActiveElements","isClick","_isClickEvent","lastEvent","determineLastEvent","invalidatePlugins","clipArc","pixelMargin","angleMargin","rThetaToXY","theta","pathArc","innerR","spacingOffset","avNogSpacingRadius","angleOffset","outerStart","outerEnd","innerStart","innerEnd","angleDelta","borderRadius","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","parseBorderRadius$1","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","pCenter","p4","p8","outerStartX","outerStartY","outerEndX","outerEndY","version","fullCircles","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","radiusOffset","drawArc","inner","lineJoin","drawFullCircleBorders","setStyle","lineCap","pathVars","paramsStart","paramsEnd","segmentStart","segmentEnd","outside","pathSegment","lineMethod","stepped","getLineMethod","fastPathSegment","prevX","lastY","avgX","countX","pointIndex","drawX","truncX","_getSegmentMethod","usePath2D","Path2D","_path","_points","_segments","_pointsUpdated","segmentOptions","findStartAndEnd","chartContext","baseStyle","addStyle","st","dir","p0","p0DataIndex","p1DataIndex","doSplitByStyles","splitByStyles","solidSegments","_computeSegments","_interpolate","_getInterpolationMethod","interpolated","segmentMethod","path","strokePathWithCache","strokePathDirect","inRange$1","hitRadius","mouseX","mouseY","inXRange","inYRange","hoverRadius","getBarBounds","bar","half","skipOrLimit","skipX","skipY","addNormalRectPath","inflateRect","refRect","outer","maxW","maxH","parseBorderWidth","maxR","enableBorder","parseBorderRadius","boundingRects","addRectPath","cleanDecimatedDataset","cleanDecimatedData","plugin_decimation","algorithm","beforeElementsUpdate","xAxis","decimated","getStartAndCountOfVisiblePointsSimplified","threshold","samples","bucketWidth","sampledIndex","endIndex","maxAreaPoint","maxArea","nextA","avgY","avgRangeStart","avgRangeEnd","avgRangeLength","rangeOffs","rangeTo","pointAx","pointAy","lttbDecimation","minIndex","maxIndex","startIndex","xMin","dx","lastIndex","intermediateIndex1","intermediateIndex2","minMaxDecimation","_getBounds","_findSegmentEnd","_getEdge","_createBoundaryLine","boundary","linePoints","_pointsFromSegments","_shouldApplyFill","_resolveTarget","propagate","visited","_decodeFill","fillOption","parseFillOption","firstCh","decodeTargetIndex","addPointsBelow","sourcePoint","linesBelow","postponed","findPoint","unshift","pointValue","firstValue","lastValue","simpleArc","_drawfill","getLineByIndex","sourcePoints","below","getLinesBelow","_buildStackLine","_getTargetValue","computeCircularBoundary","_getTargetPixel","computeLinearBoundary","computeBoundary","lineOpts","above","clipVertical","doFill","clipY","lineLoop","tpoints","targetSegments","tgt","subBounds","fillSources","fillSource","src","notShape","clipBounds","interpolatedLineTo","targetLoop","interpolatedPoint","afterDatasetsUpdate","_args","$filler","beforeDraw","drawTime","beforeDatasetsDraw","beforeDatasetDraw","getBoxSize","labelOpts","boxHeight","boxWidth","usePointStyle","pointStyleWidth","itemHeight","_added","legendHitBoxes","_hoveredItem","doughnutMode","legendItems","columnSizes","lineWidths","buildLabels","labelFont","_computeTitleHeight","_fitRows","_fitCols","hitboxes","totalHeight","row","heightLimit","totalWidth","currentColWidth","currentColHeight","col","adjustHitBoxes","rtlHelper","hitbox","_draw","defaultColor","fontColor","halfFontSize","cursor","textDirection","lineDash","drawOptions","SQRT2","yBoxTop","xBoxLeft","drawLegendBox","_textX","titleFont","titlePadding","topPaddingPlusHalfFontSize","_getLegendItemAt","hitBox","lh","handleEvent","onLeave","isListened","hoveredItem","sameItem","plugin_legend","_element","afterEvent","ci","_padding","textSize","_drawArgs","fontOpts","plugin_title","titleBlock","createTitle","WeakMap","plugin_subtitle","positioners","average","eventPosition","nearestElement","tp","pushOrConcat","toPush","splitNewlines","String","createTooltipItem","getTooltipSize","body","footer","bodyFont","footerFont","titleLineCount","footerLineCount","bodyLineItemCount","combinedBodyLength","bodyItem","beforeBody","afterBody","titleSpacing","titleMarginBottom","displayColors","bodySpacing","footerMarginTop","footerSpacing","widthPadding","maxLineWidth","determineXAlign","yAlign","chartWidth","xAlign","caret","caretSize","caretPadding","doesNotFitWithAlign","determineAlignment","determineYAlign","getBackgroundPoint","alignment","paddingAndSize","alignX","alignY","getAlignedX","getBeforeAfterBodyLines","overrideCallbacks","opacity","_eventPosition","_size","_cachedAnimations","_tooltipItems","dataPoints","caretX","caretY","labelColors","labelPointStyles","labelTextColors","tooltipItems","getTitle","beforeTitle","afterTitle","getBeforeBody","getBody","bodyItems","scoped","beforeLabel","afterLabel","getAfterBody","getFooter","beforeFooter","afterFooter","_createItems","itemSort","labelColor","labelPointStyle","labelTextColor","positionAndSize","backgroundPoint","external","drawCaret","tooltipPoint","caretPosition","getCaretPosition","x3","y3","ptX","ptY","titleColor","_drawColorBox","colorX","rtlColorX","yOffSet","colorY","multiKeyBackground","outerX","innerX","strokeRect","drawBody","bodyAlign","bodyLineHeight","xLinePadding","fillLineOfText","bodyAlignForCalculation","textColor","bodyColor","drawFooter","footerAlign","footerColor","tooltipSize","quadraticCurveTo","_updateAnimationTarget","animX","animY","_willRender","hasTooltipContent","globalAlpha","positionChanged","_positionChanged","_ignoreReplayEvents","plugin_tooltip","afterInit","afterDraw","labelCount","_startValue","_valueRange","_addedLabels","added","addedLabels","addIfString","lastIndexOf","findOrAddLabel","relativeLabelSize","minSpacing","LinearScaleBase","_endValue","handleTickRangeOptions","setMin","setMax","minSign","maxSign","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getTickLimit","maxTicks","stepSize","computeTickLimit","generationOptions","dataRange","precision","maxDigits","includeBounds","maxSpaces","rmin","rmax","countDefined","niceMin","niceMax","numSpaces","rounded","almostWhole","decimalPlaces","generateTicks$1","isMajor","tickVal","_zero","exp","endExp","endSignificand","significand","lastTick","generateTicks","getTickBackdropHeight","determineLimits","updateLimits","limits","hLimits","vLimits","getTextAlignForAngle","yForAngle","pathRadiusLine","getPointPosition","drawingArea","_pointLabels","_pointLabelItems","valueCount","pointLabelOpts","additionalAngle","centerPointLabels","getPointLabelContext","plFont","setCenterPoint","extra","outerDistance","pointLabelPosition","buildPointLabelItems","fitWithPointLabels","leftMovement","rightMovement","topMovement","bottomMovement","scalingFactor","getValueForDistanceFromCenter","scaledDistance","pointLabel","createPointLabelContext","distanceFromCenter","getBasePosition","getPointLabelPosition","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","gridLineOpts","drawRadiusLine","animate","INTERVALS","millisecond","common","steps","second","minute","hour","day","week","month","quarter","year","UNITS","sorter","adapter","_adapter","parser","isoWeekday","_parseOpts","determineUnitForAutoTicks","minUnit","capacity","interval","addTick","time","timestamps","ticksFromTimestamps","majorUnit","setMajorTicks","_unit","_majorUnit","_offsets","_normalized","displayFormats","normalized","_applyBounds","_getLabelBounds","getLabelTimestamps","timeOpts","_generate","_filterBetween","_getLabelCapacity","determineUnitForFormatting","determineMajorUnit","initOffsets","offsetAfterAutoskip","getDecimalForValue","hasWeekday","getDataTimestamps","tooltipFormat","datetime","_tickFormatFunction","minorFormat","majorFormat","offsets","_getLabelSize","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","_table","_minPos","_tableRange","_getTimestampsForTable","buildLookupTable","registerables","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition"],"sourceRoot":""} \ No newline at end of file