From 8c69a05856a4c9b248848490d4c5d4acaa79840f Mon Sep 17 00:00:00 2001 From: theapache64 Date: Sun, 3 Mar 2024 20:18:45 +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 5a56c73..d419f9a 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.x35_1.da(n)}function cr(t,n){var e=t.v35_1.ca(n," "),r=Nt("\\s{2,}").ca(e," ");return It(Et(At(r)?r:xt()))}function lr(t,n){var e=t.w35_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.u35_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.t35_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}function Sr(){return null==g&&new Cr,g}function qr(t,n){Sr(),this.q35_1=t,this.r35_1=n,this.s35_1=0}function Or(t,n){this.n36_1=t,this.o36_1=n,this.p36_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.s36_1=t,this.t36_1=n,this.u36_1=e,this.v36_1=r,this.w36_1=8}function Ar(t,n,e){this.z35_1=t,this.a36_1=n,this.b36_1=e,this.c36_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.g37_1=(t=_n(2098833845,!1,Ir),function(n,e,r){return t.n1y(n,e,r)}),this.h37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1047390949,!1,Dr)),this.i37_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().g37_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().h37_1,o,390,0),Sn(t.z35_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.e37(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.z35_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().i37_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.t37_1=t,this.u37_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.w37_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).w37_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.s36_1+" "+a.t36_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.u36_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.j36_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.u36_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.y37_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().z37_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().a38_1,r,48,0),hn()&&fn(),jt()}function ai(t){return t.w20(["form-group"]),jt()}function ui(){var t;k=this,this.z37_1=(t=_n(-646215327,!1,ni),function(n,e,r){return t.n1y(n,e,r)}),this.a38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(1730974274,!1,ei)),this.b38_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().b38_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().c38_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().d38_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.c38_1=(t=_n(-1817257175,!1,vi),function(n,e,r){return t.n1y(n,e,r)}),this.d38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1445218266,!1,yi)),this.e38_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().e38_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.f38_1=t,this.g38_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().f38_1),i.i38_1=n,i.j38_1=e,i}(t,n,e,0,Object.create(Oi.prototype))}function Oi(t,n){null==z&&new zi,this.i38_1=t,this.j38_1=n,this.k38_1=0}function Pi(){S=this}function Mi(){q=this;var t=new ne("components.SavedBenchmarks",this,1);t.l2m("items",!1),this.l38_1=t,this.m38_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().l38_1),r.o38_1=n,r}(t,n,0,Object.create(Ii.prototype))}function Ii(t){null==S&&new Pi,this.o38_1=t,this.p38_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.q38_1=(t=_n(37561396,!1,Ti),function(n,e,r){return t.n1y(n,e,r)}),this.r38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-32633967,!1,Bi)),this.s38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-652929765,!1,Li)),this.t38_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().q38_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.i38_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.i38_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().r38_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().s38_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().t38_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.i38_1!==Ui(e).i38_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.i38_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.v38_1=t,this.w38_1=n,this.x38_1=e,this.y38_1=r,this.z38_1=i,this.a39_1=o,this.b39_1=s,this.c39_1=a,this.d39_1=u,this.e39_1=c,this.f39_1=0}function eo(t,n){this.o39_1=t,this.p39_1=n,this.q39_1=8}function ro(t){return Ce("el",1,ze,(function(t){return ro(t)}),null),t.s39_1.m2()}function io(t){var n;this.r39_1=t,this.s39_1=me((n=this,function(){return document.createElement(n.r39_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().t39_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().u39_1,r,48,1),hn()&&fn(),jt()}function uo(){var t;E=this,this.t39_1=(t=_n(323270151,!1,oo),function(n,e,r){return t.n1y(n,e,r)}),this.u39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1108287470,!1,so)),this.v39_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.o39_1),fo(a.o39_1,a.p39_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().v39_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.w38_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.x38_1,i,o,0,0),pn(" : ",o,6),_o(t.y38_1,null,o,0,2),pn(t.v38_1?" looks ":" performed ",o,0),_o(t.z38_1+"% ",null,o,0,2);var f=t.v38_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.b39_1?"secondary":t.b39_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.e39_1+n+" to "+t.d39_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.a39_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.c39_1+t.b39_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.w39_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).w39_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.x39_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).x39_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.y39_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.z39_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.w3b();!Wt(i)&&pi(a._v.w3b(),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.m3b(),a=t._v.n3b(),u=(o=t._v,function(t){return function(t,n){t.u3a(n,!1,2,null)}(o,t),jt()}),c=function(t){var n=function(n){return t.v3a(n),jt()};return n.callableName="onSaveClicked",n}(t._v);Nr(s,a,t._v.o3b(),u,c,function(t){var n=function(n){return t.w3a(n),jt()};return n.callableName="onSavedBenchmarkChanged",n}(t._v),function(t){var n=function(n){return t.x3a(n),jt()};return n.callableName="onLoadBenchmarkClicked",n}(t._v),function(t){var n=function(n){return t.y3a(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.l3a_1.f()),t._v.l3a_1.f()>2){var i=t._v.d3b(),o="BEST (-"+(null==i?null:i.g3b_1)+t._v.q28()+")",s=t._v.j3b(),a="WORST (+"+(null==s?null:s.h3b_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.z3a(),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.a3b(),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.l3a_1,t._v.k3b(),t._v.l3b(),function(t){var n=function(n){return t.b3b(n),jt()};return n.callableName="onBlockNameOneChanged",n}(t._v),function(t){var n=function(n){return t.c3b(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.m3a_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.v3b(),k=null==x?null:x.o36_1,j=null==k||k.h()?null:k;if(null==j);else{var z=t._v.v3b();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.u3b())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.p3b(),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).z39_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.m3b().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.q3b(),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.t3b(),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.m3b().a36_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="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.e3a_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.e3a_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.s3b(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.v36_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.m3b().b36_1,n.n36_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.x3b_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.o3b()}),(function(t,n){return ys(t,n)})),t.c3a_1.jy(n)}function ms(t,n){return Ce("chartsBundle",1,Le,(function(t){return t.v3b()}),(function(t,n){return ms(t,n)})),t.f3a_1.jy(n)}function gs(t,n){return Ce("errorMsg",1,Le,(function(t){return t.w3b()}),(function(t,n){return gs(t,n)})),t.g3a_1.jy(n)}function $s(t,n){return Ce("isEditableTitleEnabled",1,Le,(function(t){return t.u3b()}),(function(t,n){return $s(t,n)})),t.h3a_1.jy(n)}function bs(t,n){return Ce("shouldSelectUnsaved",1,Le,(function(t){return t.n3b()}),(function(t,n){return bs(t,n)})),t.i3a_1.jy(n)}function ws(t,n){return Ce("selectedBlockNameOne",1,Le,(function(t){return t.k3b()}),(function(t,n){return ws(t,n)})),t.j3a_1.jy(n)}function xs(t,n){return Ce("selectedBlockNameTwo",1,Le,(function(t){return t.l3b()}),(function(t,n){return xs(t,n)})),t.k3a_1.jy(n)}function ks(t,n){return Ce("inputType",1,Le,(function(t){return t.t3b()}),(function(t,n){return ks(t,n)})),t.n3a_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.o3a_1.jy(n)}function zs(t,n){return Ce("bestAggSummary",1,Le,(function(t){return t.d3b()}),(function(t,n){return zs(t,n)})),t.p3a_1.jy(n)}function Cs(t,n){return Ce("worstAggSummary",1,Le,(function(t){return t.j3b()}),(function(t,n){return Cs(t,n)})),t.q3a_1.jy(n)}function Ss(t,n){return Ce("form",1,Le,(function(t){return t.m3b()}),(function(t,n){return Ss(t,n)})),t.r3a_1.jy(n)}function qs(t){ys(t,t.a3a_1.y3b())}function Os(t){ws(t,null),xs(t,null),t.l3a_1.s7(),ms(t,null),t.m3a_1.s7(),zs(t,null),Cs(t,null),Ms(t)}function Ps(t,n){t.l3a_1.s7();var e=Bt(n.n36_1.k36_1.b3());t.l3a_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.m3a_1.s7();var n,e=kt(t.t3b(),$r()),r=t.v3b(),i=null==r?null:r.o36_1;if(null==i)n=null;else{for(var o=qt(),s=i.c();s.d();){var a=s.e(),u=Ys().a3c(e,a,t.k3b(),t.l3b());null==u||(o.a(u),jt())}n=o}var c=n;t.m3a_1.w1x(null==c?Ie():c)}function As(t,n,e){return function(){bs(t,n);try{t.s3a_1.s7(),t.e3a_1.s7(),t.l3a_1.s7();var r=yr().y35(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.s3a_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.f36_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.d36_1,n,"col-lg-12");return new Or(kr(t,!0),Qt(a))}(t.s3a_1);ms(t,u),Ps(t,u),js(t,"")}else if(1===a){for(var c,l=t.e3a_1,h=t.s3a_1,p=qt(),f=h.c();f.d();){var _=f.e().e36_1;null==_||(p.a(_),jt())}c=p,l.w1x(Xt(c));var d,v=t.e3a_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.d3a_1){d=m;break t}}d=null}var g,$=d,b=null==$?an(t.e3a_1):$;if(null!=b){for(var w=t.s3a_1,x=qt(),k=w.c();k.d();){var j=k.e();j.e36_1==b&&x.a(j)}g=x}else g=t.s3a_1;var z=wr(g);ms(t,z),Ps(t,z),js(t,"ms")}(function(t){for(var n,e=kt(t.t3b(),$r()),r=qt(),i=t.l3a_1.c();i.d();)for(var o=i.e(),s=t.l3a_1.c();s.d();){var a=s.e();if(o!==a){var u,c=t.v3b(),l=null==c?null:c.o36_1;if(null==l)u=null;else{for(var h=qt(),p=l.c();p.d();){var f=p.e(),_=Ys().a3c(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().p39_1.c();m.d();){var g=m.e();g.b39_1>0?v=v+Ae(g.b39_1)|0:g.b39_1<0&&(d=d-Ae(g.b39_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.g3b_1;do{var k=b.e(),j=k.g3b_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.h3b_1;do{var q=z.e(),O=q.h3b_1;Ee(S,O)<0&&(C=q,S=O)}while(z.d());$=C}else $=C}else $=null;Cs(t,$)})(t),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.a3a_1=t,this.b3a_1=n;var e=Ie();this.c3a_1=ue(e,null,2,null),this.d3a_1=null,this.e3a_1=Te(),this.f3a_1=ue(null,null,2,null),this.g3a_1=ue("",null,2,null),this.h3a_1=ue(!1,null,2,null),this.i3a_1=ue(!1,null,2,null),this.j3a_1=ue(null,null,2,null),this.k3a_1=ue(null,null,2,null),this.l3a_1=Te(),this.m3a_1=Te(),this.n3a_1=ue(null,null,2,null),this.o3a_1=ue("",null,2,null),this.p3a_1=ue(null,null,2,null),this.q3a_1=ue(null,null,2,null);var r=this.b3a_1.b3c(),i=null==r?new Ar((null==H&&new Us,H).c3c_1,!1,!1):r;this.r3a_1=ue(i,null,2,null),qs(this);var o;o=qt(),this.s3a_1=o,this.t3a_1=null}function Is(t,n,e,r){this.e3b_1=t,this.f3b_1=n,this.g3b_1=e,this.h3b_1=r,this.i3b_1=0}function Ds(){}function Ts(){R=this,this.o3c_1="savedBenchmarks"}function Bs(){return null==R&&new Ts,R}function Ls(){Bs(),this.p3c_1=0}function Ns(){}function Rs(){F=this,this.s3c_1="auto_form_input",this.t3c_1="is_test_name_detection_enabled",this.u3c_1="is_auto_group_enabled"}function Fs(){return null==F&&new Rs,F}function Hs(){Fs(),this.v3c_1=0}function Us(){H=this,this.c3c_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.d3c_1=0}function Vs(t){return t.a2w_1=!0,jt()}function Ws(){U=this,this.q3c_1=Ye(null,Vs,1,null),this.r3c_1=8}function Js(){return null==U&&new Ws,U}function Ks(){V=this,this.z3b_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.y35=function(t){for(var n=Ot(t.z35_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.z35_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.a36_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.d36_1},mr.prototype.h36=function(){return this.e36_1},mr.prototype.i36=function(){return this.f36_1},mr.prototype.toString=function(){return"BenchmarkResult(title="+this.d36_1+", testName="+this.e36_1+", blockRows="+this.f36_1+")"},mr.prototype.hashCode=function(){var t=bt(this.d36_1);return t=W(t,31)+(null==this.e36_1?0:bt(this.e36_1))|0,W(t,31)+wt(this.f36_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.d36_1===n.d36_1&&this.e36_1==n.e36_1&&!!kt(this.f36_1,n.f36_1)},mr.$metadata$=$t("BenchmarkResult"),xr.prototype.m36=function(){return this.j36_1},xr.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.j36_1+", wordColorMap="+this.k36_1+")"},xr.prototype.hashCode=function(){var t=wt(this.j36_1);return W(t,31)+wt(this.k36_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.j36_1,n.j36_1)&&!!kt(this.k36_1,n.k36_1)},xr.$metadata$=$t("GroupMap"),Cr.prototype.p35=function(t){var n=zr(),e=sn(n.fl(t,0,2,null)),r=null==e?null:e.sa(),i=null==r?null:an(r);if(null==i){var o=t+" doesn't match the regex '"+zr().w9_1+"'";throw Lt(It(o))}var s=i,a=un(t,s,0,!1,6,null);return new qr(t.substring(0,a),Ht(s))},Cr.$metadata$=Kt("Companion"),qr.prototype.toString=function(){return"TextNumberLine(text="+this.q35_1+", number="+this.r35_1+")"},qr.prototype.hashCode=function(){var t=bt(this.q35_1);return W(t,31)+cn(this.r35_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.q35_1===n.q35_1&&!!kt(this.r35_1,n.r35_1)},qr.$metadata$=$t("TextNumberLine"),Or.prototype.q36=function(){return this.n36_1},Or.prototype.r36=function(){return this.o36_1},Or.prototype.toString=function(){return"ChartsBundle(groupMap="+this.n36_1+", charts="+this.o36_1+")"},Or.prototype.hashCode=function(){var t=this.n36_1.hashCode();return W(t,31)+wt(this.o36_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.n36_1.equals(n.n36_1)&&!!kt(this.o36_1,n.o36_1)},Or.$metadata$=$t("ChartsBundle"),Mr.prototype.x36=function(){return this.s36_1},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.toString=function(){return"Chart(emoji="+this.s36_1+", label="+this.t36_1+", dataSets="+this.u36_1+", bsClass="+this.v36_1+")"},Mr.prototype.hashCode=function(){var t=bt(this.s36_1);return t=W(t,31)+bt(this.t36_1)|0,t=W(t,31)+wt(this.u36_1)|0,W(t,31)+bt(this.v36_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.s36_1===n.s36_1&&this.t36_1===n.t36_1&&!!kt(this.u36_1,n.u36_1)&&this.v36_1===n.v36_1},Mr.$metadata$=$t("Chart"),Ar.prototype.j35=function(){return this.z35_1},Ar.prototype.b37=function(){return this.a36_1},Ar.prototype.c37=function(){return this.b36_1},Ar.prototype.d37=function(t,n,e){return new Ar(t,n,e)},Ar.prototype.e37=function(t,n,e,r,i){return 0!=(1&r)&&(t=this.z35_1),0!=(2&r)&&(n=this.a36_1),0!=(4&r)&&(e=this.b36_1),this.d37(t,n,e)},Ar.prototype.toString=function(){return"FormData(data="+this.z35_1+", isTestNameDetectionEnabled="+this.a36_1+", isAutoGroupEnabled="+this.b36_1+")"},Ar.prototype.hashCode=function(){var t=bt(this.z35_1);return t=W(t,31)+(0|this.a36_1)|0,W(t,31)+(0|this.b36_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.z35_1===n.z35_1&&this.a36_1===n.a36_1&&this.b36_1===n.b36_1},Ar.$metadata$=$t("FormData"),Er.prototype.f37=function(){return"line"},Er.$metadata$=Kt("Companion"),Br.prototype.j37=function(){return this.h37_1},Br.prototype.k37=function(){return this.i37_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.t37_1(this.u37_1),jt();if(1===t)throw this.m7_1}catch(t){throw t}},Rr.prototype.q1j=function(t,n){var e=new Rr(this.t37_1,this.u37_1,n);return e.v37_1=t,e},Rr.$metadata$=$t("FormUi$composable$slambda",void 0,void 0,void 0,[1],wn.prototype),Wr.prototype.x37=function(){return this.w37_1},Wr.$metadata$=Kt("ComposableSingletons$AutoGroupToggleKt"),ti.prototype.js=function(){this.y37_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.f38_1},Ci.prototype.n2m=function(){return[ee(),ee()]},Ci.prototype.v2c=function(t){var n=this.f38_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.h38=function(t,n){var e=this.f38_1,r=t.s2f(e);r.e2h(e,0,n.i38_1),r.e2h(e,1,n.j38_1),r.t2f(e)},Ci.prototype.u2c=function(t,n){return this.h38(t,n instanceof Oi?n:xt())},Ci.$metadata$=Kt("$serializer",[oe]),Oi.prototype.k2=function(){return this.i38_1},Oi.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.i38_1+", value="+this.j38_1+")"},Oi.prototype.hashCode=function(){var t=bt(this.i38_1);return W(t,31)+bt(this.j38_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.i38_1===n.i38_1&&this.j38_1===n.j38_1},Oi.$metadata$=$t("SavedBenchmarkNode",void 0,void 0,{0:Si}),Pi.$metadata$=Kt("Companion"),Mi.prototype.t2c=function(){return this.l38_1},Mi.prototype.n2m=function(){return[new ae(Si())]},Mi.prototype.v2c=function(t){var n=this.l38_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.n38=function(t,n){var e=this.l38_1,r=t.s2f(e);r.g2h(e,0,new ae(Si()),n.o38_1),r.t2f(e)},Mi.prototype.u2c=function(t,n){return this.n38(t,n instanceof Ii?n:xt())},Mi.$metadata$=Kt("$serializer",[oe]),Ii.prototype.toString=function(){return"SavedBenchmarks(items="+this.o38_1+")"},Ii.prototype.hashCode=function(){return wt(this.o38_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.o38_1,n.o38_1)},Ii.$metadata$=$t("SavedBenchmarks",void 0,void 0,{0:Ai}),Ri.prototype.j37=function(){return this.r38_1},Ri.prototype.k37=function(){return this.s38_1},Ri.prototype.u38=function(){return this.t38_1},Ri.$metadata$=Kt("ComposableSingletons$SavedBenchmarksDropDownKt"),no.prototype.g39=function(){return this.v38_1},no.prototype.x36=function(){return this.w38_1},no.prototype.h39=function(){return this.x38_1},no.prototype.y36=function(){return this.y38_1},no.prototype.i39=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.$metadata$=$t("SummaryNode"),eo.prototype.l1n=function(){return this.p39_1},eo.prototype.toString=function(){return"Summary(title="+this.o39_1+", nodes="+this.p39_1+")"},eo.prototype.hashCode=function(){var t=bt(this.o39_1);return W(t,31)+wt(this.p39_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.o39_1===n.o39_1&&!!kt(this.p39_1,n.p39_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.k37=function(){return this.v39_1},uo.$metadata$=Kt("ComposableSingletons$SummaryKt"),Io.prototype.x37=function(){return this.w39_1},Io.$metadata$=Kt("ComposableSingletons$TestNameDetectionToggleKt"),Ro.prototype.x37=function(){return this.x39_1},Ro.$metadata$=Kt("ComposableSingletons$TestNamesKt"),Yo.$metadata$=Kt("ComposableSingletons$MainKt"),Xo.prototype.x37=function(){return this.z39_1},Xo.$metadata$=Kt("ComposableSingletons$HomePageKt"),ds.$metadata$=Kt("Companion"),Es.prototype.o3b=function(){return Ce("savedBenchmarks",1,Le,(function(t){return t.o3b()}),(function(t,n){return ys(t,n)})),this.c3a_1.m2()},Es.prototype.e3c=function(){return this.e3a_1},Es.prototype.v3b=function(){return Ce("chartsBundle",1,Le,(function(t){return t.v3b()}),(function(t,n){return ms(t,n)})),this.f3a_1.m2()},Es.prototype.w3b=function(){return Ce("errorMsg",1,Le,(function(t){return t.w3b()}),(function(t,n){return gs(t,n)})),this.g3a_1.m2()},Es.prototype.u3b=function(){return Ce("isEditableTitleEnabled",1,Le,(function(t){return t.u3b()}),(function(t,n){return $s(t,n)})),this.h3a_1.m2()},Es.prototype.n3b=function(){return Ce("shouldSelectUnsaved",1,Le,(function(t){return t.n3b()}),(function(t,n){return bs(t,n)})),this.i3a_1.m2()},Es.prototype.k3b=function(){return Ce("selectedBlockNameOne",1,Le,(function(t){return t.k3b()}),(function(t,n){return ws(t,n)})),this.j3a_1.m2()},Es.prototype.l3b=function(){return Ce("selectedBlockNameTwo",1,Le,(function(t){return t.l3b()}),(function(t,n){return xs(t,n)})),this.k3a_1.m2()},Es.prototype.f3c=function(){return this.l3a_1},Es.prototype.g3c=function(){return this.m3a_1},Es.prototype.t3b=function(){return Ce("inputType",1,Le,(function(t){return t.t3b()}),(function(t,n){return ks(t,n)})),this.n3a_1.m2()},Es.prototype.q28=function(){return Ce("unit",1,Le,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),this.o3a_1.m2()},Es.prototype.d3b=function(){return Ce("bestAggSummary",1,Le,(function(t){return t.d3b()}),(function(t,n){return zs(t,n)})),this.p3a_1.m2()},Es.prototype.j3b=function(){return Ce("worstAggSummary",1,Le,(function(t){return t.j3b()}),(function(t,n){return Cs(t,n)})),this.q3a_1.m2()},Es.prototype.m3b=function(){return Ce("form",1,Le,(function(t){return t.m3b()}),(function(t,n){return Ss(t,n)})),this.r3a_1.m2()},Es.prototype.h3c=function(t,n){var e,r=this.t3a_1;null==r||(clearTimeout(r),jt()),this.t3a_1=setTimeout((e=t,function(){return e(),jt()}),n)},Es.prototype.i3c=function(t,n){Ss(this,t),this.b3a_1.j3c(t),this.h3c(As(this,n,t),300)},Es.prototype.u3a=function(t,n,e,r){return 0!=(2&e)&&(n=!0),this.i3c(t,n)},Es.prototype.s3b=function(t){try{var n;if(this.d3a_1=t,null!=this.d3a_1){for(var e=this.s3a_1,r=qt(),i=e.c();i.d();){var o=i.e();o.e36_1==this.d3a_1&&r.a(o)}n=r}else n=this.s3a_1;ms(this,wr(n)),Ms(this),gs(this,"")}catch(t){if(!(t instanceof Error))throw t;this.m3a_1.s7(),De(t);var s,a=t.message;null==a?(vs(),s="Something went wrong!"):s=a,gs(this,s)}},Es.prototype.p3b=function(){$s(this,!0)},Es.prototype.q3b=function(){var t=this.m3b().e37(null,!1,!this.m3b().b36_1,3,null);this.u3a(t,!1,2,null)},Es.prototype.r3b=function(){var t=this.m3b(),n=!this.m3b().a36_1,e=t.e37(null,n,!1,5,null);this.u3a(e,!1,2,null)},Es.prototype.v3a=function(t){var n,e=window.prompt("Name: ");if(null==e||Wt(e))return jt();t:{for(var r=this.o3b().c();r.d();){var i=r.e();if(i.i38_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.o3b());o.yf(0,new Oi(e,t.z35_1));var s=o;this.a3a_1.k3c(s),bs(this,!1),qs(this)},Es.prototype.x3a=function(t){var n=this.m3b().e37(t.j38_1,!1,!1,6,null);this.i3c(n,!1)},Es.prototype.y3a=function(t){window.confirm("Do you want to delete `"+t.i38_1+"` ?")&&(this.a3a_1.l3c(t),bs(this,!0),qs(this))},Es.prototype.w3a=function(t){if(bs(this,t===Di()),this.n3b()){var n=this.b3a_1.b3c(),e=null==n?this.m3b():n;this.i3c(e,!1)}},Es.prototype.b3b=function(t){ws(this,t),Ms(this)},Es.prototype.c3b=function(t){xs(this,t),Ms(this)},Es.prototype.z3a=function(){var t=this.d3b();ws(this,null==t?null:t.e3b_1);var n=this.d3b();xs(this,null==n?null:n.f3b_1),Ms(this)},Es.prototype.a3b=function(){var t=this.j3b();ws(this,null==t?null:t.e3b_1);var n=this.j3b();xs(this,null==n?null:n.f3b_1),Ms(this)},Es.$metadata$=$t("HomeViewModel"),Is.prototype.m3c=function(){return this.g3b_1},Is.prototype.n3c=function(){return this.h3b_1},Is.prototype.toString=function(){return"AggSummary(blockOneName="+this.e3b_1+", blockTwoName="+this.f3b_1+", sumOfGreen="+this.g3b_1+", sumOfRed="+this.h3b_1+")"},Is.prototype.hashCode=function(){var t=bt(this.e3b_1);return t=W(t,31)+bt(this.f3b_1)|0,t=W(t,31)+this.g3b_1|0,W(t,31)+this.h3b_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.e3b_1===n.e3b_1&&this.f3b_1===n.f3b_1&&this.g3b_1===n.g3b_1&&this.h3b_1===n.h3b_1},Is.$metadata$=$t("AggSummary"),Ds.$metadata$=Ne("BenchmarkRepo"),Ts.$metadata$=Kt("Companion"),Ls.prototype.y3b=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().q3c_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.k3c(u),r=new Ii(Ie())}n=r}return Bt(n.o38_1)},Ls.prototype.k3c=function(t){var n,e=Js().q3c_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.l3c=function(t){var n,e=Be(this.y3b());Je(e,(n=t,function(t){return t.i38_1===n.i38_1}));var r=e;this.k3c(r)},Ls.$metadata$=$t("BenchmarkRepoImpl",[Ds]),Ns.$metadata$=Ne("FormRepo"),Rs.$metadata$=Kt("Companion"),Hs.prototype.j3c=function(t){var n=window.localStorage;Fs(),n.setItem("auto_form_input",t.z35_1),Fs(),n.setItem("is_test_name_detection_enabled",t.a36_1.toString()),Fs(),n.setItem("is_auto_group_enabled",t.b36_1.toString())},Hs.prototype.b3c=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.a3c=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.u36_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.u36_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.u36_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.x35_1.da(n)}function cr(t,n){var e=t.v35_1.ca(n," "),r=Nt("\\s{2,}").ca(e," ");return It(Et(At(r)?r:xt()))}function lr(t,n){var e=t.w35_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.u35_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.t35_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}function Sr(){return null==g&&new Cr,g}function qr(t,n){Sr(),this.q35_1=t,this.r35_1=n,this.s35_1=0}function Or(t,n){this.n36_1=t,this.o36_1=n,this.p36_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.s36_1=t,this.t36_1=n,this.u36_1=e,this.v36_1=r,this.w36_1=8}function Ar(t,n,e){this.z35_1=t,this.a36_1=n,this.b36_1=e,this.c36_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.g37_1=(t=_n(2098833845,!1,Ir),function(n,e,r){return t.n1y(n,e,r)}),this.h37_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1047390949,!1,Dr)),this.i37_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().g37_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().h37_1,o,390,0),Sn(t.z35_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.e37(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.z35_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().i37_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.t37_1=t,this.u37_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.w37_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).w37_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.s36_1+" "+a.t36_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.u36_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.j36_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.u36_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.y37_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().z37_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().a38_1,r,48,0),hn()&&fn(),jt()}function ai(t){return t.w20(["form-group"]),jt()}function ui(){var t;k=this,this.z37_1=(t=_n(-646215327,!1,ni),function(n,e,r){return t.n1y(n,e,r)}),this.a38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(1730974274,!1,ei)),this.b38_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().b38_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().c38_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().d38_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.c38_1=(t=_n(-1817257175,!1,vi),function(n,e,r){return t.n1y(n,e,r)}),this.d38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1445218266,!1,yi)),this.e38_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().e38_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.f38_1=t,this.g38_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().f38_1),i.i38_1=n,i.j38_1=e,i}(t,n,e,0,Object.create(Oi.prototype))}function Oi(t,n){null==z&&new zi,this.i38_1=t,this.j38_1=n,this.k38_1=0}function Pi(){S=this}function Mi(){q=this;var t=new ne("components.SavedBenchmarks",this,1);t.l2m("items",!1),this.l38_1=t,this.m38_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().l38_1),r.o38_1=n,r}(t,n,0,Object.create(Ii.prototype))}function Ii(t){null==S&&new Pi,this.o38_1=t,this.p38_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.q38_1=(t=_n(37561396,!1,Ti),function(n,e,r){return t.n1y(n,e,r)}),this.r38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-32633967,!1,Bi)),this.s38_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-652929765,!1,Li)),this.t38_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().q38_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.i38_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.i38_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().r38_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().s38_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().t38_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.i38_1!==Ui(e).i38_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.i38_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.v38_1=t,this.w38_1=n,this.x38_1=e,this.y38_1=r,this.z38_1=i,this.a39_1=o,this.b39_1=s,this.c39_1=a,this.d39_1=u,this.e39_1=c,this.f39_1=0}function eo(t,n){this.o39_1=t,this.p39_1=n,this.q39_1=8}function ro(t){return Ce("el",1,ze,(function(t){return ro(t)}),null),t.s39_1.m2()}function io(t){var n;this.r39_1=t,this.s39_1=me((n=this,function(){return document.createElement(n.r39_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().t39_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().u39_1,r,48,1),hn()&&fn(),jt()}function uo(){var t;E=this,this.t39_1=(t=_n(323270151,!1,oo),function(n,e,r){return t.n1y(n,e,r)}),this.u39_1=function(t){return function(n,e,r){return t.n1y(n,e,r)}}(_n(-1108287470,!1,so)),this.v39_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.o39_1),fo(a.o39_1,a.p39_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().v39_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.w38_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.x38_1,i,o,0,0),pn(" : ",o,6),_o(t.y38_1,null,o,0,2),pn(t.v38_1?" looks ":" performed ",o,0),_o(t.z38_1+"% ",null,o,0,2);var f=t.v38_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.b39_1?"secondary":t.b39_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.e39_1+n+" to "+t.d39_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.a39_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.c39_1+t.b39_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.w39_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).w39_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.x39_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).x39_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.y39_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.z39_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.w3b();!Wt(i)&&pi(a._v.w3b(),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.m3b(),a=t._v.n3b(),u=(o=t._v,function(t){return function(t,n){t.u3a(n,!1,2,null)}(o,t),jt()}),c=function(t){var n=function(n){return t.v3a(n),jt()};return n.callableName="onSaveClicked",n}(t._v);Nr(s,a,t._v.o3b(),u,c,function(t){var n=function(n){return t.w3a(n),jt()};return n.callableName="onSavedBenchmarkChanged",n}(t._v),function(t){var n=function(n){return t.x3a(n),jt()};return n.callableName="onLoadBenchmarkClicked",n}(t._v),function(t){var n=function(n){return t.y3a(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.l3a_1.f()),t._v.l3a_1.f()>2){var i=t._v.d3b(),o="BEST (-"+(null==i?null:i.g3b_1)+t._v.q28()+")",s=t._v.j3b(),a="WORST (+"+(null==s?null:s.h3b_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.z3a(),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.a3b(),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.l3a_1,t._v.k3b(),t._v.l3b(),function(t){var n=function(n){return t.b3b(n),jt()};return n.callableName="onBlockNameOneChanged",n}(t._v),function(t){var n=function(n){return t.c3b(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.m3a_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.v3b(),k=null==x?null:x.o36_1,j=null==k||k.h()?null:k;if(null==j);else{var z=t._v.v3b();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.u3b())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.p3b(),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).z39_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.m3b().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.q3b(),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.t3b(),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.m3b().a36_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="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.e3a_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.e3a_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.s3b(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.v36_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.m3b().b36_1,n.n36_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.x3b_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.o3b()}),(function(t,n){return ys(t,n)})),t.c3a_1.jy(n)}function ms(t,n){return Ce("chartsBundle",1,Le,(function(t){return t.v3b()}),(function(t,n){return ms(t,n)})),t.f3a_1.jy(n)}function gs(t,n){return Ce("errorMsg",1,Le,(function(t){return t.w3b()}),(function(t,n){return gs(t,n)})),t.g3a_1.jy(n)}function $s(t,n){return Ce("isEditableTitleEnabled",1,Le,(function(t){return t.u3b()}),(function(t,n){return $s(t,n)})),t.h3a_1.jy(n)}function bs(t,n){return Ce("shouldSelectUnsaved",1,Le,(function(t){return t.n3b()}),(function(t,n){return bs(t,n)})),t.i3a_1.jy(n)}function ws(t,n){return Ce("selectedBlockNameOne",1,Le,(function(t){return t.k3b()}),(function(t,n){return ws(t,n)})),t.j3a_1.jy(n)}function xs(t,n){return Ce("selectedBlockNameTwo",1,Le,(function(t){return t.l3b()}),(function(t,n){return xs(t,n)})),t.k3a_1.jy(n)}function ks(t,n){return Ce("inputType",1,Le,(function(t){return t.t3b()}),(function(t,n){return ks(t,n)})),t.n3a_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.o3a_1.jy(n)}function zs(t,n){return Ce("bestAggSummary",1,Le,(function(t){return t.d3b()}),(function(t,n){return zs(t,n)})),t.p3a_1.jy(n)}function Cs(t,n){return Ce("worstAggSummary",1,Le,(function(t){return t.j3b()}),(function(t,n){return Cs(t,n)})),t.q3a_1.jy(n)}function Ss(t,n){return Ce("form",1,Le,(function(t){return t.m3b()}),(function(t,n){return Ss(t,n)})),t.r3a_1.jy(n)}function qs(t){ys(t,t.a3a_1.y3b())}function Os(t){ws(t,null),xs(t,null),t.l3a_1.s7(),ms(t,null),t.m3a_1.s7(),zs(t,null),Cs(t,null),Ms(t)}function Ps(t,n){t.l3a_1.s7();var e=Bt(n.n36_1.k36_1.b3());t.l3a_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.m3a_1.s7();var n,e=kt(t.t3b(),$r()),r=t.v3b(),i=null==r?null:r.o36_1;if(null==i)n=null;else{for(var o=qt(),s=i.c();s.d();){var a=s.e(),u=Ys().a3c(e,a,t.k3b(),t.l3b());null==u||(o.a(u),jt())}n=o}var c=n;t.m3a_1.w1x(null==c?Ie():c),function(t){for(var n,e=kt(t.t3b(),$r()),r=qt(),i=t.l3a_1.c();i.d();)for(var o=i.e(),s=t.l3a_1.c();s.d();){var a=s.e();if(o!==a){var u,c=t.v3b(),l=null==c?null:c.o36_1;if(null==l)u=null;else{for(var h=qt(),p=l.c();p.d();){var f=p.e(),_=Ys().a3c(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().p39_1.c();m.d();){var g=m.e();g.b39_1>0?v=v+Ae(g.b39_1)|0:g.b39_1<0&&(d=d-Ae(g.b39_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.g3b_1;do{var k=b.e(),j=k.g3b_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.h3b_1;do{var q=z.e(),O=q.h3b_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.s3a_1.s7(),t.e3a_1.s7(),t.l3a_1.s7();var r=yr().y35(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.s3a_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.f36_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.d36_1,n,"col-lg-12");return new Or(kr(t,!0),Qt(a))}(t.s3a_1);ms(t,u),Ps(t,u),js(t,"")}else if(1===a){for(var c,l=t.e3a_1,h=t.s3a_1,p=qt(),f=h.c();f.d();){var _=f.e().e36_1;null==_||(p.a(_),jt())}c=p,l.w1x(Xt(c));var d,v=t.e3a_1;t:{for(var y=v.c();y.d();){var m=y.e();if(m===t.d3a_1){d=m;break t}}d=null}var g,$=d,b=null==$?an(t.e3a_1):$;if(null!=b){for(var w=t.s3a_1,x=qt(),k=w.c();k.d();){var j=k.e();j.e36_1==b&&x.a(j)}g=x}else g=t.s3a_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.a3a_1=t,this.b3a_1=n;var e=Ie();this.c3a_1=ue(e,null,2,null),this.d3a_1=null,this.e3a_1=Te(),this.f3a_1=ue(null,null,2,null),this.g3a_1=ue("",null,2,null),this.h3a_1=ue(!1,null,2,null),this.i3a_1=ue(!1,null,2,null),this.j3a_1=ue(null,null,2,null),this.k3a_1=ue(null,null,2,null),this.l3a_1=Te(),this.m3a_1=Te(),this.n3a_1=ue(null,null,2,null),this.o3a_1=ue("",null,2,null),this.p3a_1=ue(null,null,2,null),this.q3a_1=ue(null,null,2,null);var r=this.b3a_1.b3c(),i=null==r?new Ar((null==H&&new Us,H).c3c_1,!1,!1):r;this.r3a_1=ue(i,null,2,null),qs(this);var o;o=qt(),this.s3a_1=o,this.t3a_1=null}function Is(t,n,e,r){this.e3b_1=t,this.f3b_1=n,this.g3b_1=e,this.h3b_1=r,this.i3b_1=0}function Ds(){}function Ts(){R=this,this.o3c_1="savedBenchmarks"}function Bs(){return null==R&&new Ts,R}function Ls(){Bs(),this.p3c_1=0}function Ns(){}function Rs(){F=this,this.s3c_1="auto_form_input",this.t3c_1="is_test_name_detection_enabled",this.u3c_1="is_auto_group_enabled"}function Fs(){return null==F&&new Rs,F}function Hs(){Fs(),this.v3c_1=0}function Us(){H=this,this.c3c_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.d3c_1=0}function Vs(t){return t.a2w_1=!0,jt()}function Ws(){U=this,this.q3c_1=Ye(null,Vs,1,null),this.r3c_1=8}function Js(){return null==U&&new Ws,U}function Ks(){V=this,this.z3b_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.y35=function(t){for(var n=Ot(t.z35_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.z35_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.a36_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.d36_1},mr.prototype.h36=function(){return this.e36_1},mr.prototype.i36=function(){return this.f36_1},mr.prototype.toString=function(){return"BenchmarkResult(title="+this.d36_1+", testName="+this.e36_1+", blockRows="+this.f36_1+")"},mr.prototype.hashCode=function(){var t=bt(this.d36_1);return t=W(t,31)+(null==this.e36_1?0:bt(this.e36_1))|0,W(t,31)+wt(this.f36_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.d36_1===n.d36_1&&this.e36_1==n.e36_1&&!!kt(this.f36_1,n.f36_1)},mr.$metadata$=$t("BenchmarkResult"),xr.prototype.m36=function(){return this.j36_1},xr.prototype.toString=function(){return"GroupMap(autoGroupMap="+this.j36_1+", wordColorMap="+this.k36_1+")"},xr.prototype.hashCode=function(){var t=wt(this.j36_1);return W(t,31)+wt(this.k36_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.j36_1,n.j36_1)&&!!kt(this.k36_1,n.k36_1)},xr.$metadata$=$t("GroupMap"),Cr.prototype.p35=function(t){var n=zr(),e=sn(n.fl(t,0,2,null)),r=null==e?null:e.sa(),i=null==r?null:an(r);if(null==i){var o=t+" doesn't match the regex '"+zr().w9_1+"'";throw Lt(It(o))}var s=i,a=un(t,s,0,!1,6,null);return new qr(t.substring(0,a),Ht(s))},Cr.$metadata$=Kt("Companion"),qr.prototype.toString=function(){return"TextNumberLine(text="+this.q35_1+", number="+this.r35_1+")"},qr.prototype.hashCode=function(){var t=bt(this.q35_1);return W(t,31)+cn(this.r35_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.q35_1===n.q35_1&&!!kt(this.r35_1,n.r35_1)},qr.$metadata$=$t("TextNumberLine"),Or.prototype.q36=function(){return this.n36_1},Or.prototype.r36=function(){return this.o36_1},Or.prototype.toString=function(){return"ChartsBundle(groupMap="+this.n36_1+", charts="+this.o36_1+")"},Or.prototype.hashCode=function(){var t=this.n36_1.hashCode();return W(t,31)+wt(this.o36_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.n36_1.equals(n.n36_1)&&!!kt(this.o36_1,n.o36_1)},Or.$metadata$=$t("ChartsBundle"),Mr.prototype.x36=function(){return this.s36_1},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.toString=function(){return"Chart(emoji="+this.s36_1+", label="+this.t36_1+", dataSets="+this.u36_1+", bsClass="+this.v36_1+")"},Mr.prototype.hashCode=function(){var t=bt(this.s36_1);return t=W(t,31)+bt(this.t36_1)|0,t=W(t,31)+wt(this.u36_1)|0,W(t,31)+bt(this.v36_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.s36_1===n.s36_1&&this.t36_1===n.t36_1&&!!kt(this.u36_1,n.u36_1)&&this.v36_1===n.v36_1},Mr.$metadata$=$t("Chart"),Ar.prototype.j35=function(){return this.z35_1},Ar.prototype.b37=function(){return this.a36_1},Ar.prototype.c37=function(){return this.b36_1},Ar.prototype.d37=function(t,n,e){return new Ar(t,n,e)},Ar.prototype.e37=function(t,n,e,r,i){return 0!=(1&r)&&(t=this.z35_1),0!=(2&r)&&(n=this.a36_1),0!=(4&r)&&(e=this.b36_1),this.d37(t,n,e)},Ar.prototype.toString=function(){return"FormData(data="+this.z35_1+", isTestNameDetectionEnabled="+this.a36_1+", isAutoGroupEnabled="+this.b36_1+")"},Ar.prototype.hashCode=function(){var t=bt(this.z35_1);return t=W(t,31)+(0|this.a36_1)|0,W(t,31)+(0|this.b36_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.z35_1===n.z35_1&&this.a36_1===n.a36_1&&this.b36_1===n.b36_1},Ar.$metadata$=$t("FormData"),Er.prototype.f37=function(){return"line"},Er.$metadata$=Kt("Companion"),Br.prototype.j37=function(){return this.h37_1},Br.prototype.k37=function(){return this.i37_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.t37_1(this.u37_1),jt();if(1===t)throw this.m7_1}catch(t){throw t}},Rr.prototype.q1j=function(t,n){var e=new Rr(this.t37_1,this.u37_1,n);return e.v37_1=t,e},Rr.$metadata$=$t("FormUi$composable$slambda",void 0,void 0,void 0,[1],wn.prototype),Wr.prototype.x37=function(){return this.w37_1},Wr.$metadata$=Kt("ComposableSingletons$AutoGroupToggleKt"),ti.prototype.js=function(){this.y37_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.f38_1},Ci.prototype.n2m=function(){return[ee(),ee()]},Ci.prototype.v2c=function(t){var n=this.f38_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.h38=function(t,n){var e=this.f38_1,r=t.s2f(e);r.e2h(e,0,n.i38_1),r.e2h(e,1,n.j38_1),r.t2f(e)},Ci.prototype.u2c=function(t,n){return this.h38(t,n instanceof Oi?n:xt())},Ci.$metadata$=Kt("$serializer",[oe]),Oi.prototype.k2=function(){return this.i38_1},Oi.prototype.toString=function(){return"SavedBenchmarkNode(key="+this.i38_1+", value="+this.j38_1+")"},Oi.prototype.hashCode=function(){var t=bt(this.i38_1);return W(t,31)+bt(this.j38_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.i38_1===n.i38_1&&this.j38_1===n.j38_1},Oi.$metadata$=$t("SavedBenchmarkNode",void 0,void 0,{0:Si}),Pi.$metadata$=Kt("Companion"),Mi.prototype.t2c=function(){return this.l38_1},Mi.prototype.n2m=function(){return[new ae(Si())]},Mi.prototype.v2c=function(t){var n=this.l38_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.n38=function(t,n){var e=this.l38_1,r=t.s2f(e);r.g2h(e,0,new ae(Si()),n.o38_1),r.t2f(e)},Mi.prototype.u2c=function(t,n){return this.n38(t,n instanceof Ii?n:xt())},Mi.$metadata$=Kt("$serializer",[oe]),Ii.prototype.toString=function(){return"SavedBenchmarks(items="+this.o38_1+")"},Ii.prototype.hashCode=function(){return wt(this.o38_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.o38_1,n.o38_1)},Ii.$metadata$=$t("SavedBenchmarks",void 0,void 0,{0:Ai}),Ri.prototype.j37=function(){return this.r38_1},Ri.prototype.k37=function(){return this.s38_1},Ri.prototype.u38=function(){return this.t38_1},Ri.$metadata$=Kt("ComposableSingletons$SavedBenchmarksDropDownKt"),no.prototype.g39=function(){return this.v38_1},no.prototype.x36=function(){return this.w38_1},no.prototype.h39=function(){return this.x38_1},no.prototype.y36=function(){return this.y38_1},no.prototype.i39=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.$metadata$=$t("SummaryNode"),eo.prototype.l1n=function(){return this.p39_1},eo.prototype.toString=function(){return"Summary(title="+this.o39_1+", nodes="+this.p39_1+")"},eo.prototype.hashCode=function(){var t=bt(this.o39_1);return W(t,31)+wt(this.p39_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.o39_1===n.o39_1&&!!kt(this.p39_1,n.p39_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.k37=function(){return this.v39_1},uo.$metadata$=Kt("ComposableSingletons$SummaryKt"),Io.prototype.x37=function(){return this.w39_1},Io.$metadata$=Kt("ComposableSingletons$TestNameDetectionToggleKt"),Ro.prototype.x37=function(){return this.x39_1},Ro.$metadata$=Kt("ComposableSingletons$TestNamesKt"),Yo.$metadata$=Kt("ComposableSingletons$MainKt"),Xo.prototype.x37=function(){return this.z39_1},Xo.$metadata$=Kt("ComposableSingletons$HomePageKt"),ds.$metadata$=Kt("Companion"),Es.prototype.o3b=function(){return Ce("savedBenchmarks",1,Le,(function(t){return t.o3b()}),(function(t,n){return ys(t,n)})),this.c3a_1.m2()},Es.prototype.e3c=function(){return this.e3a_1},Es.prototype.v3b=function(){return Ce("chartsBundle",1,Le,(function(t){return t.v3b()}),(function(t,n){return ms(t,n)})),this.f3a_1.m2()},Es.prototype.w3b=function(){return Ce("errorMsg",1,Le,(function(t){return t.w3b()}),(function(t,n){return gs(t,n)})),this.g3a_1.m2()},Es.prototype.u3b=function(){return Ce("isEditableTitleEnabled",1,Le,(function(t){return t.u3b()}),(function(t,n){return $s(t,n)})),this.h3a_1.m2()},Es.prototype.n3b=function(){return Ce("shouldSelectUnsaved",1,Le,(function(t){return t.n3b()}),(function(t,n){return bs(t,n)})),this.i3a_1.m2()},Es.prototype.k3b=function(){return Ce("selectedBlockNameOne",1,Le,(function(t){return t.k3b()}),(function(t,n){return ws(t,n)})),this.j3a_1.m2()},Es.prototype.l3b=function(){return Ce("selectedBlockNameTwo",1,Le,(function(t){return t.l3b()}),(function(t,n){return xs(t,n)})),this.k3a_1.m2()},Es.prototype.f3c=function(){return this.l3a_1},Es.prototype.g3c=function(){return this.m3a_1},Es.prototype.t3b=function(){return Ce("inputType",1,Le,(function(t){return t.t3b()}),(function(t,n){return ks(t,n)})),this.n3a_1.m2()},Es.prototype.q28=function(){return Ce("unit",1,Le,(function(t){return t.q28()}),(function(t,n){return js(t,n)})),this.o3a_1.m2()},Es.prototype.d3b=function(){return Ce("bestAggSummary",1,Le,(function(t){return t.d3b()}),(function(t,n){return zs(t,n)})),this.p3a_1.m2()},Es.prototype.j3b=function(){return Ce("worstAggSummary",1,Le,(function(t){return t.j3b()}),(function(t,n){return Cs(t,n)})),this.q3a_1.m2()},Es.prototype.m3b=function(){return Ce("form",1,Le,(function(t){return t.m3b()}),(function(t,n){return Ss(t,n)})),this.r3a_1.m2()},Es.prototype.h3c=function(t,n){var e,r=this.t3a_1;null==r||(clearTimeout(r),jt()),this.t3a_1=setTimeout((e=t,function(){return e(),jt()}),n)},Es.prototype.i3c=function(t,n){Ss(this,t),this.b3a_1.j3c(t),this.h3c(As(this,n,t),300)},Es.prototype.u3a=function(t,n,e,r){return 0!=(2&e)&&(n=!0),this.i3c(t,n)},Es.prototype.s3b=function(t){try{var n;if(this.d3a_1=t,null!=this.d3a_1){for(var e=this.s3a_1,r=qt(),i=e.c();i.d();){var o=i.e();o.e36_1==this.d3a_1&&r.a(o)}n=r}else n=this.s3a_1;ms(this,wr(n)),Ms(this),gs(this,"")}catch(t){if(!(t instanceof Error))throw t;this.m3a_1.s7(),De(t);var s,a=t.message;null==a?(vs(),s="Something went wrong!"):s=a,gs(this,s)}},Es.prototype.p3b=function(){$s(this,!0)},Es.prototype.q3b=function(){var t=this.m3b().e37(null,!1,!this.m3b().b36_1,3,null);this.u3a(t,!1,2,null)},Es.prototype.r3b=function(){var t=this.m3b(),n=!this.m3b().a36_1,e=t.e37(null,n,!1,5,null);this.u3a(e,!1,2,null)},Es.prototype.v3a=function(t){var n,e=window.prompt("Name: ");if(null==e||Wt(e))return jt();t:{for(var r=this.o3b().c();r.d();){var i=r.e();if(i.i38_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.o3b());o.yf(0,new Oi(e,t.z35_1));var s=o;this.a3a_1.k3c(s),bs(this,!1),qs(this)},Es.prototype.x3a=function(t){var n=this.m3b().e37(t.j38_1,!1,!1,6,null);this.i3c(n,!1)},Es.prototype.y3a=function(t){window.confirm("Do you want to delete `"+t.i38_1+"` ?")&&(this.a3a_1.l3c(t),bs(this,!0),qs(this))},Es.prototype.w3a=function(t){if(bs(this,t===Di()),this.n3b()){var n=this.b3a_1.b3c(),e=null==n?this.m3b():n;this.i3c(e,!1)}},Es.prototype.b3b=function(t){ws(this,t),Ms(this)},Es.prototype.c3b=function(t){xs(this,t),Ms(this)},Es.prototype.z3a=function(){var t=this.d3b();ws(this,null==t?null:t.e3b_1);var n=this.d3b();xs(this,null==n?null:n.f3b_1),Ms(this)},Es.prototype.a3b=function(){var t=this.j3b();ws(this,null==t?null:t.e3b_1);var n=this.j3b();xs(this,null==n?null:n.f3b_1),Ms(this)},Es.$metadata$=$t("HomeViewModel"),Is.prototype.m3c=function(){return this.g3b_1},Is.prototype.n3c=function(){return this.h3b_1},Is.prototype.toString=function(){return"AggSummary(blockOneName="+this.e3b_1+", blockTwoName="+this.f3b_1+", sumOfGreen="+this.g3b_1+", sumOfRed="+this.h3b_1+")"},Is.prototype.hashCode=function(){var t=bt(this.e3b_1);return t=W(t,31)+bt(this.f3b_1)|0,t=W(t,31)+this.g3b_1|0,W(t,31)+this.h3b_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.e3b_1===n.e3b_1&&this.f3b_1===n.f3b_1&&this.g3b_1===n.g3b_1&&this.h3b_1===n.h3b_1},Is.$metadata$=$t("AggSummary"),Ds.$metadata$=Ne("BenchmarkRepo"),Ts.$metadata$=Kt("Companion"),Ls.prototype.y3b=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().q3c_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.k3c(u),r=new Ii(Ie())}n=r}return Bt(n.o38_1)},Ls.prototype.k3c=function(t){var n,e=Js().q3c_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.l3c=function(t){var n,e=Be(this.y3b());Je(e,(n=t,function(t){return t.i38_1===n.i38_1}));var r=e;this.k3c(r)},Ls.$metadata$=$t("BenchmarkRepoImpl",[Ds]),Ns.$metadata$=Ne("FormRepo"),Rs.$metadata$=Kt("Companion"),Hs.prototype.j3c=function(t){var n=window.localStorage;Fs(),n.setItem("auto_form_input",t.z35_1),Fs(),n.setItem("is_test_name_detection_enabled",t.a36_1.toString()),Fs(),n.setItem("is_auto_group_enabled",t.b36_1.toString())},Hs.prototype.b3c=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.a3c=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.u36_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.u36_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.u36_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 c770cbf..4db2d74 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 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 fun parse(line: String): TextNumberLine {\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 calcAggSummary()\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 }\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","inputType","result","listOf","toGenericChart","newCharts","onChartsBundleUpdated","firstOrNull","currentTestName","toCharts","blockNameOuter","blockNameInner","greenSum","redSum","node","newAggSums","AggSummary","calcAggSummary","printStackTrace","reset","mutableStateListOf","FormData","refreshBenchmarks","isGenericInput","form","parseGenericInput","isTestName","findMetricKeyOrNull","metricName","InvalidBenchmarkDataException","parseValues","parseTitle","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","match","_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 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 fun parse(line: String): TextNumberLine {\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","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","match","_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