bezel-charts 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  [![Python](https://github.com/ShazMoghaddam/bezel-charts/actions/workflows/python.yml/badge.svg)](https://github.com/ShazMoghaddam/bezel-charts/actions/workflows/python.yml)
10
10
  [![MIT licence](https://img.shields.io/badge/licence-MIT-D99A0E)](LICENSE)
11
11
 
12
- Bezel Charts is a set of free, open-source web components: eleven chart tiles drawn in pure SVG, so they stay sharp on a phone, a 4K screen or a printed report. Build one in the Studio, paste one line of HTML into any site, or save any chart as a static SVG for a README, Notion page or slide, where JavaScript can't run.
12
+ Bezel Charts is a set of free, open-source web components: twelve chart tiles drawn in pure SVG, so they stay sharp on a phone, a 4K screen or a printed report. Build one in the Studio, paste one line of HTML into any site, or save any chart as a static SVG for a README, Notion page or slide, where JavaScript can't run.
13
13
 
14
14
  ![Bezel Charts: a sparkline, rings, a gauge, a line chart with a launch day note, a donut, a bar chart with a target, a scatter plot with a trend line and a year-long activity heatmap, in light and dark tiles](docs/bezel-charts.png)
15
15
 
@@ -20,7 +20,7 @@ Bezel Charts is a set of free, open-source web components: eleven chart tiles dr
20
20
  - **Made for READMEs.** Every chart exports as a clean static SVG, so a GitHub README can show a real chart.
21
21
  - **Data science friendly.** Scatter plots with a least-squares trend line and Pearson's r, grouped series, goal lines and notes on key points.
22
22
  - **Speaks your language.** Numbers and dates follow any locale, including Persian.
23
- - **Light.** About 17 kB gzipped for all eleven charts, or 7 to 10 kB for a page that loads just one. No dependencies and no build step.
23
+ - **Light.** About 19 kB gzipped for all twelve charts, or 7 to 10 kB for a page that loads just one. No dependencies and no build step.
24
24
  - **Accessible.** Tab to any chart and step through its values with the arrow keys. Screen readers hear each value and get a hidden table of the data. Dashes, shapes and patterns tell series apart without relying on colour, and animation respects reduced-motion settings.
25
25
  - **Python too.** `pip install bezel-charts` draws the same charts straight from a pandas DataFrame, for notebooks, reports and READMEs.
26
26
 
@@ -49,7 +49,7 @@ A sibling of [Bezel](https://github.com/ShazMoghaddam/bezel), the clock, calenda
49
49
  <bezel-bars heading="Commits this week" values="4,9,6,3,8,5,3" labels="M,T,W,T,F,S,S" stat="total"></bezel-bars>
50
50
  ```
51
51
 
52
- `@1` always loads the latest 1.x release, so you get fixes without changing anything. To pin an exact version, use `@v1.4.0` instead.
52
+ `@1` always loads the latest 1.x release, so you get fixes without changing anything. To pin an exact version, use `@v1.5.0` instead.
53
53
 
54
54
  That's all. Charts fill the width of whatever they sit in and redraw when it changes, so they work in a sidebar, a card grid or a full-width section without extra CSS.
55
55
 
@@ -84,9 +84,9 @@ import { toSVG } from 'bezel-charts/line'; // render and toSVG work for every ch
84
84
  | Page | Gzipped |
85
85
  | --- | --- |
86
86
  | One sparkline, ring, donut, gauge, progress bar or heatmap | 7.2 to 7.4 kB |
87
- | One line, area, scatter or bar chart | 9.5 to 10.3 kB |
87
+ | One line, area, histogram, scatter or bar chart | 9.5 to 10.4 kB |
88
88
  | A line and a bar chart | 12.6 kB |
89
- | Every chart: the full bundle | 17.3 kB |
89
+ | Every chart: the full bundle | 19.0 kB |
90
90
 
91
91
  Once a page needs four or five different charts, load the full bundle instead. `<bezel-chart type="…">` works with whichever charts are loaded, and tells you which file to add if its type isn't one of them. The classic `iife.js` script always has every chart, because a classic script can't load the shared file.
92
92
 
@@ -219,6 +219,27 @@ Stacked bars put positive parts above zero and negative parts below it. The tool
219
219
 
220
220
  Without `angle-labels`, labels that don't fit take turns, so only every few are shown. With it, they lean at 40 degrees and every one shows, shortened after 24 characters. The tooltip always has the full label.
221
221
 
222
+ ### `<bezel-histogram>`
223
+
224
+ How raw values spread out. Give it the values themselves, such as 500 customers' ages, and it counts how many fall into each range. The ranges get round edges (20, 30, 40, not 19.7, 31.4) and a sensible number for the amount of data.
225
+
226
+ ```html
227
+ <bezel-histogram heading="Commute times · minutes" values="34,28,41,22,37,30,45,26,33,52,29,38" mark="median"></bezel-histogram>
228
+ ```
229
+
230
+ | Attribute | Values | Default |
231
+ | ------------- | ---------------------------------------------------------- | ------- |
232
+ | `values` | raw numbers, series separated by `\|` | |
233
+ | `series` | series names for the legend | |
234
+ | `bins` | roughly how many ranges | about log₂(n) + 1 |
235
+ | `bin-width` | an exact width for each range, such as `5` | automatic |
236
+ | `mark` | `mean`, `median` or `mean,median`: a labelled line for each | none |
237
+ | `percent` | boolean, shares instead of counts, so groups of different sizes compare | off |
238
+ | `patterns` | with several series, a fill each, as on bars | off |
239
+ | `height` | chart height in px | `190` |
240
+
241
+ Each range includes its lower edge but not its upper one, except the last, which includes both, so the largest value always counts. Several series share the same ranges and overlap, so their spreads compare directly. `prefix`, `suffix` and `decimals` format the range edges. If you have already counted, use `<bezel-bars>` instead.
242
+
222
243
  ### `<bezel-scatter>`
223
244
 
224
245
  How two measures move together. Pass matching `x` and `y` lists; separate groups with `|`.
@@ -447,7 +468,7 @@ bc.line(df, x="month", y=["sales", "costs"], heading="Sales", prefix="£")
447
468
  bc.spark(df["signups"], heading="Signups").save("docs/signups.svg")
448
469
  ```
449
470
 
450
- All eleven charts are available, and the Python output matches the JavaScript byte for byte, checked in CI. `chart.alt` gives ready-made alt text for the saved image. See the [Python README](python/README.md).
471
+ All twelve charts are available, and the Python output matches the JavaScript byte for byte, checked in CI. `chart.alt` gives ready-made alt text for the saved image. See the [Python README](python/README.md).
451
472
 
452
473
  ## Frameworks
453
474
 
@@ -1,11 +1,12 @@
1
- /*! Bezel Charts v1.4.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
2
- var BezelCharts=(()=>{var Ge=Object.defineProperty;var sr=Object.getOwnPropertyDescriptor;var fr=Object.getOwnPropertyNames;var cr=Object.prototype.hasOwnProperty;var ur=(t,e)=>{for(var r in e)Ge(t,r,{get:e[r],enumerable:!0})},hr=(t,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of fr(e))!cr.call(t,i)&&i!==r&&Ge(t,i,{get:()=>e[i],enumerable:!(l=sr(e,i))||l.enumerable});return t};var mr=t=>hr(Ge({},"__esModule",{value:!0}),t);var Er={};ur(Er,{BezelChart:()=>wt,render:()=>Mt,themes:()=>Kt,toSVG:()=>Ct,types:()=>zr,version:()=>Sr});var ft="ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif",xt="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",pr=0;function Ht(t){return"bzc"+t+(++pr).toString(36)+Math.random().toString(36).slice(2,6)}function ct(t){return String(t??"").replace(/[&<>"']/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[e]})}function a(t){return Math.round(t*100)/100}function Q(t,e,r){return Math.max(e,Math.min(r,t))}function W(t,e){var r=parseFloat(t);return isFinite(r)?r:e}function A(t){return t!=null&&t!==""}function rt(t){return Array.isArray(t)?t.map(function(e){var r=+e;return isFinite(r)?r:0}):A(t)?String(t).split(/[\s,;]+/).filter(Boolean).map(function(e){var r=+e;return isFinite(r)?r:0}):[]}function U(t){return Array.isArray(t)?t.map(String):A(t)?String(t).split(",").map(function(e){return e.trim()}):[]}function zt(t){return Array.isArray(t)?Array.isArray(t[0])?t.map(rt):[rt(t)]:A(t)?String(t).split("|").map(rt).filter(function(e){return e.length}):[]}function Nt(t){return t.reduce(function(e,r){return e+r},0)}function Et(t,e,r){return String(t).length*e*(r?.6:.56)}function Zt(t,e){return t=String(t),t.length>e?t.slice(0,Math.max(1,e-1))+"\u2026":t}function K(t){return t===!0||t===""||t==="true"||t==="1"}function h(t,e,r){if(!isFinite(t))return"\u2013";var l=Math.abs(t),i;A(e.decimals)?i=Q(parseInt(e.decimals,10)||0,0,6):i=t%1===0?0:l<10?2:l<100?1:0;var n={maximumFractionDigits:i,minimumFractionDigits:A(e.decimals)?i:0};(K(e.compact)||r)&&l>=1e4&&(n={notation:"compact",maximumFractionDigits:1});var s;try{s=new Intl.NumberFormat(e.lang||"en-GB",n).format(l)}catch{s=String(a(l))}return(t<0?"\u2212":"")+(e.prefix||"")+s+(e.suffix||"")}function Ut(t,e){if(!t.length)return"";for(var r="M"+a(t[0][0])+","+a(t[0][1]),l=1;l<t.length;l++){var i=t[l-1],n=t[l];if(e)r+="L"+a(n[0])+","+a(n[1]);else{var s=(i[0]+n[0])/2;r+="C"+a(s)+","+a(i[1])+" "+a(s)+","+a(n[1])+" "+a(n[0])+","+a(n[1])}}return r}function O(t,e,r,l){return'<text x="'+a(t)+'" y="'+a(e)+'" '+(l||"")+">"+ct(r)+"</text>"}function H(t,e,r,l){return'fill="'+(l||t.muted)+'" font-family="'+xt+'" font-size="'+(e||10)+'"'+(r?" "+r:"")}function Lt(t,e,r,l,i){return'<rect class="bzc-hit" x="'+a(t)+'" y="'+a(e)+'" width="'+a(Math.max(1,r))+'" height="'+a(Math.max(1,l))+'" fill="#000" fill-opacity="0" data-tip="'+ct(i)+'"/>'}function ut(t,e,r){return t.animate?' class="'+e+'"'+(r?' style="animation-delay:'+a(r)+'s"':""):""}function ht(t,e){var r=U(t.color).filter(Boolean);return r.length?r:e.palette}function mt(t,e,r,l,i){return O(e+l/2,r+i/2+4,"No data yet",'text-anchor="middle" fill="'+t.muted+'" font-family="'+ft+'" font-size="13"')}function Yt(t,e){return A(t.notes)?String(t.notes).split(";").map(function(r){var l=r.indexOf(":");if(l<0)return null;var i=r.slice(0,l).trim(),n=r.slice(l+1).trim(),s=e.map(String).indexOf(i);return s<0&&String(parseInt(i,10))===i&&(s=parseInt(i,10)),s>=0&&n?{i:s,text:n}:null}).filter(Boolean):[]}function It(t,e,r,l,i){var n=(A(t.goalLabel)?t.goalLabel:"Goal")+" "+h(W(t.goal,0),t);return'<line x1="'+a(r)+'" x2="'+a(l)+'" y1="'+a(i)+'" y2="'+a(i)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-width="1.25" stroke-dasharray="4 4"/>'+O(l,i-5,n,H(e,10,'text-anchor="end"'))}function kt(t,e,r){var l=String(A(e.stat)?e.stat:r||"").toLowerCase();if(!l||l==="none"||!t.length)return null;var i=Nt(t),n={last:t[t.length-1],total:i,sum:i,average:i/t.length,avg:i/t.length,max:Math.max.apply(null,t),min:Math.min.apply(null,t)};if(!(l in n))return null;var s=null;return l==="last"&&t.length>1&&e.delta!=="none"&&(s=t[t.length-1]-t[0]),{val:n[l],delta:s}}function qt(t){var e=Math.round(Q(W(t.width,360),160,2400)),r=t.frame==="none"?0:4,l=t.frame==="none"?8:20;return{W:e,b:r,P:l,w:e-2*(r+l)}}var dr=".bzc-a{animation:bzc-in .6s ease both}.bzc-d{animation:bzc-draw 1.1s cubic-bezier(.3,.7,.2,1) both}.bzc-g{transform-box:fill-box;transform-origin:50% 100%;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gn{transform-box:fill-box;transform-origin:50% 0;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gx{transform-box:fill-box;transform-origin:0 50%;animation:bzc-growx .8s cubic-bezier(.2,.8,.2,1) both}.bzc-s{animation:bzc-sweep 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes bzc-in{from{opacity:0}}@keyframes bzc-draw{from{stroke-dashoffset:1}}@keyframes bzc-grow{from{transform:scaleY(0)}}@keyframes bzc-growx{from{transform:scaleX(0)}}@keyframes bzc-sweep{from{stroke-dasharray:0 100}}@media (prefers-reduced-motion:reduce){[class^=bzc-]{animation:none!important}}";function pt(t,e,r,l,i){var n=qt(t),s=n.W,o=n.b,f=n.P,u=n.w,p=Q(W(t.corners,22),0,60),m=o+f,c="";A(t.heading)&&(c+=O(o+f,m+10,String(t.heading).toUpperCase(),H(e,11,'font-weight="600" letter-spacing="1.3"')),m+=24);var T=i&&i.stat;if(T){if(c+=O(o+f,m+30,h(T.val,t),'fill="'+e.fg+'" font-family="'+ft+'" font-size="32" font-weight="800" letter-spacing="-0.5"'),T.delta!=null){var w=T.delta>0,B=T.delta===0,N=t.delta==="inverse"?!w:w,L=B?e.muted:N?e.up:e.down,z=(B?"\u25CF ":w?"\u25B2 ":"\u25BC ")+h(Math.abs(T.delta),t)+" "+(A(t.deltaLabel)?t.deltaLabel:"since start");c+=O(o+f+u,m+28,z,'text-anchor="end" fill="'+L+'" font-family="'+xt+'" font-size="11" font-weight="600"')}m+=44}var g=l(o+f,m,u,r),V=Math.round(m+r+f+o),k="";t.frame!=="none"?k='<rect width="'+s+'" height="'+V+'" rx="'+p+'" fill="'+e.bezel+'"/><rect x="'+o+'" y="'+o+'" width="'+(s-2*o)+'" height="'+(V-2*o)+'" rx="'+Math.max(0,p-o)+'" fill="'+(t.background||e.tile)+'"/>':A(t.background)&&(k='<rect width="'+s+'" height="'+V+'" rx="'+p+'" fill="'+t.background+'"/>');var d=(A(t.heading)?t.heading+": ":"")+(i&&i.summary||"chart");return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '+s+" "+V+'" width="'+s+'" height="'+V+'" role="img" aria-label="'+ct(d)+'"><title>'+ct(d)+"</title>"+(t.animate?"<style>"+dr+"</style>":"")+k+c+g+"</svg>"}function ue(t,e){var r=rt(t.values),l=ht(t,e)[0],i=W(t.height,64),n=U(t.labels),s=Yt(t,n),o=kt(r,t,"last");return pt(t,e,i,function(f,u,p,m){if(!r.length)return mt(e,f,u,p,m);var c=r.length===1?[r[0],r[0]]:r,T=Math.min.apply(null,c),w=Math.max.apply(null,c);A(t.goal)&&(T=Math.min(T,+t.goal),w=Math.max(w,+t.goal));var B=(w-T||Math.abs(w)||1)*.12;T-=B,w+=B;var N=function(v){return f+v*p/(c.length-1)},L=function(v){return u+m-(v-T)/(w-T)*m},z=c.map(function(v,x){return[N(x),L(v)]}),g=Ut(z,K(t.straight)),V=Ht("g"),k=z[z.length-1],d='<defs><linearGradient id="'+V+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+l+'" stop-opacity=".32"/><stop offset="1" stop-color="'+l+'" stop-opacity="0"/></linearGradient></defs>';[1/3,2/3].forEach(function(v){d+='<line x1="'+f+'" x2="'+(f+p)+'" y1="'+a(u+m*v)+'" y2="'+a(u+m*v)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'}),d+='<path d="'+g+"L"+a(k[0])+","+(u+m)+"L"+f+","+(u+m)+'Z" fill="url(#'+V+')"'+ut(t,"bzc-a")+"/>",d+='<path d="'+g+'" fill="none" stroke="'+l+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1"'+ut(t,"bzc-d")+"/>",A(t.goal)&&(d+=It(t,e,f,f+p,L(+t.goal))),s.forEach(function(v){if(!(v.i>=r.length)){var x=z[v.i];d+='<circle cx="'+a(x[0])+'" cy="'+a(x[1])+'" r="3.5" fill="'+e.fg+'"/>'+O(Q(x[0],f+30,f+p-30),x[1]-9,v.text,H(e,10,'text-anchor="middle"',e.fg))}}),d+='<circle cx="'+a(k[0])+'" cy="'+a(k[1])+'" r="9" fill="'+l+'" fill-opacity=".25"/><circle cx="'+a(k[0])+'" cy="'+a(k[1])+'" r="4.5" fill="'+l+'"/>',K(t.showValues)&&z.forEach(function(v,x){x<r.length&&(d+=O(v[0],v[1]-8,h(r[x],t,!0),H(e,9,'text-anchor="middle"')))});var b=r.length>1?p/(r.length-1):p;return r.forEach(function(v,x){d+=Lt(N(x)-b/2,u-6,b,m+12,(n[x]||"#"+(x+1))+": "+h(v,t))}),d},{stat:o,summary:r.length?"latest "+h(r[r.length-1],t):"no data"})}ue.table=function(t){var e=U(t.labels);return{head:["Label","Value"],rows:rt(t.values).map(function(r,l){return[e[l]||"#"+(l+1),h(r,t)]})}};var Kt={dark:{tile:"#15151d",bezel:"#000000",fg:"#f2f1f7",muted:"#8c8aa0",grid:"#2a2935",up:"#5EE6C8",down:"#F675A8",palette:["#9FA1FF","#F675A8","#5EE6C8","#FFC857","#7CC4FF","#FF8A5B"]},light:{tile:"#ffffff",bezel:"#000000",fg:"#17161f",muted:"#6b6980",grid:"#e8e6ef",up:"#12a383",down:"#d63f7c",palette:["#6E70F0","#E2508C","#16A884","#D99A0E","#2F8FE0","#EE6431"]}};var he=["spark","line","area","bars","scatter","ring","donut","gauge","progress","heatmap"],me={};function dt(t,e){me[t]=e}var gr=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase());function Ze(t,e){if(!me[t])throw new Error(he.includes(t)?`Bezel Charts: the ${t} chart isn't loaded. Add import 'bezel-charts/${t}', or load dist/charts/${t}.js.`:`Bezel Charts: unknown chart type "${t}". Choose one of: ${he.join(", ")}.`);let r={};for(let[l,i]of Object.entries(e))r[gr(l)]=i;return r}function Mt(t,e={}){let r=Ze(t,e);r.animate=K(r.animate),r.frame=r.frame==="none"?"none":"bezel";let l=r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme||"dark";return me[t](r,Kt[l])}function qe(t,e={}){return me[t].table(Ze(t,e))}function He(t){return t.replace(/<rect class="bzc-hit"[^>]*\/>/g,"").replace(/<circle[^>]* class="bzc-hit"[^>]*\/>/g,"").replace(/ data-tip="[^"]*"/g,"")}function Ct(t,e={}){return He(Mt(t,{...e,animate:!1}))}var Ke=["type","values","labels","series","heading","prefix","suffix","decimals","compact","color","theme","frame","width","height","goal","goal-label","notes","show-values","stat","delta","delta-label","max","min","value","zones","horizontal","straight","zero","start","lang","corners","background","center-label","highlight","x","y","x-label","y-label","trend","static","no-tooltips","stacked","angle-labels","dash","markers","patterns"],vr=`:host{display:block;position:relative;max-width:100%}:host([hidden]){display:none}svg{display:block;max-width:100%;height:auto;overflow:visible}.tip{position:absolute;left:0;top:0;pointer-events:none;background:#0b0b10;color:#f2f1f7;font:600 12px/1.5 ${xt};padding:7px 10px;border-radius:10px;white-space:pre;opacity:0;transform:translate(-50%,calc(-100% - 12px));transition:opacity .12s;z-index:3;border:1px solid #2a2935;box-shadow:0 8px 24px rgba(0,0,0,.35)}.tip.on{opacity:1}.c{outline:none}.c:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px #000}.k{stroke:currentColor;stroke-width:2;stroke-opacity:1}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (forced-colors:active){.c:focus-visible{outline-color:Highlight}}`,xr={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1},yr=()=>typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null,br=()=>{let t=typeof document<"u"&&document.documentElement?.getAttribute?.("data-theme");return t==="light"||t==="dark"?t:null},Re=new Set;typeof MutationObserver=="function"&&typeof document<"u"&&document.documentElement&&new MutationObserver(()=>Re.forEach(t=>t.refresh())).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});var kr=typeof HTMLElement>"u"?class{}:HTMLElement,wt=class extends kr{static get observedAttributes(){return Ke}static get themes(){return Kt}get resolvedTheme(){let e=this.getAttribute("theme");return e==="light"||e==="dark"?e:this.options.autoTheme}get chartType(){return this.getAttribute("type")||"spark"}connectedCallback(){this.shadowRoot||(this.attachShadow({mode:"open"}).innerHTML=`<style>${vr}</style><div class="c" role="group" aria-roledescription="chart"></div><p class="sr" id="h">Use the arrow keys to step through the values.</p><div class="tip" aria-hidden="true"></div><div class="sr" aria-live="polite"></div><div class="sr"></div>`,[,this.#t,,this.#r,this.#o,this.#c]=this.shadowRoot.children,this.shadowRoot.addEventListener("pointermove",e=>this.#h(e)),this.shadowRoot.addEventListener("pointerdown",e=>this.#h(e)),this.addEventListener("pointerleave",()=>this.#r.classList.remove("on")),this.#t.addEventListener("keydown",e=>this.#v(e)),this.#t.addEventListener("blur",()=>this.#g())),Re.add(this),this.#a=yr(),this.#a?.addEventListener?.("change",this.#u),typeof ResizeObserver=="function"?(this.#l=new ResizeObserver(([e])=>{let r=Math.round(e.contentRect.width);(!this.#n||!this.hasAttribute("width")&&r>0&&Math.abs(r-this.#s)>1)&&this.#i()}),this.#l.observe(this)):this.#i()}disconnectedCallback(){Re.delete(this),this.#l?.disconnect(),this.#a?.removeEventListener?.("change",this.#u)}attributeChangedCallback(){!this.#n||this.#f||(this.#f=!0,queueMicrotask(()=>{this.#f=!1,this.#i()}))}get options(){let e={};for(let r of Ke)this.hasAttribute(r)&&(e[r]=this.getAttribute(r));return e.width||(e.width=this.#s||360),e.autoTheme=br()||(this.#a?this.#a.matches?"dark":"light":"dark"),e}refresh(){this.#n&&this.#i()}toSVG(e={}){return He(Mt(this.chartType,{...this.options,...e,animate:!1}))}download(e){let r=URL.createObjectURL(new Blob([this.toSVG()],{type:"image/svg+xml"})),l=Object.assign(document.createElement("a"),{href:r,download:`${(e||this.getAttribute("heading")||this.chartType).replace(/[^\w-]+/g,"-").toLowerCase()}.svg`});document.body.append(l),l.click(),l.remove(),setTimeout(()=>URL.revokeObjectURL(r),1e3)}#l=null;#t=null;#r=null;#o=null;#c=null;#e=-1;#a=null;#s=0;#n=!1;#f=!1;#u=()=>{let e=this.getAttribute("theme");(!e||e==="auto")&&this.refresh()};#i(){if(!this.shadowRoot)return;let e=Math.round(this.getBoundingClientRect?.().width||0);this.#s=e>0?e:360;let r=this.options;r.animate=!this.#n&&!this.hasAttribute("static");let l,i=null;try{l=Mt(this.chartType,r),i=qe(this.chartType,r)}catch(f){l=`<p style="font:13px ${ft};color:#d63f7c">${ct(f.message)}</p>`}let n=this.#t;n.innerHTML=l.replace(/<title>[\s\S]*?<\/title>/,"");let s=n.querySelector("svg");s?(n.setAttribute("aria-label",s.getAttribute("aria-label")),s.removeAttribute("role"),s.removeAttribute("aria-label"),s.setAttribute("aria-hidden","true")):n.removeAttribute("aria-label");let o=!!s&&!this.hasAttribute("no-tooltips");o?(n.setAttribute("tabindex","0"),n.setAttribute("aria-describedby","h")):(n.removeAttribute("tabindex"),n.removeAttribute("aria-describedby")),n.style.color=Kt[r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme].fg,n.style.borderRadius=`${r.frame==="none"?4:Q(+r.corners||22,0,60)}px`,this.#c.innerHTML=i&&i.rows.length?Mr(r.heading,i):"",this.#e>=0&&o&&this.shadowRoot.activeElement===n?this.#d(this.#e):this.#e=-1,this.#n=!0,this.dispatchEvent(new CustomEvent("bezel-render",{bubbles:!0}))}#h(e){if(this.hasAttribute("no-tooltips"))return;let r=e.target?.closest?.("[data-tip]");if(!r){this.#r.classList.remove("on");return}this.#m(r,e.clientX,e.clientY)}#m(e,r,l){let i=this.#r;i.textContent=e.getAttribute("data-tip");let n=this.getBoundingClientRect?.()||{left:0,top:0,width:0},s=i.offsetWidth/2;i.style.left=`${Q(r-n.left,s,Math.max(s,n.width-s))}px`,i.style.top=`${l-n.top}px`,i.classList.add("on")}#p(){return[...this.#t.querySelectorAll("[data-tip]:not([data-skip])")]}#v(e){let r=this.#p(),l=r.length;if(!l)return;let i=this.#e,n=xr[e.key];if(n)this.chartType==="heatmap"&&/Left|Right/.test(e.key)&&(n*=7),i=i<0?n>0?0:l-1:Q(i+n,0,l-1);else if(e.key==="Home"||e.key==="End")i=e.key==="Home"?0:l-1;else{e.key==="Escape"&&this.#g();return}e.preventDefault(),this.#d(i,!0)}#d(e,r){let l=this.#p();if(!l.length)return;e=Q(e,0,l.length-1),this.#t.querySelector(".k")?.classList.remove("k");let i=l[e],n=i.getBoundingClientRect?.()||{left:0,top:0,width:0};i.classList.add("k"),this.#e=e,this.#m(i,n.left+n.width/2,n.top),r&&(this.#o.textContent=`${i.getAttribute("data-tip").replace(/\n/g,", ")}. ${e+1} of ${l.length}`)}#g(){this.#t.querySelector(".k")?.classList.remove("k"),this.#r.classList.remove("on"),this.#o.textContent="",this.#e=-1}};function Mr(t,{head:e,rows:r}){let l=i=>i.map((n,s)=>s?`<td>${ct(n)}</td>`:`<th scope="row">${ct(n)}</th>`).join("");return`<table><caption>${ct(t||"Chart data")}</caption><thead><tr>${e.map(i=>`<th scope="col">${ct(i)}</th>`).join("")}</tr></thead><tbody>${r.map(i=>`<tr>${l(i)}</tr>`).join("")}</tbody></table>`}function gt(t){typeof customElements>"u"||typeof HTMLElement>"u"||(customElements.get(`bezel-${t}`)||customElements.define(`bezel-${t}`,class extends wt{get chartType(){return t}}),customElements.get("bezel-chart")||customElements.define("bezel-chart",class extends wt{}))}dt("spark",ue);gt("spark");function fe(t,e,r){if(t===e)if(t===0)e=1;else{var l=Math.abs(t)*.1;t-=l,e+=l}for(var i=(e-t)/(r||4),n=Math.pow(10,Math.floor(Math.log10(i))),s=i/n,o=(s<=1?1:s<=2?2:s<=5?5:10)*n,f=Math.floor(t/o)*o,u=Math.ceil(e/o)*o,p=[],m=f;m<=u+o/2;m+=o)p.push(+m.toFixed(10));return{lo:f,hi:u,ticks:p}}function Qt(t,e,r,l,i,n,s,o){var f=l,u=i,p="",m=o||13;return t.forEach(function(c,T){var w=m+Et(c,12)+16;f>l&&f+w-16>l+n&&(f=l,u+=20),p+=(s?s(T,f,u):'<circle cx="'+a(f+4)+'" cy="'+a(u+6)+'" r="4" fill="'+e[T%e.length]+'"/>')+O(f+m,u+10,c,'fill="'+r.fg+'" font-family="'+ft+'" font-size="12"'),f+=w}),{svg:p,height:u-i+24}}var Xt={solid:"",dashed:"7 5",dotted:"1 5",dashdot:"9 4 1 4"},ee=["circle","square","triangle","diamond"],pe=["solid","stripes","dots","grid"];function Vt(t,e,r){if(t==null||t===!1||t==="none"||t==="false")return null;var l=t===!0||t===""||t==="auto"?e:U(t).map(function(i){return e.indexOf(i)<0?r:i});return l.length?function(i){return l[i%l.length]}:null}function re(t,e,r,l,i){var n=l*1.15,s=l*.85;return t==="square"?'<rect x="'+a(e-s)+'" y="'+a(r-s)+'" width="'+a(2*s)+'" height="'+a(2*s)+'" rx="1"'+i+"/>":t==="triangle"?'<path d="M'+a(e)+","+a(r-n)+"L"+a(e+n)+","+a(r+s)+"L"+a(e-n)+","+a(r+s)+'Z"'+i+"/>":t==="diamond"?'<path d="M'+a(e)+","+a(r-n*1.1)+"L"+a(e+n)+","+a(r)+"L"+a(e)+","+a(r+n*1.1)+"L"+a(e-n)+","+a(r)+'Z"'+i+"/>":'<circle cx="'+a(e)+'" cy="'+a(r)+'" r="'+a(l)+'"'+i+"/>"}function de(t,e,r,l){var i=' stroke="'+l+'" stroke-opacity=".55" stroke-width="1.5"';return'<pattern id="'+t+'" width="6" height="6" patternUnits="userSpaceOnUse"'+(e==="dots"?"":' patternTransform="rotate(45)"')+'><rect width="6" height="6" fill="'+r+'"/>'+(e==="dots"?'<circle cx="3" cy="3" r="1.3" fill="'+l+'" fill-opacity=".55"/>':'<path d="M3,0V6'+(e==="grid"?"M0,3H6":"")+'"'+i+"/>")+"</pattern>"}function Qe(t){return Math.max.apply(null,t.map(function(e){return Et(e,10,!0)}))+10}function ae(t,e){for(var r=zt(t.values),l=U(t.series),i=U(t.labels),n=[],s=Math.max.apply(null,[0].concat(r.map(function(m){return m.length}))),o=0;o<s;o++){var f=[i[o]||"#"+(o+1)],u=0;r.forEach(function(m){f.push(o<m.length?h(m[o],t):""),u+=o<m.length?m[o]:0}),e&&f.push(h(u,t)),n.push(f)}var p=r.length>1||l.length?r.map(function(m,c){return l[c]||"Series "+(c+1)}):["Value"];return{head:["Label"].concat(p,e?["Total"]:[]),rows:n}}function ge(t,e,r,l,i,n,s){var o="",f=i,u=r.n,p=r.labels;if(r.names){var m=Qt(r.names,r.pal,e,l,f,n,r.key,r.kw);o+=m.svg,f+=m.height}var c=r.lo,T=r.hi;A(t.goal)&&(c=Math.min(c,+t.goal),T=Math.max(T,+t.goal)),r.zero&&(c=Math.min(0,c),T=Math.max(0,T));var w=fe(c,T,4),B=w.ticks.map(r.tick),N=Math.max.apply(null,B.map(function(C){return Et(C,10,!0)}))+10,L=p.length?20:4,z=l+N,g=n-N,V=s-(f-i)-L,k=function(C){return u===1?z+g/2:z+C*g/(u-1)},d=function(C){return f+V-(C-w.lo)/(w.hi-w.lo)*V};if(w.ticks.forEach(function(C,y){var M=d(C);o+='<line x1="'+a(z)+'" x2="'+a(z+g)+'" y1="'+a(M)+'" y2="'+a(M)+'" stroke="'+e.grid+'"'+(C===0?"":' stroke-dasharray="2 4"')+"/>"+O(z-8,M+3.5,B[y],H(e,10,'text-anchor="end"'))}),p.length){for(var b=Math.max(1,Math.ceil(u*(Math.max.apply(null,p.map(function(C){return Et(C,10,!0)}))+10)/g)),v=0;v<u;v+=b)if(p[v]!=null){var x=u>1&&v===0?"start":u>1&&v===u-1?"end":"middle";o+=O(k(v),f+V+15,p[v],H(e,10,'text-anchor="'+x+'"'))}}return r.notes.forEach(function(C){if(!(C.i>=u)){var y=k(C.i);o+='<line x1="'+a(y)+'" x2="'+a(y)+'" y1="'+a(f+12)+'" y2="'+a(f+V)+'" stroke="'+e.fg+'" stroke-opacity=".4" stroke-dasharray="3 3"/>'+O(Q(y,z+30,z+g-30),f+8,C.text,H(e,10,'text-anchor="middle"',e.fg))}}),{svg:o,X:k,Y:d,px:z,pw:g,top:f,ph:V}}function ve(t,e,r,l,i){for(var n=A(t.goal)?It(t,e,r.px,r.px+r.pw,r.Y(+t.goal)):"",s=l>1?r.pw/(l-1):r.pw,o=0;o<l;o++)n+=Lt(r.X(o)-s/2,r.top,s,r.ph,i(o));return n}function xe(t,e,r,l){return function(i,n,s){var o=t[i%t.length],f=e?Xt[e(i)]:"",u=r?r(i):"none";return'<line x1="'+a(n)+'" x2="'+a(n+18)+'" y1="'+a(s+6)+'" y2="'+a(s+6)+'" stroke="'+o+'" stroke-width="2.5" stroke-linecap="round"'+(f?' stroke-dasharray="'+f+'"':"")+"/>"+(u!=="none"?re(u,n+9,s+6,3.5,' fill="'+o+'" stroke="'+l+'" stroke-width="1.5"'):"")}}function ye(t,e,r,l,i){return i?'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="'+i+'"'+ut(t,"bzc-a",l*.15)+"/>":'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1'+(t.animate?";animation-delay:"+l*.15+"s":"")+'"'+(t.animate?' class="bzc-d"':"")+"/>"}function be(t,e,r,l,i,n,s,o){var f="",u=Math.ceil(r.length/40);return r.forEach(function(p,m){(m%u===0||m===r.length-1)&&(f+=re(e,l(m),i(p),3.5,' fill="'+n+'" stroke="'+s+'" stroke-width="1.5"'+ut(t,"bzc-a",.6+o*.15)))}),f}function ke(t,e){var r=zt(t.values),l=U(t.series),i=U(t.labels),n=ht(t,e),s=W(t.height,170),o=Math.max.apply(null,[0].concat(r.map(function(N){return N.length}))),f=Yt(t,i),u=r.length>1||l.length>0,p=kt(r[0]||[],t,""),m=Vt(t.dash,Object.keys(Xt),"solid"),c=Vt(t.markers,ee,"none"),T=t.background||e.tile,w=(m||c)&&xe(n,m,c,T),B=function(N){return l[N]||"Series "+(N+1)};return pt(t,e,s,function(N,L,z,g){if(!o)return mt(e,N,L,z,g);var V=[].concat.apply([],r),k=ge(t,e,{n:o,names:u?r.map(function(F,P){return B(P)}):null,pal:n,key:w,kw:w&&24,lo:Math.min.apply(null,V),hi:Math.max.apply(null,V),zero:K(t.zero),labels:i,notes:f,tick:function(F){return h(F,t,!0)}},N,L,z,g),d=k.svg,b=k.X,v=k.Y,x=k.px,C=k.pw,y=k.top,M=k.ph;return r.forEach(function(F,P){var _=n[P%n.length],I=F.map(function(lt,at){return[b(at),v(lt)]});I.length===1&&(I=[[x,I[0][1]],[x+C,I[0][1]]]);var J=Ut(I,K(t.straight));if(P===0){var tt=Ht("g"),j=I[I.length-1];d+='<defs><linearGradient id="'+tt+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+_+'" stop-opacity=".26"/><stop offset="1" stop-color="'+_+'" stop-opacity="0"/></linearGradient></defs><path d="'+J+"L"+a(j[0])+","+a(y+M)+"L"+a(I[0][0])+","+a(y+M)+'Z" fill="url(#'+tt+')"'+ut(t,"bzc-a")+"/>"}var G=c?c(P):"none";if(d+=ye(t,J,_,P,m?Xt[m(P)]:""),G!=="none")d+=be(t,G,F,b,v,_,T,P);else{var et=I[I.length-1];d+='<circle cx="'+a(et[0])+'" cy="'+a(et[1])+'" r="4" fill="'+_+'" stroke="'+T+'" stroke-width="2"/>'}K(t.showValues)&&F.forEach(function(lt,at){d+=O(b(at),v(lt)-8,h(lt,t,!0),H(e,9,'text-anchor="middle"'))})}),d+ve(t,e,k,o,function(F){var P=i[F]||"#"+(F+1);return r.forEach(function(_,I){F<_.length&&(P+=`
3
- `+(u?B(I)+": ":"")+h(_[F],t))}),P})},{stat:p,summary:r.length+" series over "+o+" points"})}ke.table=function(t){return ae(t)};dt("line",ke);gt("line");function Me(t,e){for(var r=zt(t.values),l=U(t.series),i=U(t.labels),n=ht(t,e),s=W(t.height,170),o=r.length,f=Math.max.apply(null,[0].concat(r.map(function(G){return G.length}))),u=o>1?t.stacked==="percent"?"percent":K(t.stacked)?"stack":"":"",p=Yt(t,i),m=o>1||l.length>0,c=function(G){return l[G]||"Series "+(G+1)},T=function(G,et){return et<r[G].length?r[G][et]:0},w=r.map(function(){return[]}),B=r.map(function(){return[]}),N=[],L=[],z=0;z<f;z++){for(var g=0,V=0,k=0,d=0,b=0;b<o;b++)k+=T(b,z),d+=Math.max(0,T(b,z));for(N.push(k),L.push(d),b=0;b<o;b++){var v=u==="percent"?d?Math.max(0,T(b,z))/d*100:0:T(b,z);u?v>=0?(w[b].push(g),g+=v,B[b].push(g)):(w[b].push(V),V+=v,B[b].push(V)):(w[b].push(0),B[b].push(v))}}for(var x=[].concat.apply([],w.concat(B)),C=Vt(t.dash,Object.keys(Xt),"solid"),y=Vt(t.markers,ee,"none"),M=o>1?Vt(t.patterns,pe,"solid"):null,F=t.background||e.tile,P="",_=[],I=0;M&&I<o;I++)if(M(I)!=="solid"){var J=Ht("g");P+=de(J,M(I),n[I%n.length],F),_[I]="url(#"+J+")"}var tt=M?function(G,et,lt){return'<rect x="'+a(et)+'" y="'+a(lt+1)+'" width="10" height="10" rx="2" fill="'+(_[G]||n[G%n.length])+'"/>'}:(C||y)&&xe(n,C,y,F),j=function(G,et){return L[et]?Math.round(Math.max(0,T(G,et))/L[et]*100):0};return pt(t,e,s,function(G,et,lt,at){if(!f)return mt(e,G,et,lt,at);var ot=ge(t,e,{n:f,names:m?r.map(function(Z,E){return c(E)}):null,pal:n,key:tt,kw:tt&&(M?15:24),lo:Math.min.apply(null,x),hi:Math.max.apply(null,x),zero:!0,labels:i,notes:p,tick:u==="percent"?function(Z){return h(Z,{lang:t.lang},!0)+"%"}:function(Z){return h(Z,t,!0)}},G,et,lt,at),S=(P?"<defs>"+P+"</defs>":"")+ot.svg,Y=ot.X,R=ot.Y,nt=function(Z){var E=Z.map(function(D,X){return[Y(X),R(D)]});return E.length===1?[[ot.px,E[0][1]],[ot.px+ot.pw,E[0][1]]]:E},q=K(t.straight),yt=u?".8":".22",St=function(Z){return u?B[Z]:r[Z]};return r.forEach(function(Z,E){var D=nt(St(E)),X=nt(u?w[E]:St(E).map(function(){return 0})).reverse();S+='<path d="'+Ut(D,q)+Ut(X,q).replace(/^M/,"L")+'Z" fill="'+(_[E]||n[E%n.length])+'" fill-opacity="'+yt+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(E*.1)+'s"':"")+"/>"}),r.forEach(function(Z,E){var D=n[E%n.length],X=St(E),bt=nt(X),At=y?y(E):"none";S+=ye(t,Ut(bt,q),D,E,C?Xt[C(E)]:""),At!=="none"?S+=be(t,At,X,Y,R,D,F,E):u||(S+='<circle cx="'+a(bt[bt.length-1][0])+'" cy="'+a(bt[bt.length-1][1])+'" r="4" fill="'+D+'" stroke="'+F+'" stroke-width="2"/>'),K(t.showValues)&&!u&&X.forEach(function(Ft,it){S+=O(Y(it),R(Ft)-8,h(Ft,t,!0),H(e,9,'text-anchor="middle"'))})}),K(t.showValues)&&u==="stack"&&N.forEach(function(Z,E){var D=Math.max.apply(null,B.map(function(X){return X[E]}).concat([0]));S+=O(Y(E),R(D)-8,h(Z,t,!0),H(e,9,'text-anchor="middle"'))}),S+ve(t,e,ot,f,function(Z){var E=i[Z]||"#"+(Z+1);return r.forEach(function(D,X){Z<D.length&&(E+=`
4
- `+(m?c(X)+": ":"")+h(D[Z],t)+(u==="percent"?" ("+j(X,Z)+"%)":""))}),E+(u?`
5
- Total: `+h(N[Z],t):"")})},{stat:kt(u?N:r[0]||[],t,""),summary:o+" series "+(u==="percent"?"as shares of each total":u?"stacked":"filled")+" over "+f+" points"})}Me.table=function(t){var e=zt(t.values);return ae(t,e.length>1&&(t.stacked==="percent"||K(t.stacked)))};dt("area",Me);gt("area");var Je=40,je=24;function we(t,e){for(var r=zt(t.values),l=U(t.series),i=U(t.labels),n=ht(t,e),s=r.length,o=Math.max.apply(null,[0].concat(r.map(function(S){return S.length}))),f=s>1,u=K(t.horizontal),p=f&&K(t.stacked),m=!f&&U(t.color).filter(Boolean).length>1,c=r[0]||[],T=[].concat.apply([],r),w=function(S,Y){return r.reduce(function(R,nt){return S<nt.length&&nt[S]*Y>0?R+nt[S]:R},0)},B=[],N=[],L=[],z=0;p&&z<o;z++)N.push(w(z,1)),L.push(w(z,-1)),B.push(N[z]+L[z]);for(var g=p?N.concat(L):T,V=g.length?Math.max.apply(null,g):0,k=function(S){return l[S]||"Series "+(S+1)},d=f?Vt(t.patterns,pe,"solid"):null,b="",v=[],x=0;d&&x<s;x++)if(d(x)!=="solid"){var C=Ht("g");b+=de(C,d(x),n[x%n.length],t.background||e.tile),v[x]="url(#"+C+")"}var y=function(S,Y){return f?v[S]||n[S%n.length]:m?n[Y%n.length]:n[0]},M=d&&function(S,Y,R){return'<rect x="'+a(Y)+'" y="'+a(R+1)+'" width="10" height="10" rx="2" fill="'+y(S)+'"/>'},F=function(S){return f||m||t.highlight==="none"||S===V?1:.5},P=function(S){return i[S]||"#"+(S+1)},_=function(S){return f?P(S)+r.map(function(Y,R){return S<Y.length?`
6
- `+k(R)+": "+h(Y[S],t):""}).join("")+(p?`
7
- Total: `+h(B[S],t):""):P(S)+": "+h(c[S],t)},I=qt(t),J=f||l.length?Qt(r.map(function(S,Y){return k(Y)}),n,e,0,0,I.w,M,M&&15).height:0,tt=p?1:s,j=f&&!p,G=j?10:14,et=3,lt=u?tt*G+(tt-1)*et+(j?14:16):0,at=u?J+Math.max(1,o)*lt-6:W(t.height,140)+J,ot=c.indexOf(Math.max.apply(null,c.length?c:[0]));return pt(t,e,at,function(S,Y,R,nt){if(!o)return mt(e,S,Y,R,nt);var q=b?"<defs>"+b+"</defs>":"",yt=Y;J&&(q+=Qt(r.map(function($,st){return k(st)}),n,e,S,Y,R,M,M&&15).svg,yt+=J);var St=Math.min(0,Math.min.apply(null,g)),Z=Math.max(0,V);if(A(t.goal)&&(St=Math.min(St,+t.goal),Z=Math.max(Z,+t.goal)),Z===St&&(Z=St+1),u){for(var E=i.length?Math.min(R*.4,Math.max.apply(null,i.map(function($){return Et($,12)}))+10):0,D=p?[B.map(function($){return h($,t)})]:r.map(function($){return $.map(function(st){return h(st,t)})}),X=Math.max.apply(null,[].concat.apply([],D).map(function($){return Et($,j?10:11,!0)}))+10,bt=S+E,At=R-E-X,Ft=Math.max(Z,0)||1,it=0;it<o;it++){var Bt=yt+it*lt;i[it]!=null&&(q+=O(S,Bt+(lt-6)/2+4,Zt(i[it],Math.floor(E/6.7)),'fill="'+e.fg+'" font-family="'+ft+'" font-size="12"')),p?(q+=ar(it,bt,Bt+5,At,Ft),q+=O(S+R,Bt+5+G/2+3.8,D[0][it],'text-anchor="end" fill="'+e.fg+'" font-family="'+xt+'" font-size="11" font-weight="600"')):r.forEach(function($,st){if(!(it>=$.length)){var vt=$[it],Tt=Bt+(f?2:5)+st*(G+et),Rt=Math.max(0,vt)/Ft*At;f||(q+='<rect x="'+a(bt)+'" y="'+a(Tt)+'" width="'+a(At)+'" height="'+G+'" rx="'+G/2+'" fill="'+e.grid+'" fill-opacity=".6"/>'),Rt>0&&(q+='<rect x="'+a(bt)+'" y="'+a(Tt)+'" width="'+a(Math.max(G,Rt))+'" height="'+G+'" rx="'+G/2+'" fill="'+y(st,it)+'" fill-opacity="'+F(vt)+'"'+ut(t,"bzc-gx",it*.06+st*.03)+"/>"),q+=O(S+R,Tt+G/2+3.8,D[st][it],'text-anchor="end" fill="'+e.fg+'" font-family="'+xt+'" font-size="'+(f?10:11)+'" font-weight="600"')}}),q+=Lt(S,Bt,R,lt-6,_(it))}if(A(t.goal)&&+t.goal>0){var Pe=bt+ +t.goal/Ft*At;q+='<line x1="'+a(Pe)+'" x2="'+a(Pe)+'" y1="'+a(yt-2)+'" y2="'+a(Y+nt+2)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-dasharray="3 3"/>'}return q}function ar($,st,vt,Tt,Rt){var Pt='<rect x="'+a(st)+'" y="'+a(vt)+'" width="'+a(Tt)+'" height="'+G+'" rx="'+G/2+'" fill="'+e.grid+'" fill-opacity=".6"/>',jt=0;return r.forEach(function(oe,Dt){var te=$<oe.length?oe[$]:0,$t=Math.max(0,te)/Rt*Tt;if(!($t<=0)){var Wt=jt>0?1.5:0;Pt+='<rect x="'+a(st+jt+Wt)+'" y="'+a(vt)+'" width="'+a(Math.max(2,$t-Wt))+'" height="'+G+'" rx="'+a(Math.min(3,$t/2))+'" fill="'+y(Dt,$)+'"'+ut(t,"bzc-gx",$*.06+Dt*.03)+"/>",jt+=$t}}),Pt}var De=i.length?Math.max.apply(null,i.map(function($){return Et($,10,!0)})):0,Te=i.length?Math.max(1,Math.ceil(o*(De+8)/R)):1,ne=K(t.angleLabels)&&Te>1,$e=Je*Math.PI/180,Ue=function($){return ne?Zt($,je):$};if(ne){var nr=R/o,Jt=0;i.forEach(function($,st){Jt=Math.max(Jt,Math.cos($e)*Et(Ue($),10,!0)+4-(st+.5)*nr)}),Jt=Math.min(Jt,R*.25),S+=Jt,R-=Jt,Te=1}var Ye=K(t.showValues)&&St<0?14:0,ir=ne?Math.ceil(Math.sin($e)*Math.min(De,Et("x".repeat(je),10,!0)))+18:20,lr=(i.length?ir:2)+Ye,Ie=K(t.showValues)?16:4,Ce=nt-(yt-Y)-lr-Ie,Xe=yt+Ie,Gt=function($){return Xe+Ce-($-St)/(Z-St)*Ce},ie=R/o,le=Math.min(ie*(j?.78:.62),j?s*30:56),_e=j?Math.min(3,le/s*.15):0,_t=p?le:(le-_e*(s-1))/s,ce=Gt(0);q+='<line x1="'+S+'" x2="'+(S+R)+'" y1="'+a(ce)+'" y2="'+a(ce)+'" stroke="'+e.grid+'"/>';for(var Ot=0;Ot<o;Ot++){var Fe=S+Ot*ie+(ie-le)/2;if(p?q+=or(Ot,Fe):r.forEach(function($,st){if(!(Ot>=$.length)){var vt=$[Ot],Tt=Fe+st*(_t+_e),Rt=Math.min(Gt(vt),ce),Pt=Math.abs(Gt(vt)-ce);Pt>.5&&(q+='<rect x="'+a(Tt)+'" y="'+a(Rt)+'" width="'+a(_t)+'" height="'+a(Pt)+'" rx="'+a(Math.min(6,_t/2,Pt/2))+'" fill="'+y(st,Ot)+'" fill-opacity="'+F(vt)+'"'+ut(t,vt<0?"bzc-gn":"bzc-g",Ot*.05+st*.03)+"/>"),K(t.showValues)&&(q+=O(Tt+_t/2,vt<0?Gt(vt)+12:Gt(vt)-5,h(vt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+xt+'" font-size="'+(f?9:10)+'" font-weight="600"'))}}),i[Ot]!=null&&Ot%Te===0){var Ne=Fe+le/2,Ve=Xe+Ce+Ye+(ne?12:15);q+=ne?O(Ne,Ve,Ue(i[Ot]),H(e,10,'text-anchor="end" transform="rotate(-'+Je+" "+a(Ne)+" "+a(Ve)+')"')):O(Ne,Ve,i[Ot],H(e,10,'text-anchor="middle"'))}q+=Lt(S+Ot*ie,yt,ie,nt-(yt-Y),_(Ot))}return A(t.goal)&&(q+=It(t,e,S,S+R,Gt(+t.goal))),q;function or($,st){var vt="",Tt=0,Rt=0;if(r.forEach(function(jt,oe){var Dt=$<jt.length?jt[$]:0;if(Dt){var te=Dt>0?Tt:Rt,$t=te+Dt;Dt>0?Tt=$t:Rt=$t;var Wt=Gt(Math.max(te,$t)),Be=Gt(Math.min(te,$t)),se=Be-Wt,We=te!==0?Math.min(1.5,se/2):0;Dt>0?Be-=We:Wt+=We,se=Be-Wt,se>.5&&(vt+='<rect x="'+a(st)+'" y="'+a(Wt)+'" width="'+a(_t)+'" height="'+a(se)+'" rx="'+a(Math.min(3,_t/2,se/2))+'" fill="'+y(oe,$)+'"'+ut(t,Dt<0?"bzc-gn":"bzc-g",$*.05+oe*.03)+"/>")}}),K(t.showValues)){var Pt=B[$];vt+=O(st+_t/2,Pt<0?Gt(L[$])+12:Gt(N[$])-5,h(Pt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+xt+'" font-size="10" font-weight="600"')}return vt}},{stat:kt(c,t,""),summary:o?p?s+" series stacked across "+o+" groups":f?s+" series across "+o+" groups":"highest "+(i[ot]||"")+" "+h(c[ot],t):"no data"})}we.table=function(t){return ae(t,zt(t.values).length>1&&K(t.stacked))};dt("bars",we);gt("bars");function wr(t,e){var r=Math.min(t.length,e.length);if(r<2)return null;var l=0,i=0,n;for(n=0;n<r;n++)l+=t[n],i+=e[n];l/=r,i/=r;var s=0,o=0,f=0;for(n=0;n<r;n++)s+=(t[n]-l)*(t[n]-l),o+=(e[n]-i)*(e[n]-i),f+=(t[n]-l)*(e[n]-i);if(!s)return null;var u=f/s;return{slope:u,intercept:i-u*l,r:o?f/Math.sqrt(s*o):0}}function Se(t,e){for(var r=zt(t.x),l=zt(t.y),i=U(t.series),n=U(t.labels),s=ht(t,e),o=[],f=0;f<Math.max(r.length,l.length);f++){var u=r[f]||[],p=l[f]||[],m=Math.min(u.length,p.length);o.push({xs:u.slice(0,m),ys:p.slice(0,m)})}o=o.filter(function(b){return b.xs.length});var c=o.reduce(function(b,v){return b+v.xs.length},0),T=W(t.height,210),w=o.length>1||i.length>0,B=K(t.trend),N=function(b){return i[b]||"Group "+(b+1)},L={decimals:t.decimals,compact:t.compact,lang:t.lang},z=Yt(t,n),g=Vt(t.markers,ee,"circle"),V=t.background||e.tile,k=function(b){var v=g?g(b):"circle";return v==="none"?"circle":v},d=g&&function(b,v,x){return re(k(b),v+4,x+6,4,' fill="'+s[b%s.length]+'"')};return pt(t,e,T,function(b,v,x,C){if(!c)return mt(e,b,v,x,C);var y="",M=v;if(w){var F=Qt(o.map(function(E,D){return N(D)}),s,e,b,M,x,d);y+=F.svg,M+=F.height}var P=[].concat.apply([],o.map(function(E){return E.xs})),_=[].concat.apply([],o.map(function(E){return E.ys})),I=Math.min.apply(null,_),J=Math.max.apply(null,_);A(t.goal)&&(I=Math.min(I,+t.goal),J=Math.max(J,+t.goal)),K(t.zero)&&(I=Math.min(0,I),J=Math.max(0,J));var tt=fe(I,J,4),j=fe(Math.min.apply(null,P),Math.max.apply(null,P),5),G=tt.ticks.map(function(E){return h(E,t,!0)}),et=Qe(G)+(A(t.yLabel)?14:0),lt=20+(A(t.xLabel)?16:0),at=b+et,ot=x-et,S=C-(M-v)-lt,Y=function(E){return at+6+(E-j.lo)/(j.hi-j.lo)*(ot-12)},R=function(E){return M+6+S-6-(E-tt.lo)/(tt.hi-tt.lo)*(S-6)};tt.ticks.forEach(function(E,D){var X=R(E);y+='<line x1="'+a(at)+'" x2="'+a(at+ot)+'" y1="'+a(X)+'" y2="'+a(X)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+O(at-8,X+3.5,G[D],H(e,10,'text-anchor="end"'))});var nt=Math.max(1,Math.ceil(j.ticks.length*44/ot));if(j.ticks.forEach(function(E,D){if(!(D%nt)){var X=Y(E);y+='<line x1="'+a(X)+'" x2="'+a(X)+'" y1="'+a(M)+'" y2="'+a(M+S)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+O(X,M+S+15,h(E,L,!0),H(e,10,'text-anchor="middle"'))}}),A(t.xLabel)&&(y+=O(at+ot/2,M+S+32,t.xLabel,H(e,10,'text-anchor="middle" font-weight="600"'))),A(t.yLabel)){var q=M+S/2;y+='<text x="'+a(b+4)+'" y="'+a(q)+'" transform="rotate(-90 '+a(b+4)+" "+a(q)+')" text-anchor="middle" '+H(e,10,'font-weight="600"')+' dominant-baseline="hanging">'+String(t.yLabel).replace(/[&<>"]/g,function(E){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[E]})+"</text>"}A(t.goal)&&(y+=It(t,e,at,at+ot,R(+t.goal))),B&&o.forEach(function(E,D){var X=wr(E.xs,E.ys);if(X){var bt=Math.min.apply(null,E.xs),At=Math.max.apply(null,E.xs),Ft=X.slope*bt+X.intercept,it=X.slope*At+X.intercept,Bt=s[D%s.length];y+='<line x1="'+a(Y(bt))+'" y1="'+a(Q(R(Ft),M,M+S))+'" x2="'+a(Y(At))+'" y2="'+a(Q(R(it),M,M+S))+'" stroke="'+Bt+'" stroke-width="2" stroke-dasharray="6 4" stroke-linecap="round" stroke-opacity=".9"/>',y+=O(Math.min(Y(At),at+ot)-2,Q(R(it),M+10,M+S)-7,"r = "+X.r.toFixed(2),H(e,10,'text-anchor="end" font-weight="600"',Bt))}});var yt=0,St=c>150?3:4.5;o.forEach(function(E,D){var X=s[D%s.length];E.xs.forEach(function(bt,At){var Ft=Y(bt),it=R(E.ys[At]),Bt=(n[yt]?n[yt]+`
8
- `:w?N(D)+`
9
- `:"")+(A(t.xLabel)?t.xLabel:"x")+": "+h(bt,L)+`
10
- `+(A(t.yLabel)?t.yLabel:"y")+": "+h(E.ys[At],t);y+=re(k(D),Ft,it,St,' fill="'+X+'" fill-opacity=".85" stroke="'+V+'" stroke-width="1.5"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Math.min(.8,yt*.012))+'s"':"")),y+=Lt(Ft-8,it-8,16,16,Bt),yt++})});var Z=[];return o.forEach(function(E){E.xs.forEach(function(D,X){Z.push([Y(D),R(E.ys[X])])})}),z.forEach(function(E){var D=Z[E.i];D&&(y+='<circle cx="'+a(D[0])+'" cy="'+a(D[1])+'" r="'+(St+4)+'" fill="none" stroke="'+e.fg+'" stroke-width="1.5"/>'+O(Q(D[0],at+30,at+ot-30),D[1]-St-9,E.text,H(e,10,'text-anchor="middle"',e.fg)))}),y},{summary:c+" points"+(w?" in "+o.length+" groups":"")})}Se.table=function(t){var e=zt(t.x),r=zt(t.y),l=U(t.series),i=U(t.labels),n=e.length>1||l.length>0,s={decimals:t.decimals,compact:t.compact,lang:t.lang},o=[],f=0;return e.forEach(function(u,p){for(var m=r[p]||[],c=0;c<Math.min(u.length,m.length);c++,f++)o.push([i[f]||"#"+(f+1)].concat(n?[l[p]||"Group "+(p+1)]:[],[h(u[c],s),h(m[c],t)]))}),{head:["Point"].concat(n?["Group"]:[],[A(t.xLabel)?t.xLabel:"x",A(t.yLabel)?t.yLabel:"y"]),rows:o}};dt("scatter",Se);gt("scatter");function ze(t,e){var r=rt(t.values),l=U(t.labels),i=ht(t,e),n=W(t.max,100)||100,s=W(t.height,140),o=!A(t.prefix)&&!A(t.suffix)&&n===100,f=function(p){return h(p,t)+(o?"%":"")},u=kt(r,t,"");return pt(t,e,s,function(p,m,c,T){if(!r.length)return mt(e,p,m,c,T);var w="",B=r.length===1,N=Math.min(T,B?c:c*.55),L=B?p+c/2:p+N/2,z=m+T/2,g=B?N*.12:Q(N*.42/(r.length*1.35),5,16),V=g*.38;if(r.forEach(function(v,x){var C=N/2-g/2-x*(g+V);if(!(C<=g/2)){var y=Q(v/n*100,0,100),M=i[x%i.length];w+='<circle cx="'+a(L)+'" cy="'+a(z)+'" r="'+a(C)+'" fill="none" stroke="'+M+'" stroke-opacity=".16" stroke-width="'+a(g)+'"/>',y>0&&(w+='<circle cx="'+a(L)+'" cy="'+a(z)+'" r="'+a(C)+'" fill="none" stroke="'+M+'" stroke-width="'+a(g)+'" stroke-linecap="round" pathLength="100" transform="rotate(-90 '+a(L)+" "+a(z)+')" style="stroke-dasharray:'+a(y)+" 100"+(t.animate?";animation-delay:"+x*.12+"s":"")+'"'+(t.animate?' class="bzc-s"':"")+"/>"),w+='<circle cx="'+a(L)+'" cy="'+a(z)+'" r="'+a(C+g/2)+'" fill="#000" fill-opacity="0" class="bzc-hit" data-tip="'+ct((l[x]||"#"+(x+1))+": "+f(v)+(o?"":" of "+h(n,t)))+'"/>'}}),B)w+=O(L,z+N*.08,f(r[0]),'text-anchor="middle" fill="'+e.fg+'" font-family="'+ft+'" font-size="'+a(N*.22)+'" font-weight="800"'),l[0]&&(w+=O(L,z+N*.08+16,l[0],H(e,10,'text-anchor="middle"')));else{var k=p+N+22,d=Math.min(26,T/r.length),b=z-d*r.length/2;r.forEach(function(v,x){var C=b+x*d+d/2;w+='<circle cx="'+a(k+4)+'" cy="'+a(C)+'" r="4" fill="'+i[x%i.length]+'"/>'+O(k+14,C+4,Zt(l[x]||"#"+(x+1),Math.floor((p+c-k-60)/6.7)),'fill="'+e.fg+'" font-family="'+ft+'" font-size="12"')+O(p+c,C+4,f(v),'text-anchor="end" fill="'+e.fg+'" font-family="'+xt+'" font-size="11" font-weight="600"')})}return w},{stat:u,summary:r.map(function(p,m){return(l[m]?l[m]+" ":"")+f(p)}).join(", ")})}ze.table=function(t){var e=U(t.labels),r=W(t.max,100)||100,l=!A(t.prefix)&&!A(t.suffix)&&r===100;return{head:["Label","Value"],rows:rt(t.values).map(function(i,n){return[e[n]||"#"+(n+1),h(i,t)+(l?"%":" of "+h(r,t))]})}};dt("ring",ze);gt("ring");function Ee(t,e){var r=rt(t.values).map(function(c){return Math.max(0,c)}),l=U(t.labels),i=ht(t,e),n=r.slice(),s=l.slice();if(n.length>6){var o=n.map(function(c,T){return T}).sort(function(c,T){return r[T]-r[c]}),f=o.slice(0,5).sort(function(c,T){return c-T});n=f.map(function(c){return r[c]}),s=f.map(function(c){return l[c]||"#"+(c+1)}),n.push(Nt(o.slice(5).map(function(c){return r[c]}))),s.push("Other")}var u=Nt(n),p=W(t.height,150),m=kt(n,t,"");return pt(t,e,p,function(c,T,w,B){if(!u)return mt(e,c,T,w,B);var N="",L=Math.min(B,w*.5),z=c+L/2,g=T+B/2,V=L*.16,k=(L-V)/2,d=0,b=n.filter(Boolean).length>1?.9:0;n.forEach(function(y,M){var F=y/u*100;if(!(F<=0)){var P=Math.max(.01,F-b);N+='<circle cx="'+a(z)+'" cy="'+a(g)+'" r="'+a(k)+'" fill="none" stroke="'+i[M%i.length]+'" stroke-width="'+a(V)+'" pathLength="100" stroke-dasharray="'+a(P)+" "+a(100-P)+'" stroke-dashoffset="'+a(-d)+'" transform="rotate(-90 '+a(z)+" "+a(g)+')"'+ut(t,"bzc-a",M*.08)+"/>",d+=F}}),N+=O(z,g+2,h(u,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+ft+'" font-size="'+a(L*.17)+'" font-weight="800"'),N+=O(z,g+2+14,(A(t.centerLabel)?t.centerLabel:"Total").toUpperCase(),H(e,9,'text-anchor="middle" letter-spacing="1"'));var v=c+L+22,x=Math.min(24,B/n.length),C=g-x*n.length/2;return n.forEach(function(y,M){var F=C+M*x+x/2,P=Math.round(y/u*100),_=(s[M]||"#"+(M+1))+": "+h(y,t)+" ("+P+"%)";N+='<circle cx="'+a(v+4)+'" cy="'+a(F)+'" r="4" fill="'+i[M%i.length]+'"/>'+O(v+14,F+4,Zt(s[M]||"#"+(M+1),Math.floor((c+w-v-50)/6.7)),'fill="'+e.fg+'" font-family="'+ft+'" font-size="12"')+O(c+w,F+4,P+"%",'text-anchor="end" fill="'+e.muted+'" font-family="'+xt+'" font-size="11" font-weight="600"')+Lt(v,F-x/2,c+w-v,x,_)}),d=0,n.forEach(function(y,M){var F=y/u*100;F<=0||(N+='<circle cx="'+a(z)+'" cy="'+a(g)+'" r="'+a(k)+'" fill="none" stroke="#000" stroke-opacity="0" stroke-width="'+a(V)+'" pathLength="100" stroke-dasharray="'+a(F)+" "+a(100-F)+'" stroke-dashoffset="'+a(-d)+'" transform="rotate(-90 '+a(z)+" "+a(g)+')" class="bzc-hit" data-skip="" data-tip="'+ct((s[M]||"#"+(M+1))+": "+h(y,t)+" ("+Math.round(F)+"%)")+'"/>',d+=F)}),N},{stat:m,summary:"total "+h(u,t)+" across "+n.length+" parts"})}Ee.table=function(t){var e=rt(t.values).map(function(i){return Math.max(0,i)}),r=U(t.labels),l=Nt(e);return{head:["Label","Value","Share"],rows:e.map(function(i,n){return[r[n]||"#"+(n+1),h(i,t),(l?Math.round(i/l*100):0)+"%"]})}};dt("donut",Ee);gt("donut");function Le(t,e){var r=rt(t.values),l=r.length?r[0]:W(t.value,NaN),i=U(t.labels),n=W(t.min,0),s=W(t.max,100),o=W(t.height,130);s===n&&(s=n+1);var f=rt(t.zones),u=ht(t,e),p=U(t.color).filter(Boolean).length>1?u:[e.up,e.palette[3],e.down],m=u[0];if(f.length&&isFinite(l)){for(var c=0;c<f.length&&l>=f[c];)c++;m=p[Math.min(c,p.length-1)]}var T=!A(t.prefix)&&!A(t.suffix)&&n===0&&s===100,w=function(B){return h(B,t)+(T?"%":"")};return pt(t,e,o,function(B,N,L,z){if(!isFinite(l))return mt(e,B,N,L,z);var g=Math.min(L/2,z-22),V=g*.16,k=g-V/2,d=B+L/2,b=N+g,v=Q((l-n)/(s-n),0,1),x=function(I,J){var tt=Math.PI*(1-I);return[d+J*Math.cos(tt),b-J*Math.sin(tt)]},C="M"+a(d-k)+","+a(b)+"A"+a(k)+","+a(k)+" 0 0 1 "+a(d+k)+","+a(b),y='<path d="'+C+'" fill="none" stroke="'+m+'" stroke-opacity=".16" stroke-width="'+a(V)+'" stroke-linecap="round"/>';f.length&&f.forEach(function(I){var J=Q((I-n)/(s-n),0,1),tt=x(J,k-V/2-3),j=x(J,k-V/2-8);y+='<line x1="'+a(tt[0])+'" y1="'+a(tt[1])+'" x2="'+a(j[0])+'" y2="'+a(j[1])+'" stroke="'+e.muted+'" stroke-width="1.5"/>'}),v>0&&(y+='<path d="'+C+'" fill="none" stroke="'+m+'" stroke-width="'+a(V)+'" stroke-linecap="round" pathLength="100" style="stroke-dasharray:'+a(v*100)+' 100"'+ut(t,"bzc-s")+"/>");var M=x(v,k);if(y+='<circle cx="'+a(M[0])+'" cy="'+a(M[1])+'" r="'+a(V*.26)+'" fill="'+(t.background||e.tile)+'"'+ut(t,"bzc-a",.9)+"/>",A(t.goal)){var F=Q((+t.goal-n)/(s-n),0,1),P=x(F,k+V/2+4),_=x(F,k-V/2-4);y+='<line x1="'+a(P[0])+'" y1="'+a(P[1])+'" x2="'+a(_[0])+'" y2="'+a(_[1])+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return y+=O(d,b-g*.12,w(l),'text-anchor="middle" fill="'+e.fg+'" font-family="'+ft+'" font-size="'+a(g*.34)+'" font-weight="800"'),i[0]&&(y+=O(d,b-g*.12+16,i[0],H(e,10,'text-anchor="middle"'))),y+=O(d-k,b+18,h(n,t,!0),H(e,10,'text-anchor="middle"'))+O(d+k,b+18,h(s,t,!0),H(e,10,'text-anchor="middle"')),y+=Lt(d-g,b-g,g*2,g,(i[0]?i[0]+": ":"")+w(l)+" (range "+h(n,t)+" to "+h(s,t)+")"+(A(t.goal)?`
11
- Goal: `+h(+t.goal,t):"")),y},{summary:isFinite(l)?w(l)+" on a scale of "+h(n,t)+" to "+h(s,t):"no data"})}Le.table=function(t){var e=rt(t.values),r=e.length?e[0]:W(t.value,NaN),l=U(t.labels),i=W(t.min,0),n=W(t.max,100),s=!A(t.prefix)&&!A(t.suffix)&&i===0&&n===100;return isFinite(r)?{head:["Label","Value"],rows:[[l[0]||"Reading",h(r,t)+(s?"%":"")],["Lowest",h(i,t)],["Highest",h(n,t)]].concat(A(t.goal)?[["Goal",h(+t.goal,t)]]:[])}:{head:["Label","Value"],rows:[]}};dt("gauge",Le);gt("gauge");function Ae(t,e){var r=rt(t.values).map(function(L){return Math.max(0,L)}),l=U(t.labels),i=ht(t,e),n=r.length===1,s=Nt(r),o=A(t.max)?W(t.max,100):n?100:s;o>0||(o=1);var f=!A(t.prefix)&&!A(t.suffix)&&o===100&&n,u=function(L){return h(L,t)+(f?"%":"")},p=qt(t),m=p.w,c=0,T=[];if(!n&&r.length){var w=0;c=1,r.forEach(function(L,z){var g=l[z]||"#"+(z+1),V=14+Et(g,12)+6+Et(h(L,t),11,!0)+18;w>0&&w+V>m&&(w=0,c++),T.push({x:w,row:c-1,l:g}),w+=V})}var B=36+(c?12+c*20:0),N=kt(r,t,"");return pt(t,e,B,function(L,z,g,V){if(!r.length)return mt(e,L,z,g,V);var k="",d=z+22,b=Ht("c"),v=n?u(r[0])+(f?"":" of "+h(o,t)):h(s,t)+" of "+h(o,t);n&&l[0]&&(k+=O(L,z+11,l[0],'fill="'+e.fg+'" font-family="'+ft+'" font-size="12"')),k+=O(L+g,z+11,v,'text-anchor="end" fill="'+e.fg+'" font-family="'+xt+'" font-size="11" font-weight="600"'),k+='<rect x="'+L+'" y="'+d+'" width="'+g+'" height="14" rx="7" fill="'+e.grid+'" fill-opacity=".7"/>',k+='<clipPath id="'+b+'"><rect x="'+L+'" y="'+d+'" width="'+g+'" height="14" rx="7"/></clipPath><g clip-path="url(#'+b+')"><g'+ut(t,"bzc-gx")+">";var x=0;if(r.forEach(function(y,M){var F=Math.min(y,Math.max(0,o-x))/o*g;F>0&&(k+='<rect x="'+a(L+x/o*g)+'" y="'+d+'" width="'+a(F)+'" height="14" fill="'+i[M%i.length]+'"/>'),M>0&&F>0&&(k+='<rect x="'+a(L+x/o*g-1)+'" y="'+d+'" width="2" height="14" fill="'+(t.background||e.tile)+'"/>'),x+=y}),k+="</g></g>",A(t.goal)){var C=L+Q(+t.goal/o,0,1)*g;k+='<line x1="'+a(C)+'" x2="'+a(C)+'" y1="'+(d-4)+'" y2="'+(d+18)+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return x=0,r.forEach(function(y,M){var F=Math.min(y,Math.max(0,o-x))/o*g;F>0&&(k+=Lt(L+x/o*g,d-4,F,22,(l[M]||(n?"Progress":"#"+(M+1)))+": "+u(y)+(n?"":" ("+Math.round(y/o*100)+"%)"))),x+=y}),T.forEach(function(y,M){var F=L+y.x,P=d+14+12+y.row*20+8;k+='<circle cx="'+a(F+4)+'" cy="'+a(P)+'" r="4" fill="'+i[M%i.length]+'"/><text x="'+a(F+14)+'" y="'+a(P+4)+'" fill="'+e.fg+'" font-family="'+ft+'" font-size="12">'+ct(y.l)+'<tspan dx="6" fill="'+e.muted+'" font-family="'+xt+'" font-size="11">'+ct(h(r[M],t))+"</tspan></text>"}),k},{stat:N,summary:n?u(r[0])+(f?"":" of "+h(o,t)):h(s,t)+" of "+h(o,t)})}Ae.table=function(t){var e=rt(t.values).map(function(s){return Math.max(0,s)}),r=U(t.labels),l=e.length===1,i=A(t.max)?W(t.max,100):l?100:Nt(e);i>0||(i=1);var n=!A(t.prefix)&&!A(t.suffix)&&i===100&&l;return l?{head:["Label","Value"],rows:[[r[0]||"Progress",h(e[0],t)+(n?"%":" of "+h(i,t))]]}:{head:["Label","Value","Share"],rows:e.map(function(s,o){return[r[o]||"#"+(o+1),h(s,t),Math.round(s/i*100)+"%"]})}};dt("progress",Ae);gt("progress");var tr={weekday:"short",day:"numeric",month:"short",year:"numeric"};function er(t,e){if(A(t.start)&&/^\d{4}-\d{2}-\d{2}$/.test(String(t.start)))return new Date(String(t.start)+"T00:00:00Z");var r=new Date;return new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())-Math.max(0,e-1)*864e5)}function rr(t,e){try{return new Intl.DateTimeFormat(t,Object.assign({timeZone:"UTC"},e))}catch{return new Intl.DateTimeFormat("en-GB",Object.assign({timeZone:"UTC"},e))}}function Oe(t,e){var r=rt(t.values),l=ht(t,e)[0],i=t.lang||"en-GB",n=er(t,r.length),s=(n.getUTCDay()+6)%7,o=Math.max(1,Math.ceil((s+r.length)/7)),f=qt(t),u=28,p=Math.max(1,Math.floor((f.w-u)/10));if(o>p){var m=(o-p)*7-s;r=r.slice(m),n=new Date(n.getTime()+m*864e5),s=0,o=p}var c=Math.min(18,(f.w-u)/o),T=c<8?1:3,w=c-T,B=16+7*c+26,N=r.length?Math.max.apply(null,r):0,L=function(d){return rr(i,d)},z=L({month:"short"}),g=L({weekday:"short"}),V=L(tr),k=kt(r,t,"");return pt(t,e,B,function(d,b,v,x){if(!r.length)return mt(e,d,b,v,x);var C="",y=d+u,M=b+16,F=-99,P=[.28,.5,.75,1];c>=9&&[0,2,4].forEach(function(q){var yt=new Date(Date.UTC(2024,0,1+q));C+=O(d,M+q*c+w/2+3.5,g.format(yt),H(e,9))});for(var _=0;_<r.length;_++){var I=s+_,J=Math.floor(I/7),tt=I%7,j=new Date(n.getTime()+_*864e5),G=y+J*c,et=M+tt*c;(j.getUTCDate()===1||_===0)&&G-F>30&&(C+=O(G,b+9,z.format(j),H(e,9)),F=G);var lt=r[_]<=0||!N?0:Math.ceil(r[_]/N*4),at=lt?l:e.grid,ot=lt?P[lt-1]:.7;C+='<rect x="'+a(G)+'" y="'+a(et)+'" width="'+a(w)+'" height="'+a(w)+'" rx="'+a(w*.24)+'" fill="'+at+'" fill-opacity="'+ot+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(J*.012)+'s"':"")+' data-tip="'+ct(V.format(j)+": "+h(r[_],t))+'"/>'}var S=M+7*c+14,Y=10,R=d+v-5*(Y+3)-30;C+=O(d,S+8,h(Nt(r),t,!0)+" in "+r.length+" days",H(e,10)),C+=O(R-6,S+8,"Less",H(e,9,'text-anchor="end"'));for(var nt=0;nt<5;nt++)C+='<rect x="'+a(R+nt*(Y+3))+'" y="'+S+'" width="'+Y+'" height="'+Y+'" rx="2.5" fill="'+(nt?l:e.grid)+'" fill-opacity="'+(nt?P[nt-1]:.7)+'"/>';return C+=O(R+5*(Y+3)+3,S+8,"More",H(e,9)),C},{stat:k,summary:h(Nt(r),t)+" across "+r.length+" days"})}Oe.table=function(t){var e=rt(t.values),r=er(t,e.length),l=rr(t.lang||"en-GB",tr);return{head:["Date","Value"],rows:e.map(function(i,n){return[l.format(new Date(r.getTime()+n*864e5)),h(i,t)]})}};dt("heatmap",Oe);gt("heatmap");var Sr="1.4.0",zr=he.slice();return mr(Er);})();
1
+ /*! Bezel Charts v1.5.0 | MIT | github.com/ShazMoghaddam/bezel-charts */
2
+ var BezelCharts=(()=>{var Ge=Object.defineProperty;var ur=Object.getOwnPropertyDescriptor;var hr=Object.getOwnPropertyNames;var mr=Object.prototype.hasOwnProperty;var pr=(t,e)=>{for(var r in e)Ge(t,r,{get:e[r],enumerable:!0})},dr=(t,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of hr(e))!mr.call(t,n)&&n!==r&&Ge(t,n,{get:()=>e[n],enumerable:!(l=ur(e,n))||l.enumerable});return t};var gr=t=>dr(Ge({},"__esModule",{value:!0}),t);var Fr={};pr(Fr,{BezelChart:()=>At,render:()=>Lt,themes:()=>Qt,toSVG:()=>Ft,types:()=>Cr,version:()=>Tr});var yt="ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif",St="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",vr=0;function Vt(t){return"bzc"+t+(++vr).toString(36)+Math.random().toString(36).slice(2,6)}function bt(t){return String(t??"").replace(/[&<>"']/g,function(e){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}[e]})}function a(t){return Math.round(t*100)/100}function nt(t,e,r){return Math.max(e,Math.min(r,t))}function W(t,e){var r=parseFloat(t);return isFinite(r)?r:e}function T(t){return t!=null&&t!==""}function ct(t){return Array.isArray(t)?t.map(function(e){var r=+e;return isFinite(r)?r:0}):T(t)?String(t).split(/[\s,;]+/).filter(Boolean).map(function(e){var r=+e;return isFinite(r)?r:0}):[]}function $(t){return Array.isArray(t)?t.map(String):T(t)?String(t).split(",").map(function(e){return e.trim()}):[]}function Et(t){return Array.isArray(t)?Array.isArray(t[0])?t.map(ct):[ct(t)]:T(t)?String(t).split("|").map(ct).filter(function(e){return e.length}):[]}function Bt(t){return t.reduce(function(e,r){return e+r},0)}function wt(t,e,r){return String(t).length*e*(r?.6:.56)}function Kt(t,e){return t=String(t),t.length>e?t.slice(0,Math.max(1,e-1))+"\u2026":t}function j(t){return t===!0||t===""||t==="true"||t==="1"}function m(t,e,r){if(!isFinite(t))return"\u2013";var l=Math.abs(t),n;T(e.decimals)?n=nt(parseInt(e.decimals,10)||0,0,6):n=t%1===0?0:l<10?2:l<100?1:0;var i={maximumFractionDigits:n,minimumFractionDigits:T(e.decimals)?n:0};(j(e.compact)||r)&&l>=1e4&&(i={notation:"compact",maximumFractionDigits:1});var o;try{o=new Intl.NumberFormat(e.lang||"en-GB",i).format(l)}catch{o=String(a(l))}return(t<0?"\u2212":"")+(e.prefix||"")+o+(e.suffix||"")}function Yt(t,e){if(!t.length)return"";for(var r="M"+a(t[0][0])+","+a(t[0][1]),l=1;l<t.length;l++){var n=t[l-1],i=t[l];if(e)r+="L"+a(i[0])+","+a(i[1]);else{var o=(n[0]+i[0])/2;r+="C"+a(o)+","+a(n[1])+" "+a(o)+","+a(i[1])+" "+a(i[0])+","+a(i[1])}}return r}function C(t,e,r,l){return'<text x="'+a(t)+'" y="'+a(e)+'" '+(l||"")+">"+bt(r)+"</text>"}function D(t,e,r,l){return'fill="'+(l||t.muted)+'" font-family="'+St+'" font-size="'+(e||10)+'"'+(r?" "+r:"")}function zt(t,e,r,l,n){return'<rect class="bzc-hit" x="'+a(t)+'" y="'+a(e)+'" width="'+a(Math.max(1,r))+'" height="'+a(Math.max(1,l))+'" fill="#000" fill-opacity="0" data-tip="'+bt(n)+'"/>'}function ut(t,e,r){return t.animate?' class="'+e+'"'+(r?' style="animation-delay:'+a(r)+'s"':""):""}function ht(t,e){var r=$(t.color).filter(Boolean);return r.length?r:e.palette}function mt(t,e,r,l,n){return C(e+l/2,r+n/2+4,"No data yet",'text-anchor="middle" fill="'+t.muted+'" font-family="'+yt+'" font-size="13"')}function _t(t,e){return T(t.notes)?String(t.notes).split(";").map(function(r){var l=r.indexOf(":");if(l<0)return null;var n=r.slice(0,l).trim(),i=r.slice(l+1).trim(),o=e.map(String).indexOf(n);return o<0&&String(parseInt(n,10))===n&&(o=parseInt(n,10)),o>=0&&i?{i:o,text:i}:null}).filter(Boolean):[]}function It(t,e,r,l,n){var i=(T(t.goalLabel)?t.goalLabel:"Goal")+" "+m(W(t.goal,0),t);return'<line x1="'+a(r)+'" x2="'+a(l)+'" y1="'+a(n)+'" y2="'+a(n)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-width="1.25" stroke-dasharray="4 4"/>'+C(l,n-5,i,D(e,10,'text-anchor="end"'))}function Ot(t,e,r){var l=String(T(e.stat)?e.stat:r||"").toLowerCase();if(!l||l==="none"||!t.length)return null;var n=Bt(t),i={last:t[t.length-1],total:n,sum:n,average:n/t.length,avg:n/t.length,max:Math.max.apply(null,t),min:Math.min.apply(null,t)};if(!(l in i))return null;var o=null;return l==="last"&&t.length>1&&e.delta!=="none"&&(o=t[t.length-1]-t[0]),{val:i[l],delta:o}}function qt(t){var e=Math.round(nt(W(t.width,360),160,2400)),r=t.frame==="none"?0:4,l=t.frame==="none"?8:20;return{W:e,b:r,P:l,w:e-2*(r+l)}}var xr=".bzc-a{animation:bzc-in .6s ease both}.bzc-d{animation:bzc-draw 1.1s cubic-bezier(.3,.7,.2,1) both}.bzc-g{transform-box:fill-box;transform-origin:50% 100%;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gn{transform-box:fill-box;transform-origin:50% 0;animation:bzc-grow .7s cubic-bezier(.2,.8,.2,1) both}.bzc-gx{transform-box:fill-box;transform-origin:0 50%;animation:bzc-growx .8s cubic-bezier(.2,.8,.2,1) both}.bzc-s{animation:bzc-sweep 1.1s cubic-bezier(.2,.8,.2,1) both}@keyframes bzc-in{from{opacity:0}}@keyframes bzc-draw{from{stroke-dashoffset:1}}@keyframes bzc-grow{from{transform:scaleY(0)}}@keyframes bzc-growx{from{transform:scaleX(0)}}@keyframes bzc-sweep{from{stroke-dasharray:0 100}}@media (prefers-reduced-motion:reduce){[class^=bzc-]{animation:none!important}}";function pt(t,e,r,l,n){var i=qt(t),o=i.W,s=i.b,f=i.P,u=i.w,v=nt(W(t.corners,22),0,60),d=s+f,c="";T(t.heading)&&(c+=C(s+f,d+10,String(t.heading).toUpperCase(),D(e,11,'font-weight="600" letter-spacing="1.3"')),d+=24);var M=n&&n.stat;if(M){if(c+=C(s+f,d+30,m(M.val,t),'fill="'+e.fg+'" font-family="'+yt+'" font-size="32" font-weight="800" letter-spacing="-0.5"'),M.delta!=null){var k=M.delta>0,V=M.delta===0,F=t.delta==="inverse"?!k:k,L=V?e.muted:F?e.up:e.down,b=(V?"\u25CF ":k?"\u25B2 ":"\u25BC ")+m(Math.abs(M.delta),t)+" "+(T(t.deltaLabel)?t.deltaLabel:"since start");c+=C(s+f+u,d+28,b,'text-anchor="end" fill="'+L+'" font-family="'+St+'" font-size="11" font-weight="600"')}d+=44}var p=l(s+f,d,u,r),R=Math.round(d+r+f+s),S="";t.frame!=="none"?S='<rect width="'+o+'" height="'+R+'" rx="'+v+'" fill="'+e.bezel+'"/><rect x="'+s+'" y="'+s+'" width="'+(o-2*s)+'" height="'+(R-2*s)+'" rx="'+Math.max(0,v-s)+'" fill="'+(t.background||e.tile)+'"/>':T(t.background)&&(S='<rect width="'+o+'" height="'+R+'" rx="'+v+'" fill="'+t.background+'"/>');var x=(T(t.heading)?t.heading+": ":"")+(n&&n.summary||"chart");return'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 '+o+" "+R+'" width="'+o+'" height="'+R+'" role="img" aria-label="'+bt(x)+'"><title>'+bt(x)+"</title>"+(t.animate?"<style>"+xr+"</style>":"")+S+c+p+"</svg>"}function me(t,e){var r=ct(t.values),l=ht(t,e)[0],n=W(t.height,64),i=$(t.labels),o=_t(t,i),s=Ot(r,t,"last");return pt(t,e,n,function(f,u,v,d){if(!r.length)return mt(e,f,u,v,d);var c=r.length===1?[r[0],r[0]]:r,M=Math.min.apply(null,c),k=Math.max.apply(null,c);T(t.goal)&&(M=Math.min(M,+t.goal),k=Math.max(k,+t.goal));var V=(k-M||Math.abs(k)||1)*.12;M-=V,k+=V;var F=function(g){return f+g*v/(c.length-1)},L=function(g){return u+d-(g-M)/(k-M)*d},b=c.map(function(g,h){return[F(h),L(g)]}),p=Yt(b,j(t.straight)),R=Vt("g"),S=b[b.length-1],x='<defs><linearGradient id="'+R+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+l+'" stop-opacity=".32"/><stop offset="1" stop-color="'+l+'" stop-opacity="0"/></linearGradient></defs>';[1/3,2/3].forEach(function(g){x+='<line x1="'+f+'" x2="'+(f+v)+'" y1="'+a(u+d*g)+'" y2="'+a(u+d*g)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'}),x+='<path d="'+p+"L"+a(S[0])+","+(u+d)+"L"+f+","+(u+d)+'Z" fill="url(#'+R+')"'+ut(t,"bzc-a")+"/>",x+='<path d="'+p+'" fill="none" stroke="'+l+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1"'+ut(t,"bzc-d")+"/>",T(t.goal)&&(x+=It(t,e,f,f+v,L(+t.goal))),o.forEach(function(g){if(!(g.i>=r.length)){var h=b[g.i];x+='<circle cx="'+a(h[0])+'" cy="'+a(h[1])+'" r="3.5" fill="'+e.fg+'"/>'+C(nt(h[0],f+30,f+v-30),h[1]-9,g.text,D(e,10,'text-anchor="middle"',e.fg))}}),x+='<circle cx="'+a(S[0])+'" cy="'+a(S[1])+'" r="9" fill="'+l+'" fill-opacity=".25"/><circle cx="'+a(S[0])+'" cy="'+a(S[1])+'" r="4.5" fill="'+l+'"/>',j(t.showValues)&&b.forEach(function(g,h){h<r.length&&(x+=C(g[0],g[1]-8,m(r[h],t,!0),D(e,9,'text-anchor="middle"')))});var w=r.length>1?v/(r.length-1):v;return r.forEach(function(g,h){x+=zt(F(h)-w/2,u-6,w,d+12,(i[h]||"#"+(h+1))+": "+m(g,t))}),x},{stat:s,summary:r.length?"latest "+m(r[r.length-1],t):"no data"})}me.table=function(t){var e=$(t.labels);return{head:["Label","Value"],rows:ct(t.values).map(function(r,l){return[e[l]||"#"+(l+1),m(r,t)]})}};var Qt={dark:{tile:"#15151d",bezel:"#000000",fg:"#f2f1f7",muted:"#8c8aa0",grid:"#2a2935",up:"#5EE6C8",down:"#F675A8",palette:["#9FA1FF","#F675A8","#5EE6C8","#FFC857","#7CC4FF","#FF8A5B"]},light:{tile:"#ffffff",bezel:"#000000",fg:"#17161f",muted:"#6b6980",grid:"#e8e6ef",up:"#12a383",down:"#d63f7c",palette:["#6E70F0","#E2508C","#16A884","#D99A0E","#2F8FE0","#EE6431"]}};var pe=["spark","line","area","bars","histogram","scatter","ring","donut","gauge","progress","heatmap"],de={};function dt(t,e){de[t]=e}var yr=t=>t.replace(/-([a-z])/g,(e,r)=>r.toUpperCase());function Ke(t,e){if(!de[t])throw new Error(pe.includes(t)?`Bezel Charts: the ${t} chart isn't loaded. Add import 'bezel-charts/${t}', or load dist/charts/${t}.js.`:`Bezel Charts: unknown chart type "${t}". Choose one of: ${pe.join(", ")}.`);let r={};for(let[l,n]of Object.entries(e))r[yr(l)]=n;return r}function Lt(t,e={}){let r=Ke(t,e);r.animate=j(r.animate),r.frame=r.frame==="none"?"none":"bezel";let l=r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme||"dark";return de[t](r,Qt[l])}function qe(t,e={}){return de[t].table(Ke(t,e))}function He(t){return t.replace(/<rect class="bzc-hit"[^>]*\/>/g,"").replace(/<circle[^>]* class="bzc-hit"[^>]*\/>/g,"").replace(/ data-tip="[^"]*"/g,"")}function Ft(t,e={}){return He(Lt(t,{...e,animate:!1}))}var Qe=["type","values","labels","series","heading","prefix","suffix","decimals","compact","color","theme","frame","width","height","goal","goal-label","notes","show-values","stat","delta","delta-label","max","min","value","zones","horizontal","straight","zero","start","lang","corners","background","center-label","highlight","x","y","x-label","y-label","trend","static","no-tooltips","stacked","angle-labels","dash","markers","patterns","bins","bin-width","mark","percent"],br=`:host{display:block;position:relative;max-width:100%}:host([hidden]){display:none}svg{display:block;max-width:100%;height:auto;overflow:visible}.tip{position:absolute;left:0;top:0;pointer-events:none;background:#0b0b10;color:#f2f1f7;font:600 12px/1.5 ${St};padding:7px 10px;border-radius:10px;white-space:pre;opacity:0;transform:translate(-50%,calc(-100% - 12px));transition:opacity .12s;z-index:3;border:1px solid #2a2935;box-shadow:0 8px 24px rgba(0,0,0,.35)}.tip.on{opacity:1}.c{outline:none}.c:focus-visible{outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 0 7px #000}.k{stroke:currentColor;stroke-width:2;stroke-opacity:1}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media (forced-colors:active){.c:focus-visible{outline-color:Highlight}}`,Mr={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1},kr=()=>typeof matchMedia=="function"?matchMedia("(prefers-color-scheme: dark)"):null,wr=()=>{let t=typeof document<"u"&&document.documentElement?.getAttribute?.("data-theme");return t==="light"||t==="dark"?t:null},Pe=new Set;typeof MutationObserver=="function"&&typeof document<"u"&&document.documentElement&&new MutationObserver(()=>Pe.forEach(t=>t.refresh())).observe(document.documentElement,{attributes:!0,attributeFilter:["data-theme"]});var Sr=typeof HTMLElement>"u"?class{}:HTMLElement,At=class extends Sr{static get observedAttributes(){return Qe}static get themes(){return Qt}get resolvedTheme(){let e=this.getAttribute("theme");return e==="light"||e==="dark"?e:this.options.autoTheme}get chartType(){return this.getAttribute("type")||"spark"}connectedCallback(){this.shadowRoot||(this.attachShadow({mode:"open"}).innerHTML=`<style>${br}</style><div class="c" role="group" aria-roledescription="chart"></div><p class="sr" id="h">Use the arrow keys to step through the values.</p><div class="tip" aria-hidden="true"></div><div class="sr" aria-live="polite"></div><div class="sr"></div>`,[,this.#t,,this.#r,this.#o,this.#c]=this.shadowRoot.children,this.shadowRoot.addEventListener("pointermove",e=>this.#h(e)),this.shadowRoot.addEventListener("pointerdown",e=>this.#h(e)),this.addEventListener("pointerleave",()=>this.#r.classList.remove("on")),this.#t.addEventListener("keydown",e=>this.#v(e)),this.#t.addEventListener("blur",()=>this.#g())),Pe.add(this),this.#a=kr(),this.#a?.addEventListener?.("change",this.#u),typeof ResizeObserver=="function"?(this.#l=new ResizeObserver(([e])=>{let r=Math.round(e.contentRect.width);(!this.#n||!this.hasAttribute("width")&&r>0&&Math.abs(r-this.#s)>1)&&this.#i()}),this.#l.observe(this)):this.#i()}disconnectedCallback(){Pe.delete(this),this.#l?.disconnect(),this.#a?.removeEventListener?.("change",this.#u)}attributeChangedCallback(){!this.#n||this.#f||(this.#f=!0,queueMicrotask(()=>{this.#f=!1,this.#i()}))}get options(){let e={};for(let r of Qe)this.hasAttribute(r)&&(e[r]=this.getAttribute(r));return e.width||(e.width=this.#s||360),e.autoTheme=wr()||(this.#a?this.#a.matches?"dark":"light":"dark"),e}refresh(){this.#n&&this.#i()}toSVG(e={}){return He(Lt(this.chartType,{...this.options,...e,animate:!1}))}download(e){let r=URL.createObjectURL(new Blob([this.toSVG()],{type:"image/svg+xml"})),l=Object.assign(document.createElement("a"),{href:r,download:`${(e||this.getAttribute("heading")||this.chartType).replace(/[^\w-]+/g,"-").toLowerCase()}.svg`});document.body.append(l),l.click(),l.remove(),setTimeout(()=>URL.revokeObjectURL(r),1e3)}#l=null;#t=null;#r=null;#o=null;#c=null;#e=-1;#a=null;#s=0;#n=!1;#f=!1;#u=()=>{let e=this.getAttribute("theme");(!e||e==="auto")&&this.refresh()};#i(){if(!this.shadowRoot)return;let e=Math.round(this.getBoundingClientRect?.().width||0);this.#s=e>0?e:360;let r=this.options;r.animate=!this.#n&&!this.hasAttribute("static");let l,n=null;try{l=Lt(this.chartType,r),n=qe(this.chartType,r)}catch(f){l=`<p style="font:13px ${yt};color:#d63f7c">${bt(f.message)}</p>`}let i=this.#t;i.innerHTML=l.replace(/<title>[\s\S]*?<\/title>/,"");let o=i.querySelector("svg");o?(i.setAttribute("aria-label",o.getAttribute("aria-label")),o.removeAttribute("role"),o.removeAttribute("aria-label"),o.setAttribute("aria-hidden","true")):i.removeAttribute("aria-label");let s=!!o&&!this.hasAttribute("no-tooltips");s?(i.setAttribute("tabindex","0"),i.setAttribute("aria-describedby","h")):(i.removeAttribute("tabindex"),i.removeAttribute("aria-describedby")),i.style.color=Qt[r.theme==="light"||r.theme==="dark"?r.theme:r.autoTheme].fg,i.style.borderRadius=`${r.frame==="none"?4:nt(+r.corners||22,0,60)}px`,this.#c.innerHTML=n&&n.rows.length?Er(r.heading,n):"",this.#e>=0&&s&&this.shadowRoot.activeElement===i?this.#d(this.#e):this.#e=-1,this.#n=!0,this.dispatchEvent(new CustomEvent("bezel-render",{bubbles:!0}))}#h(e){if(this.hasAttribute("no-tooltips"))return;let r=e.target?.closest?.("[data-tip]");if(!r){this.#r.classList.remove("on");return}this.#m(r,e.clientX,e.clientY)}#m(e,r,l){let n=this.#r;n.textContent=e.getAttribute("data-tip");let i=this.getBoundingClientRect?.()||{left:0,top:0,width:0},o=n.offsetWidth/2;n.style.left=`${nt(r-i.left,o,Math.max(o,i.width-o))}px`,n.style.top=`${l-i.top}px`,n.classList.add("on")}#p(){return[...this.#t.querySelectorAll("[data-tip]:not([data-skip])")]}#v(e){let r=this.#p(),l=r.length;if(!l)return;let n=this.#e,i=Mr[e.key];if(i)this.chartType==="heatmap"&&/Left|Right/.test(e.key)&&(i*=7),n=n<0?i>0?0:l-1:nt(n+i,0,l-1);else if(e.key==="Home"||e.key==="End")n=e.key==="Home"?0:l-1;else{e.key==="Escape"&&this.#g();return}e.preventDefault(),this.#d(n,!0)}#d(e,r){let l=this.#p();if(!l.length)return;e=nt(e,0,l.length-1),this.#t.querySelector(".k")?.classList.remove("k");let n=l[e],i=n.getBoundingClientRect?.()||{left:0,top:0,width:0};n.classList.add("k"),this.#e=e,this.#m(n,i.left+i.width/2,i.top),r&&(this.#o.textContent=`${n.getAttribute("data-tip").replace(/\n/g,", ")}. ${e+1} of ${l.length}`)}#g(){this.#t.querySelector(".k")?.classList.remove("k"),this.#r.classList.remove("on"),this.#o.textContent="",this.#e=-1}};function Er(t,{head:e,rows:r}){let l=n=>n.map((i,o)=>o?`<td>${bt(i)}</td>`:`<th scope="row">${bt(i)}</th>`).join("");return`<table><caption>${bt(t||"Chart data")}</caption><thead><tr>${e.map(n=>`<th scope="col">${bt(n)}</th>`).join("")}</tr></thead><tbody>${r.map(n=>`<tr>${l(n)}</tr>`).join("")}</tbody></table>`}function gt(t){typeof customElements>"u"||typeof HTMLElement>"u"||(customElements.get(`bezel-${t}`)||customElements.define(`bezel-${t}`,class extends At{get chartType(){return t}}),customElements.get("bezel-chart")||customElements.define("bezel-chart",class extends At{}))}dt("spark",me);gt("spark");function Jt(t,e,r){if(t===e)if(t===0)e=1;else{var l=Math.abs(t)*.1;t-=l,e+=l}for(var n=(e-t)/(r||4),i=Math.pow(10,Math.floor(Math.log10(n))),o=n/i,s=(o<=1?1:o<=2?2:o<=5?5:10)*i,f=Math.floor(t/s)*s,u=Math.ceil(e/s)*s,v=[],d=f;d<=u+s/2;d+=s)v.push(+d.toFixed(10));return{lo:f,hi:u,ticks:v}}function Ut(t,e,r,l,n,i,o,s){var f=l,u=n,v="",d=s||13;return t.forEach(function(c,M){var k=d+wt(c,12)+16;f>l&&f+k-16>l+i&&(f=l,u+=20),v+=(o?o(M,f,u):'<circle cx="'+a(f+4)+'" cy="'+a(u+6)+'" r="4" fill="'+e[M%e.length]+'"/>')+C(f+d,u+10,c,'fill="'+r.fg+'" font-family="'+yt+'" font-size="12"'),f+=k}),{svg:v,height:u-n+24}}var Xt={solid:"",dashed:"7 5",dotted:"1 5",dashdot:"9 4 1 4"},re=["circle","square","triangle","diamond"],ae=["solid","stripes","dots","grid"];function Nt(t,e,r){if(t==null||t===!1||t==="none"||t==="false")return null;var l=t===!0||t===""||t==="auto"?e:$(t).map(function(n){return e.indexOf(n)<0?r:n});return l.length?function(n){return l[n%l.length]}:null}function ne(t,e,r,l,n){var i=l*1.15,o=l*.85;return t==="square"?'<rect x="'+a(e-o)+'" y="'+a(r-o)+'" width="'+a(2*o)+'" height="'+a(2*o)+'" rx="1"'+n+"/>":t==="triangle"?'<path d="M'+a(e)+","+a(r-i)+"L"+a(e+i)+","+a(r+o)+"L"+a(e-i)+","+a(r+o)+'Z"'+n+"/>":t==="diamond"?'<path d="M'+a(e)+","+a(r-i*1.1)+"L"+a(e+i)+","+a(r)+"L"+a(e)+","+a(r+i*1.1)+"L"+a(e-i)+","+a(r)+'Z"'+n+"/>":'<circle cx="'+a(e)+'" cy="'+a(r)+'" r="'+a(l)+'"'+n+"/>"}function ie(t,e,r,l){var n=' stroke="'+l+'" stroke-opacity=".55" stroke-width="1.5"';return'<pattern id="'+t+'" width="6" height="6" patternUnits="userSpaceOnUse"'+(e==="dots"?"":' patternTransform="rotate(45)"')+'><rect width="6" height="6" fill="'+r+'"/>'+(e==="dots"?'<circle cx="3" cy="3" r="1.3" fill="'+l+'" fill-opacity=".55"/>':'<path d="M3,0V6'+(e==="grid"?"M0,3H6":"")+'"'+n+"/>")+"</pattern>"}function Je(t){return Math.max.apply(null,t.map(function(e){return wt(e,10,!0)}))+10}function le(t,e){for(var r=Et(t.values),l=$(t.series),n=$(t.labels),i=[],o=Math.max.apply(null,[0].concat(r.map(function(d){return d.length}))),s=0;s<o;s++){var f=[n[s]||"#"+(s+1)],u=0;r.forEach(function(d){f.push(s<d.length?m(d[s],t):""),u+=s<d.length?d[s]:0}),e&&f.push(m(u,t)),i.push(f)}var v=r.length>1||l.length?r.map(function(d,c){return l[c]||"Series "+(c+1)}):["Value"];return{head:["Label"].concat(v,e?["Total"]:[]),rows:i}}function ge(t,e,r,l,n,i,o){var s="",f=n,u=r.n,v=r.labels;if(r.names){var d=Ut(r.names,r.pal,e,l,f,i,r.key,r.kw);s+=d.svg,f+=d.height}var c=r.lo,M=r.hi;T(t.goal)&&(c=Math.min(c,+t.goal),M=Math.max(M,+t.goal)),r.zero&&(c=Math.min(0,c),M=Math.max(0,M));var k=Jt(c,M,4),V=k.ticks.map(r.tick),F=Math.max.apply(null,V.map(function(O){return wt(O,10,!0)}))+10,L=v.length?20:4,b=l+F,p=i-F,R=o-(f-n)-L,S=function(O){return u===1?b+p/2:b+O*p/(u-1)},x=function(O){return f+R-(O-k.lo)/(k.hi-k.lo)*R};if(k.ticks.forEach(function(O,y){var E=x(O);s+='<line x1="'+a(b)+'" x2="'+a(b+p)+'" y1="'+a(E)+'" y2="'+a(E)+'" stroke="'+e.grid+'"'+(O===0?"":' stroke-dasharray="2 4"')+"/>"+C(b-8,E+3.5,V[y],D(e,10,'text-anchor="end"'))}),v.length){for(var w=Math.max(1,Math.ceil(u*(Math.max.apply(null,v.map(function(O){return wt(O,10,!0)}))+10)/p)),g=0;g<u;g+=w)if(v[g]!=null){var h=u>1&&g===0?"start":u>1&&g===u-1?"end":"middle";s+=C(S(g),f+R+15,v[g],D(e,10,'text-anchor="'+h+'"'))}}return r.notes.forEach(function(O){if(!(O.i>=u)){var y=S(O.i);s+='<line x1="'+a(y)+'" x2="'+a(y)+'" y1="'+a(f+12)+'" y2="'+a(f+R)+'" stroke="'+e.fg+'" stroke-opacity=".4" stroke-dasharray="3 3"/>'+C(nt(y,b+30,b+p-30),f+8,O.text,D(e,10,'text-anchor="middle"',e.fg))}}),{svg:s,X:S,Y:x,px:b,pw:p,top:f,ph:R}}function ve(t,e,r,l,n){for(var i=T(t.goal)?It(t,e,r.px,r.px+r.pw,r.Y(+t.goal)):"",o=l>1?r.pw/(l-1):r.pw,s=0;s<l;s++)i+=zt(r.X(s)-o/2,r.top,o,r.ph,n(s));return i}function xe(t,e,r,l){return function(n,i,o){var s=t[n%t.length],f=e?Xt[e(n)]:"",u=r?r(n):"none";return'<line x1="'+a(i)+'" x2="'+a(i+18)+'" y1="'+a(o+6)+'" y2="'+a(o+6)+'" stroke="'+s+'" stroke-width="2.5" stroke-linecap="round"'+(f?' stroke-dasharray="'+f+'"':"")+"/>"+(u!=="none"?ne(u,i+9,o+6,3.5,' fill="'+s+'" stroke="'+l+'" stroke-width="1.5"'):"")}}function ye(t,e,r,l,n){return n?'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="'+n+'"'+ut(t,"bzc-a",l*.15)+"/>":'<path d="'+e+'" fill="none" stroke="'+r+'" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" pathLength="1" style="stroke-dasharray:1'+(t.animate?";animation-delay:"+l*.15+"s":"")+'"'+(t.animate?' class="bzc-d"':"")+"/>"}function be(t,e,r,l,n,i,o,s){var f="",u=Math.ceil(r.length/40);return r.forEach(function(v,d){(d%u===0||d===r.length-1)&&(f+=ne(e,l(d),n(v),3.5,' fill="'+i+'" stroke="'+o+'" stroke-width="1.5"'+ut(t,"bzc-a",.6+s*.15)))}),f}function Me(t,e){var r=Et(t.values),l=$(t.series),n=$(t.labels),i=ht(t,e),o=W(t.height,170),s=Math.max.apply(null,[0].concat(r.map(function(F){return F.length}))),f=_t(t,n),u=r.length>1||l.length>0,v=Ot(r[0]||[],t,""),d=Nt(t.dash,Object.keys(Xt),"solid"),c=Nt(t.markers,re,"none"),M=t.background||e.tile,k=(d||c)&&xe(i,d,c,M),V=function(F){return l[F]||"Series "+(F+1)};return pt(t,e,o,function(F,L,b,p){if(!s)return mt(e,F,L,b,p);var R=[].concat.apply([],r),S=ge(t,e,{n:s,names:u?r.map(function(N,G){return V(G)}):null,pal:i,key:k,kw:k&&24,lo:Math.min.apply(null,R),hi:Math.max.apply(null,R),zero:j(t.zero),labels:n,notes:f,tick:function(N){return m(N,t,!0)}},F,L,b,p),x=S.svg,w=S.X,g=S.Y,h=S.px,O=S.pw,y=S.top,E=S.ph;return r.forEach(function(N,G){var Z=i[G%i.length],Y=N.map(function(rt,lt){return[w(lt),g(rt)]});Y.length===1&&(Y=[[h,Y[0][1]],[h+O,Y[0][1]]]);var Q=Yt(Y,j(t.straight));if(G===0){var ot=Vt("g"),it=Y[Y.length-1];x+='<defs><linearGradient id="'+ot+'" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="'+Z+'" stop-opacity=".26"/><stop offset="1" stop-color="'+Z+'" stop-opacity="0"/></linearGradient></defs><path d="'+Q+"L"+a(it[0])+","+a(y+E)+"L"+a(Y[0][0])+","+a(y+E)+'Z" fill="url(#'+ot+')"'+ut(t,"bzc-a")+"/>"}var H=c?c(G):"none";if(x+=ye(t,Q,Z,G,d?Xt[d(G)]:""),H!=="none")x+=be(t,H,N,w,g,Z,M,G);else{var et=Y[Y.length-1];x+='<circle cx="'+a(et[0])+'" cy="'+a(et[1])+'" r="4" fill="'+Z+'" stroke="'+M+'" stroke-width="2"/>'}j(t.showValues)&&N.forEach(function(rt,lt){x+=C(w(lt),g(rt)-8,m(rt,t,!0),D(e,9,'text-anchor="middle"'))})}),x+ve(t,e,S,s,function(N){var G=n[N]||"#"+(N+1);return r.forEach(function(Z,Y){N<Z.length&&(G+=`
3
+ `+(u?V(Y)+": ":"")+m(Z[N],t))}),G})},{stat:v,summary:r.length+" series over "+s+" points"})}Me.table=function(t){return le(t)};dt("line",Me);gt("line");function ke(t,e){for(var r=Et(t.values),l=$(t.series),n=$(t.labels),i=ht(t,e),o=W(t.height,170),s=r.length,f=Math.max.apply(null,[0].concat(r.map(function(H){return H.length}))),u=s>1?t.stacked==="percent"?"percent":j(t.stacked)?"stack":"":"",v=_t(t,n),d=s>1||l.length>0,c=function(H){return l[H]||"Series "+(H+1)},M=function(H,et){return et<r[H].length?r[H][et]:0},k=r.map(function(){return[]}),V=r.map(function(){return[]}),F=[],L=[],b=0;b<f;b++){for(var p=0,R=0,S=0,x=0,w=0;w<s;w++)S+=M(w,b),x+=Math.max(0,M(w,b));for(F.push(S),L.push(x),w=0;w<s;w++){var g=u==="percent"?x?Math.max(0,M(w,b))/x*100:0:M(w,b);u?g>=0?(k[w].push(p),p+=g,V[w].push(p)):(k[w].push(R),R+=g,V[w].push(R)):(k[w].push(0),V[w].push(g))}}for(var h=[].concat.apply([],k.concat(V)),O=Nt(t.dash,Object.keys(Xt),"solid"),y=Nt(t.markers,re,"none"),E=s>1?Nt(t.patterns,ae,"solid"):null,N=t.background||e.tile,G="",Z=[],Y=0;E&&Y<s;Y++)if(E(Y)!=="solid"){var Q=Vt("g");G+=ie(Q,E(Y),i[Y%i.length],N),Z[Y]="url(#"+Q+")"}var ot=E?function(H,et,rt){return'<rect x="'+a(et)+'" y="'+a(rt+1)+'" width="10" height="10" rx="2" fill="'+(Z[H]||i[H%i.length])+'"/>'}:(O||y)&&xe(i,O,y,N),it=function(H,et){return L[et]?Math.round(Math.max(0,M(H,et))/L[et]*100):0};return pt(t,e,o,function(H,et,rt,lt){if(!f)return mt(e,H,et,rt,lt);var st=ge(t,e,{n:f,names:d?r.map(function(K,A){return c(A)}):null,pal:i,key:ot,kw:ot&&(E?15:24),lo:Math.min.apply(null,h),hi:Math.max.apply(null,h),zero:!0,labels:n,notes:v,tick:u==="percent"?function(K){return m(K,{lang:t.lang},!0)+"%"}:function(K){return m(K,t,!0)}},H,et,rt,lt),z=(G?"<defs>"+G+"</defs>":"")+st.svg,U=st.X,B=st.Y,ft=function(K){var A=K.map(function(_,I){return[U(I),B(_)]});return A.length===1?[[st.px,A[0][1]],[st.px+st.pw,A[0][1]]]:A},J=j(t.straight),Mt=u?".8":".22",vt=function(K){return u?V[K]:r[K]};return r.forEach(function(K,A){var _=ft(vt(A)),I=ft(u?k[A]:vt(A).map(function(){return 0})).reverse();z+='<path d="'+Yt(_,J)+Yt(I,J).replace(/^M/,"L")+'Z" fill="'+(Z[A]||i[A%i.length])+'" fill-opacity="'+Mt+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(A*.1)+'s"':"")+"/>"}),r.forEach(function(K,A){var _=i[A%i.length],I=vt(A),P=ft(I),q=y?y(A):"none";z+=ye(t,Yt(P,J),_,A,O?Xt[O(A)]:""),q!=="none"?z+=be(t,q,I,U,B,_,N,A):u||(z+='<circle cx="'+a(P[P.length-1][0])+'" cy="'+a(P[P.length-1][1])+'" r="4" fill="'+_+'" stroke="'+N+'" stroke-width="2"/>'),j(t.showValues)&&!u&&I.forEach(function(tt,at){z+=C(U(at),B(tt)-8,m(tt,t,!0),D(e,9,'text-anchor="middle"'))})}),j(t.showValues)&&u==="stack"&&F.forEach(function(K,A){var _=Math.max.apply(null,V.map(function(I){return I[A]}).concat([0]));z+=C(U(A),B(_)-8,m(K,t,!0),D(e,9,'text-anchor="middle"'))}),z+ve(t,e,st,f,function(K){var A=n[K]||"#"+(K+1);return r.forEach(function(_,I){K<_.length&&(A+=`
4
+ `+(d?c(I)+": ":"")+m(_[K],t)+(u==="percent"?" ("+it(I,K)+"%)":""))}),A+(u?`
5
+ Total: `+m(F[K],t):"")})},{stat:Ot(u?F:r[0]||[],t,""),summary:s+" series "+(u==="percent"?"as shares of each total":u?"stacked":"filled")+" over "+f+" points"})}ke.table=function(t){var e=Et(t.values);return le(t,e.length>1&&(t.stacked==="percent"||j(t.stacked)))};dt("area",ke);gt("area");var je=40,tr=24;function we(t,e){for(var r=Et(t.values),l=$(t.series),n=$(t.labels),i=ht(t,e),o=r.length,s=Math.max.apply(null,[0].concat(r.map(function(z){return z.length}))),f=o>1,u=j(t.horizontal),v=f&&j(t.stacked),d=!f&&$(t.color).filter(Boolean).length>1,c=r[0]||[],M=[].concat.apply([],r),k=function(z,U){return r.reduce(function(B,ft){return z<ft.length&&ft[z]*U>0?B+ft[z]:B},0)},V=[],F=[],L=[],b=0;v&&b<s;b++)F.push(k(b,1)),L.push(k(b,-1)),V.push(F[b]+L[b]);for(var p=v?F.concat(L):M,R=p.length?Math.max.apply(null,p):0,S=function(z){return l[z]||"Series "+(z+1)},x=f?Nt(t.patterns,ae,"solid"):null,w="",g=[],h=0;x&&h<o;h++)if(x(h)!=="solid"){var O=Vt("g");w+=ie(O,x(h),i[h%i.length],t.background||e.tile),g[h]="url(#"+O+")"}var y=function(z,U){return f?g[z]||i[z%i.length]:d?i[U%i.length]:i[0]},E=x&&function(z,U,B){return'<rect x="'+a(U)+'" y="'+a(B+1)+'" width="10" height="10" rx="2" fill="'+y(z)+'"/>'},N=function(z){return f||d||t.highlight==="none"||z===R?1:.5},G=function(z){return n[z]||"#"+(z+1)},Z=function(z){return f?G(z)+r.map(function(U,B){return z<U.length?`
6
+ `+S(B)+": "+m(U[z],t):""}).join("")+(v?`
7
+ Total: `+m(V[z],t):""):G(z)+": "+m(c[z],t)},Y=qt(t),Q=f||l.length?Ut(r.map(function(z,U){return S(U)}),i,e,0,0,Y.w,E,E&&15).height:0,ot=v?1:o,it=f&&!v,H=it?10:14,et=3,rt=u?ot*H+(ot-1)*et+(it?14:16):0,lt=u?Q+Math.max(1,s)*rt-6:W(t.height,140)+Q,st=c.indexOf(Math.max.apply(null,c.length?c:[0]));return pt(t,e,lt,function(z,U,B,ft){if(!s)return mt(e,z,U,B,ft);var J=w?"<defs>"+w+"</defs>":"",Mt=U;Q&&(J+=Ut(r.map(function(X,xt){return S(xt)}),i,e,z,U,B,E,E&&15).svg,Mt+=Q);var vt=Math.min(0,Math.min.apply(null,p)),K=Math.max(0,R);if(T(t.goal)&&(vt=Math.min(vt,+t.goal),K=Math.max(K,+t.goal)),K===vt&&(K=vt+1),u){for(var A=n.length?Math.min(B*.4,Math.max.apply(null,n.map(function(X){return wt(X,12)}))+10):0,_=v?[V.map(function(X){return m(X,t)})]:r.map(function(X){return X.map(function(xt){return m(xt,t)})}),I=Math.max.apply(null,[].concat.apply([],_).map(function(X){return wt(X,it?10:11,!0)}))+10,P=z+A,q=B-A-I,tt=Math.max(K,0)||1,at=0;at<s;at++){var Ct=Mt+at*rt;n[at]!=null&&(J+=C(z,Ct+(rt-6)/2+4,Kt(n[at],Math.floor(A/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')),v?(J+=lr(at,P,Ct+5,q,tt),J+=C(z+B,Ct+5+H/2+3.8,_[0][at],'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"')):r.forEach(function(X,xt){if(!(at>=X.length)){var kt=X[at],Rt=Ct+(f?2:5)+xt*(H+et),Ht=Math.max(0,kt)/tt*q;f||(J+='<rect x="'+a(P)+'" y="'+a(Rt)+'" width="'+a(q)+'" height="'+H+'" rx="'+H/2+'" fill="'+e.grid+'" fill-opacity=".6"/>'),Ht>0&&(J+='<rect x="'+a(P)+'" y="'+a(Rt)+'" width="'+a(Math.max(H,Ht))+'" height="'+H+'" rx="'+H/2+'" fill="'+y(xt,at)+'" fill-opacity="'+N(kt)+'"'+ut(t,"bzc-gx",at*.06+xt*.03)+"/>"),J+=C(z+B,Rt+H/2+3.8,_[xt][at],'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="'+(f?10:11)+'" font-weight="600"')}}),J+=zt(z,Ct,B,rt-6,Z(at))}if(T(t.goal)&&+t.goal>0){var De=P+ +t.goal/tt*q;J+='<line x1="'+a(De)+'" x2="'+a(De)+'" y1="'+a(Mt-2)+'" y2="'+a(U+ft+2)+'" stroke="'+e.fg+'" stroke-opacity=".55" stroke-dasharray="3 3"/>'}return J}function lr(X,xt,kt,Rt,Ht){var Pt='<rect x="'+a(xt)+'" y="'+a(kt)+'" width="'+a(Rt)+'" height="'+H+'" rx="'+H/2+'" fill="'+e.grid+'" fill-opacity=".6"/>',te=0;return r.forEach(function(ce,Dt){var ee=X<ce.length?ce[X]:0,$t=Math.max(0,ee)/Ht*Rt;if(!($t<=0)){var Zt=te>0?1.5:0;Pt+='<rect x="'+a(xt+te+Zt)+'" y="'+a(kt)+'" width="'+a(Math.max(2,$t-Zt))+'" height="'+H+'" rx="'+a(Math.min(3,$t/2))+'" fill="'+y(Dt,X)+'"'+ut(t,"bzc-gx",X*.06+Dt*.03)+"/>",te+=$t}}),Pt}var $e=n.length?Math.max.apply(null,n.map(function(X){return wt(X,10,!0)})):0,Ce=n.length?Math.max(1,Math.ceil(s*($e+8)/B)):1,oe=j(t.angleLabels)&&Ce>1,Ue=je*Math.PI/180,Ye=function(X){return oe?Kt(X,tr):X};if(oe){var or=B/s,jt=0;n.forEach(function(X,xt){jt=Math.max(jt,Math.cos(Ue)*wt(Ye(X),10,!0)+4-(xt+.5)*or)}),jt=Math.min(jt,B*.25),z+=jt,B-=jt,Ce=1}var _e=j(t.showValues)&&vt<0?14:0,sr=oe?Math.ceil(Math.sin(Ue)*Math.min($e,wt("x".repeat(tr),10,!0)))+18:20,fr=(n.length?sr:2)+_e,Ie=j(t.showValues)?16:4,Fe=ft-(Mt-U)-fr-Ie,Xe=Mt+Ie,Gt=function(X){return Xe+Fe-(X-vt)/(K-vt)*Fe},se=B/s,fe=Math.min(se*(it?.78:.62),it?o*30:56),We=it?Math.min(3,fe/o*.15):0,Wt=v?fe:(fe-We*(o-1))/o,he=Gt(0);J+='<line x1="'+z+'" x2="'+(z+B)+'" y1="'+a(he)+'" y2="'+a(he)+'" stroke="'+e.grid+'"/>';for(var Tt=0;Tt<s;Tt++){var Ne=z+Tt*se+(se-fe)/2;if(v?J+=cr(Tt,Ne):r.forEach(function(X,xt){if(!(Tt>=X.length)){var kt=X[Tt],Rt=Ne+xt*(Wt+We),Ht=Math.min(Gt(kt),he),Pt=Math.abs(Gt(kt)-he);Pt>.5&&(J+='<rect x="'+a(Rt)+'" y="'+a(Ht)+'" width="'+a(Wt)+'" height="'+a(Pt)+'" rx="'+a(Math.min(6,Wt/2,Pt/2))+'" fill="'+y(xt,Tt)+'" fill-opacity="'+N(kt)+'"'+ut(t,kt<0?"bzc-gn":"bzc-g",Tt*.05+xt*.03)+"/>"),j(t.showValues)&&(J+=C(Rt+Wt/2,kt<0?Gt(kt)+12:Gt(kt)-5,m(kt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+St+'" font-size="'+(f?9:10)+'" font-weight="600"'))}}),n[Tt]!=null&&Tt%Ce===0){var Re=Ne+fe/2,Ve=Xe+Fe+_e+(oe?12:15);J+=oe?C(Re,Ve,Ye(n[Tt]),D(e,10,'text-anchor="end" transform="rotate(-'+je+" "+a(Re)+" "+a(Ve)+')"')):C(Re,Ve,n[Tt],D(e,10,'text-anchor="middle"'))}J+=zt(z+Tt*se,Mt,se,ft-(Mt-U),Z(Tt))}return T(t.goal)&&(J+=It(t,e,z,z+B,Gt(+t.goal))),J;function cr(X,xt){var kt="",Rt=0,Ht=0;if(r.forEach(function(te,ce){var Dt=X<te.length?te[X]:0;if(Dt){var ee=Dt>0?Rt:Ht,$t=ee+Dt;Dt>0?Rt=$t:Ht=$t;var Zt=Gt(Math.max(ee,$t)),Be=Gt(Math.min(ee,$t)),ue=Be-Zt,Ze=ee!==0?Math.min(1.5,ue/2):0;Dt>0?Be-=Ze:Zt+=Ze,ue=Be-Zt,ue>.5&&(kt+='<rect x="'+a(xt)+'" y="'+a(Zt)+'" width="'+a(Wt)+'" height="'+a(ue)+'" rx="'+a(Math.min(3,Wt/2,ue/2))+'" fill="'+y(ce,X)+'"'+ut(t,Dt<0?"bzc-gn":"bzc-g",X*.05+ce*.03)+"/>")}}),j(t.showValues)){var Pt=V[X];kt+=C(xt+Wt/2,Pt<0?Gt(L[X])+12:Gt(F[X])-5,m(Pt,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+St+'" font-size="10" font-weight="600"')}return kt}},{stat:Ot(c,t,""),summary:s?v?o+" series stacked across "+s+" groups":f?o+" series across "+s+" groups":"highest "+(n[st]||"")+" "+m(c[st],t):"no data"})}we.table=function(t){return le(t,Et(t.values).length>1&&j(t.stacked))};dt("bars",we);gt("bars");function Se(t,e){for(var r=rr(t),l=$(t.series),n=ht(t,e),i=W(t.height,190),o=r?r.S:[],s=o.length,f=s>1||l.length>0,u=j(t.percent),v=function(h){return l[h]||"Series "+(h+1)},d=Object.assign({},t,{decimals:T(t.decimals)?t.decimals:r?r.dp:0}),c=function(h){return m(r.edge(h),d)+" to "+m(r.edge(h+1),d)},M=function(h,O){return Math.round(r.counts[h][O]/o[h].length*100)},k=function(h,O){return u?r.counts[h][O]/o[h].length*100:r.counts[h][O]},V=$(t.mark).filter(function(h){return h==="mean"||h==="median"}),F=s>1?Nt(t.patterns,ae,"solid"):null,L="",b=[],p=0;F&&p<s;p++)if(F(p)!=="solid"){var R=Vt("g");L+=ie(R,F(p),n[p%n.length],t.background||e.tile),b[p]="url(#"+R+")"}var S=F&&function(h,O,y){return'<rect x="'+a(O)+'" y="'+a(y+1)+'" width="10" height="10" rx="2" fill="'+(b[h]||n[h%n.length])+'"/>'},x=0,w=0;if(r){for(var g=0;g<r.count;g++)er(r,g)>er(r,x)&&(x=g);o.forEach(function(h){w+=h.length})}return pt(t,e,i,function(h,O,y,E){if(!r)return mt(e,h,O,y,E);var N=L?"<defs>"+L+"</defs>":"",G=O;if(f){var Z=Ut(o.map(function(P,q){return v(q)}),n,e,h,G,y,S,S&&15);N+=Z.svg,G+=Z.height}var Y=0;o.forEach(function(P,q){for(var tt=0;tt<r.count;tt++)Y=Math.max(Y,k(q,tt))});var Q=Jt(0,Y||1,4),ot=Q.ticks.map(function(P){return m(P,{lang:t.lang},!0)+(u?"%":"")}),it=Math.max.apply(null,ot.map(function(P){return wt(P,10,!0)}))+10,H=h+it,et=y-it,rt=E-(G-O)-20,lt=et/r.count,st=function(P){return H+P*lt},z=function(P){return G+rt-(P-Q.lo)/(Q.hi-Q.lo)*rt};Q.ticks.forEach(function(P,q){var tt=z(P);N+='<line x1="'+a(H)+'" x2="'+a(H+et)+'" y1="'+a(tt)+'" y2="'+a(tt)+'" stroke="'+e.grid+'"'+(P===0?"":' stroke-dasharray="2 4"')+"/>"+C(H-8,tt+3.5,ot[q],D(e,10,'text-anchor="end"'))});for(var U=[],B=0;B<=r.count;B++)U.push(m(r.edge(B),d,!0));var ft=Math.max(1,Math.ceil((Math.max.apply(null,U.map(function(P){return wt(P,10,!0)}))*1.5+8)/lt));for(B=0;B<=r.count;B+=ft)N+=C(st(B),G+rt+15,U[B],D(e,10,'text-anchor="'+(B===0?"start":B===r.count?"end":"middle")+'"'));o.forEach(function(P,q){for(var tt=0;tt<r.count;tt++){var at=k(q,tt);if(at){var Ct=z(at);N+='<rect x="'+a(st(tt)+.5)+'" y="'+a(Ct)+'" width="'+a(Math.max(1,lt-1))+'" height="'+a(G+rt-Ct)+'" fill="'+(b[q]||n[q%n.length])+'"'+(f?' fill-opacity=".55"':"")+ut(t,"bzc-g",Math.min(.6,tt*.03))+"/>"}}});var J=r.edge(0),Mt=r.edge(r.count)-J,vt=[];if(o.forEach(function(P,q){V.forEach(function(tt){var at=tt==="mean"?Lr(P):Ar(P);vt.push({x:H+(at-J)/Mt*et,c:f?n[q%n.length]:e.fg,t:(f?v(q)+" ":"")+tt+" "+m(at,t)})})}),vt.length){var K=vt.map(function(P){return P.x}),A=(Math.min.apply(null,K)+Math.max.apply(null,K))/2>H+et/2,_=A?Math.min.apply(null,K)-5:Math.max.apply(null,K)+5;vt.forEach(function(P,q){N+='<line x1="'+a(P.x)+'" x2="'+a(P.x)+'" y1="'+a(G)+'" y2="'+a(G+rt)+'" stroke="'+P.c+'" stroke-width="1.5" stroke-dasharray="4 3"/>'+C(_,G+9+q*12,P.t,D(e,10,'text-anchor="'+(A?"end":"start")+'"',f?P.c:e.fg))})}for(g=0;g<r.count;g++){var I=c(g);o.forEach(function(P,q){I+=`
8
+ `+(f?v(q)+": ":"")+r.counts[q][g]+" ("+M(q,g)+"%)"}),N+=zt(st(g),G,lt,rt,I)}return N},{summary:r?(f?s+" series, ":"")+w+" values in "+r.count+" ranges from "+m(r.edge(0),d)+" to "+m(r.edge(r.count),d)+", most in "+c(x):"no data"})}Se.table=function(t){var e=rr(t),r=$(t.series);if(!e)return{head:["Range","Count"],rows:[]};for(var l=e.S.length>1||r.length>0,n=Object.assign({},t,{decimals:T(t.decimals)?t.decimals:e.dp}),i=[],o=0;o<e.count;o++){var s=[m(e.edge(o),n)+" to "+m(e.edge(o+1),n)];l?e.S.forEach(function(f,u){s.push(String(e.counts[u][o]))}):s.push(String(e.counts[0][o]),Math.round(e.counts[0][o]/e.S[0].length*100)+"%"),i.push(s)}return{head:["Range"].concat(l?e.S.map(function(f,u){return r[u]||"Series "+(u+1)}):["Count","Share"]),rows:i}};function zr(t){var e=Math.floor(Math.log10(t)),r=+("1e"+e),l=t/r,n=l<1.4142?1:l<2.2361?2:l<3.5355?2.5:l<7.0711?5:10;return{w:n*r,dp:Math.max(0,n===10?-e-1:-e)+(n===2.5?1:0)}}function rr(t){var e=Et(t.values),r=[].concat.apply([],e);if(!r.length)return null;var l=Math.min.apply(null,r),n=Math.max.apply(null,r),i=W(t.binWidth,0),o,s;if(i>0&&(n-l)/i<=200){var f=String(t.binWidth),u=f.indexOf(".");o=u<0?0:Math.min(6,f.length-u-1)}else{var v=W(t.bins,0)>0?Math.round(W(t.bins,0)):Math.ceil(Math.log2(r.length)+1);v=Math.min(Math.max(v,1),50),s=zr(n>l?(n-l)/v:Math.abs(l)||1),i=s.w,o=s.dp}for(var d=Math.floor(l/i),c=function(V){return Number(((d+V)*i).toFixed(o+3))};c(0)>l;)d--;for(var M=Math.max(1,Math.ceil((n-c(0))/i));M>1&&c(M-1)>=n;)M--;for(;c(M)<n;)M++;var k=e.map(function(V){for(var F=[],L=0;L<M;L++)F.push(0);return V.forEach(function(b){for(var p=Math.min(M-1,Math.max(0,Math.floor((b-c(0))/i)));p>0&&b<c(p);)p--;for(;p<M-1&&b>=c(p+1);)p++;F[p]++}),F});return{S:e,edge:c,count:M,counts:k,dp:o}}function er(t,e){var r=0;return t.counts.forEach(function(l){r+=l[e]}),r}function Lr(t){var e=0;return t.forEach(function(r){e+=r}),e/t.length}function Ar(t){var e=t.slice().sort(function(l,n){return l-n}),r=Math.floor(e.length/2);return e.length%2?e[r]:(e[r-1]+e[r])/2}dt("histogram",Se);gt("histogram");function Or(t,e){var r=Math.min(t.length,e.length);if(r<2)return null;var l=0,n=0,i;for(i=0;i<r;i++)l+=t[i],n+=e[i];l/=r,n/=r;var o=0,s=0,f=0;for(i=0;i<r;i++)o+=(t[i]-l)*(t[i]-l),s+=(e[i]-n)*(e[i]-n),f+=(t[i]-l)*(e[i]-n);if(!o)return null;var u=f/o;return{slope:u,intercept:n-u*l,r:s?f/Math.sqrt(o*s):0}}function Ee(t,e){for(var r=Et(t.x),l=Et(t.y),n=$(t.series),i=$(t.labels),o=ht(t,e),s=[],f=0;f<Math.max(r.length,l.length);f++){var u=r[f]||[],v=l[f]||[],d=Math.min(u.length,v.length);s.push({xs:u.slice(0,d),ys:v.slice(0,d)})}s=s.filter(function(w){return w.xs.length});var c=s.reduce(function(w,g){return w+g.xs.length},0),M=W(t.height,210),k=s.length>1||n.length>0,V=j(t.trend),F=function(w){return n[w]||"Group "+(w+1)},L={decimals:t.decimals,compact:t.compact,lang:t.lang},b=_t(t,i),p=Nt(t.markers,re,"circle"),R=t.background||e.tile,S=function(w){var g=p?p(w):"circle";return g==="none"?"circle":g},x=p&&function(w,g,h){return ne(S(w),g+4,h+6,4,' fill="'+o[w%o.length]+'"')};return pt(t,e,M,function(w,g,h,O){if(!c)return mt(e,w,g,h,O);var y="",E=g;if(k){var N=Ut(s.map(function(A,_){return F(_)}),o,e,w,E,h,x);y+=N.svg,E+=N.height}var G=[].concat.apply([],s.map(function(A){return A.xs})),Z=[].concat.apply([],s.map(function(A){return A.ys})),Y=Math.min.apply(null,Z),Q=Math.max.apply(null,Z);T(t.goal)&&(Y=Math.min(Y,+t.goal),Q=Math.max(Q,+t.goal)),j(t.zero)&&(Y=Math.min(0,Y),Q=Math.max(0,Q));var ot=Jt(Y,Q,4),it=Jt(Math.min.apply(null,G),Math.max.apply(null,G),5),H=ot.ticks.map(function(A){return m(A,t,!0)}),et=Je(H)+(T(t.yLabel)?14:0),rt=20+(T(t.xLabel)?16:0),lt=w+et,st=h-et,z=O-(E-g)-rt,U=function(A){return lt+6+(A-it.lo)/(it.hi-it.lo)*(st-12)},B=function(A){return E+6+z-6-(A-ot.lo)/(ot.hi-ot.lo)*(z-6)};ot.ticks.forEach(function(A,_){var I=B(A);y+='<line x1="'+a(lt)+'" x2="'+a(lt+st)+'" y1="'+a(I)+'" y2="'+a(I)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+C(lt-8,I+3.5,H[_],D(e,10,'text-anchor="end"'))});var ft=Math.max(1,Math.ceil(it.ticks.length*44/st));if(it.ticks.forEach(function(A,_){if(!(_%ft)){var I=U(A);y+='<line x1="'+a(I)+'" x2="'+a(I)+'" y1="'+a(E)+'" y2="'+a(E+z)+'" stroke="'+e.grid+'" stroke-dasharray="2 4"/>'+C(I,E+z+15,m(A,L,!0),D(e,10,'text-anchor="middle"'))}}),T(t.xLabel)&&(y+=C(lt+st/2,E+z+32,t.xLabel,D(e,10,'text-anchor="middle" font-weight="600"'))),T(t.yLabel)){var J=E+z/2;y+='<text x="'+a(w+4)+'" y="'+a(J)+'" transform="rotate(-90 '+a(w+4)+" "+a(J)+')" text-anchor="middle" '+D(e,10,'font-weight="600"')+' dominant-baseline="hanging">'+String(t.yLabel).replace(/[&<>"]/g,function(A){return{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"}[A]})+"</text>"}T(t.goal)&&(y+=It(t,e,lt,lt+st,B(+t.goal))),V&&s.forEach(function(A,_){var I=Or(A.xs,A.ys);if(I){var P=Math.min.apply(null,A.xs),q=Math.max.apply(null,A.xs),tt=I.slope*P+I.intercept,at=I.slope*q+I.intercept,Ct=o[_%o.length];y+='<line x1="'+a(U(P))+'" y1="'+a(nt(B(tt),E,E+z))+'" x2="'+a(U(q))+'" y2="'+a(nt(B(at),E,E+z))+'" stroke="'+Ct+'" stroke-width="2" stroke-dasharray="6 4" stroke-linecap="round" stroke-opacity=".9"/>',y+=C(Math.min(U(q),lt+st)-2,nt(B(at),E+10,E+z)-7,"r = "+I.r.toFixed(2),D(e,10,'text-anchor="end" font-weight="600"',Ct))}});var Mt=0,vt=c>150?3:4.5;s.forEach(function(A,_){var I=o[_%o.length];A.xs.forEach(function(P,q){var tt=U(P),at=B(A.ys[q]),Ct=(i[Mt]?i[Mt]+`
9
+ `:k?F(_)+`
10
+ `:"")+(T(t.xLabel)?t.xLabel:"x")+": "+m(P,L)+`
11
+ `+(T(t.yLabel)?t.yLabel:"y")+": "+m(A.ys[q],t);y+=ne(S(_),tt,at,vt,' fill="'+I+'" fill-opacity=".85" stroke="'+R+'" stroke-width="1.5"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Math.min(.8,Mt*.012))+'s"':"")),y+=zt(tt-8,at-8,16,16,Ct),Mt++})});var K=[];return s.forEach(function(A){A.xs.forEach(function(_,I){K.push([U(_),B(A.ys[I])])})}),b.forEach(function(A){var _=K[A.i];_&&(y+='<circle cx="'+a(_[0])+'" cy="'+a(_[1])+'" r="'+(vt+4)+'" fill="none" stroke="'+e.fg+'" stroke-width="1.5"/>'+C(nt(_[0],lt+30,lt+st-30),_[1]-vt-9,A.text,D(e,10,'text-anchor="middle"',e.fg)))}),y},{summary:c+" points"+(k?" in "+s.length+" groups":"")})}Ee.table=function(t){var e=Et(t.x),r=Et(t.y),l=$(t.series),n=$(t.labels),i=e.length>1||l.length>0,o={decimals:t.decimals,compact:t.compact,lang:t.lang},s=[],f=0;return e.forEach(function(u,v){for(var d=r[v]||[],c=0;c<Math.min(u.length,d.length);c++,f++)s.push([n[f]||"#"+(f+1)].concat(i?[l[v]||"Group "+(v+1)]:[],[m(u[c],o),m(d[c],t)]))}),{head:["Point"].concat(i?["Group"]:[],[T(t.xLabel)?t.xLabel:"x",T(t.yLabel)?t.yLabel:"y"]),rows:s}};dt("scatter",Ee);gt("scatter");function ze(t,e){var r=ct(t.values),l=$(t.labels),n=ht(t,e),i=W(t.max,100)||100,o=W(t.height,140),s=!T(t.prefix)&&!T(t.suffix)&&i===100,f=function(v){return m(v,t)+(s?"%":"")},u=Ot(r,t,"");return pt(t,e,o,function(v,d,c,M){if(!r.length)return mt(e,v,d,c,M);var k="",V=r.length===1,F=Math.min(M,V?c:c*.55),L=V?v+c/2:v+F/2,b=d+M/2,p=V?F*.12:nt(F*.42/(r.length*1.35),5,16),R=p*.38;if(r.forEach(function(g,h){var O=F/2-p/2-h*(p+R);if(!(O<=p/2)){var y=nt(g/i*100,0,100),E=n[h%n.length];k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O)+'" fill="none" stroke="'+E+'" stroke-opacity=".16" stroke-width="'+a(p)+'"/>',y>0&&(k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O)+'" fill="none" stroke="'+E+'" stroke-width="'+a(p)+'" stroke-linecap="round" pathLength="100" transform="rotate(-90 '+a(L)+" "+a(b)+')" style="stroke-dasharray:'+a(y)+" 100"+(t.animate?";animation-delay:"+h*.12+"s":"")+'"'+(t.animate?' class="bzc-s"':"")+"/>"),k+='<circle cx="'+a(L)+'" cy="'+a(b)+'" r="'+a(O+p/2)+'" fill="#000" fill-opacity="0" class="bzc-hit" data-tip="'+bt((l[h]||"#"+(h+1))+": "+f(g)+(s?"":" of "+m(i,t)))+'"/>'}}),V)k+=C(L,b+F*.08,f(r[0]),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(F*.22)+'" font-weight="800"'),l[0]&&(k+=C(L,b+F*.08+16,l[0],D(e,10,'text-anchor="middle"')));else{var S=v+F+22,x=Math.min(26,M/r.length),w=b-x*r.length/2;r.forEach(function(g,h){var O=w+h*x+x/2;k+='<circle cx="'+a(S+4)+'" cy="'+a(O)+'" r="4" fill="'+n[h%n.length]+'"/>'+C(S+14,O+4,Kt(l[h]||"#"+(h+1),Math.floor((v+c-S-60)/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')+C(v+c,O+4,f(g),'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"')})}return k},{stat:u,summary:r.map(function(v,d){return(l[d]?l[d]+" ":"")+f(v)}).join(", ")})}ze.table=function(t){var e=$(t.labels),r=W(t.max,100)||100,l=!T(t.prefix)&&!T(t.suffix)&&r===100;return{head:["Label","Value"],rows:ct(t.values).map(function(n,i){return[e[i]||"#"+(i+1),m(n,t)+(l?"%":" of "+m(r,t))]})}};dt("ring",ze);gt("ring");function Le(t,e){var r=ct(t.values).map(function(c){return Math.max(0,c)}),l=$(t.labels),n=ht(t,e),i=r.slice(),o=l.slice();if(i.length>6){var s=i.map(function(c,M){return M}).sort(function(c,M){return r[M]-r[c]}),f=s.slice(0,5).sort(function(c,M){return c-M});i=f.map(function(c){return r[c]}),o=f.map(function(c){return l[c]||"#"+(c+1)}),i.push(Bt(s.slice(5).map(function(c){return r[c]}))),o.push("Other")}var u=Bt(i),v=W(t.height,150),d=Ot(i,t,"");return pt(t,e,v,function(c,M,k,V){if(!u)return mt(e,c,M,k,V);var F="",L=Math.min(V,k*.5),b=c+L/2,p=M+V/2,R=L*.16,S=(L-R)/2,x=0,w=i.filter(Boolean).length>1?.9:0;i.forEach(function(y,E){var N=y/u*100;if(!(N<=0)){var G=Math.max(.01,N-w);F+='<circle cx="'+a(b)+'" cy="'+a(p)+'" r="'+a(S)+'" fill="none" stroke="'+n[E%n.length]+'" stroke-width="'+a(R)+'" pathLength="100" stroke-dasharray="'+a(G)+" "+a(100-G)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(b)+" "+a(p)+')"'+ut(t,"bzc-a",E*.08)+"/>",x+=N}}),F+=C(b,p+2,m(u,t,!0),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(L*.17)+'" font-weight="800"'),F+=C(b,p+2+14,(T(t.centerLabel)?t.centerLabel:"Total").toUpperCase(),D(e,9,'text-anchor="middle" letter-spacing="1"'));var g=c+L+22,h=Math.min(24,V/i.length),O=p-h*i.length/2;return i.forEach(function(y,E){var N=O+E*h+h/2,G=Math.round(y/u*100),Z=(o[E]||"#"+(E+1))+": "+m(y,t)+" ("+G+"%)";F+='<circle cx="'+a(g+4)+'" cy="'+a(N)+'" r="4" fill="'+n[E%n.length]+'"/>'+C(g+14,N+4,Kt(o[E]||"#"+(E+1),Math.floor((c+k-g-50)/6.7)),'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')+C(c+k,N+4,G+"%",'text-anchor="end" fill="'+e.muted+'" font-family="'+St+'" font-size="11" font-weight="600"')+zt(g,N-h/2,c+k-g,h,Z)}),x=0,i.forEach(function(y,E){var N=y/u*100;N<=0||(F+='<circle cx="'+a(b)+'" cy="'+a(p)+'" r="'+a(S)+'" fill="none" stroke="#000" stroke-opacity="0" stroke-width="'+a(R)+'" pathLength="100" stroke-dasharray="'+a(N)+" "+a(100-N)+'" stroke-dashoffset="'+a(-x)+'" transform="rotate(-90 '+a(b)+" "+a(p)+')" class="bzc-hit" data-skip="" data-tip="'+bt((o[E]||"#"+(E+1))+": "+m(y,t)+" ("+Math.round(N)+"%)")+'"/>',x+=N)}),F},{stat:d,summary:"total "+m(u,t)+" across "+i.length+" parts"})}Le.table=function(t){var e=ct(t.values).map(function(n){return Math.max(0,n)}),r=$(t.labels),l=Bt(e);return{head:["Label","Value","Share"],rows:e.map(function(n,i){return[r[i]||"#"+(i+1),m(n,t),(l?Math.round(n/l*100):0)+"%"]})}};dt("donut",Le);gt("donut");function Ae(t,e){var r=ct(t.values),l=r.length?r[0]:W(t.value,NaN),n=$(t.labels),i=W(t.min,0),o=W(t.max,100),s=W(t.height,130);o===i&&(o=i+1);var f=ct(t.zones),u=ht(t,e),v=$(t.color).filter(Boolean).length>1?u:[e.up,e.palette[3],e.down],d=u[0];if(f.length&&isFinite(l)){for(var c=0;c<f.length&&l>=f[c];)c++;d=v[Math.min(c,v.length-1)]}var M=!T(t.prefix)&&!T(t.suffix)&&i===0&&o===100,k=function(V){return m(V,t)+(M?"%":"")};return pt(t,e,s,function(V,F,L,b){if(!isFinite(l))return mt(e,V,F,L,b);var p=Math.min(L/2,b-22),R=p*.16,S=p-R/2,x=V+L/2,w=F+p,g=nt((l-i)/(o-i),0,1),h=function(Y,Q){var ot=Math.PI*(1-Y);return[x+Q*Math.cos(ot),w-Q*Math.sin(ot)]},O="M"+a(x-S)+","+a(w)+"A"+a(S)+","+a(S)+" 0 0 1 "+a(x+S)+","+a(w),y='<path d="'+O+'" fill="none" stroke="'+d+'" stroke-opacity=".16" stroke-width="'+a(R)+'" stroke-linecap="round"/>';f.length&&f.forEach(function(Y){var Q=nt((Y-i)/(o-i),0,1),ot=h(Q,S-R/2-3),it=h(Q,S-R/2-8);y+='<line x1="'+a(ot[0])+'" y1="'+a(ot[1])+'" x2="'+a(it[0])+'" y2="'+a(it[1])+'" stroke="'+e.muted+'" stroke-width="1.5"/>'}),g>0&&(y+='<path d="'+O+'" fill="none" stroke="'+d+'" stroke-width="'+a(R)+'" stroke-linecap="round" pathLength="100" style="stroke-dasharray:'+a(g*100)+' 100"'+ut(t,"bzc-s")+"/>");var E=h(g,S);if(y+='<circle cx="'+a(E[0])+'" cy="'+a(E[1])+'" r="'+a(R*.26)+'" fill="'+(t.background||e.tile)+'"'+ut(t,"bzc-a",.9)+"/>",T(t.goal)){var N=nt((+t.goal-i)/(o-i),0,1),G=h(N,S+R/2+4),Z=h(N,S-R/2-4);y+='<line x1="'+a(G[0])+'" y1="'+a(G[1])+'" x2="'+a(Z[0])+'" y2="'+a(Z[1])+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return y+=C(x,w-p*.12,k(l),'text-anchor="middle" fill="'+e.fg+'" font-family="'+yt+'" font-size="'+a(p*.34)+'" font-weight="800"'),n[0]&&(y+=C(x,w-p*.12+16,n[0],D(e,10,'text-anchor="middle"'))),y+=C(x-S,w+18,m(i,t,!0),D(e,10,'text-anchor="middle"'))+C(x+S,w+18,m(o,t,!0),D(e,10,'text-anchor="middle"')),y+=zt(x-p,w-p,p*2,p,(n[0]?n[0]+": ":"")+k(l)+" (range "+m(i,t)+" to "+m(o,t)+")"+(T(t.goal)?`
12
+ Goal: `+m(+t.goal,t):"")),y},{summary:isFinite(l)?k(l)+" on a scale of "+m(i,t)+" to "+m(o,t):"no data"})}Ae.table=function(t){var e=ct(t.values),r=e.length?e[0]:W(t.value,NaN),l=$(t.labels),n=W(t.min,0),i=W(t.max,100),o=!T(t.prefix)&&!T(t.suffix)&&n===0&&i===100;return isFinite(r)?{head:["Label","Value"],rows:[[l[0]||"Reading",m(r,t)+(o?"%":"")],["Lowest",m(n,t)],["Highest",m(i,t)]].concat(T(t.goal)?[["Goal",m(+t.goal,t)]]:[])}:{head:["Label","Value"],rows:[]}};dt("gauge",Ae);gt("gauge");function Oe(t,e){var r=ct(t.values).map(function(L){return Math.max(0,L)}),l=$(t.labels),n=ht(t,e),i=r.length===1,o=Bt(r),s=T(t.max)?W(t.max,100):i?100:o;s>0||(s=1);var f=!T(t.prefix)&&!T(t.suffix)&&s===100&&i,u=function(L){return m(L,t)+(f?"%":"")},v=qt(t),d=v.w,c=0,M=[];if(!i&&r.length){var k=0;c=1,r.forEach(function(L,b){var p=l[b]||"#"+(b+1),R=14+wt(p,12)+6+wt(m(L,t),11,!0)+18;k>0&&k+R>d&&(k=0,c++),M.push({x:k,row:c-1,l:p}),k+=R})}var V=36+(c?12+c*20:0),F=Ot(r,t,"");return pt(t,e,V,function(L,b,p,R){if(!r.length)return mt(e,L,b,p,R);var S="",x=b+22,w=Vt("c"),g=i?u(r[0])+(f?"":" of "+m(s,t)):m(o,t)+" of "+m(s,t);i&&l[0]&&(S+=C(L,b+11,l[0],'fill="'+e.fg+'" font-family="'+yt+'" font-size="12"')),S+=C(L+p,b+11,g,'text-anchor="end" fill="'+e.fg+'" font-family="'+St+'" font-size="11" font-weight="600"'),S+='<rect x="'+L+'" y="'+x+'" width="'+p+'" height="14" rx="7" fill="'+e.grid+'" fill-opacity=".7"/>',S+='<clipPath id="'+w+'"><rect x="'+L+'" y="'+x+'" width="'+p+'" height="14" rx="7"/></clipPath><g clip-path="url(#'+w+')"><g'+ut(t,"bzc-gx")+">";var h=0;if(r.forEach(function(y,E){var N=Math.min(y,Math.max(0,s-h))/s*p;N>0&&(S+='<rect x="'+a(L+h/s*p)+'" y="'+x+'" width="'+a(N)+'" height="14" fill="'+n[E%n.length]+'"/>'),E>0&&N>0&&(S+='<rect x="'+a(L+h/s*p-1)+'" y="'+x+'" width="2" height="14" fill="'+(t.background||e.tile)+'"/>'),h+=y}),S+="</g></g>",T(t.goal)){var O=L+nt(+t.goal/s,0,1)*p;S+='<line x1="'+a(O)+'" x2="'+a(O)+'" y1="'+(x-4)+'" y2="'+(x+18)+'" stroke="'+e.fg+'" stroke-width="2" stroke-linecap="round"/>'}return h=0,r.forEach(function(y,E){var N=Math.min(y,Math.max(0,s-h))/s*p;N>0&&(S+=zt(L+h/s*p,x-4,N,22,(l[E]||(i?"Progress":"#"+(E+1)))+": "+u(y)+(i?"":" ("+Math.round(y/s*100)+"%)"))),h+=y}),M.forEach(function(y,E){var N=L+y.x,G=x+14+12+y.row*20+8;S+='<circle cx="'+a(N+4)+'" cy="'+a(G)+'" r="4" fill="'+n[E%n.length]+'"/><text x="'+a(N+14)+'" y="'+a(G+4)+'" fill="'+e.fg+'" font-family="'+yt+'" font-size="12">'+bt(y.l)+'<tspan dx="6" fill="'+e.muted+'" font-family="'+St+'" font-size="11">'+bt(m(r[E],t))+"</tspan></text>"}),S},{stat:F,summary:i?u(r[0])+(f?"":" of "+m(s,t)):m(o,t)+" of "+m(s,t)})}Oe.table=function(t){var e=ct(t.values).map(function(o){return Math.max(0,o)}),r=$(t.labels),l=e.length===1,n=T(t.max)?W(t.max,100):l?100:Bt(e);n>0||(n=1);var i=!T(t.prefix)&&!T(t.suffix)&&n===100&&l;return l?{head:["Label","Value"],rows:[[r[0]||"Progress",m(e[0],t)+(i?"%":" of "+m(n,t))]]}:{head:["Label","Value","Share"],rows:e.map(function(o,s){return[r[s]||"#"+(s+1),m(o,t),Math.round(o/n*100)+"%"]})}};dt("progress",Oe);gt("progress");var ar={weekday:"short",day:"numeric",month:"short",year:"numeric"};function nr(t,e){if(T(t.start)&&/^\d{4}-\d{2}-\d{2}$/.test(String(t.start)))return new Date(String(t.start)+"T00:00:00Z");var r=new Date;return new Date(Date.UTC(r.getFullYear(),r.getMonth(),r.getDate())-Math.max(0,e-1)*864e5)}function ir(t,e){try{return new Intl.DateTimeFormat(t,Object.assign({timeZone:"UTC"},e))}catch{return new Intl.DateTimeFormat("en-GB",Object.assign({timeZone:"UTC"},e))}}function Te(t,e){var r=ct(t.values),l=ht(t,e)[0],n=t.lang||"en-GB",i=nr(t,r.length),o=(i.getUTCDay()+6)%7,s=Math.max(1,Math.ceil((o+r.length)/7)),f=qt(t),u=28,v=Math.max(1,Math.floor((f.w-u)/10));if(s>v){var d=(s-v)*7-o;r=r.slice(d),i=new Date(i.getTime()+d*864e5),o=0,s=v}var c=Math.min(18,(f.w-u)/s),M=c<8?1:3,k=c-M,V=16+7*c+26,F=r.length?Math.max.apply(null,r):0,L=function(x){return ir(n,x)},b=L({month:"short"}),p=L({weekday:"short"}),R=L(ar),S=Ot(r,t,"");return pt(t,e,V,function(x,w,g,h){if(!r.length)return mt(e,x,w,g,h);var O="",y=x+u,E=w+16,N=-99,G=[.28,.5,.75,1];c>=9&&[0,2,4].forEach(function(J){var Mt=new Date(Date.UTC(2024,0,1+J));O+=C(x,E+J*c+k/2+3.5,p.format(Mt),D(e,9))});for(var Z=0;Z<r.length;Z++){var Y=o+Z,Q=Math.floor(Y/7),ot=Y%7,it=new Date(i.getTime()+Z*864e5),H=y+Q*c,et=E+ot*c;(it.getUTCDate()===1||Z===0)&&H-N>30&&(O+=C(H,w+9,b.format(it),D(e,9)),N=H);var rt=r[Z]<=0||!F?0:Math.ceil(r[Z]/F*4),lt=rt?l:e.grid,st=rt?G[rt-1]:.7;O+='<rect x="'+a(H)+'" y="'+a(et)+'" width="'+a(k)+'" height="'+a(k)+'" rx="'+a(k*.24)+'" fill="'+lt+'" fill-opacity="'+st+'"'+(t.animate?' class="bzc-a" style="animation-delay:'+a(Q*.012)+'s"':"")+' data-tip="'+bt(R.format(it)+": "+m(r[Z],t))+'"/>'}var z=E+7*c+14,U=10,B=x+g-5*(U+3)-30;O+=C(x,z+8,m(Bt(r),t,!0)+" in "+r.length+" days",D(e,10)),O+=C(B-6,z+8,"Less",D(e,9,'text-anchor="end"'));for(var ft=0;ft<5;ft++)O+='<rect x="'+a(B+ft*(U+3))+'" y="'+z+'" width="'+U+'" height="'+U+'" rx="2.5" fill="'+(ft?l:e.grid)+'" fill-opacity="'+(ft?G[ft-1]:.7)+'"/>';return O+=C(B+5*(U+3)+3,z+8,"More",D(e,9)),O},{stat:S,summary:m(Bt(r),t)+" across "+r.length+" days"})}Te.table=function(t){var e=ct(t.values),r=nr(t,e.length),l=ir(t.lang||"en-GB",ar);return{head:["Date","Value"],rows:e.map(function(n,i){return[l.format(new Date(r.getTime()+i*864e5)),m(n,t)]})}};dt("heatmap",Te);gt("heatmap");var Tr="1.5.0",Cr=pe.slice();return gr(Fr);})();