diff --git a/pr-preview/pr-2/assets/OpenSans-Bold-B6RzugBC.woff2 b/pr-preview/pr-2/assets/OpenSans-Bold-B6RzugBC.woff2 deleted file mode 100644 index 9e68ce8..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-Bold-B6RzugBC.woff2 and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-Bold-DqUvPboT.ttf b/pr-preview/pr-2/assets/OpenSans-Bold-DqUvPboT.ttf deleted file mode 100644 index fd79d43..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-Bold-DqUvPboT.ttf and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-Bold-Zo72i-Y_.woff b/pr-preview/pr-2/assets/OpenSans-Bold-Zo72i-Y_.woff deleted file mode 100644 index 4590c27..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-Bold-Zo72i-Y_.woff and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-ExtraBold-DDPRfZHf.woff b/pr-preview/pr-2/assets/OpenSans-ExtraBold-DDPRfZHf.woff deleted file mode 100644 index 1f05575..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-ExtraBold-DDPRfZHf.woff and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-ExtraBold-QLQ1ofwe.woff2 b/pr-preview/pr-2/assets/OpenSans-ExtraBold-QLQ1ofwe.woff2 deleted file mode 100644 index 09b3b7b..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-ExtraBold-QLQ1ofwe.woff2 and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-ExtraBold-fqOqBv5P.ttf b/pr-preview/pr-2/assets/OpenSans-ExtraBold-fqOqBv5P.ttf deleted file mode 100644 index 21f6f84..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-ExtraBold-fqOqBv5P.ttf and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-Regular-7s9KL9Bb.ttf b/pr-preview/pr-2/assets/OpenSans-Regular-7s9KL9Bb.ttf deleted file mode 100644 index db43334..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-Regular-7s9KL9Bb.ttf and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-Regular-D0LNdIuH.woff b/pr-preview/pr-2/assets/OpenSans-Regular-D0LNdIuH.woff deleted file mode 100644 index 728f8a2..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-Regular-D0LNdIuH.woff and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-Regular-D_5PeaXC.woff2 b/pr-preview/pr-2/assets/OpenSans-Regular-D_5PeaXC.woff2 deleted file mode 100644 index d2483e9..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-Regular-D_5PeaXC.woff2 and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-SemiBold-C7OkNJpS.woff2 b/pr-preview/pr-2/assets/OpenSans-SemiBold-C7OkNJpS.woff2 deleted file mode 100644 index 0c9638e..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-SemiBold-C7OkNJpS.woff2 and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-SemiBold-gN-3ccKH.ttf b/pr-preview/pr-2/assets/OpenSans-SemiBold-gN-3ccKH.ttf deleted file mode 100644 index 1a7679e..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-SemiBold-gN-3ccKH.ttf and /dev/null differ diff --git a/pr-preview/pr-2/assets/OpenSans-SemiBold-pC11pJ5m.woff b/pr-preview/pr-2/assets/OpenSans-SemiBold-pC11pJ5m.woff deleted file mode 100644 index 33a7ce4..0000000 Binary files a/pr-preview/pr-2/assets/OpenSans-SemiBold-pC11pJ5m.woff and /dev/null differ diff --git a/pr-preview/pr-2/assets/Raleway-Bold-BNCCa7ZO.ttf b/pr-preview/pr-2/assets/Raleway-Bold-BNCCa7ZO.ttf deleted file mode 100644 index 38c099c..0000000 Binary files a/pr-preview/pr-2/assets/Raleway-Bold-BNCCa7ZO.ttf and /dev/null differ diff --git a/pr-preview/pr-2/assets/Raleway-Bold-N8_9CUZn.woff2 b/pr-preview/pr-2/assets/Raleway-Bold-N8_9CUZn.woff2 deleted file mode 100644 index 92cade2..0000000 Binary files a/pr-preview/pr-2/assets/Raleway-Bold-N8_9CUZn.woff2 and /dev/null differ diff --git a/pr-preview/pr-2/assets/Raleway-Bold-RiCvOKBQ.woff b/pr-preview/pr-2/assets/Raleway-Bold-RiCvOKBQ.woff deleted file mode 100644 index 4e9c4e6..0000000 Binary files a/pr-preview/pr-2/assets/Raleway-Bold-RiCvOKBQ.woff and /dev/null differ diff --git a/pr-preview/pr-2/assets/background-C-9v9KoP.png b/pr-preview/pr-2/assets/background-C-9v9KoP.png deleted file mode 100644 index 6ee2f53..0000000 Binary files a/pr-preview/pr-2/assets/background-C-9v9KoP.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/background_small-iWw9WgKG.png b/pr-preview/pr-2/assets/background_small-iWw9WgKG.png deleted file mode 100644 index 8a1f85f..0000000 Binary files a/pr-preview/pr-2/assets/background_small-iWw9WgKG.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/canemure-Dp1aZClk.png b/pr-preview/pr-2/assets/canemure-Dp1aZClk.png deleted file mode 100644 index 7df792c..0000000 Binary files a/pr-preview/pr-2/assets/canemure-Dp1aZClk.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/error_owl-BiAQuXeU.png b/pr-preview/pr-2/assets/error_owl-BiAQuXeU.png deleted file mode 100644 index d04a6ea..0000000 Binary files a/pr-preview/pr-2/assets/error_owl-BiAQuXeU.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/favicon-CkvW8qvA.png b/pr-preview/pr-2/assets/favicon-CkvW8qvA.png deleted file mode 100644 index 098b44c..0000000 Binary files a/pr-preview/pr-2/assets/favicon-CkvW8qvA.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/choices_en.jpg b/pr-preview/pr-2/assets/images/results/choices_en.jpg deleted file mode 100644 index 8ddaf68..0000000 Binary files a/pr-preview/pr-2/assets/images/results/choices_en.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/choices_fi.jpg b/pr-preview/pr-2/assets/images/results/choices_fi.jpg deleted file mode 100644 index 805713f..0000000 Binary files a/pr-preview/pr-2/assets/images/results/choices_fi.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/cities_en.jpg b/pr-preview/pr-2/assets/images/results/cities_en.jpg deleted file mode 100644 index 9837737..0000000 Binary files a/pr-preview/pr-2/assets/images/results/cities_en.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/cities_fi.jpg b/pr-preview/pr-2/assets/images/results/cities_fi.jpg deleted file mode 100644 index d686a29..0000000 Binary files a/pr-preview/pr-2/assets/images/results/cities_fi.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/cleantech_en.jpg b/pr-preview/pr-2/assets/images/results/cleantech_en.jpg deleted file mode 100644 index cd706ab..0000000 Binary files a/pr-preview/pr-2/assets/images/results/cleantech_en.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/cleantech_fi.jpg b/pr-preview/pr-2/assets/images/results/cleantech_fi.jpg deleted file mode 100644 index 4f8561f..0000000 Binary files a/pr-preview/pr-2/assets/images/results/cleantech_fi.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/companies_en.jpg b/pr-preview/pr-2/assets/images/results/companies_en.jpg deleted file mode 100644 index d884ccf..0000000 Binary files a/pr-preview/pr-2/assets/images/results/companies_en.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/companies_fi.jpg b/pr-preview/pr-2/assets/images/results/companies_fi.jpg deleted file mode 100644 index fe52b2b..0000000 Binary files a/pr-preview/pr-2/assets/images/results/companies_fi.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/consumption_en.jpg b/pr-preview/pr-2/assets/images/results/consumption_en.jpg deleted file mode 100644 index 8785ca2..0000000 Binary files a/pr-preview/pr-2/assets/images/results/consumption_en.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/consumption_fi.jpg b/pr-preview/pr-2/assets/images/results/consumption_fi.jpg deleted file mode 100644 index bd9791d..0000000 Binary files a/pr-preview/pr-2/assets/images/results/consumption_fi.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/food_en.jpg b/pr-preview/pr-2/assets/images/results/food_en.jpg deleted file mode 100644 index 96e8e27..0000000 Binary files a/pr-preview/pr-2/assets/images/results/food_en.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/food_fi.jpg b/pr-preview/pr-2/assets/images/results/food_fi.jpg deleted file mode 100644 index b062807..0000000 Binary files a/pr-preview/pr-2/assets/images/results/food_fi.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/societal_en.jpg b/pr-preview/pr-2/assets/images/results/societal_en.jpg deleted file mode 100644 index e267644..0000000 Binary files a/pr-preview/pr-2/assets/images/results/societal_en.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/results/societal_fi.jpg b/pr-preview/pr-2/assets/images/results/societal_fi.jpg deleted file mode 100644 index ebc0aee..0000000 Binary files a/pr-preview/pr-2/assets/images/results/societal_fi.jpg and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/bio_en.png b/pr-preview/pr-2/assets/images/waste/bio_en.png deleted file mode 100644 index a9ac320..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/bio_en.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/bio_fi.png b/pr-preview/pr-2/assets/images/waste/bio_fi.png deleted file mode 100644 index c560382..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/bio_fi.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/bio_sv.png b/pr-preview/pr-2/assets/images/waste/bio_sv.png deleted file mode 100644 index a4381d3..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/bio_sv.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/carton_en.png b/pr-preview/pr-2/assets/images/waste/carton_en.png deleted file mode 100644 index 879449f..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/carton_en.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/carton_fi.png b/pr-preview/pr-2/assets/images/waste/carton_fi.png deleted file mode 100644 index a2c3c5a..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/carton_fi.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/carton_sv.png b/pr-preview/pr-2/assets/images/waste/carton_sv.png deleted file mode 100644 index d7869bb..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/carton_sv.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/household_en.png b/pr-preview/pr-2/assets/images/waste/household_en.png deleted file mode 100644 index fea8592..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/household_en.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/household_fi.png b/pr-preview/pr-2/assets/images/waste/household_fi.png deleted file mode 100644 index 6d407be..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/household_fi.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/household_sv.png b/pr-preview/pr-2/assets/images/waste/household_sv.png deleted file mode 100644 index 38d1bf6..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/household_sv.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/plastic_en.png b/pr-preview/pr-2/assets/images/waste/plastic_en.png deleted file mode 100644 index aa31b95..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/plastic_en.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/plastic_fi.png b/pr-preview/pr-2/assets/images/waste/plastic_fi.png deleted file mode 100644 index c590162..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/plastic_fi.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/images/waste/plastic_sv.png b/pr-preview/pr-2/assets/images/waste/plastic_sv.png deleted file mode 100644 index d33f8d6..0000000 Binary files a/pr-preview/pr-2/assets/images/waste/plastic_sv.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/index-Bd3M-vFo.js b/pr-preview/pr-2/assets/index-Bd3M-vFo.js deleted file mode 100644 index 3e2e773..0000000 --- a/pr-preview/pr-2/assets/index-Bd3M-vFo.js +++ /dev/null @@ -1,1720 +0,0 @@ -var Hw=Object.defineProperty;var Lw=(e,t,n)=>t in e?Hw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var pe=(e,t,n)=>(Lw(e,typeof t!="symbol"?t+"":t,n),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const r of a.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function i(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();/*! - * shared v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */const Xn=typeof window<"u";let wn,ca;{const e=Xn&&window.performance;e&&e.mark&&e.measure&&e.clearMarks&&e.clearMeasures&&(wn=t=>{e.mark(t)},ca=(t,n,i)=>{e.measure(t,n,i),e.clearMarks(n),e.clearMarks(i)})}const Dw=/\{([0-9a-zA-Z]+)\}/g;function ah(e,...t){return t.length===1&&Ke(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Dw,(n,i)=>t.hasOwnProperty(i)?t[i]:"")}const ki=(e,t=!1)=>t?Symbol.for(e):Symbol(e),Ow=(e,t,n)=>Mw({l:e,k:t,s:n}),Mw=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),Ot=e=>typeof e=="number"&&isFinite(e),jw=e=>Vk(e)==="[object Date]",Fs=e=>Vk(e)==="[object RegExp]",zl=e=>Ue(e)&&Object.keys(e).length===0,Jt=Object.assign;let Sf;const Hi=()=>Sf||(Sf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ef(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const Rw=Object.prototype.hasOwnProperty;function hl(e,t){return Rw.call(e,t)}const dt=Array.isArray,tt=e=>typeof e=="function",re=e=>typeof e=="string",Le=e=>typeof e=="boolean",Ke=e=>e!==null&&typeof e=="object",Pw=e=>Ke(e)&&tt(e.then)&&tt(e.catch),Kk=Object.prototype.toString,Vk=e=>Kk.call(e),Ue=e=>{if(!Ke(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},xw=e=>e==null?"":dt(e)||Ue(e)&&e.toString===Kk?JSON.stringify(e,null,2):String(e);function Nw(e,t=""){return e.reduce((n,i,s)=>s===0?n+i:n+t+i,"")}const Ff=2;function Kw(e,t=0,n=e.length){const i=e.split(/\r?\n/);let s=0;const a=[];for(let r=0;r=t){for(let o=r-Ff;o<=r+Ff||n>s;o++){if(o<0||o>=i.length)continue;const A=o+1;a.push(`${A}${" ".repeat(3-String(A).length)}| ${i[o]}`);const l=i[o].length;if(o===r){const u=t-(s-l)+1,c=Math.max(1,n>s?l-u:n-t);a.push(" | "+" ".repeat(u)+"^".repeat(c))}else if(o>r){if(n>s){const u=Math.max(Math.min(n-s,l),1);a.push(" | "+"^".repeat(u))}s+=l+1}}break}return a.join(` -`)}function ql(e){let t=e;return()=>++t}function Mt(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Uf={};function Gk(e){Uf[e]||(Uf[e]=!0,Mt(e))}function rh(){const e=new Map;return{events:e,on(n,i){const s=e.get(n);s&&s.push(i)||e.set(n,[i])},off(n,i){const s=e.get(n);s&&s.splice(s.indexOf(i)>>>0,1)},emit(n,i){(e.get(n)||[]).slice().map(s=>s(i)),(e.get("*")||[]).slice().map(s=>s(n,i))}}}const Zo=e=>!Ke(e)||dt(e);function VA(e,t){if(Zo(e)||Zo(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:i,des:s}=n.pop();Object.keys(i).forEach(a=>{Zo(i[a])||Zo(s[a])?s[a]=i[a]:n.push({src:i[a],des:s[a]})})}}/*! - * message-compiler v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */function Vw(e,t,n){return{line:e,column:t,offset:n}}function fl(e,t,n){return{start:e,end:t}}const Gw=/\{([0-9a-zA-Z]+)\}/g;function Wk(e,...t){return t.length===1&&Ww(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(Gw,(n,i)=>t.hasOwnProperty(i)?t[i]:"")}const Yk=Object.assign,_f=e=>typeof e=="string",Ww=e=>e!==null&&typeof e=="object";function Jk(e,t=""){return e.reduce((n,i,s)=>s===0?n+i:n+t+i,"")}const Zl={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},Yw={[Zl.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function Jw(e,t,...n){const i=Wk(Yw[e],...n||[]),s={message:String(i),code:e};return t&&(s.location=t),s}const ve={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},Xw={[ve.EXPECTED_TOKEN]:"Expected token: '{0}'",[ve.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[ve.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[ve.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[ve.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[ve.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[ve.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[ve.EMPTY_PLACEHOLDER]:"Empty placeholder",[ve.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[ve.INVALID_LINKED_FORMAT]:"Invalid linked format",[ve.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[ve.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[ve.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[ve.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[ve.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[ve.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function hr(e,t,n={}){const{domain:i,messages:s,args:a}=n,r=Wk((s||Xw)[e]||"",...a||[]),o=new SyntaxError(String(r));return o.code=e,t&&(o.location=t),o.domain=i,o}function zw(e){throw e}const qw=/<\/?[\w\s="/.':;#-\/]+>/,Zw=e=>qw.test(e),Bi=" ",eC="\r",rn=` -`,tC="\u2028",nC="\u2029";function iC(e){const t=e;let n=0,i=1,s=1,a=0;const r=S=>t[S]===eC&&t[S+1]===rn,o=S=>t[S]===rn,A=S=>t[S]===nC,l=S=>t[S]===tC,u=S=>r(S)||o(S)||A(S)||l(S),c=()=>n,d=()=>i,h=()=>s,f=()=>a,m=S=>r(S)||A(S)||l(S)?rn:t[S],b=()=>m(n),k=()=>m(n+a);function w(){return a=0,u(n)&&(i++,s=0),r(n)&&n++,n++,s++,t[n]}function v(){return r(n+a)&&a++,a++,t[n+a]}function U(){n=0,i=1,s=1,a=0}function _(S=0){a=S}function C(){const S=n+a;for(;S!==n;)w();a=0}return{index:c,line:d,column:h,peekOffset:f,charAt:m,currentChar:b,currentPeek:k,next:w,peek:v,reset:U,resetPeek:_,skipToPeek:C}}const Xi=void 0,sC=".",Tf="'",aC="tokenizer";function rC(e,t={}){const n=t.location!==!1,i=iC(e),s=()=>i.index(),a=()=>Vw(i.line(),i.column(),i.index()),r=a(),o=s(),A={currentType:14,offset:o,startLoc:r,endLoc:r,lastType:14,lastOffset:o,lastStartLoc:r,lastEndLoc:r,braceNest:0,inLinked:!1,text:""},l=()=>A,{onError:u}=t;function c(y,B,Q,...O){const X=l();if(B.column+=Q,B.offset+=Q,u){const ie=n?fl(X.startLoc,B):null,te=hr(y,ie,{domain:aC,args:O});u(te)}}function d(y,B,Q){y.endLoc=a(),y.currentType=B;const O={type:B};return n&&(O.loc=fl(y.startLoc,y.endLoc)),Q!=null&&(O.value=Q),O}const h=y=>d(y,14);function f(y,B){return y.currentChar()===B?(y.next(),B):(c(ve.EXPECTED_TOKEN,a(),0,B),"")}function m(y){let B="";for(;y.currentPeek()===Bi||y.currentPeek()===rn;)B+=y.currentPeek(),y.peek();return B}function b(y){const B=m(y);return y.skipToPeek(),B}function k(y){if(y===Xi)return!1;const B=y.charCodeAt(0);return B>=97&&B<=122||B>=65&&B<=90||B===95}function w(y){if(y===Xi)return!1;const B=y.charCodeAt(0);return B>=48&&B<=57}function v(y,B){const{currentType:Q}=B;if(Q!==2)return!1;m(y);const O=k(y.currentPeek());return y.resetPeek(),O}function U(y,B){const{currentType:Q}=B;if(Q!==2)return!1;m(y);const O=y.currentPeek()==="-"?y.peek():y.currentPeek(),X=w(O);return y.resetPeek(),X}function _(y,B){const{currentType:Q}=B;if(Q!==2)return!1;m(y);const O=y.currentPeek()===Tf;return y.resetPeek(),O}function C(y,B){const{currentType:Q}=B;if(Q!==8)return!1;m(y);const O=y.currentPeek()===".";return y.resetPeek(),O}function S(y,B){const{currentType:Q}=B;if(Q!==9)return!1;m(y);const O=k(y.currentPeek());return y.resetPeek(),O}function H(y,B){const{currentType:Q}=B;if(!(Q===8||Q===12))return!1;m(y);const O=y.currentPeek()===":";return y.resetPeek(),O}function I(y,B){const{currentType:Q}=B;if(Q!==10)return!1;const O=()=>{const ie=y.currentPeek();return ie==="{"?k(y.peek()):ie==="@"||ie==="%"||ie==="|"||ie===":"||ie==="."||ie===Bi||!ie?!1:ie===rn?(y.peek(),O()):V(y,!1)},X=O();return y.resetPeek(),X}function M(y){m(y);const B=y.currentPeek()==="|";return y.resetPeek(),B}function P(y){const B=m(y),Q=y.currentPeek()==="%"&&y.peek()==="{";return y.resetPeek(),{isModulo:Q,hasSpace:B.length>0}}function V(y,B=!0){const Q=(X=!1,ie="",te=!1)=>{const L=y.currentPeek();return L==="{"?ie==="%"?!1:X:L==="@"||!L?ie==="%"?!0:X:L==="%"?(y.peek(),Q(X,"%",!0)):L==="|"?ie==="%"||te?!0:!(ie===Bi||ie===rn):L===Bi?(y.peek(),Q(!0,Bi,te)):L===rn?(y.peek(),Q(!0,rn,te)):!0},O=Q();return B&&y.resetPeek(),O}function q(y,B){const Q=y.currentChar();return Q===Xi?Xi:B(Q)?(y.next(),Q):null}function Be(y){const B=y.charCodeAt(0);return B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===95||B===36}function fe(y){return q(y,Be)}function le(y){const B=y.charCodeAt(0);return B>=97&&B<=122||B>=65&&B<=90||B>=48&&B<=57||B===95||B===36||B===45}function Z(y){return q(y,le)}function oe(y){const B=y.charCodeAt(0);return B>=48&&B<=57}function Ee(y){return q(y,oe)}function qe(y){const B=y.charCodeAt(0);return B>=48&&B<=57||B>=65&&B<=70||B>=97&&B<=102}function at(y){return q(y,qe)}function De(y){let B="",Q="";for(;B=Ee(y);)Q+=B;return Q}function xe(y){b(y);const B=y.currentChar();return B!=="%"&&c(ve.EXPECTED_TOKEN,a(),0,B),y.next(),"%"}function Je(y){let B="";for(;;){const Q=y.currentChar();if(Q==="{"||Q==="}"||Q==="@"||Q==="|"||!Q)break;if(Q==="%")if(V(y))B+=Q,y.next();else break;else if(Q===Bi||Q===rn)if(V(y))B+=Q,y.next();else{if(M(y))break;B+=Q,y.next()}else B+=Q,y.next()}return B}function At(y){b(y);let B="",Q="";for(;B=Z(y);)Q+=B;return y.currentChar()===Xi&&c(ve.UNTERMINATED_CLOSING_BRACE,a(),0),Q}function Ze(y){b(y);let B="";return y.currentChar()==="-"?(y.next(),B+=`-${De(y)}`):B+=De(y),y.currentChar()===Xi&&c(ve.UNTERMINATED_CLOSING_BRACE,a(),0),B}function j(y){return y!==Tf&&y!==rn}function ae(y){b(y),f(y,"'");let B="",Q="";for(;B=q(y,j);)B==="\\"?Q+=se(y):Q+=B;const O=y.currentChar();return O===rn||O===Xi?(c(ve.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,a(),0),O===rn&&(y.next(),f(y,"'")),Q):(f(y,"'"),Q)}function se(y){const B=y.currentChar();switch(B){case"\\":case"'":return y.next(),`\\${B}`;case"u":return ce(y,B,4);case"U":return ce(y,B,6);default:return c(ve.UNKNOWN_ESCAPE_SEQUENCE,a(),0,B),""}}function ce(y,B,Q){f(y,B);let O="";for(let X=0;X{const O=y.currentChar();return O==="{"||O==="%"||O==="@"||O==="|"||O==="("||O===")"||!O||O===Bi?Q:(Q+=O,y.next(),B(Q))};return B("")}function F(y){b(y);const B=f(y,"|");return b(y),B}function R(y,B){let Q=null;switch(y.currentChar()){case"{":return B.braceNest>=1&&c(ve.NOT_ALLOW_NEST_PLACEHOLDER,a(),0),y.next(),Q=d(B,2,"{"),b(y),B.braceNest++,Q;case"}":return B.braceNest>0&&B.currentType===2&&c(ve.EMPTY_PLACEHOLDER,a(),0),y.next(),Q=d(B,3,"}"),B.braceNest--,B.braceNest>0&&b(y),B.inLinked&&B.braceNest===0&&(B.inLinked=!1),Q;case"@":return B.braceNest>0&&c(ve.UNTERMINATED_CLOSING_BRACE,a(),0),Q=N(y,B)||h(B),B.braceNest=0,Q;default:{let X=!0,ie=!0,te=!0;if(M(y))return B.braceNest>0&&c(ve.UNTERMINATED_CLOSING_BRACE,a(),0),Q=d(B,1,F(y)),B.braceNest=0,B.inLinked=!1,Q;if(B.braceNest>0&&(B.currentType===5||B.currentType===6||B.currentType===7))return c(ve.UNTERMINATED_CLOSING_BRACE,a(),0),B.braceNest=0,Y(y,B);if(X=v(y,B))return Q=d(B,5,At(y)),b(y),Q;if(ie=U(y,B))return Q=d(B,6,Ze(y)),b(y),Q;if(te=_(y,B))return Q=d(B,7,ae(y)),b(y),Q;if(!X&&!ie&&!te)return Q=d(B,13,et(y)),c(ve.INVALID_TOKEN_IN_PLACEHOLDER,a(),0,Q.value),b(y),Q;break}}return Q}function N(y,B){const{currentType:Q}=B;let O=null;const X=y.currentChar();switch((Q===8||Q===9||Q===12||Q===10)&&(X===rn||X===Bi)&&c(ve.INVALID_LINKED_FORMAT,a(),0),X){case"@":return y.next(),O=d(B,8,"@"),B.inLinked=!0,O;case".":return b(y),y.next(),d(B,9,".");case":":return b(y),y.next(),d(B,10,":");default:return M(y)?(O=d(B,1,F(y)),B.braceNest=0,B.inLinked=!1,O):C(y,B)||H(y,B)?(b(y),N(y,B)):S(y,B)?(b(y),d(B,12,_e(y))):I(y,B)?(b(y),X==="{"?R(y,B)||O:d(B,11,p(y))):(Q===8&&c(ve.INVALID_LINKED_FORMAT,a(),0),B.braceNest=0,B.inLinked=!1,Y(y,B))}}function Y(y,B){let Q={type:14};if(B.braceNest>0)return R(y,B)||h(B);if(B.inLinked)return N(y,B)||h(B);switch(y.currentChar()){case"{":return R(y,B)||h(B);case"}":return c(ve.UNBALANCED_CLOSING_BRACE,a(),0),y.next(),d(B,3,"}");case"@":return N(y,B)||h(B);default:{if(M(y))return Q=d(B,1,F(y)),B.braceNest=0,B.inLinked=!1,Q;const{isModulo:X,hasSpace:ie}=P(y);if(X)return ie?d(B,0,Je(y)):d(B,4,xe(y));if(V(y))return d(B,0,Je(y));break}}return Q}function z(){const{currentType:y,offset:B,startLoc:Q,endLoc:O}=A;return A.lastType=y,A.lastOffset=B,A.lastStartLoc=Q,A.lastEndLoc=O,A.offset=s(),A.startLoc=a(),i.currentChar()===Xi?d(A,14):Y(i,A)}return{nextToken:z,currentOffset:s,currentPosition:a,context:l}}const oC="parser",AC=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function lC(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const i=parseInt(t||n,16);return i<=55295||i>=57344?String.fromCodePoint(i):"�"}}}function uC(e={}){const t=e.location!==!1,{onError:n,onWarn:i}=e;function s(v,U,_,C,...S){const H=v.currentPosition();if(H.offset+=C,H.column+=C,n){const I=t?fl(_,H):null,M=hr(U,I,{domain:oC,args:S});n(M)}}function a(v,U,_,C,...S){const H=v.currentPosition();if(H.offset+=C,H.column+=C,i){const I=t?fl(_,H):null;i(Jw(U,I,S))}}function r(v,U,_){const C={type:v};return t&&(C.start=U,C.end=U,C.loc={start:_,end:_}),C}function o(v,U,_,C){t&&(v.end=U,v.loc&&(v.loc.end=_))}function A(v,U){const _=v.context(),C=r(3,_.offset,_.startLoc);return C.value=U,o(C,v.currentOffset(),v.currentPosition()),C}function l(v,U){const _=v.context(),{lastOffset:C,lastStartLoc:S}=_,H=r(5,C,S);return H.index=parseInt(U,10),v.nextToken(),o(H,v.currentOffset(),v.currentPosition()),H}function u(v,U,_){const C=v.context(),{lastOffset:S,lastStartLoc:H}=C,I=r(4,S,H);return I.key=U,_===!0&&(I.modulo=!0),v.nextToken(),o(I,v.currentOffset(),v.currentPosition()),I}function c(v,U){const _=v.context(),{lastOffset:C,lastStartLoc:S}=_,H=r(9,C,S);return H.value=U.replace(AC,lC),v.nextToken(),o(H,v.currentOffset(),v.currentPosition()),H}function d(v){const U=v.nextToken(),_=v.context(),{lastOffset:C,lastStartLoc:S}=_,H=r(8,C,S);return U.type!==12?(s(v,ve.UNEXPECTED_EMPTY_LINKED_MODIFIER,_.lastStartLoc,0),H.value="",o(H,C,S),{nextConsumeToken:U,node:H}):(U.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,Pn(U)),H.value=U.value||"",o(H,v.currentOffset(),v.currentPosition()),{node:H})}function h(v,U){const _=v.context(),C=r(7,_.offset,_.startLoc);return C.value=U,o(C,v.currentOffset(),v.currentPosition()),C}function f(v){const U=v.context(),_=r(6,U.offset,U.startLoc);let C=v.nextToken();if(C.type===9){const S=d(v);_.modifier=S.node,C=S.nextConsumeToken||v.nextToken()}switch(C.type!==10&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(C)),C=v.nextToken(),C.type===2&&(C=v.nextToken()),C.type){case 11:C.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(C)),_.key=h(v,C.value||"");break;case 5:C.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(C)),_.key=u(v,C.value||"");break;case 6:C.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(C)),_.key=l(v,C.value||"");break;case 7:C.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(C)),_.key=c(v,C.value||"");break;default:{s(v,ve.UNEXPECTED_EMPTY_LINKED_KEY,U.lastStartLoc,0);const S=v.context(),H=r(7,S.offset,S.startLoc);return H.value="",o(H,S.offset,S.startLoc),_.key=H,o(_,S.offset,S.startLoc),{nextConsumeToken:C,node:_}}}return o(_,v.currentOffset(),v.currentPosition()),{node:_}}function m(v){const U=v.context(),_=U.currentType===1?v.currentOffset():U.offset,C=U.currentType===1?U.endLoc:U.startLoc,S=r(2,_,C);S.items=[];let H=null,I=null;do{const V=H||v.nextToken();switch(H=null,V.type){case 0:V.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(V)),S.items.push(A(v,V.value||""));break;case 6:V.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(V)),S.items.push(l(v,V.value||""));break;case 4:I=!0;break;case 5:V.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(V)),S.items.push(u(v,V.value||"",!!I)),I&&(a(v,Zl.USE_MODULO_SYNTAX,U.lastStartLoc,0,Pn(V)),I=null);break;case 7:V.value==null&&s(v,ve.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,Pn(V)),S.items.push(c(v,V.value||""));break;case 8:{const q=f(v);S.items.push(q.node),H=q.nextConsumeToken||null;break}}}while(U.currentType!==14&&U.currentType!==1);const M=U.currentType===1?U.lastOffset:v.currentOffset(),P=U.currentType===1?U.lastEndLoc:v.currentPosition();return o(S,M,P),S}function b(v,U,_,C){const S=v.context();let H=C.items.length===0;const I=r(1,U,_);I.cases=[],I.cases.push(C);do{const M=m(v);H||(H=M.items.length===0),I.cases.push(M)}while(S.currentType!==14);return H&&s(v,ve.MUST_HAVE_MESSAGES_IN_PLURAL,_,0),o(I,v.currentOffset(),v.currentPosition()),I}function k(v){const U=v.context(),{offset:_,startLoc:C}=U,S=m(v);return U.currentType===14?S:b(v,_,C,S)}function w(v){const U=rC(v,Yk({},e)),_=U.context(),C=r(0,_.offset,_.startLoc);return t&&C.loc&&(C.loc.source=v),C.body=k(U),e.onCacheKey&&(C.cacheKey=e.onCacheKey(v)),_.currentType!==14&&s(U,ve.UNEXPECTED_LEXICAL_ANALYSIS,_.lastStartLoc,0,v[_.offset]||""),o(C,U.currentOffset(),U.currentPosition()),C}return{parse:w}}function Pn(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function cC(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:a=>(n.helpers.add(a),a)}}function $f(e,t){for(let n=0;nIf(n)),e}function If(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;no;function l(b,k){o.code+=b}function u(b,k=!0){const w=k?s:"";l(a?w+" ".repeat(b):w)}function c(b=!0){const k=++o.indentLevel;b&&u(k)}function d(b=!0){const k=--o.indentLevel;b&&u(k)}function h(){u(o.indentLevel)}return{context:A,push:l,indent:c,deindent:d,newline:h,helper:b=>`_${b}`,needIndent:()=>o.needIndent}}function gC(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),tr(e,t.key),t.modifier?(e.push(", "),tr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function kC(e,t){const{helper:n,needIndent:i}=e;e.push(`${n("normalize")}([`),e.indent(i());const s=t.items.length;for(let a=0;a1){e.push(`${n("plural")}([`),e.indent(i());const s=t.cases.length;for(let a=0;a{const n=_f(t.mode)?t.mode:"normal",i=_f(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,a=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,r=t.needIndent?t.needIndent:n!=="arrow",o=e.helpers||[],A=pC(e,{mode:n,filename:i,sourceMap:s,breakLineCode:a,needIndent:r});A.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),A.indent(r),o.length>0&&(A.push(`const { ${Jk(o.map(c=>`${c}: _${c}`),", ")} } = ctx`),A.newline()),A.push("return "),tr(A,e),A.deindent(r),A.push("}"),delete e.helpers;const{code:l,map:u}=A.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function BC(e,t={}){const n=Yk({},t),i=!!n.jit,s=!!n.minify,a=n.optimize==null?!0:n.optimize,o=uC(n).parse(e);return i?(a&&hC(o),s&&Pa(o),{ast:o,code:""}):(dC(o,n),bC(o,n))}/*! - * core-base v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */function wC(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Hi().__INTLIFY_PROD_DEVTOOLS__=!1),typeof __INTLIFY_JIT_COMPILATION__!="boolean"&&(Hi().__INTLIFY_JIT_COMPILATION__=!1),typeof __INTLIFY_DROP_MESSAGE_COMPILER__!="boolean"&&(Hi().__INTLIFY_DROP_MESSAGE_COMPILER__=!1)}const Ls=[];Ls[0]={w:[0],i:[3,0],"[":[4],o:[7]};Ls[1]={w:[1],".":[2],"[":[4],o:[7]};Ls[2]={w:[2],i:[3,0],0:[3,0]};Ls[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};Ls[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};Ls[5]={"'":[4,0],o:8,l:[5,0]};Ls[6]={'"':[4,0],o:8,l:[6,0]};const CC=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function SC(e){return CC.test(e)}function EC(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function FC(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function UC(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:SC(t)?EC(t):"*"+t}function _C(e){const t=[];let n=-1,i=0,s=0,a,r,o,A,l,u,c;const d=[];d[0]=()=>{r===void 0?r=o:r+=o},d[1]=()=>{r!==void 0&&(t.push(r),r=void 0)},d[2]=()=>{d[0](),s++},d[3]=()=>{if(s>0)s--,i=4,d[0]();else{if(s=0,r===void 0||(r=UC(r),r===!1))return!1;d[1]()}};function h(){const f=e[n+1];if(i===5&&f==="'"||i===6&&f==='"')return n++,o="\\"+f,d[0](),!0}for(;i!==null;)if(n++,a=e[n],!(a==="\\"&&h())){if(A=FC(a),c=Ls[i],l=c[A]||c.l||8,l===8||(i=l[0],l[1]!==void 0&&(u=d[l[1]],u&&(o=a,u()===!1))))return;if(i===7)return t}}const Qf=new Map;function TC(e,t){return Ke(e)?e[t]:null}function $C(e,t){if(!Ke(e))return null;let n=Qf.get(t);if(n||(n=_C(t),n&&Qf.set(t,n)),!n)return null;const i=n.length;let s=e,a=0;for(;ae,QC=e=>"",HC="text",LC=e=>e.length===0?"":Nw(e),DC=xw;function Hf(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function OC(e){const t=Ot(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(Ot(e.named.count)||Ot(e.named.n))?Ot(e.named.count)?e.named.count:Ot(e.named.n)?e.named.n:t:t}function MC(e,t){t.count||(t.count=e),t.n||(t.n=e)}function jC(e={}){const t=e.locale,n=OC(e),i=Ke(e.pluralRules)&&re(t)&&tt(e.pluralRules[t])?e.pluralRules[t]:Hf,s=Ke(e.pluralRules)&&re(t)&&tt(e.pluralRules[t])?Hf:void 0,a=k=>k[i(n,k.length,s)],r=e.list||[],o=k=>r[k],A=e.named||{};Ot(e.pluralIndex)&&MC(n,A);const l=k=>A[k];function u(k){const w=tt(e.messages)?e.messages(k):Ke(e.messages)?e.messages[k]:!1;return w||(e.parent?e.parent.message(k):QC)}const c=k=>e.modifiers?e.modifiers[k]:IC,d=Ue(e.processor)&&tt(e.processor.normalize)?e.processor.normalize:LC,h=Ue(e.processor)&&tt(e.processor.interpolate)?e.processor.interpolate:DC,f=Ue(e.processor)&&re(e.processor.type)?e.processor.type:HC,b={list:o,named:l,plural:a,linked:(k,...w)=>{const[v,U]=w;let _="text",C="";w.length===1?Ke(v)?(C=v.modifier||C,_=v.type||_):re(v)&&(C=v||C):w.length===2&&(re(v)&&(C=v||C),re(U)&&(_=U||_));const S=u(k)(b),H=_==="vnode"&&dt(S)&&C?S[0]:S;return C?c(C)(H,_):H},message:u,type:f,interpolate:h,normalize:d,values:Jt({},r,A)};return b}let po=null;function RC(e){po=e}function PC(e,t,n){po&&po.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const xC=NC("function:translate");function NC(e){return t=>po&&po.emit(e,t)}const Xk=Zl.__EXTEND_POINT__,Ms=ql(Xk),An={NOT_FOUND_KEY:Xk,FALLBACK_TO_TRANSLATE:Ms(),CANNOT_FORMAT_NUMBER:Ms(),FALLBACK_TO_NUMBER_FORMAT:Ms(),CANNOT_FORMAT_DATE:Ms(),FALLBACK_TO_DATE_FORMAT:Ms(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:Ms(),__EXTEND_POINT__:Ms()},KC={[An.NOT_FOUND_KEY]:"Not found '{key}' key in '{locale}' locale messages.",[An.FALLBACK_TO_TRANSLATE]:"Fall back to translate '{key}' key with '{target}' locale.",[An.CANNOT_FORMAT_NUMBER]:"Cannot format a number value due to not supported Intl.NumberFormat.",[An.FALLBACK_TO_NUMBER_FORMAT]:"Fall back to number format '{key}' key with '{target}' locale.",[An.CANNOT_FORMAT_DATE]:"Cannot format a date value due to not supported Intl.DateTimeFormat.",[An.FALLBACK_TO_DATE_FORMAT]:"Fall back to datetime format '{key}' key with '{target}' locale.",[An.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]:"This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future."};function da(e,...t){return ah(KC[e],...t)}const zk=ve.__EXTEND_POINT__,js=ql(zk),xt={INVALID_ARGUMENT:zk,INVALID_DATE_ARGUMENT:js(),INVALID_ISO_DATE_ARGUMENT:js(),NOT_SUPPORT_NON_STRING_MESSAGE:js(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:js(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:js(),NOT_SUPPORT_LOCALE_TYPE:js(),__EXTEND_POINT__:js()};function ui(e){return hr(e,null,{messages:VC})}const VC={[xt.INVALID_ARGUMENT]:"Invalid arguments",[xt.INVALID_DATE_ARGUMENT]:"The date provided is an invalid Date object.Make sure your Date represents a valid date.",[xt.INVALID_ISO_DATE_ARGUMENT]:"The argument provided is not a valid ISO date string",[xt.NOT_SUPPORT_NON_STRING_MESSAGE]:"Not support non-string message",[xt.NOT_SUPPORT_LOCALE_PROMISE_VALUE]:"cannot support promise value",[xt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]:"cannot support async function",[xt.NOT_SUPPORT_LOCALE_TYPE]:"cannot support locale type"};function Ah(e,t){return t.locale!=null?Lf(t.locale):Lf(e.locale)}let Mu;function Lf(e){if(re(e))return e;if(tt(e)){if(e.resolvedOnce&&Mu!=null)return Mu;if(e.constructor.name==="Function"){const t=e();if(Pw(t))throw ui(xt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Mu=t}else throw ui(xt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw ui(xt.NOT_SUPPORT_LOCALE_TYPE)}function GC(e,t,n){return[...new Set([n,...dt(t)?t:Ke(t)?Object.keys(t):re(t)?[t]:[n]])]}function qk(e,t,n){const i=re(n)?n:nr,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let a=s.__localeChainCache.get(i);if(!a){a=[];let r=[n];for(;dt(r);)r=Df(a,r,t);const o=dt(t)||!Ue(t)?t:t.default?t.default:null;r=re(o)?[o]:o,dt(r)&&Df(a,r,!1),s.__localeChainCache.set(i,a)}return a}function Df(e,t,n){let i=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function XC(){return{upper:(e,t)=>t==="text"&&re(e)?e.toUpperCase():t==="vnode"&&Ke(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&re(e)?e.toLowerCase():t==="vnode"&&Ke(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&re(e)?Of(e):t==="vnode"&&Ke(e)&&"__v_isVNode"in e?Of(e.children):e}}let Zk;function Mf(e){Zk=e}let ev;function zC(e){ev=e}let tv;function qC(e){tv=e}let nv=null;const ZC=e=>{nv=e},e0=()=>nv;let iv=null;const jf=e=>{iv=e},t0=()=>iv;let Rf=0;function n0(e={}){const t=tt(e.onWarn)?e.onWarn:Mt,n=re(e.version)?e.version:JC,i=re(e.locale)||tt(e.locale)?e.locale:nr,s=tt(i)?nr:i,a=dt(e.fallbackLocale)||Ue(e.fallbackLocale)||re(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,r=Ue(e.messages)?e.messages:{[s]:{}},o=Ue(e.datetimeFormats)?e.datetimeFormats:{[s]:{}},A=Ue(e.numberFormats)?e.numberFormats:{[s]:{}},l=Jt({},e.modifiers||{},XC()),u=e.pluralRules||{},c=tt(e.missing)?e.missing:null,d=Le(e.missingWarn)||Fs(e.missingWarn)?e.missingWarn:!0,h=Le(e.fallbackWarn)||Fs(e.fallbackWarn)?e.fallbackWarn:!0,f=!!e.fallbackFormat,m=!!e.unresolving,b=tt(e.postTranslation)?e.postTranslation:null,k=Ue(e.processor)?e.processor:null,w=Le(e.warnHtmlMessage)?e.warnHtmlMessage:!0,v=!!e.escapeParameter,U=tt(e.messageCompiler)?e.messageCompiler:Zk;tt(e.messageCompiler)&&Gk(da(An.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));const _=tt(e.messageResolver)?e.messageResolver:ev||TC,C=tt(e.localeFallbacker)?e.localeFallbacker:tv||GC,S=Ke(e.fallbackContext)?e.fallbackContext:void 0,H=e,I=Ke(H.__datetimeFormatters)?H.__datetimeFormatters:new Map,M=Ke(H.__numberFormatters)?H.__numberFormatters:new Map,P=Ke(H.__meta)?H.__meta:{};Rf++;const V={version:n,cid:Rf,locale:i,fallbackLocale:a,messages:r,modifiers:l,pluralRules:u,missing:c,missingWarn:d,fallbackWarn:h,fallbackFormat:f,unresolving:m,postTranslation:b,processor:k,warnHtmlMessage:w,escapeParameter:v,messageCompiler:U,messageResolver:_,localeFallbacker:C,fallbackContext:S,onWarn:t,__meta:P};return V.datetimeFormats=o,V.numberFormats=A,V.__datetimeFormatters=I,V.__numberFormatters=M,V.__v_emitter=H.__v_emitter!=null?H.__v_emitter:void 0,PC(V,n,P),V}function tu(e,t){return e instanceof RegExp?e.test(t):e}function sv(e,t){return e instanceof RegExp?e.test(t):e}function lh(e,t,n,i,s){const{missing:a,onWarn:r}=e;{const o=e.__v_emitter;o&&o.emit("missing",{locale:n,key:t,type:s,groupId:`${s}:${t}`})}if(a!==null){const o=a(e,n,t,s);return re(o)?o:t}else return sv(i,t)&&r(da(An.NOT_FOUND_KEY,{key:t,locale:n})),t}function Cr(e,t,n){const i=e;i.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function av(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function i0(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let i=n+1;is0(n,e)}function s0(e,t){const n=t.b||t.body;if((n.t||n.type)===1){const i=n,s=i.c||i.cases;return e.plural(s.reduce((a,r)=>[...a,Pf(e,r)],[]))}else return Pf(e,n)}function Pf(e,t){const n=t.s||t.static;if(n)return e.type==="text"?n:e.normalize([n]);{const i=(t.i||t.items).reduce((s,a)=>[...s,Oc(e,a)],[]);return e.normalize(i)}}function Oc(e,t){const n=t.t||t.type;switch(n){case 3:{const i=t;return i.v||i.value}case 9:{const i=t;return i.v||i.value}case 4:{const i=t;return e.interpolate(e.named(i.k||i.key))}case 5:{const i=t;return e.interpolate(e.list(i.i!=null?i.i:i.index))}case 6:{const i=t,s=i.m||i.modifier;return e.linked(Oc(e,i.k||i.key),s?Oc(e,s):void 0,e.type)}case 7:{const i=t;return i.v||i.value}case 8:{const i=t;return i.v||i.value}default:throw new Error(`unhandled node type on format message part: ${n}`)}}const a0="Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.";function rv(e,t){t&&Zw(e)&&Mt(ah(a0,{source:e}))}const ov=e=>e;let Ga=Object.create(null);function Av(e){e.code===Zl.USE_MODULO_SYNTAX&&Mt(`The use of named interpolation with modulo syntax is deprecated. It will be removed in v10. -reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format -(message compiler warning message: ${e.message})`)}const Us=e=>Ke(e)&&(e.t===0||e.type===0)&&("b"in e||"body"in e);function lv(e,t={}){let n=!1;const i=t.onError||zw;return t.onError=s=>{n=!0,i(s)},{...BC(e,t),detectError:n}}const r0=(e,t)=>{if(!re(e))throw ui(xt.NOT_SUPPORT_NON_STRING_MESSAGE);t.onWarn=Av;{const n=Le(t.warnHtmlMessage)?t.warnHtmlMessage:!0;rv(e,n);const s=(t.onCacheKey||ov)(e),a=Ga[s];if(a)return a;const{code:r,detectError:o}=lv(e,t),A=new Function(`return ${r}`)();return o?A:Ga[s]=A}};function o0(e,t){if(t.onWarn=Av,__INTLIFY_JIT_COMPILATION__&&!__INTLIFY_DROP_MESSAGE_COMPILER__&&re(e)){const n=Le(t.warnHtmlMessage)?t.warnHtmlMessage:!0;rv(e,n);const s=(t.onCacheKey||ov)(e),a=Ga[s];if(a)return a;const{ast:r,detectError:o}=lv(e,{...t,location:!0,jit:!0}),A=ju(r);return o?A:Ga[s]=A}else{if(!Us(e))return Mt(`the message that is resolve with key '${t.key}' is not supported for jit compilation`),()=>e;const n=e.cacheKey;if(n){const i=Ga[n];return i||(Ga[n]=ju(e))}else return ju(e)}}const xf=()=>"",$n=e=>tt(e);function Nf(e,...t){const{fallbackFormat:n,postTranslation:i,unresolving:s,messageCompiler:a,fallbackLocale:r,messages:o}=e,[A,l]=Mc(...t),u=Le(l.missingWarn)?l.missingWarn:e.missingWarn,c=Le(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,d=Le(l.escapeParameter)?l.escapeParameter:e.escapeParameter,h=!!l.resolvedMessage,f=re(l.default)||Le(l.default)?Le(l.default)?a?A:()=>A:l.default:n?a?A:()=>A:"",m=n||f!=="",b=Ah(e,l);d&&A0(l);let[k,w,v]=h?[A,b,o[b]||{}]:uv(e,A,b,r,c,u),U=k,_=A;if(!h&&!(re(U)||Us(U)||$n(U))&&m&&(U=f,_=U),!h&&(!(re(U)||Us(U)||$n(U))||!re(w)))return s?eu:A;if(re(U)&&e.messageCompiler==null)return Mt(`The message format compilation is not supported in this build. Because message compiler isn't included. You need to pre-compilation all message format. So translate function return '${A}'.`),A;let C=!1;const S=()=>{C=!0},H=$n(U)?U:cv(e,A,w,U,_,S);if(C)return U;const I=d0(e,w,v,l),M=jC(I),P=l0(e,H,M),V=i?i(P,A):P;{const q={timestamp:Date.now(),key:re(A)?A:$n(U)?U.key:"",locale:w||($n(U)?U.locale:""),format:re(U)?U:$n(U)?U.source:"",message:V};q.meta=Jt({},e.__meta,e0()||{}),xC(q)}return V}function A0(e){dt(e.list)?e.list=e.list.map(t=>re(t)?Ef(t):t):Ke(e.named)&&Object.keys(e.named).forEach(t=>{re(e.named[t])&&(e.named[t]=Ef(e.named[t]))})}function uv(e,t,n,i,s,a){const{messages:r,onWarn:o,messageResolver:A,localeFallbacker:l}=e,u=l(e,i,n);let c={},d,h=null,f=n,m=null;const b="translate";for(let k=0;ki;return d.locale=n,d.key=t,d}let A=null,l,u;Xn&&(A=window.performance.now(),l="intlify-message-compilation-start",u="intlify-message-compilation-end",wn&&wn(l));const c=r(i,u0(e,n,s,i,o,a));if(Xn){const d=window.performance.now(),h=e.__v_emitter;h&&A&&h.emit("message-compilation",{type:"message-compilation",message:i,time:d-A,groupId:`translate:${t}`}),l&&u&&wn&&ca&&(wn(u),ca("intlify message compilation",l,u))}return c.locale=n,c.key=t,c.source=i,c}function l0(e,t,n){let i=null,s,a;Xn&&(i=window.performance.now(),s="intlify-message-evaluation-start",a="intlify-message-evaluation-end",wn&&wn(s));const r=t(n);if(Xn){const o=window.performance.now(),A=e.__v_emitter;A&&i&&A.emit("message-evaluation",{type:"message-evaluation",value:r,time:o-i,groupId:`translate:${t.key}`}),s&&a&&wn&&ca&&(wn(a),ca("intlify message evaluation",s,a))}return r}function Mc(...e){const[t,n,i]=e,s={};if(!re(t)&&!Ot(t)&&!$n(t)&&!Us(t))throw ui(xt.INVALID_ARGUMENT);const a=Ot(t)?String(t):($n(t),t);return Ot(n)?s.plural=n:re(n)?s.default=n:Ue(n)&&!zl(n)?s.named=n:dt(n)&&(s.list=n),Ot(i)?s.plural=i:re(i)?s.default=i:Ue(i)&&Jt(s,i),[a,s]}function u0(e,t,n,i,s,a){return{locale:t,key:n,warnHtmlMessage:s,onError:r=>{a&&a(r);{const o=c0(i),A=`Message compilation error: ${r.message}`,l=r.location&&o&&Kw(o,r.location.start.offset,r.location.end.offset),u=e.__v_emitter;u&&o&&u.emit("compile-error",{message:o,error:r.message,start:r.location&&r.location.start.offset,end:r.location&&r.location.end.offset,groupId:`translate:${n}`}),console.error(l?`${A} -${l}`:A)}},onCacheKey:r=>Ow(t,n,r)}}function c0(e){if(re(e))return e;if(e.loc&&e.loc.source)return e.loc.source}function d0(e,t,n,i){const{modifiers:s,pluralRules:a,messageResolver:r,fallbackLocale:o,fallbackWarn:A,missingWarn:l,fallbackContext:u}=e,d={locale:t,modifiers:s,pluralRules:a,messages:h=>{let f=r(n,h);if(f==null&&u){const[,,m]=uv(u,h,t,o,A,l);f=r(m,h)}if(re(f)||Us(f)){let m=!1;const k=cv(e,h,t,f,h,()=>{m=!0});return m?xf:k}else return $n(f)?f:xf}};return e.processor&&(d.processor=e.processor),i.list&&(d.list=i.list),i.named&&(d.named=i.named),Ot(i.plural)&&(d.pluralIndex=i.plural),d}const Kf=typeof Intl<"u",dv={dateTimeFormat:Kf&&typeof Intl.DateTimeFormat<"u",numberFormat:Kf&&typeof Intl.NumberFormat<"u"};function Vf(e,...t){const{datetimeFormats:n,unresolving:i,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__datetimeFormatters:o}=e;if(!dv.dateTimeFormat)return a(da(An.CANNOT_FORMAT_DATE)),ml;const[A,l,u,c]=jc(...t),d=Le(u.missingWarn)?u.missingWarn:e.missingWarn,h=Le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,f=!!u.part,m=Ah(e,u),b=r(e,s,m);if(!re(A)||A==="")return new Intl.DateTimeFormat(m,c).format(l);let k={},w,v=null,U=m,_=null;const C="datetime format";for(let I=0;I{hv.includes(A)?r[A]=n[A]:a[A]=n[A]}),re(i)?a.locale=i:Ue(i)&&(r=i),Ue(s)&&(r=s),[a.key||"",o,a,r]}function Gf(e,t,n){const i=e;for(const s in n){const a=`${t}__${s}`;i.__datetimeFormatters.has(a)&&i.__datetimeFormatters.delete(a)}}function Wf(e,...t){const{numberFormats:n,unresolving:i,fallbackLocale:s,onWarn:a,localeFallbacker:r}=e,{__numberFormatters:o}=e;if(!dv.numberFormat)return a(da(An.CANNOT_FORMAT_NUMBER)),ml;const[A,l,u,c]=Rc(...t),d=Le(u.missingWarn)?u.missingWarn:e.missingWarn,h=Le(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,f=!!u.part,m=Ah(e,u),b=r(e,s,m);if(!re(A)||A==="")return new Intl.NumberFormat(m,c).format(l);let k={},w,v=null,U=m,_=null;const C="number format";for(let I=0;I{fv.includes(A)?r[A]=n[A]:a[A]=n[A]}),re(i)?a.locale=i:Ue(i)&&(r=i),Ue(s)&&(r=s),[a.key||"",o,a,r]}function Yf(e,t,n){const i=e;for(const s in n){const a=`${t}__${s}`;i.__numberFormatters.has(a)&&i.__numberFormatters.delete(a)}}wC();/** -* @vue/shared v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Gi(e,t){const n=new Set(e.split(","));return i=>n.has(i)}const nt=Object.freeze({}),Xa=Object.freeze([]),Wt=()=>{},h0=()=>!1,Lo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),pl=e=>e.startsWith("onUpdate:"),yt=Object.assign,uh=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},f0=Object.prototype.hasOwnProperty,Oe=(e,t)=>f0.call(e,t),he=Array.isArray,ea=e=>Do(e)==="[object Map]",fr=e=>Do(e)==="[object Set]",Jf=e=>Do(e)==="[object Date]",ye=e=>typeof e=="function",bt=e=>typeof e=="string",Pi=e=>typeof e=="symbol",Ye=e=>e!==null&&typeof e=="object",ch=e=>(Ye(e)||ye(e))&&ye(e.then)&&ye(e.catch),mv=Object.prototype.toString,Do=e=>mv.call(e),dh=e=>Do(e).slice(8,-1),pv=e=>Do(e)==="[object Object]",hh=e=>bt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,eo=Gi(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),m0=Gi("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),nu=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},p0=/-(\w)/g,pi=nu(e=>e.replace(p0,(t,n)=>n?n.toUpperCase():"")),g0=/\B([A-Z])/g,xi=nu(e=>e.replace(g0,"-$1").toLowerCase()),ha=nu(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ws=nu(e=>e?`on${ha(e)}`:""),_s=(e,t)=>!Object.is(e,t),xa=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:i,value:n})},gl=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Xf;const fh=()=>Xf||(Xf=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Tn(e){if(he(e)){const t={};for(let n=0;n{if(n){const i=n.split(v0);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function Se(e){let t="";if(bt(e))t=e;else if(he(e))for(let n=0;nfa(n,t))}const T=e=>bt(e)?e:e==null?"":he(e)||Ye(e)&&(e.toString===mv||!ye(e.toString))?JSON.stringify(e,vv,2):String(e),vv=(e,t)=>t&&t.__v_isRef?vv(e,t.value):ea(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[i,s],a)=>(n[Ru(i,a)+" =>"]=s,n),{})}:fr(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ru(n))}:Pi(t)?Ru(t):Ye(t)&&!he(t)&&!pv(t)?String(t):t,Ru=(e,t="")=>{var n;return Pi(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function gi(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let bn;class yv{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=bn,!t&&bn&&(this.index=(bn.scopes||(bn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=bn;try{return bn=this,t()}finally{bn=n}}else gi("cannot run an inactive effect scope.")}on(){bn=this}off(){bn=this.parent}stop(t){if(this._active){let n,i;for(n=0,i=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),Yi()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=bs,n=ta;try{return bs=!0,ta=this,this._runnings++,zf(this),this.fn()}finally{qf(this),this._runnings--,ta=n,bs=t}}stop(){this.active&&(zf(this),qf(this),this.onStop&&this.onStop(),this.active=!1)}}function Q0(e){return e.value}function zf(e){e._trackId++,e._depsLength=0}function qf(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},kl=new WeakMap,na=Symbol("iterate"),Nc=Symbol("Map key iterate");function nn(e,t,n){if(bs&&ta){let i=kl.get(e);i||kl.set(e,i=new Map);let s=i.get(n);s||i.set(n,s=Ev(()=>i.delete(n))),Cv(ta,s,{target:e,type:t,key:n})}}function fi(e,t,n,i,s,a){const r=kl.get(e);if(!r)return;let o=[];if(t==="clear")o=[...r.values()];else if(n==="length"&&he(e)){const A=Number(i);r.forEach((l,u)=>{(u==="length"||!Pi(u)&&u>=A)&&o.push(l)})}else switch(n!==void 0&&o.push(r.get(n)),t){case"add":he(e)?hh(n)&&o.push(r.get("length")):(o.push(r.get(na)),ea(e)&&o.push(r.get(Nc)));break;case"delete":he(e)||(o.push(r.get(na)),ea(e)&&o.push(r.get(Nc)));break;case"set":ea(e)&&o.push(r.get(na));break}kh();for(const A of o)A&&Sv(A,4,{target:e,type:t,key:n,newValue:i,oldValue:s,oldTarget:a});vh()}function H0(e,t){const n=kl.get(e);return n&&n.get(t)}const L0=Gi("__proto__,__v_isRef,__isVue"),Fv=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Pi)),Zf=D0();function D0(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const i=we(this);for(let a=0,r=this.length;a{e[t]=function(...n){Wi(),kh();const i=we(this)[t].apply(this,n);return vh(),Yi(),i}}),e}function O0(e){Pi(e)||(e=String(e));const t=we(this);return nn(t,"has",e),t.hasOwnProperty(e)}class Uv{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,i){const s=this._isReadonly,a=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return a;if(n==="__v_raw")return i===(s?a?Lv:Hv:a?Qv:Iv).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(i)?t:void 0;const r=he(t);if(!s){if(r&&Oe(Zf,n))return Reflect.get(Zf,n,i);if(n==="hasOwnProperty")return O0}const o=Reflect.get(t,n,i);return(Pi(n)?Fv.has(n):L0(n))||(s||nn(t,"get",n),a)?o:ht(o)?r&&hh(n)?o:o.value:Ye(o)?s?Ov(o):Oo(o):o}}class _v extends Uv{constructor(t=!1){super(!1,t)}set(t,n,i,s){let a=t[n];if(!this._isShallow){const A=ma(a);if(!ia(i)&&!ma(i)&&(a=we(a),i=we(i)),!he(t)&&ht(a)&&!ht(i))return A?!1:(a.value=i,!0)}const r=he(t)&&hh(n)?Number(n)e,iu=e=>Reflect.getPrototypeOf(e);function eA(e,t,n=!1,i=!1){e=e.__v_raw;const s=we(e),a=we(t);n||(_s(t,a)&&nn(s,"get",t),nn(s,"get",a));const{has:r}=iu(s),o=i?yh:n?bh:go;if(r.call(s,t))return o(e.get(t));if(r.call(s,a))return o(e.get(a));e!==s&&e.get(t)}function tA(e,t=!1){const n=this.__v_raw,i=we(n),s=we(e);return t||(_s(e,s)&&nn(i,"has",e),nn(i,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function nA(e,t=!1){return e=e.__v_raw,!t&&nn(we(e),"iterate",na),Reflect.get(e,"size",e)}function em(e){e=we(e);const t=we(this);return iu(t).has.call(t,e)||(t.add(e),fi(t,"add",e,e)),this}function tm(e,t){t=we(t);const n=we(this),{has:i,get:s}=iu(n);let a=i.call(n,e);a?$v(n,i,e):(e=we(e),a=i.call(n,e));const r=s.call(n,e);return n.set(e,t),a?_s(t,r)&&fi(n,"set",e,t,r):fi(n,"add",e,t),this}function nm(e){const t=we(this),{has:n,get:i}=iu(t);let s=n.call(t,e);s?$v(t,n,e):(e=we(e),s=n.call(t,e));const a=i?i.call(t,e):void 0,r=t.delete(e);return s&&fi(t,"delete",e,void 0,a),r}function im(){const e=we(this),t=e.size!==0,n=ea(e)?new Map(e):new Set(e),i=e.clear();return t&&fi(e,"clear",void 0,void 0,n),i}function iA(e,t){return function(i,s){const a=this,r=a.__v_raw,o=we(r),A=t?yh:e?bh:go;return!e&&nn(o,"iterate",na),r.forEach((l,u)=>i.call(s,A(l),A(u),a))}}function sA(e,t,n){return function(...i){const s=this.__v_raw,a=we(s),r=ea(a),o=e==="entries"||e===Symbol.iterator&&r,A=e==="keys"&&r,l=s[e](...i),u=n?yh:t?bh:go;return!t&&nn(a,"iterate",A?Nc:na),{next(){const{value:c,done:d}=l.next();return d?{value:c,done:d}:{value:o?[u(c[0]),u(c[1])]:u(c),done:d}},[Symbol.iterator](){return this}}}}function zi(e){return function(...t){{const n=t[0]?`on key "${t[0]}" `:"";gi(`${ha(e)} operation ${n}failed: target is readonly.`,we(this))}return e==="delete"?!1:e==="clear"?void 0:this}}function x0(){const e={get(a){return eA(this,a)},get size(){return nA(this)},has:tA,add:em,set:tm,delete:nm,clear:im,forEach:iA(!1,!1)},t={get(a){return eA(this,a,!1,!0)},get size(){return nA(this)},has:tA,add:em,set:tm,delete:nm,clear:im,forEach:iA(!1,!0)},n={get(a){return eA(this,a,!0)},get size(){return nA(this,!0)},has(a){return tA.call(this,a,!0)},add:zi("add"),set:zi("set"),delete:zi("delete"),clear:zi("clear"),forEach:iA(!0,!1)},i={get(a){return eA(this,a,!0,!0)},get size(){return nA(this,!0)},has(a){return tA.call(this,a,!0)},add:zi("add"),set:zi("set"),delete:zi("delete"),clear:zi("clear"),forEach:iA(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(a=>{e[a]=sA(a,!1,!1),n[a]=sA(a,!0,!1),t[a]=sA(a,!1,!0),i[a]=sA(a,!0,!0)}),[e,n,t,i]}const[N0,K0,V0,G0]=x0();function su(e,t){const n=t?e?G0:V0:e?K0:N0;return(i,s,a)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?i:Reflect.get(Oe(n,s)&&s in i?n:i,s,a)}const W0={get:su(!1,!1)},Y0={get:su(!1,!0)},J0={get:su(!0,!1)},X0={get:su(!0,!0)};function $v(e,t,n){const i=we(n);if(i!==n&&t.call(e,i)){const s=dh(e);gi(`Reactive ${s} contains both the raw and reactive versions of the same object${s==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const Iv=new WeakMap,Qv=new WeakMap,Hv=new WeakMap,Lv=new WeakMap;function z0(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function q0(e){return e.__v_skip||!Object.isExtensible(e)?0:z0(dh(e))}function Oo(e){return ma(e)?e:au(e,!1,M0,W0,Iv)}function Dv(e){return au(e,!1,R0,Y0,Qv)}function Ov(e){return au(e,!0,j0,J0,Hv)}function ci(e){return au(e,!0,P0,X0,Lv)}function au(e,t,n,i,s){if(!Ye(e))return gi(`value cannot be made reactive: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;const a=s.get(e);if(a)return a;const r=q0(e);if(r===0)return e;const o=new Proxy(e,r===2?i:n);return s.set(e,o),o}function Di(e){return ma(e)?Di(e.__v_raw):!!(e&&e.__v_isReactive)}function ma(e){return!!(e&&e.__v_isReadonly)}function ia(e){return!!(e&&e.__v_isShallow)}function ir(e){return e?!!e.__v_raw:!1}function we(e){const t=e&&e.__v_raw;return t?we(t):e}function cs(e){return Object.isExtensible(e)&&gv(e,"__v_skip",!0),e}const go=e=>Ye(e)?Oo(e):e,bh=e=>Ye(e)?Ov(e):e,Z0="Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free";class Mv{constructor(t,n,i,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new gh(()=>t(this._value),()=>GA(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=i}get value(){const t=we(this);return(!t._cacheable||t.effect.dirty)&&_s(t._value,t._value=t.effect.run())&&GA(t,4),jv(t),t.effect._dirtyLevel>=2&&(this._warnRecursive&&gi(Z0,` - -getter: `,this.getter),GA(t,2)),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function eS(e,t,n=!1){let i,s;const a=ye(e);a?(i=e,s=()=>{gi("Write operation failed: computed value is readonly")}):(i=e.get,s=e.set);const r=new Mv(i,s,a||!s,n);return t&&!n&&(r.effect.onTrack=t.onTrack,r.effect.onTrigger=t.onTrigger),r}function jv(e){var t;bs&&ta&&(e=we(e),Cv(ta,(t=e.dep)!=null?t:e.dep=Ev(()=>e.dep=void 0,e instanceof Mv?e:void 0),{target:e,type:"get",key:"value"}))}function GA(e,t=4,n){e=we(e);const i=e.dep;i&&Sv(i,t,{target:e,type:"set",key:"value",newValue:n})}function ht(e){return!!(e&&e.__v_isRef===!0)}function Qn(e){return Rv(e,!1)}function Mo(e){return Rv(e,!0)}function Rv(e,t){return ht(e)?e:new tS(e,t)}class tS{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:we(t),this._value=n?t:go(t)}get value(){return jv(this),this._value}set value(t){const n=this.__v_isShallow||ia(t)||ma(t);t=n?t:we(t),_s(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:go(t),GA(this,4,t))}}function ds(e){return ht(e)?e.value:e}const nS={get:(e,t,n)=>ds(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const s=e[t];return ht(s)&&!ht(n)?(s.value=n,!0):Reflect.set(e,t,n,i)}};function Pv(e){return Di(e)?e:new Proxy(e,nS)}function sm(e){ir(e)||gi("toRefs() expects a reactive object but received a plain one.");const t=he(e)?new Array(e.length):{};for(const n in e)t[n]=xv(e,n);return t}class iS{constructor(t,n,i){this._object=t,this._key=n,this._defaultValue=i,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return H0(we(this._object),this._key)}}class sS{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Pu(e,t,n){return ht(e)?e:ye(e)?new sS(e):Ye(e)&&arguments.length>1?xv(e,t,n):Qn(e)}function xv(e,t,n){const i=e[t];return ht(i)?i:new iS(e,t,n)}/** -* @vue/runtime-core v3.4.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const sa=[];function WA(e){sa.push(e)}function YA(){sa.pop()}function ne(e,...t){Wi();const n=sa.length?sa[sa.length-1].component:null,i=n&&n.appContext.config.warnHandler,s=aS();if(i)Oi(i,n,11,[e+t.map(a=>{var r,o;return(o=(r=a.toString)==null?void 0:r.call(a))!=null?o:JSON.stringify(a)}).join(""),n&&n.proxy,s.map(({vnode:a})=>`at <${hu(n,a.type)}>`).join(` -`),s]);else{const a=[`[Vue warn]: ${e}`,...t];s.length&&a.push(` -`,...rS(s)),console.warn(...a)}Yi()}function aS(){let e=sa[sa.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const i=e.component&&e.component.parent;e=i&&i.vnode}return t}function rS(e){const t=[];return e.forEach((n,i)=>{t.push(...i===0?[]:[` -`],...oS(n))}),t}function oS({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",i=e.component?e.component.parent==null:!1,s=` at <${hu(e.component,e.type,i)}`,a=">"+n;return e.props?[s,...AS(e.props),a]:[s+a]}function AS(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(i=>{t.push(...Nv(i,e[i]))}),n.length>3&&t.push(" ..."),t}function Nv(e,t,n){return bt(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:ht(t)?(t=Nv(e,we(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):ye(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=we(t),n?t:[`${e}=`,t])}const Bh={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."};function Oi(e,t,n,i){try{return i?e(...i):e()}catch(s){jo(s,t,n)}}function Gn(e,t,n,i){if(ye(e)){const s=Oi(e,t,n,i);return s&&ch(s)&&s.catch(a=>{jo(a,t,n)}),s}if(he(e)){const s=[];for(let a=0;a>>1,s=tn[i],a=vo(s);aAi&&tn.splice(t,1)}function Gv(e){he(e)?za.push(...e):(!$i||!$i.includes(e,e.allowRecurse?is+1:is))&&za.push(e),Vv()}function am(e,t,n=ko?Ai+1:0){for(t=t||new Map;nvo(n)-vo(i));if(za.length=0,$i){$i.push(...t);return}for($i=t,e=e||new Map,is=0;is<$i.length;is++)Ch(e,$i[is])||$i[is]();$i=null,is=0}}const vo=e=>e.id==null?1/0:e.id,hS=(e,t)=>{const n=vo(e)-vo(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Yv(e){Kc=!1,ko=!0,e=e||new Map,tn.sort(hS);const t=n=>Ch(e,n);try{for(Ai=0;AiuS){const i=t.ownerInstance,s=i&&Hh(i.type);return jo(`Maximum recursive updates exceeded${s?` in component <${s}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}else e.set(t,n+1)}}let aa=!1;const Na=new Set;fh().__VUE_HMR_RUNTIME__={createRecord:xu(Jv),rerender:xu(pS),reload:xu(gS)};const pa=new Map;function fS(e){const t=e.type.__hmrId;let n=pa.get(t);n||(Jv(t,e.type),n=pa.get(t)),n.instances.add(e)}function mS(e){pa.get(e.type.__hmrId).instances.delete(e)}function Jv(e,t){return pa.has(e)?!1:(pa.set(e,{initialDef:to(t),instances:new Set}),!0)}function to(e){return Fy(e)?e.__vccOpts:e}function pS(e,t){const n=pa.get(e);n&&(n.initialDef.render=t,[...n.instances].forEach(i=>{t&&(i.render=t,to(i.type).render=t),i.renderCache=[],aa=!0,i.effect.dirty=!0,i.update(),aa=!1}))}function gS(e,t){const n=pa.get(e);if(!n)return;t=to(t),rm(n.initialDef,t);const i=[...n.instances];for(const s of i){const a=to(s.type);Na.has(a)||(a!==n.initialDef&&rm(a,t),Na.add(a)),s.appContext.propsCache.delete(s.type),s.appContext.emitsCache.delete(s.type),s.appContext.optionsCache.delete(s.type),s.ceReload?(Na.add(a),s.ceReload(t.styles),Na.delete(a)):s.parent?(s.parent.effect.dirty=!0,ru(s.parent.update)):s.appContext.reload?s.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required.")}Gv(()=>{for(const s of i)Na.delete(to(s.type))})}function rm(e,t){yt(e,t);for(const n in e)n!=="__file"&&!(n in t)&&delete e[n]}function xu(e){return(t,n)=>{try{return e(t,n)}catch(i){console.error(i),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let li,Pr=[],Vc=!1;function Ro(e,...t){li?li.emit(e,...t):Vc||Pr.push({event:e,args:t})}function Xv(e,t){var n,i;li=e,li?(li.enabled=!0,Pr.forEach(({event:s,args:a})=>li.emit(s,...a)),Pr=[]):typeof window<"u"&&window.HTMLElement&&!((i=(n=window.navigator)==null?void 0:n.userAgent)!=null&&i.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(a=>{Xv(a,t)}),setTimeout(()=>{li||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Vc=!0,Pr=[])},3e3)):(Vc=!0,Pr=[])}function kS(e,t){Ro("app:init",e,t,{Fragment:me,Text:mr,Comment:mn,Static:XA})}function vS(e){Ro("app:unmount",e)}const yS=Sh("component:added"),zv=Sh("component:updated"),bS=Sh("component:removed"),BS=e=>{li&&typeof li.cleanupBuffer=="function"&&!li.cleanupBuffer(e)&&bS(e)};/*! #__NO_SIDE_EFFECTS__ */function Sh(e){return t=>{Ro(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const wS=qv("perf:start"),CS=qv("perf:end");function qv(e){return(t,n,i)=>{Ro(e,t.appContext.app,t.uid,t,n,i)}}function SS(e,t,n){Ro("component:emit",e.appContext.app,e,t,n)}function ES(e,t,...n){if(e.isUnmounted)return;const i=e.vnode.props||nt;{const{emitsOptions:u,propsOptions:[c]}=e;if(u)if(!(t in u))(!c||!(Ws(t)in c))&&ne(`Component emitted event "${t}" but it is neither declared in the emits option nor as an "${Ws(t)}" prop.`);else{const d=u[t];ye(d)&&(d(...n)||ne(`Invalid event arguments: event validation failed for event "${t}".`))}}let s=n;const a=t.startsWith("update:"),r=a&&t.slice(7);if(r&&r in i){const u=`${r==="modelValue"?"model":r}Modifiers`,{number:c,trim:d}=i[u]||nt;d&&(s=n.map(h=>bt(h)?h.trim():h)),c&&(s=n.map(gl))}SS(e,t,s);{const u=t.toLowerCase();u!==t&&i[Ws(u)]&&ne(`Event "${u}" is emitted in component ${hu(e,e.type)} but the handler is registered for "${t}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${xi(t)}" instead of "${t}".`)}let o,A=i[o=Ws(t)]||i[o=Ws(pi(t))];!A&&a&&(A=i[o=Ws(xi(t))]),A&&Gn(A,e,6,s);const l=i[o+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Gn(l,e,6,s)}}function Zv(e,t,n=!1){const i=t.emitsCache,s=i.get(e);if(s!==void 0)return s;const a=e.emits;let r={},o=!1;if(!ye(e)){const A=l=>{const u=Zv(l,t,!0);u&&(o=!0,yt(r,u))};!n&&t.mixins.length&&t.mixins.forEach(A),e.extends&&A(e.extends),e.mixins&&e.mixins.forEach(A)}return!a&&!o?(Ye(e)&&i.set(e,null),null):(he(a)?a.forEach(A=>r[A]=null):yt(r,a),Ye(e)&&i.set(e,r),r)}function ou(e,t){return!e||!Lo(t)?!1:(t=t.slice(2).replace(/Once$/,""),Oe(e,t[0].toLowerCase()+t.slice(1))||Oe(e,xi(t))||Oe(e,t))}let Bt=null,Au=null;function vl(e){const t=Bt;return Bt=e,Au=e&&e.type.__scopeId||null,t}function wa(e){Au=e}function Ca(){Au=null}function J(e,t=Bt,n){if(!t||e._n)return e;const i=(...s)=>{i._d&&ym(-1);const a=vl(t);let r;try{r=e(...s)}finally{vl(a),i._d&&ym(1)}return zv(t),r};return i._n=!0,i._c=!0,i._d=!0,i}let Gc=!1;function yl(){Gc=!0}function Nu(e){const{type:t,vnode:n,proxy:i,withProxy:s,propsOptions:[a],slots:r,attrs:o,emit:A,render:l,renderCache:u,props:c,data:d,setupState:h,ctx:f,inheritAttrs:m}=e,b=vl(e);let k,w;Gc=!1;try{if(n.shapeFlag&4){const _=s||i,C=h.__isScriptSetup?new Proxy(_,{get(S,H,I){return ne(`Property '${String(H)}' was accessed via 'this'. Avoid using 'this' in templates.`),Reflect.get(S,H,I)}}):_;k=Kn(l.call(C,_,u,ci(c),h,d,f)),w=o}else{const _=t;o===c&&yl(),k=Kn(_.length>1?_(ci(c),{get attrs(){return yl(),ci(o)},slots:r,emit:A}):_(ci(c),null)),w=t.props?o:FS(o)}}catch(_){io.length=0,jo(_,e,1),k=D(mn)}let v=k,U;if(k.patchFlag>0&&k.patchFlag&2048&&([v,U]=ey(k)),w&&m!==!1){const _=Object.keys(w),{shapeFlag:C}=v;if(_.length){if(C&7)a&&_.some(pl)&&(w=US(w,a)),v=Ts(v,w,!1,!0);else if(!Gc&&v.type!==mn){const S=Object.keys(o),H=[],I=[];for(let M=0,P=S.length;M renders non-element root node that cannot be animated."),v.transition=n.transition),U?U(v):k=v,vl(b),k}const ey=e=>{const t=e.children,n=e.dynamicChildren,i=Eh(t,!1);if(i){if(i.patchFlag>0&&i.patchFlag&2048)return ey(i)}else return[e,void 0];const s=t.indexOf(i),a=n?n.indexOf(i):-1,r=o=>{t[s]=o,n&&(a>-1?n[a]=o:o.patchFlag>0&&(e.dynamicChildren=[...n,o]))};return[Kn(i),r]};function Eh(e,t=!0){let n;for(let i=0;i0&&n.patchFlag&2048)return Eh(n.children)}}else return}return n}const FS=e=>{let t;for(const n in e)(n==="class"||n==="style"||Lo(n))&&((t||(t={}))[n]=e[n]);return t},US=(e,t)=>{const n={};for(const i in e)(!pl(i)||!(i.slice(9)in t))&&(n[i]=e[i]);return n},om=e=>e.shapeFlag&7||e.type===mn;function _S(e,t,n){const{props:i,children:s,component:a}=e,{props:r,children:o,patchFlag:A}=t,l=a.emitsOptions;if((s||o)&&aa||t.dirs||t.transition)return!0;if(n&&A>=0){if(A&1024)return!0;if(A&16)return i?Am(i,r,l):!!r;if(A&8){const u=t.dynamicProps;for(let c=0;ce.__isSuspense;function QS(e,t){t&&t.pendingBranch?he(e)?t.effects.push(...e):t.effects.push(e):Gv(e)}const HS=Symbol.for("v-scx"),LS=()=>{{const e=Yn(HS);return e||ne("Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build."),e}};function DS(e,t){return Fh(e,null,t)}const aA={};function Wn(e,t,n){return ye(t)||ne("`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature."),Fh(e,t,n)}function Fh(e,t,{immediate:n,deep:i,flush:s,once:a,onTrack:r,onTrigger:o}=nt){if(t&&a){const S=t;t=(...H)=>{S(...H),C()}}i!==void 0&&typeof i=="number"&&ne('watch() "deep" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.'),t||(n!==void 0&&ne('watch() "immediate" option is only respected when using the watch(source, callback, options?) signature.'),i!==void 0&&ne('watch() "deep" option is only respected when using the watch(source, callback, options?) signature.'),a!==void 0&&ne('watch() "once" option is only respected when using the watch(source, callback, options?) signature.'));const A=S=>{ne("Invalid watch source: ",S,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},l=$t,u=S=>i===!0?S:zs(S,i===!1?1:void 0);let c,d=!1,h=!1;if(ht(e)?(c=()=>e.value,d=ia(e)):Di(e)?(c=()=>u(e),d=!0):he(e)?(h=!0,d=e.some(S=>Di(S)||ia(S)),c=()=>e.map(S=>{if(ht(S))return S.value;if(Di(S))return u(S);if(ye(S))return Oi(S,l,2);A(S)})):ye(e)?t?c=()=>Oi(e,l,2):c=()=>(f&&f(),Gn(e,l,3,[m])):(c=Wt,A(e)),t&&i){const S=c;c=()=>zs(S())}let f,m=S=>{f=U.onStop=()=>{Oi(S,l,4),f=U.onStop=void 0}},b;if(cu)if(m=Wt,t?n&&Gn(t,l,3,[c(),h?[]:void 0,m]):c(),s==="sync"){const S=LS();b=S.__watcherHandles||(S.__watcherHandles=[])}else return Wt;let k=h?new Array(e.length).fill(aA):aA;const w=()=>{if(!(!U.active||!U.dirty))if(t){const S=U.run();(i||d||(h?S.some((H,I)=>_s(H,k[I])):_s(S,k)))&&(f&&f(),Gn(t,l,3,[S,k===aA?void 0:h&&k[0]===aA?[]:k,m]),k=S)}else U.run()};w.allowRecurse=!!t;let v;s==="sync"?v=w:s==="post"?v=()=>cn(w,l&&l.suspense):(w.pre=!0,l&&(w.id=l.uid),v=()=>ru(w));const U=new gh(c,Wt,v),_=bv(),C=()=>{U.stop(),_&&uh(_.effects,U)};return U.onTrack=r,U.onTrigger=o,t?n?w():k=U.run():s==="post"?cn(U.run.bind(U),l&&l.suspense):U.run(),b&&b.push(C),C}function OS(e,t,n){const i=this.proxy,s=bt(e)?e.includes(".")?sy(i,e):()=>i[e]:e.bind(i,i);let a;ye(t)?a=t:(a=t.handler,n=t);const r=Po(this),o=Fh(s,a.bind(i),n);return r(),o}function sy(e,t){const n=t.split(".");return()=>{let i=e;for(let s=0;s{zs(i,t,n)});else if(pv(e))for(const i in e)zs(e[i],t,n);return e}function ay(e){m0(e)&&ne("Do not use built-in directive ids as custom directive id: "+e)}function ge(e,t){if(Bt===null)return ne("withDirectives can only be used inside render functions."),e;const n=du(Bt)||Bt.proxy,i=e.dirs||(e.dirs=[]);for(let s=0;s!!e.type.__asyncLoader,Uh=e=>e.type.__isKeepAlive;function MS(e,t){ry(e,"a",t)}function jS(e,t){ry(e,"da",t)}function ry(e,t,n=$t){const i=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(lu(t,i,n),n){let s=n.parent;for(;s&&s.parent;)Uh(s.parent.vnode)&&RS(i,t,n,s),s=s.parent}}function RS(e,t,n,i){const s=lu(t,e,i,!0);uu(()=>{uh(i[t],s)},n)}function lu(e,t,n=$t,i=!1){if(n){const s=n[e]||(n[e]=[]),a=t.__weh||(t.__weh=(...r)=>{if(n.isUnmounted)return;Wi();const o=Po(n),A=Gn(t,n,e,r);return o(),Yi(),A});return i?s.unshift(a):s.push(a),a}else{const s=Ws(Bh[e].replace(/ hook$/,""));ne(`${s} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const Ji=e=>(t,n=$t)=>(!cu||e==="sp")&&lu(e,(...i)=>t(...i),n),oy=Ji("bm"),_h=Ji("m"),PS=Ji("bu"),xS=Ji("u"),NS=Ji("bum"),uu=Ji("um"),KS=Ji("sp"),VS=Ji("rtg"),GS=Ji("rtc");function WS(e,t=$t){lu("ec",e,t)}function Me(e,t,n,i){let s;const a=n;if(he(e)||bt(e)){s=new Array(e.length);for(let r=0,o=e.length;rt(r,o,void 0,a));else{const r=Object.keys(e);s=new Array(r.length);for(let o=0,A=r.length;o{const a=i.fn(...s);return a&&(a.key=i.key),a}:i.fn)}return e}function _t(e,t,n={},i,s){if(Bt.isCE||Bt.parent&&no(Bt.parent)&&Bt.parent.isCE)return t!=="default"&&(n.name=t),D("slot",n,i&&i());let a=e[t];a&&a.length>1&&(ne("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."),a=()=>[]),a&&a._c&&(a._d=!1),E();const r=a&&Ay(a(n)),o=ke(me,{key:n.key||r&&r.key||`_${t}`},r||(i?i():[]),r&&e._===1?64:-2);return!s&&o.scopeId&&(o.slotScopeIds=[o.scopeId+"-s"]),a&&a._c&&(a._d=!0),o}function Ay(e){return e.some(t=>ar(t)?!(t.type===mn||t.type===me&&!Ay(t.children)):!0)?e:null}const Wc=e=>e?Sy(e)?du(e)||e.proxy:Wc(e.parent):null,ra=yt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>ci(e.props),$attrs:e=>ci(e.attrs),$slots:e=>ci(e.slots),$refs:e=>ci(e.refs),$parent:e=>Wc(e.parent),$root:e=>Wc(e.root),$emit:e=>e.emit,$options:e=>$h(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,ru(e.update)}),$nextTick:e=>e.n||(e.n=sr.bind(e.proxy)),$watch:e=>OS.bind(e)}),Th=e=>e==="_"||e==="$",Ku=(e,t)=>e!==nt&&!e.__isScriptSetup&&Oe(e,t),ly={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:i,data:s,props:a,accessCache:r,type:o,appContext:A}=e;if(t==="__isVue")return!0;let l;if(t[0]!=="$"){const h=r[t];if(h!==void 0)switch(h){case 1:return i[t];case 2:return s[t];case 4:return n[t];case 3:return a[t]}else{if(Ku(i,t))return r[t]=1,i[t];if(s!==nt&&Oe(s,t))return r[t]=2,s[t];if((l=e.propsOptions[0])&&Oe(l,t))return r[t]=3,a[t];if(n!==nt&&Oe(n,t))return r[t]=4,n[t];Yc&&(r[t]=0)}}const u=ra[t];let c,d;if(u)return t==="$attrs"?(nn(e.attrs,"get",""),yl()):t==="$slots"&&nn(e,"get",t),u(e);if((c=o.__cssModules)&&(c=c[t]))return c;if(n!==nt&&Oe(n,t))return r[t]=4,n[t];if(d=A.config.globalProperties,Oe(d,t))return d[t];Bt&&(!bt(t)||t.indexOf("__v")!==0)&&(s!==nt&&Th(t[0])&&Oe(s,t)?ne(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===Bt&&ne(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){const{data:i,setupState:s,ctx:a}=e;return Ku(s,t)?(s[t]=n,!0):s.__isScriptSetup&&Oe(s,t)?(ne(`Cannot mutate \n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFP0lEQVRogb2aTWgdVRiGn3cMoZQQi4sgpZRQinYRixsFq4hkUaELUWmliEhBREWsqKgLF1JEpIiIVMF20Y0FKYg/pYItglIRim5Eof4F6UYXFkoWpVzj9bwu7plkcu783dtJXgj57tyZc97vnO98f3NFBUIIs8AeSQ8AW21PApmkrHBbFv8qh7EdJGEbgFyWVPXMFdtfACclfScp1IxfDtvbbZ8JIfzjiBCCx0Xx2TZy/Py77fts1y1QKfkbbH94LYQ7xE8hhF11fCcS8pnthxiYTn75MrAA9D0wh34yRnBiHkW5xlTyOWFgmjmfLba3RlOdk/SE7QuSFhsVAKYk3WZ7On6+YvuwpGO2lyQF2/2cVE6waKepEm1QOFcTwLykN4Cd8docMAO0UmAyKpETvAicrtK+Q+QL0A8hnJN0nhUFNtneWPVg5QGJq3gFWOqKZUssxXlzHhuo4bnqi3zrc0Tz6JhfPaI59pNrlfevUqB4Y5QDK9u7brC96kzVocmE1p08EKKzaHXzaEFi/dAnLl6TIqkCy6lBdIdrsgO2U+9X/A7gv4Lp1HIo3YHEj3emRAhh0vZB4JLtQ7Zn0hXOsiwAn9o+GwNn7ZhDCiTRs+sdmLZ9B7AJeN7268BsepOkHyU9BZymwY0PKVCMsm0P0giYkLQhylOSHgGO2p4p4XFR0nPACdu9qgErTWgtYkAcL8sXxvYG27uBM7bv8SBlL97/B3AIuFA1ZpMJdY3MdlZM9KK8EzgCPJg+IClkWbWzXFcTyjPP4jxRzmzPAW/b3u8RaoBSd9Z2FzyoHXYD24gpcVk6Xbh2vQfFUmnWavtGSUdt32L7HUl/j6VA4oXqPNGjkl4DplLFiyTTaw3ytKSDwIztlyVdrlOgKZWohe07c/JQmkuVXmshTwEHgLdCCFvqONR6oSYkBX4liudpBHnC9gHgpO27qha0lMAoXqg4cJmceJuR5MhlF/AecHfZ4S6rB7KUTB2azGJME0rl3M3uSZUojQPFh5sUadqBrhCD3hQJ51VeqKh928K8jTnk412DvCDpWeDLtCsyZEKj7kCqZJk8Lvk49w+SngbOlrR06gualsGsUR7T9oOkj4F9ks6qosU4VBOnqUSDEt8DvTT6pnJbRQtyD/gIeEbSQh2BtDO3SpF44uuC3fHYM7qZ8hwnladsz0uazecrMZurko4DhyX9VUe+jNCNtj/xCr6yPTvSIPXjb7b9uatxyfaTrik5U5St7khxYBTEMVd1HAqOY8H2K8CxssNahTJNAwzbcBfQoF0SUrMBfgNeLDusuYJVNUGjF1qD4qbYtFqyfR64V9IpSatKR9tbgJck7agarNGEutwFDzrbvbiqPeAU8JikiyX3bgbeBB4HRmruLpsQK337rrBo+1tJi5JOAC9I+mWIQAg32T4C7PWguVuJoTOQujY67N5lWdYH3rX9ftVB9eAly35J99NiAVNyIT9EaVrbJZq8jKTrCqZbu4CV7fXchMZieA3Id73twpVlo8teoqyAWAdkDHi1mnvIhBjuCq+rEvnOt/V+ZQXNWnqhVpxsT7SdN1WgL2m5mSppIxWtlzXEZJw3xxI1rZ1UgeUXbDHYzALztifXIjeqwK3A7YX5Fhmk16VIV7cH/AxcjaswDbwK7AOWQgj9ggsMhf9jteELMSc/uBPAdmBbIRZdUIsOXXHQGduf2aP/xqHutw9j4lfb8yOvTAhhzvY3tv8NISyT6UqhlvKfIYSH3VAbVB512zts75W0j8Gr/vx6ZelYJo/hxXrA18AHwLmmqP0/S72aSAb6S7AAAAAASUVORK5CYII=\"","\n\n\n\n\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGT0lEQVRogcWaT4glVxXGf1/ZNM3QjCGLQcIQhjCoizi4eC3+Q8IsZhHoQiEBFZGAKGRhgr6EWUgIQxhkSBciYyDRkIVmYcSFvJ6FhiAyKIivEHERJTSSVRZRQi+G0DRtfS7q1t9Xf95rXyYfvHnn3b5165xb557znVMjehAn6QXMw4avSNwPbBoiQVSbFgGRAYWBlpwJsvZgKXfjju3fCr2G+MtsOsmGJncuFSfpRcMLgoeATQAbFGavIrvLrBE5jBwAU+DWkBFReyBO0nuB5wRXCuWhUmxVWYBQ+F5ODrgIXAc+26d8sX5d+QjzHcQN4GzYlfeAA/AJKANOWn6QYVdaB9kCuWVVB4zJ3VIAG8B5zP2o3NyfA0/OppPDrus3Wr+3ETu58gC6g7lh+CnSsSAYoNrNhaWs2A0HQfk/48iNDMp6A3QZ8UPgUpjxIOYcsJQBm8B2tbbfBm7tP7XTefEaUfj4SZzMb4P+TDDA5h7wmb4LWwY0Q4SsO8DxmpUdhnUM3CnUkLwFWjirBVp/qJS3TftU3RWIzOJk2ektA1x+Kz98GWYwDn8wcO2ewzvY82jK2JzloeSuIss/y923YUD9Ejs/D/bd9iEQOqE82MOGNAyQiWyiwoVsZx+E+nGStqNfG/+tvECDLtx0ISnkIhU/Qes7A/HefHM3SZ8A/h0n6bXdJD0XJ/PGnEAbfgO8DuP37jjEriVPLe2LS0E6C/4ccA/wfcF1owvtabPp5O/A48AtRsJ4Rxgt8qnzc7DWM+wNoa3wY9vmG8IvxUl6rj1zNp28DXwPeNX4qG/FziiUu5ByHxrhMqdAeU+JLdAV8O/iJH1od2++WZ84m07+Bb4meLNvsY5MTJEDGmPrgSIKAxrcW5cQNyWuA7+sXzGb7gyeg5YBCmTCjbH1wZS0oMG9iWwelPSjOEkBfjVWyBRYeAIKsV+qscsexMn8XtAVzAM1+tujNwAfJef5Cwj2fAx4yfan4iT98Ww6eXdFA2rhM0em4VD2TdvPSdqGPPkV7lfKq5dyZyU9AZyLk/TqbDp5b8iAXi4ELouTPtj6QqE8NM9OKZ+ulNsGHsMkcTI/v4IBpWKwREGimtvUbR2xe1lsGD9m89pukn4x3ks7J3XS6VoiG76FQ66gqCYX5V7LlpAFSPq84AXwl+IkXdjwFplzGFvOhXLq0eE2/N8u1JYvId0EHm4b0VPQVInMY3lgmV1dAwxb4G1aOjeikHDeTigHHJodAyiaP+qWiyK/0OKU8oHMkxZv7E8njWqtYYBRkzkYvExBUyQMLcpqz1td/htwFXhjvyMrD/NyjaSyej9IVPG8Lp8eBa2+OptODvomNQua4pkXH0ZcSMyBo9LGqpdYuVB9ySVl4Aj4Nfi7Q8rDuAtFgxQBvYI4BD5hHBXNrKLh1eFC28Bl4MKA27yPecXixv50550h5RcMUOg2VwNVq7ALgau8OHaTAnGS3kfOdy70TPkP8Azyy/vTnaVaK11nIKrcALz+eiAL3tmINpIPMM+DXp49NUyh6+gyICsWLptba4Mzo7xR0HAbvwV6GvF6m0bHeykIZtNJ54qDUUhjUWhlCLnaIOAY/FfQ10IJ2UCczM8bvi6YAf/sWrHrgEZVFGK9+sOJ4Si40BEwA32rR/n7QM+Dvz3U3O0yIKv1RKM1+9Ch5D8JDhGvkr+BWdjZOJl/HHMTeASzNbSHrTDaVDd05wbC6GqY5TTgJ7vJ/MW+KBMnaWTzVYkvA5FGgkibC2W46oSt/wzkGA6RRtJHipwqiIacoEWnVfGZPAWsbfdXRGQVyXyV3mj+VYUx+UMwQBGwEZIqYy7UVNDOW9shCinnBR/GU4hKXjTiwQvNXdvNKLT+TDyGyPZGWVKM0PnWE+BEUtVMtc8wRrnXj01JZdwXOmagtdN6AuQv2IqSOCddl+O9dDN0zO4GPo35TI1aH5LT6060d/fI8A/gfYkzQmeBZxGPgo/jJD3B4QVc9d4gvBJq55Hwq/w/Bx0vw0P5pvw98Ub4XEQ8UPAl229K6u3QLTh4aHX/DIj7Llq523Z6vAU8PptOft83YSHCzKaTd7F/APzRON/t9jnqqLz65NNUZOH7HeNrwO0hC3u3aDdJP4n9iMSjoPACwqfYfK16zRHwB8wvkG/PRgqb/wEbP7/mwLGaHgAAAABJRU5ErkJggg==\"","\n\n\n","function validateForm(form: HTMLFormElement) {\n let isValid = true\n const hasBrowserSupport = 'reportValidity' in document.createElement('form')\n if (hasBrowserSupport) {\n isValid = form.reportValidity()\n } else {\n // validation check for older browsers. Highlights the incorrect fields with red color and !\n Array.from(form.getElementsByTagName('input')).forEach((input) => {\n const parent = input.parentElement\n if (input.disabled) {\n return\n }\n\n const prevErrorElements =\n parent == null ? [] : parent.getElementsByClassName('error-bang')\n if (!input.validity.valid) {\n isValid = false\n input.style.color = 'red'\n\n if (prevErrorElements.length > 0) {\n return\n }\n const errorElement = document.createElement('b')\n errorElement.className = 'error-bang'\n errorElement.innerHTML = ' ! '\n errorElement.style.color = 'red'\n input.insertAdjacentElement('beforebegin', errorElement)\n } else {\n input.style.color = ''\n if (parent != null) {\n Array.from(prevErrorElements).forEach((el) => {\n parent.removeChild(el)\n })\n }\n }\n })\n }\n return isValid\n}\n\nfunction isOldInternetExplorer() {\n const ua = window.navigator.userAgent\n return ua.indexOf('MSIE') !== -1 || ua.indexOf('Trident') !== -1\n}\n\nfunction scrollToElement(elementId: string) {\n if (!elementId) {\n return\n }\n const element = document.getElementById(elementId)\n if (element) {\n const top = (element as any).offsetTop\n window.scrollTo(0, top)\n }\n}\n\nfunction roundResults(value: number) {\n if (value === 0) {\n return 0\n }\n if (value < 10) {\n return value\n }\n if (value < 200) {\n return Math.round(value / 10) * 10 // if small enough, return rounded to 10\n }\n return Math.round(value / 100) * 100 // round to hundred\n}\n\nexport { validateForm, isOldInternetExplorer, scrollToElement, roundResults }\n","\n\n\n\n\n","\n\n\n\n\n","export default \"__VITE_ASSET__BYrNh9wI__\"","export default \"__VITE_ASSET__CFuh$Wly__\"","\n\n\n\n\n\n","\n\n\n\n\n","/*!\n * @kurkle/color v0.3.2\n * https://github.com/kurkle/color#readme\n * (c) 2023 Jukka Kurkela\n * Released under the MIT License\n */\nfunction round(v) {\n return v + 0.5 | 0;\n}\nconst lim = (v, l, h) => Math.max(Math.min(v, h), l);\nfunction p2b(v) {\n return lim(round(v * 2.55), 0, 255);\n}\nfunction b2p(v) {\n return lim(round(v / 2.55), 0, 100);\n}\nfunction n2b(v) {\n return lim(round(v * 255), 0, 255);\n}\nfunction b2n(v) {\n return lim(round(v / 2.55) / 100, 0, 1);\n}\nfunction n2p(v) {\n return lim(round(v * 100), 0, 100);\n}\n\nconst map$1 = {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9, A: 10, B: 11, C: 12, D: 13, E: 14, F: 15, a: 10, b: 11, c: 12, d: 13, e: 14, f: 15};\nconst hex = [...'0123456789ABCDEF'];\nconst h1 = b => hex[b & 0xF];\nconst h2 = b => hex[(b & 0xF0) >> 4] + hex[b & 0xF];\nconst eq = b => ((b & 0xF0) >> 4) === (b & 0xF);\nconst isShort = v => eq(v.r) && eq(v.g) && eq(v.b) && eq(v.a);\nfunction hexParse(str) {\n var len = str.length;\n var ret;\n if (str[0] === '#') {\n if (len === 4 || len === 5) {\n ret = {\n r: 255 & map$1[str[1]] * 17,\n g: 255 & map$1[str[2]] * 17,\n b: 255 & map$1[str[3]] * 17,\n a: len === 5 ? map$1[str[4]] * 17 : 255\n };\n } else if (len === 7 || len === 9) {\n ret = {\n r: map$1[str[1]] << 4 | map$1[str[2]],\n g: map$1[str[3]] << 4 | map$1[str[4]],\n b: map$1[str[5]] << 4 | map$1[str[6]],\n a: len === 9 ? (map$1[str[7]] << 4 | map$1[str[8]]) : 255\n };\n }\n }\n return ret;\n}\nconst alpha = (a, f) => a < 255 ? f(a) : '';\nfunction hexString(v) {\n var f = isShort(v) ? h1 : h2;\n return v\n ? '#' + f(v.r) + f(v.g) + f(v.b) + alpha(v.a, f)\n : undefined;\n}\n\nconst HUE_RE = /^(hsla?|hwb|hsv)\\(\\s*([-+.e\\d]+)(?:deg)?[\\s,]+([-+.e\\d]+)%[\\s,]+([-+.e\\d]+)%(?:[\\s,]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction hsl2rgbn(h, s, l) {\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n return [f(0), f(8), f(4)];\n}\nfunction hsv2rgbn(h, s, v) {\n const f = (n, k = (n + h / 60) % 6) => v - v * s * Math.max(Math.min(k, 4 - k, 1), 0);\n return [f(5), f(3), f(1)];\n}\nfunction hwb2rgbn(h, w, b) {\n const rgb = hsl2rgbn(h, 1, 0.5);\n let i;\n if (w + b > 1) {\n i = 1 / (w + b);\n w *= i;\n b *= i;\n }\n for (i = 0; i < 3; i++) {\n rgb[i] *= 1 - w - b;\n rgb[i] += w;\n }\n return rgb;\n}\nfunction hueValue(r, g, b, d, max) {\n if (r === max) {\n return ((g - b) / d) + (g < b ? 6 : 0);\n }\n if (g === max) {\n return (b - r) / d + 2;\n }\n return (r - g) / d + 4;\n}\nfunction rgb2hsl(v) {\n const range = 255;\n const r = v.r / range;\n const g = v.g / range;\n const b = v.b / range;\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const l = (max + min) / 2;\n let h, s, d;\n if (max !== min) {\n d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n h = hueValue(r, g, b, d, max);\n h = h * 60 + 0.5;\n }\n return [h | 0, s || 0, l];\n}\nfunction calln(f, a, b, c) {\n return (\n Array.isArray(a)\n ? f(a[0], a[1], a[2])\n : f(a, b, c)\n ).map(n2b);\n}\nfunction hsl2rgb(h, s, l) {\n return calln(hsl2rgbn, h, s, l);\n}\nfunction hwb2rgb(h, w, b) {\n return calln(hwb2rgbn, h, w, b);\n}\nfunction hsv2rgb(h, s, v) {\n return calln(hsv2rgbn, h, s, v);\n}\nfunction hue(h) {\n return (h % 360 + 360) % 360;\n}\nfunction hueParse(str) {\n const m = HUE_RE.exec(str);\n let a = 255;\n let v;\n if (!m) {\n return;\n }\n if (m[5] !== v) {\n a = m[6] ? p2b(+m[5]) : n2b(+m[5]);\n }\n const h = hue(+m[2]);\n const p1 = +m[3] / 100;\n const p2 = +m[4] / 100;\n if (m[1] === 'hwb') {\n v = hwb2rgb(h, p1, p2);\n } else if (m[1] === 'hsv') {\n v = hsv2rgb(h, p1, p2);\n } else {\n v = hsl2rgb(h, p1, p2);\n }\n return {\n r: v[0],\n g: v[1],\n b: v[2],\n a: a\n };\n}\nfunction rotate(v, deg) {\n var h = rgb2hsl(v);\n h[0] = hue(h[0] + deg);\n h = hsl2rgb(h);\n v.r = h[0];\n v.g = h[1];\n v.b = h[2];\n}\nfunction hslString(v) {\n if (!v) {\n return;\n }\n const a = rgb2hsl(v);\n const h = a[0];\n const s = n2p(a[1]);\n const l = n2p(a[2]);\n return v.a < 255\n ? `hsla(${h}, ${s}%, ${l}%, ${b2n(v.a)})`\n : `hsl(${h}, ${s}%, ${l}%)`;\n}\n\nconst map = {\n x: 'dark',\n Z: 'light',\n Y: 're',\n X: 'blu',\n W: 'gr',\n V: 'medium',\n U: 'slate',\n A: 'ee',\n T: 'ol',\n S: 'or',\n B: 'ra',\n C: 'lateg',\n D: 'ights',\n R: 'in',\n Q: 'turquois',\n E: 'hi',\n P: 'ro',\n O: 'al',\n N: 'le',\n M: 'de',\n L: 'yello',\n F: 'en',\n K: 'ch',\n G: 'arks',\n H: 'ea',\n I: 'ightg',\n J: 'wh'\n};\nconst names$1 = {\n OiceXe: 'f0f8ff',\n antiquewEte: 'faebd7',\n aqua: 'ffff',\n aquamarRe: '7fffd4',\n azuY: 'f0ffff',\n beige: 'f5f5dc',\n bisque: 'ffe4c4',\n black: '0',\n blanKedOmond: 'ffebcd',\n Xe: 'ff',\n XeviTet: '8a2be2',\n bPwn: 'a52a2a',\n burlywood: 'deb887',\n caMtXe: '5f9ea0',\n KartYuse: '7fff00',\n KocTate: 'd2691e',\n cSO: 'ff7f50',\n cSnflowerXe: '6495ed',\n cSnsilk: 'fff8dc',\n crimson: 'dc143c',\n cyan: 'ffff',\n xXe: '8b',\n xcyan: '8b8b',\n xgTMnPd: 'b8860b',\n xWay: 'a9a9a9',\n xgYF: '6400',\n xgYy: 'a9a9a9',\n xkhaki: 'bdb76b',\n xmagFta: '8b008b',\n xTivegYF: '556b2f',\n xSange: 'ff8c00',\n xScEd: '9932cc',\n xYd: '8b0000',\n xsOmon: 'e9967a',\n xsHgYF: '8fbc8f',\n xUXe: '483d8b',\n xUWay: '2f4f4f',\n xUgYy: '2f4f4f',\n xQe: 'ced1',\n xviTet: '9400d3',\n dAppRk: 'ff1493',\n dApskyXe: 'bfff',\n dimWay: '696969',\n dimgYy: '696969',\n dodgerXe: '1e90ff',\n fiYbrick: 'b22222',\n flSOwEte: 'fffaf0',\n foYstWAn: '228b22',\n fuKsia: 'ff00ff',\n gaRsbSo: 'dcdcdc',\n ghostwEte: 'f8f8ff',\n gTd: 'ffd700',\n gTMnPd: 'daa520',\n Way: '808080',\n gYF: '8000',\n gYFLw: 'adff2f',\n gYy: '808080',\n honeyMw: 'f0fff0',\n hotpRk: 'ff69b4',\n RdianYd: 'cd5c5c',\n Rdigo: '4b0082',\n ivSy: 'fffff0',\n khaki: 'f0e68c',\n lavFMr: 'e6e6fa',\n lavFMrXsh: 'fff0f5',\n lawngYF: '7cfc00',\n NmoncEffon: 'fffacd',\n ZXe: 'add8e6',\n ZcSO: 'f08080',\n Zcyan: 'e0ffff',\n ZgTMnPdLw: 'fafad2',\n ZWay: 'd3d3d3',\n ZgYF: '90ee90',\n ZgYy: 'd3d3d3',\n ZpRk: 'ffb6c1',\n ZsOmon: 'ffa07a',\n ZsHgYF: '20b2aa',\n ZskyXe: '87cefa',\n ZUWay: '778899',\n ZUgYy: '778899',\n ZstAlXe: 'b0c4de',\n ZLw: 'ffffe0',\n lime: 'ff00',\n limegYF: '32cd32',\n lRF: 'faf0e6',\n magFta: 'ff00ff',\n maPon: '800000',\n VaquamarRe: '66cdaa',\n VXe: 'cd',\n VScEd: 'ba55d3',\n VpurpN: '9370db',\n VsHgYF: '3cb371',\n VUXe: '7b68ee',\n VsprRggYF: 'fa9a',\n VQe: '48d1cc',\n VviTetYd: 'c71585',\n midnightXe: '191970',\n mRtcYam: 'f5fffa',\n mistyPse: 'ffe4e1',\n moccasR: 'ffe4b5',\n navajowEte: 'ffdead',\n navy: '80',\n Tdlace: 'fdf5e6',\n Tive: '808000',\n TivedBb: '6b8e23',\n Sange: 'ffa500',\n SangeYd: 'ff4500',\n ScEd: 'da70d6',\n pOegTMnPd: 'eee8aa',\n pOegYF: '98fb98',\n pOeQe: 'afeeee',\n pOeviTetYd: 'db7093',\n papayawEp: 'ffefd5',\n pHKpuff: 'ffdab9',\n peru: 'cd853f',\n pRk: 'ffc0cb',\n plum: 'dda0dd',\n powMrXe: 'b0e0e6',\n purpN: '800080',\n YbeccapurpN: '663399',\n Yd: 'ff0000',\n Psybrown: 'bc8f8f',\n PyOXe: '4169e1',\n saddNbPwn: '8b4513',\n sOmon: 'fa8072',\n sandybPwn: 'f4a460',\n sHgYF: '2e8b57',\n sHshell: 'fff5ee',\n siFna: 'a0522d',\n silver: 'c0c0c0',\n skyXe: '87ceeb',\n UXe: '6a5acd',\n UWay: '708090',\n UgYy: '708090',\n snow: 'fffafa',\n sprRggYF: 'ff7f',\n stAlXe: '4682b4',\n tan: 'd2b48c',\n teO: '8080',\n tEstN: 'd8bfd8',\n tomato: 'ff6347',\n Qe: '40e0d0',\n viTet: 'ee82ee',\n JHt: 'f5deb3',\n wEte: 'ffffff',\n wEtesmoke: 'f5f5f5',\n Lw: 'ffff00',\n LwgYF: '9acd32'\n};\nfunction unpack() {\n const unpacked = {};\n const keys = Object.keys(names$1);\n const tkeys = Object.keys(map);\n let i, j, k, ok, nk;\n for (i = 0; i < keys.length; i++) {\n ok = nk = keys[i];\n for (j = 0; j < tkeys.length; j++) {\n k = tkeys[j];\n nk = nk.replace(k, map[k]);\n }\n k = parseInt(names$1[ok], 16);\n unpacked[nk] = [k >> 16 & 0xFF, k >> 8 & 0xFF, k & 0xFF];\n }\n return unpacked;\n}\n\nlet names;\nfunction nameParse(str) {\n if (!names) {\n names = unpack();\n names.transparent = [0, 0, 0, 0];\n }\n const a = names[str.toLowerCase()];\n return a && {\n r: a[0],\n g: a[1],\n b: a[2],\n a: a.length === 4 ? a[3] : 255\n };\n}\n\nconst RGB_RE = /^rgba?\\(\\s*([-+.\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?[\\s,]+([-+.e\\d]+)(%)?(?:[\\s,/]+([-+.e\\d]+)(%)?)?\\s*\\)$/;\nfunction rgbParse(str) {\n const m = RGB_RE.exec(str);\n let a = 255;\n let r, g, b;\n if (!m) {\n return;\n }\n if (m[7] !== r) {\n const v = +m[7];\n a = m[8] ? p2b(v) : lim(v * 255, 0, 255);\n }\n r = +m[1];\n g = +m[3];\n b = +m[5];\n r = 255 & (m[2] ? p2b(r) : lim(r, 0, 255));\n g = 255 & (m[4] ? p2b(g) : lim(g, 0, 255));\n b = 255 & (m[6] ? p2b(b) : lim(b, 0, 255));\n return {\n r: r,\n g: g,\n b: b,\n a: a\n };\n}\nfunction rgbString(v) {\n return v && (\n v.a < 255\n ? `rgba(${v.r}, ${v.g}, ${v.b}, ${b2n(v.a)})`\n : `rgb(${v.r}, ${v.g}, ${v.b})`\n );\n}\n\nconst to = v => v <= 0.0031308 ? v * 12.92 : Math.pow(v, 1.0 / 2.4) * 1.055 - 0.055;\nconst from = v => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\nfunction interpolate(rgb1, rgb2, t) {\n const r = from(b2n(rgb1.r));\n const g = from(b2n(rgb1.g));\n const b = from(b2n(rgb1.b));\n return {\n r: n2b(to(r + t * (from(b2n(rgb2.r)) - r))),\n g: n2b(to(g + t * (from(b2n(rgb2.g)) - g))),\n b: n2b(to(b + t * (from(b2n(rgb2.b)) - b))),\n a: rgb1.a + t * (rgb2.a - rgb1.a)\n };\n}\n\nfunction modHSL(v, i, ratio) {\n if (v) {\n let tmp = rgb2hsl(v);\n tmp[i] = Math.max(0, Math.min(tmp[i] + tmp[i] * ratio, i === 0 ? 360 : 1));\n tmp = hsl2rgb(tmp);\n v.r = tmp[0];\n v.g = tmp[1];\n v.b = tmp[2];\n }\n}\nfunction clone(v, proto) {\n return v ? Object.assign(proto || {}, v) : v;\n}\nfunction fromObject(input) {\n var v = {r: 0, g: 0, b: 0, a: 255};\n if (Array.isArray(input)) {\n if (input.length >= 3) {\n v = {r: input[0], g: input[1], b: input[2], a: 255};\n if (input.length > 3) {\n v.a = n2b(input[3]);\n }\n }\n } else {\n v = clone(input, {r: 0, g: 0, b: 0, a: 1});\n v.a = n2b(v.a);\n }\n return v;\n}\nfunction functionParse(str) {\n if (str.charAt(0) === 'r') {\n return rgbParse(str);\n }\n return hueParse(str);\n}\nclass Color {\n constructor(input) {\n if (input instanceof Color) {\n return input;\n }\n const type = typeof input;\n let v;\n if (type === 'object') {\n v = fromObject(input);\n } else if (type === 'string') {\n v = hexParse(input) || nameParse(input) || functionParse(input);\n }\n this._rgb = v;\n this._valid = !!v;\n }\n get valid() {\n return this._valid;\n }\n get rgb() {\n var v = clone(this._rgb);\n if (v) {\n v.a = b2n(v.a);\n }\n return v;\n }\n set rgb(obj) {\n this._rgb = fromObject(obj);\n }\n rgbString() {\n return this._valid ? rgbString(this._rgb) : undefined;\n }\n hexString() {\n return this._valid ? hexString(this._rgb) : undefined;\n }\n hslString() {\n return this._valid ? hslString(this._rgb) : undefined;\n }\n mix(color, weight) {\n if (color) {\n const c1 = this.rgb;\n const c2 = color.rgb;\n let w2;\n const p = weight === w2 ? 0.5 : weight;\n const w = 2 * p - 1;\n const a = c1.a - c2.a;\n const w1 = ((w * a === -1 ? w : (w + a) / (1 + w * a)) + 1) / 2.0;\n w2 = 1 - w1;\n c1.r = 0xFF & w1 * c1.r + w2 * c2.r + 0.5;\n c1.g = 0xFF & w1 * c1.g + w2 * c2.g + 0.5;\n c1.b = 0xFF & w1 * c1.b + w2 * c2.b + 0.5;\n c1.a = p * c1.a + (1 - p) * c2.a;\n this.rgb = c1;\n }\n return this;\n }\n interpolate(color, t) {\n if (color) {\n this._rgb = interpolate(this._rgb, color._rgb, t);\n }\n return this;\n }\n clone() {\n return new Color(this.rgb);\n }\n alpha(a) {\n this._rgb.a = n2b(a);\n return this;\n }\n clearer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 - ratio;\n return this;\n }\n greyscale() {\n const rgb = this._rgb;\n const val = round(rgb.r * 0.3 + rgb.g * 0.59 + rgb.b * 0.11);\n rgb.r = rgb.g = rgb.b = val;\n return this;\n }\n opaquer(ratio) {\n const rgb = this._rgb;\n rgb.a *= 1 + ratio;\n return this;\n }\n negate() {\n const v = this._rgb;\n v.r = 255 - v.r;\n v.g = 255 - v.g;\n v.b = 255 - v.b;\n return this;\n }\n lighten(ratio) {\n modHSL(this._rgb, 2, ratio);\n return this;\n }\n darken(ratio) {\n modHSL(this._rgb, 2, -ratio);\n return this;\n }\n saturate(ratio) {\n modHSL(this._rgb, 1, ratio);\n return this;\n }\n desaturate(ratio) {\n modHSL(this._rgb, 1, -ratio);\n return this;\n }\n rotate(deg) {\n rotate(this._rgb, deg);\n return this;\n }\n}\n\nfunction index_esm(input) {\n return new Color(input);\n}\n\nexport { Color, b2n, b2p, index_esm as default, hexParse, hexString, hsl2rgb, hslString, hsv2rgb, hueParse, hwb2rgb, lim, n2b, n2p, nameParse, p2b, rgb2hsl, rgbParse, rgbString, rotate, round };\n","/*!\n * Chart.js v4.4.3\n * https://www.chartjs.org\n * (c) 2024 Chart.js Contributors\n * Released under the MIT License\n */\nimport { Color } from '@kurkle/color';\n\n/**\n * @namespace Chart.helpers\n */ /**\n * An empty function that can be used, for example, for optional callback.\n */ function noop() {\n/* noop */ }\n/**\n * Returns a unique id, sequentially generated from a global variable.\n */ const uid = (()=>{\n let id = 0;\n return ()=>id++;\n})();\n/**\n * Returns true if `value` is neither null nor undefined, else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isNullOrUndef(value) {\n return value === null || typeof value === 'undefined';\n}\n/**\n * Returns true if `value` is an array (including typed arrays), else returns false.\n * @param value - The value to test.\n * @function\n */ function isArray(value) {\n if (Array.isArray && Array.isArray(value)) {\n return true;\n }\n const type = Object.prototype.toString.call(value);\n if (type.slice(0, 7) === '[object' && type.slice(-6) === 'Array]') {\n return true;\n }\n return false;\n}\n/**\n * Returns true if `value` is an object (excluding null), else returns false.\n * @param value - The value to test.\n * @since 2.7.0\n */ function isObject(value) {\n return value !== null && Object.prototype.toString.call(value) === '[object Object]';\n}\n/**\n * Returns true if `value` is a finite number, else returns false\n * @param value - The value to test.\n */ function isNumberFinite(value) {\n return (typeof value === 'number' || value instanceof Number) && isFinite(+value);\n}\n/**\n * Returns `value` if finite, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is not finite.\n */ function finiteOrDefault(value, defaultValue) {\n return isNumberFinite(value) ? value : defaultValue;\n}\n/**\n * Returns `value` if defined, else returns `defaultValue`.\n * @param value - The value to return if defined.\n * @param defaultValue - The value to return if `value` is undefined.\n */ function valueOrDefault(value, defaultValue) {\n return typeof value === 'undefined' ? defaultValue : value;\n}\nconst toPercentage = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 : +value / dimension;\nconst toDimension = (value, dimension)=>typeof value === 'string' && value.endsWith('%') ? parseFloat(value) / 100 * dimension : +value;\n/**\n * Calls `fn` with the given `args` in the scope defined by `thisArg` and returns the\n * value returned by `fn`. If `fn` is not a function, this method returns undefined.\n * @param fn - The function to call.\n * @param args - The arguments with which `fn` should be called.\n * @param [thisArg] - The value of `this` provided for the call to `fn`.\n */ function callback(fn, args, thisArg) {\n if (fn && typeof fn.call === 'function') {\n return fn.apply(thisArg, args);\n }\n}\nfunction each(loopable, fn, thisArg, reverse) {\n let i, len, keys;\n if (isArray(loopable)) {\n len = loopable.length;\n if (reverse) {\n for(i = len - 1; i >= 0; i--){\n fn.call(thisArg, loopable[i], i);\n }\n } else {\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[i], i);\n }\n }\n } else if (isObject(loopable)) {\n keys = Object.keys(loopable);\n len = keys.length;\n for(i = 0; i < len; i++){\n fn.call(thisArg, loopable[keys[i]], keys[i]);\n }\n }\n}\n/**\n * Returns true if the `a0` and `a1` arrays have the same content, else returns false.\n * @param a0 - The array to compare\n * @param a1 - The array to compare\n * @private\n */ function _elementsEqual(a0, a1) {\n let i, ilen, v0, v1;\n if (!a0 || !a1 || a0.length !== a1.length) {\n return false;\n }\n for(i = 0, ilen = a0.length; i < ilen; ++i){\n v0 = a0[i];\n v1 = a1[i];\n if (v0.datasetIndex !== v1.datasetIndex || v0.index !== v1.index) {\n return false;\n }\n }\n return true;\n}\n/**\n * Returns a deep copy of `source` without keeping references on objects and arrays.\n * @param source - The value to clone.\n */ function clone(source) {\n if (isArray(source)) {\n return source.map(clone);\n }\n if (isObject(source)) {\n const target = Object.create(null);\n const keys = Object.keys(source);\n const klen = keys.length;\n let k = 0;\n for(; k < klen; ++k){\n target[keys[k]] = clone(source[keys[k]]);\n }\n return target;\n }\n return source;\n}\nfunction isValidKey(key) {\n return [\n '__proto__',\n 'prototype',\n 'constructor'\n ].indexOf(key) === -1;\n}\n/**\n * The default merger when Chart.helpers.merge is called without merger option.\n * Note(SB): also used by mergeConfig and mergeScaleConfig as fallback.\n * @private\n */ function _merger(key, target, source, options) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n merge(tval, sval, options);\n } else {\n target[key] = clone(sval);\n }\n}\nfunction merge(target, source, options) {\n const sources = isArray(source) ? source : [\n source\n ];\n const ilen = sources.length;\n if (!isObject(target)) {\n return target;\n }\n options = options || {};\n const merger = options.merger || _merger;\n let current;\n for(let i = 0; i < ilen; ++i){\n current = sources[i];\n if (!isObject(current)) {\n continue;\n }\n const keys = Object.keys(current);\n for(let k = 0, klen = keys.length; k < klen; ++k){\n merger(keys[k], target, current, options);\n }\n }\n return target;\n}\nfunction mergeIf(target, source) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n return merge(target, source, {\n merger: _mergerIf\n });\n}\n/**\n * Merges source[key] in target[key] only if target[key] is undefined.\n * @private\n */ function _mergerIf(key, target, source) {\n if (!isValidKey(key)) {\n return;\n }\n const tval = target[key];\n const sval = source[key];\n if (isObject(tval) && isObject(sval)) {\n mergeIf(tval, sval);\n } else if (!Object.prototype.hasOwnProperty.call(target, key)) {\n target[key] = clone(sval);\n }\n}\n/**\n * @private\n */ function _deprecated(scope, value, previous, current) {\n if (value !== undefined) {\n console.warn(scope + ': \"' + previous + '\" is deprecated. Please use \"' + current + '\" instead');\n }\n}\n// resolveObjectKey resolver cache\nconst keyResolvers = {\n // Chart.helpers.core resolveObjectKey should resolve empty key to root object\n '': (v)=>v,\n // default resolvers\n x: (o)=>o.x,\n y: (o)=>o.y\n};\n/**\n * @private\n */ function _splitKey(key) {\n const parts = key.split('.');\n const keys = [];\n let tmp = '';\n for (const part of parts){\n tmp += part;\n if (tmp.endsWith('\\\\')) {\n tmp = tmp.slice(0, -1) + '.';\n } else {\n keys.push(tmp);\n tmp = '';\n }\n }\n return keys;\n}\nfunction _getKeyResolver(key) {\n const keys = _splitKey(key);\n return (obj)=>{\n for (const k of keys){\n if (k === '') {\n break;\n }\n obj = obj && obj[k];\n }\n return obj;\n };\n}\nfunction resolveObjectKey(obj, key) {\n const resolver = keyResolvers[key] || (keyResolvers[key] = _getKeyResolver(key));\n return resolver(obj);\n}\n/**\n * @private\n */ function _capitalize(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}\nconst defined = (value)=>typeof value !== 'undefined';\nconst isFunction = (value)=>typeof value === 'function';\n// Adapted from https://stackoverflow.com/questions/31128855/comparing-ecma6-sets-for-equality#31129384\nconst setsEqual = (a, b)=>{\n if (a.size !== b.size) {\n return false;\n }\n for (const item of a){\n if (!b.has(item)) {\n return false;\n }\n }\n return true;\n};\n/**\n * @param e - The event\n * @private\n */ function _isClickEvent(e) {\n return e.type === 'mouseup' || e.type === 'click' || e.type === 'contextmenu';\n}\n\n/**\n * @alias Chart.helpers.math\n * @namespace\n */ const PI = Math.PI;\nconst TAU = 2 * PI;\nconst PITAU = TAU + PI;\nconst INFINITY = Number.POSITIVE_INFINITY;\nconst RAD_PER_DEG = PI / 180;\nconst HALF_PI = PI / 2;\nconst QUARTER_PI = PI / 4;\nconst TWO_THIRDS_PI = PI * 2 / 3;\nconst log10 = Math.log10;\nconst sign = Math.sign;\nfunction almostEquals(x, y, epsilon) {\n return Math.abs(x - y) < epsilon;\n}\n/**\n * Implementation of the nice number algorithm used in determining where axis labels will go\n */ function niceNum(range) {\n const roundedRange = Math.round(range);\n range = almostEquals(range, roundedRange, range / 1000) ? roundedRange : range;\n const niceRange = Math.pow(10, Math.floor(log10(range)));\n const fraction = range / niceRange;\n const niceFraction = fraction <= 1 ? 1 : fraction <= 2 ? 2 : fraction <= 5 ? 5 : 10;\n return niceFraction * niceRange;\n}\n/**\n * Returns an array of factors sorted from 1 to sqrt(value)\n * @private\n */ function _factorize(value) {\n const result = [];\n const sqrt = Math.sqrt(value);\n let i;\n for(i = 1; i < sqrt; i++){\n if (value % i === 0) {\n result.push(i);\n result.push(value / i);\n }\n }\n if (sqrt === (sqrt | 0)) {\n result.push(sqrt);\n }\n result.sort((a, b)=>a - b).pop();\n return result;\n}\nfunction isNumber(n) {\n return !isNaN(parseFloat(n)) && isFinite(n);\n}\nfunction almostWhole(x, epsilon) {\n const rounded = Math.round(x);\n return rounded - epsilon <= x && rounded + epsilon >= x;\n}\n/**\n * @private\n */ function _setMinAndMaxByKey(array, target, property) {\n let i, ilen, value;\n for(i = 0, ilen = array.length; i < ilen; i++){\n value = array[i][property];\n if (!isNaN(value)) {\n target.min = Math.min(target.min, value);\n target.max = Math.max(target.max, value);\n }\n }\n}\nfunction toRadians(degrees) {\n return degrees * (PI / 180);\n}\nfunction toDegrees(radians) {\n return radians * (180 / PI);\n}\n/**\n * Returns the number of decimal places\n * i.e. the number of digits after the decimal point, of the value of this Number.\n * @param x - A number.\n * @returns The number of decimal places.\n * @private\n */ function _decimalPlaces(x) {\n if (!isNumberFinite(x)) {\n return;\n }\n let e = 1;\n let p = 0;\n while(Math.round(x * e) / e !== x){\n e *= 10;\n p++;\n }\n return p;\n}\n// Gets the angle from vertical upright to the point about a centre.\nfunction getAngleFromPoint(centrePoint, anglePoint) {\n const distanceFromXCenter = anglePoint.x - centrePoint.x;\n const distanceFromYCenter = anglePoint.y - centrePoint.y;\n const radialDistanceFromCenter = Math.sqrt(distanceFromXCenter * distanceFromXCenter + distanceFromYCenter * distanceFromYCenter);\n let angle = Math.atan2(distanceFromYCenter, distanceFromXCenter);\n if (angle < -0.5 * PI) {\n angle += TAU; // make sure the returned angle is in the range of (-PI/2, 3PI/2]\n }\n return {\n angle,\n distance: radialDistanceFromCenter\n };\n}\nfunction distanceBetweenPoints(pt1, pt2) {\n return Math.sqrt(Math.pow(pt2.x - pt1.x, 2) + Math.pow(pt2.y - pt1.y, 2));\n}\n/**\n * Shortest distance between angles, in either direction.\n * @private\n */ function _angleDiff(a, b) {\n return (a - b + PITAU) % TAU - PI;\n}\n/**\n * Normalize angle to be between 0 and 2*PI\n * @private\n */ function _normalizeAngle(a) {\n return (a % TAU + TAU) % TAU;\n}\n/**\n * @private\n */ function _angleBetween(angle, start, end, sameAngleIsFullCircle) {\n const a = _normalizeAngle(angle);\n const s = _normalizeAngle(start);\n const e = _normalizeAngle(end);\n const angleToStart = _normalizeAngle(s - a);\n const angleToEnd = _normalizeAngle(e - a);\n const startToAngle = _normalizeAngle(a - s);\n const endToAngle = _normalizeAngle(a - e);\n return a === s || a === e || sameAngleIsFullCircle && s === e || angleToStart > angleToEnd && startToAngle < endToAngle;\n}\n/**\n * Limit `value` between `min` and `max`\n * @param value\n * @param min\n * @param max\n * @private\n */ function _limitValue(value, min, max) {\n return Math.max(min, Math.min(max, value));\n}\n/**\n * @param {number} value\n * @private\n */ function _int16Range(value) {\n return _limitValue(value, -32768, 32767);\n}\n/**\n * @param value\n * @param start\n * @param end\n * @param [epsilon]\n * @private\n */ function _isBetween(value, start, end, epsilon = 1e-6) {\n return value >= Math.min(start, end) - epsilon && value <= Math.max(start, end) + epsilon;\n}\n\nfunction _lookup(table, value, cmp) {\n cmp = cmp || ((index)=>table[index] < value);\n let hi = table.length - 1;\n let lo = 0;\n let mid;\n while(hi - lo > 1){\n mid = lo + hi >> 1;\n if (cmp(mid)) {\n lo = mid;\n } else {\n hi = mid;\n }\n }\n return {\n lo,\n hi\n };\n}\n/**\n * Binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @param last - lookup last index\n * @private\n */ const _lookupByKey = (table, key, value, last)=>_lookup(table, value, last ? (index)=>{\n const ti = table[index][key];\n return ti < value || ti === value && table[index + 1][key] === value;\n } : (index)=>table[index][key] < value);\n/**\n * Reverse binary search\n * @param table - the table search. must be sorted!\n * @param key - property name for the value in each entry\n * @param value - value to find\n * @private\n */ const _rlookupByKey = (table, key, value)=>_lookup(table, value, (index)=>table[index][key] >= value);\n/**\n * Return subset of `values` between `min` and `max` inclusive.\n * Values are assumed to be in sorted order.\n * @param values - sorted array of values\n * @param min - min value\n * @param max - max value\n */ function _filterBetween(values, min, max) {\n let start = 0;\n let end = values.length;\n while(start < end && values[start] < min){\n start++;\n }\n while(end > start && values[end - 1] > max){\n end--;\n }\n return start > 0 || end < values.length ? values.slice(start, end) : values;\n}\nconst arrayEvents = [\n 'push',\n 'pop',\n 'shift',\n 'splice',\n 'unshift'\n];\nfunction listenArrayEvents(array, listener) {\n if (array._chartjs) {\n array._chartjs.listeners.push(listener);\n return;\n }\n Object.defineProperty(array, '_chartjs', {\n configurable: true,\n enumerable: false,\n value: {\n listeners: [\n listener\n ]\n }\n });\n arrayEvents.forEach((key)=>{\n const method = '_onData' + _capitalize(key);\n const base = array[key];\n Object.defineProperty(array, key, {\n configurable: true,\n enumerable: false,\n value (...args) {\n const res = base.apply(this, args);\n array._chartjs.listeners.forEach((object)=>{\n if (typeof object[method] === 'function') {\n object[method](...args);\n }\n });\n return res;\n }\n });\n });\n}\nfunction unlistenArrayEvents(array, listener) {\n const stub = array._chartjs;\n if (!stub) {\n return;\n }\n const listeners = stub.listeners;\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n if (listeners.length > 0) {\n return;\n }\n arrayEvents.forEach((key)=>{\n delete array[key];\n });\n delete array._chartjs;\n}\n/**\n * @param items\n */ function _arrayUnique(items) {\n const set = new Set(items);\n if (set.size === items.length) {\n return items;\n }\n return Array.from(set);\n}\n\nfunction fontString(pixelSize, fontStyle, fontFamily) {\n return fontStyle + ' ' + pixelSize + 'px ' + fontFamily;\n}\n/**\n* Request animation polyfill\n*/ const requestAnimFrame = function() {\n if (typeof window === 'undefined') {\n return function(callback) {\n return callback();\n };\n }\n return window.requestAnimationFrame;\n}();\n/**\n * Throttles calling `fn` once per animation frame\n * Latest arguments are used on the actual call\n */ function throttled(fn, thisArg) {\n let argsToUse = [];\n let ticking = false;\n return function(...args) {\n // Save the args for use later\n argsToUse = args;\n if (!ticking) {\n ticking = true;\n requestAnimFrame.call(window, ()=>{\n ticking = false;\n fn.apply(thisArg, argsToUse);\n });\n }\n };\n}\n/**\n * Debounces calling `fn` for `delay` ms\n */ function debounce(fn, delay) {\n let timeout;\n return function(...args) {\n if (delay) {\n clearTimeout(timeout);\n timeout = setTimeout(fn, delay, args);\n } else {\n fn.apply(this, args);\n }\n return delay;\n };\n}\n/**\n * Converts 'start' to 'left', 'end' to 'right' and others to 'center'\n * @private\n */ const _toLeftRightCenter = (align)=>align === 'start' ? 'left' : align === 'end' ? 'right' : 'center';\n/**\n * Returns `start`, `end` or `(start + end) / 2` depending on `align`. Defaults to `center`\n * @private\n */ const _alignStartEnd = (align, start, end)=>align === 'start' ? start : align === 'end' ? end : (start + end) / 2;\n/**\n * Returns `left`, `right` or `(left + right) / 2` depending on `align`. Defaults to `left`\n * @private\n */ const _textX = (align, left, right, rtl)=>{\n const check = rtl ? 'left' : 'right';\n return align === check ? right : align === 'center' ? (left + right) / 2 : left;\n};\n/**\n * Return start and count of visible points.\n * @private\n */ function _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled) {\n const pointCount = points.length;\n let start = 0;\n let count = pointCount;\n if (meta._sorted) {\n const { iScale , _parsed } = meta;\n const axis = iScale.axis;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(Math.min(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, axis, min).lo, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? pointCount : _lookupByKey(points, axis, iScale.getPixelForValue(min)).lo), 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(Math.max(// @ts-expect-error Need to type _parsed\n _lookupByKey(_parsed, iScale.axis, max, true).hi + 1, // @ts-expect-error Need to fix types on _lookupByKey\n animationsDisabled ? 0 : _lookupByKey(points, axis, iScale.getPixelForValue(max), true).hi + 1), start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n }\n return {\n start,\n count\n };\n}\n/**\n * Checks if the scale ranges have changed.\n * @param {object} meta - dataset meta.\n * @returns {boolean}\n * @private\n */ function _scaleRangesChanged(meta) {\n const { xScale , yScale , _scaleRanges } = meta;\n const newRanges = {\n xmin: xScale.min,\n xmax: xScale.max,\n ymin: yScale.min,\n ymax: yScale.max\n };\n if (!_scaleRanges) {\n meta._scaleRanges = newRanges;\n return true;\n }\n const changed = _scaleRanges.xmin !== xScale.min || _scaleRanges.xmax !== xScale.max || _scaleRanges.ymin !== yScale.min || _scaleRanges.ymax !== yScale.max;\n Object.assign(_scaleRanges, newRanges);\n return changed;\n}\n\nconst atEdge = (t)=>t === 0 || t === 1;\nconst elasticIn = (t, s, p)=>-(Math.pow(2, 10 * (t -= 1)) * Math.sin((t - s) * TAU / p));\nconst elasticOut = (t, s, p)=>Math.pow(2, -10 * t) * Math.sin((t - s) * TAU / p) + 1;\n/**\n * Easing functions adapted from Robert Penner's easing equations.\n * @namespace Chart.helpers.easing.effects\n * @see http://www.robertpenner.com/easing/\n */ const effects = {\n linear: (t)=>t,\n easeInQuad: (t)=>t * t,\n easeOutQuad: (t)=>-t * (t - 2),\n easeInOutQuad: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t : -0.5 * (--t * (t - 2) - 1),\n easeInCubic: (t)=>t * t * t,\n easeOutCubic: (t)=>(t -= 1) * t * t + 1,\n easeInOutCubic: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t : 0.5 * ((t -= 2) * t * t + 2),\n easeInQuart: (t)=>t * t * t * t,\n easeOutQuart: (t)=>-((t -= 1) * t * t * t - 1),\n easeInOutQuart: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t : -0.5 * ((t -= 2) * t * t * t - 2),\n easeInQuint: (t)=>t * t * t * t * t,\n easeOutQuint: (t)=>(t -= 1) * t * t * t * t + 1,\n easeInOutQuint: (t)=>(t /= 0.5) < 1 ? 0.5 * t * t * t * t * t : 0.5 * ((t -= 2) * t * t * t * t + 2),\n easeInSine: (t)=>-Math.cos(t * HALF_PI) + 1,\n easeOutSine: (t)=>Math.sin(t * HALF_PI),\n easeInOutSine: (t)=>-0.5 * (Math.cos(PI * t) - 1),\n easeInExpo: (t)=>t === 0 ? 0 : Math.pow(2, 10 * (t - 1)),\n easeOutExpo: (t)=>t === 1 ? 1 : -Math.pow(2, -10 * t) + 1,\n easeInOutExpo: (t)=>atEdge(t) ? t : t < 0.5 ? 0.5 * Math.pow(2, 10 * (t * 2 - 1)) : 0.5 * (-Math.pow(2, -10 * (t * 2 - 1)) + 2),\n easeInCirc: (t)=>t >= 1 ? t : -(Math.sqrt(1 - t * t) - 1),\n easeOutCirc: (t)=>Math.sqrt(1 - (t -= 1) * t),\n easeInOutCirc: (t)=>(t /= 0.5) < 1 ? -0.5 * (Math.sqrt(1 - t * t) - 1) : 0.5 * (Math.sqrt(1 - (t -= 2) * t) + 1),\n easeInElastic: (t)=>atEdge(t) ? t : elasticIn(t, 0.075, 0.3),\n easeOutElastic: (t)=>atEdge(t) ? t : elasticOut(t, 0.075, 0.3),\n easeInOutElastic (t) {\n const s = 0.1125;\n const p = 0.45;\n return atEdge(t) ? t : t < 0.5 ? 0.5 * elasticIn(t * 2, s, p) : 0.5 + 0.5 * elasticOut(t * 2 - 1, s, p);\n },\n easeInBack (t) {\n const s = 1.70158;\n return t * t * ((s + 1) * t - s);\n },\n easeOutBack (t) {\n const s = 1.70158;\n return (t -= 1) * t * ((s + 1) * t + s) + 1;\n },\n easeInOutBack (t) {\n let s = 1.70158;\n if ((t /= 0.5) < 1) {\n return 0.5 * (t * t * (((s *= 1.525) + 1) * t - s));\n }\n return 0.5 * ((t -= 2) * t * (((s *= 1.525) + 1) * t + s) + 2);\n },\n easeInBounce: (t)=>1 - effects.easeOutBounce(1 - t),\n easeOutBounce (t) {\n const m = 7.5625;\n const d = 2.75;\n if (t < 1 / d) {\n return m * t * t;\n }\n if (t < 2 / d) {\n return m * (t -= 1.5 / d) * t + 0.75;\n }\n if (t < 2.5 / d) {\n return m * (t -= 2.25 / d) * t + 0.9375;\n }\n return m * (t -= 2.625 / d) * t + 0.984375;\n },\n easeInOutBounce: (t)=>t < 0.5 ? effects.easeInBounce(t * 2) * 0.5 : effects.easeOutBounce(t * 2 - 1) * 0.5 + 0.5\n};\n\nfunction isPatternOrGradient(value) {\n if (value && typeof value === 'object') {\n const type = value.toString();\n return type === '[object CanvasPattern]' || type === '[object CanvasGradient]';\n }\n return false;\n}\nfunction color(value) {\n return isPatternOrGradient(value) ? value : new Color(value);\n}\nfunction getHoverColor(value) {\n return isPatternOrGradient(value) ? value : new Color(value).saturate(0.5).darken(0.1).hexString();\n}\n\nconst numbers = [\n 'x',\n 'y',\n 'borderWidth',\n 'radius',\n 'tension'\n];\nconst colors = [\n 'color',\n 'borderColor',\n 'backgroundColor'\n];\nfunction applyAnimationsDefaults(defaults) {\n defaults.set('animation', {\n delay: undefined,\n duration: 1000,\n easing: 'easeOutQuart',\n fn: undefined,\n from: undefined,\n loop: undefined,\n to: undefined,\n type: undefined\n });\n defaults.describe('animation', {\n _fallback: false,\n _indexable: false,\n _scriptable: (name)=>name !== 'onProgress' && name !== 'onComplete' && name !== 'fn'\n });\n defaults.set('animations', {\n colors: {\n type: 'color',\n properties: colors\n },\n numbers: {\n type: 'number',\n properties: numbers\n }\n });\n defaults.describe('animations', {\n _fallback: 'animation'\n });\n defaults.set('transitions', {\n active: {\n animation: {\n duration: 400\n }\n },\n resize: {\n animation: {\n duration: 0\n }\n },\n show: {\n animations: {\n colors: {\n from: 'transparent'\n },\n visible: {\n type: 'boolean',\n duration: 0\n }\n }\n },\n hide: {\n animations: {\n colors: {\n to: 'transparent'\n },\n visible: {\n type: 'boolean',\n easing: 'linear',\n fn: (v)=>v | 0\n }\n }\n }\n });\n}\n\nfunction applyLayoutsDefaults(defaults) {\n defaults.set('layout', {\n autoPadding: true,\n padding: {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n }\n });\n}\n\nconst intlCache = new Map();\nfunction getNumberFormat(locale, options) {\n options = options || {};\n const cacheKey = locale + JSON.stringify(options);\n let formatter = intlCache.get(cacheKey);\n if (!formatter) {\n formatter = new Intl.NumberFormat(locale, options);\n intlCache.set(cacheKey, formatter);\n }\n return formatter;\n}\nfunction formatNumber(num, locale, options) {\n return getNumberFormat(locale, options).format(num);\n}\n\nconst formatters = {\n values (value) {\n return isArray(value) ? value : '' + value;\n },\n numeric (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const locale = this.chart.options.locale;\n let notation;\n let delta = tickValue;\n if (ticks.length > 1) {\n const maxTick = Math.max(Math.abs(ticks[0].value), Math.abs(ticks[ticks.length - 1].value));\n if (maxTick < 1e-4 || maxTick > 1e+15) {\n notation = 'scientific';\n }\n delta = calculateDelta(tickValue, ticks);\n }\n const logDelta = log10(Math.abs(delta));\n const numDecimal = isNaN(logDelta) ? 1 : Math.max(Math.min(-1 * Math.floor(logDelta), 20), 0);\n const options = {\n notation,\n minimumFractionDigits: numDecimal,\n maximumFractionDigits: numDecimal\n };\n Object.assign(options, this.options.ticks.format);\n return formatNumber(tickValue, locale, options);\n },\n logarithmic (tickValue, index, ticks) {\n if (tickValue === 0) {\n return '0';\n }\n const remain = ticks[index].significand || tickValue / Math.pow(10, Math.floor(log10(tickValue)));\n if ([\n 1,\n 2,\n 3,\n 5,\n 10,\n 15\n ].includes(remain) || index > 0.8 * ticks.length) {\n return formatters.numeric.call(this, tickValue, index, ticks);\n }\n return '';\n }\n};\nfunction calculateDelta(tickValue, ticks) {\n let delta = ticks.length > 3 ? ticks[2].value - ticks[1].value : ticks[1].value - ticks[0].value;\n if (Math.abs(delta) >= 1 && tickValue !== Math.floor(tickValue)) {\n delta = tickValue - Math.floor(tickValue);\n }\n return delta;\n}\n var Ticks = {\n formatters\n};\n\nfunction applyScaleDefaults(defaults) {\n defaults.set('scale', {\n display: true,\n offset: false,\n reverse: false,\n beginAtZero: false,\n bounds: 'ticks',\n clip: true,\n grace: 0,\n grid: {\n display: true,\n lineWidth: 1,\n drawOnChartArea: true,\n drawTicks: true,\n tickLength: 8,\n tickWidth: (_ctx, options)=>options.lineWidth,\n tickColor: (_ctx, options)=>options.color,\n offset: false\n },\n border: {\n display: true,\n dash: [],\n dashOffset: 0.0,\n width: 1\n },\n title: {\n display: false,\n text: '',\n padding: {\n top: 4,\n bottom: 4\n }\n },\n ticks: {\n minRotation: 0,\n maxRotation: 50,\n mirror: false,\n textStrokeWidth: 0,\n textStrokeColor: '',\n padding: 3,\n display: true,\n autoSkip: true,\n autoSkipPadding: 3,\n labelOffset: 0,\n callback: Ticks.formatters.values,\n minor: {},\n major: {},\n align: 'center',\n crossAlign: 'near',\n showLabelBackdrop: false,\n backdropColor: 'rgba(255, 255, 255, 0.75)',\n backdropPadding: 2\n }\n });\n defaults.route('scale.ticks', 'color', '', 'color');\n defaults.route('scale.grid', 'color', '', 'borderColor');\n defaults.route('scale.border', 'color', '', 'borderColor');\n defaults.route('scale.title', 'color', '', 'color');\n defaults.describe('scale', {\n _fallback: false,\n _scriptable: (name)=>!name.startsWith('before') && !name.startsWith('after') && name !== 'callback' && name !== 'parser',\n _indexable: (name)=>name !== 'borderDash' && name !== 'tickBorderDash' && name !== 'dash'\n });\n defaults.describe('scales', {\n _fallback: 'scale'\n });\n defaults.describe('scale.ticks', {\n _scriptable: (name)=>name !== 'backdropPadding' && name !== 'callback',\n _indexable: (name)=>name !== 'backdropPadding'\n });\n}\n\nconst overrides = Object.create(null);\nconst descriptors = Object.create(null);\n function getScope$1(node, key) {\n if (!key) {\n return node;\n }\n const keys = key.split('.');\n for(let i = 0, n = keys.length; i < n; ++i){\n const k = keys[i];\n node = node[k] || (node[k] = Object.create(null));\n }\n return node;\n}\nfunction set(root, scope, values) {\n if (typeof scope === 'string') {\n return merge(getScope$1(root, scope), values);\n }\n return merge(getScope$1(root, ''), scope);\n}\n class Defaults {\n constructor(_descriptors, _appliers){\n this.animation = undefined;\n this.backgroundColor = 'rgba(0,0,0,0.1)';\n this.borderColor = 'rgba(0,0,0,0.1)';\n this.color = '#666';\n this.datasets = {};\n this.devicePixelRatio = (context)=>context.chart.platform.getDevicePixelRatio();\n this.elements = {};\n this.events = [\n 'mousemove',\n 'mouseout',\n 'click',\n 'touchstart',\n 'touchmove'\n ];\n this.font = {\n family: \"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",\n size: 12,\n style: 'normal',\n lineHeight: 1.2,\n weight: null\n };\n this.hover = {};\n this.hoverBackgroundColor = (ctx, options)=>getHoverColor(options.backgroundColor);\n this.hoverBorderColor = (ctx, options)=>getHoverColor(options.borderColor);\n this.hoverColor = (ctx, options)=>getHoverColor(options.color);\n this.indexAxis = 'x';\n this.interaction = {\n mode: 'nearest',\n intersect: true,\n includeInvisible: false\n };\n this.maintainAspectRatio = true;\n this.onHover = null;\n this.onClick = null;\n this.parsing = true;\n this.plugins = {};\n this.responsive = true;\n this.scale = undefined;\n this.scales = {};\n this.showLine = true;\n this.drawActiveElementsOnTop = true;\n this.describe(_descriptors);\n this.apply(_appliers);\n }\n set(scope, values) {\n return set(this, scope, values);\n }\n get(scope) {\n return getScope$1(this, scope);\n }\n describe(scope, values) {\n return set(descriptors, scope, values);\n }\n override(scope, values) {\n return set(overrides, scope, values);\n }\n route(scope, name, targetScope, targetName) {\n const scopeObject = getScope$1(this, scope);\n const targetScopeObject = getScope$1(this, targetScope);\n const privateName = '_' + name;\n Object.defineProperties(scopeObject, {\n [privateName]: {\n value: scopeObject[name],\n writable: true\n },\n [name]: {\n enumerable: true,\n get () {\n const local = this[privateName];\n const target = targetScopeObject[targetName];\n if (isObject(local)) {\n return Object.assign({}, target, local);\n }\n return valueOrDefault(local, target);\n },\n set (value) {\n this[privateName] = value;\n }\n }\n });\n }\n apply(appliers) {\n appliers.forEach((apply)=>apply(this));\n }\n}\nvar defaults = /* #__PURE__ */ new Defaults({\n _scriptable: (name)=>!name.startsWith('on'),\n _indexable: (name)=>name !== 'events',\n hover: {\n _fallback: 'interaction'\n },\n interaction: {\n _scriptable: false,\n _indexable: false\n }\n}, [\n applyAnimationsDefaults,\n applyLayoutsDefaults,\n applyScaleDefaults\n]);\n\n/**\n * Converts the given font object into a CSS font string.\n * @param font - A font object.\n * @return The CSS font string. See https://developer.mozilla.org/en-US/docs/Web/CSS/font\n * @private\n */ function toFontString(font) {\n if (!font || isNullOrUndef(font.size) || isNullOrUndef(font.family)) {\n return null;\n }\n return (font.style ? font.style + ' ' : '') + (font.weight ? font.weight + ' ' : '') + font.size + 'px ' + font.family;\n}\n/**\n * @private\n */ function _measureText(ctx, data, gc, longest, string) {\n let textWidth = data[string];\n if (!textWidth) {\n textWidth = data[string] = ctx.measureText(string).width;\n gc.push(string);\n }\n if (textWidth > longest) {\n longest = textWidth;\n }\n return longest;\n}\n/**\n * @private\n */ // eslint-disable-next-line complexity\nfunction _longestText(ctx, font, arrayOfThings, cache) {\n cache = cache || {};\n let data = cache.data = cache.data || {};\n let gc = cache.garbageCollect = cache.garbageCollect || [];\n if (cache.font !== font) {\n data = cache.data = {};\n gc = cache.garbageCollect = [];\n cache.font = font;\n }\n ctx.save();\n ctx.font = font;\n let longest = 0;\n const ilen = arrayOfThings.length;\n let i, j, jlen, thing, nestedThing;\n for(i = 0; i < ilen; i++){\n thing = arrayOfThings[i];\n // Undefined strings and arrays should not be measured\n if (thing !== undefined && thing !== null && !isArray(thing)) {\n longest = _measureText(ctx, data, gc, longest, thing);\n } else if (isArray(thing)) {\n // if it is an array lets measure each element\n // to do maybe simplify this function a bit so we can do this more recursively?\n for(j = 0, jlen = thing.length; j < jlen; j++){\n nestedThing = thing[j];\n // Undefined strings and arrays should not be measured\n if (nestedThing !== undefined && nestedThing !== null && !isArray(nestedThing)) {\n longest = _measureText(ctx, data, gc, longest, nestedThing);\n }\n }\n }\n }\n ctx.restore();\n const gcLen = gc.length / 2;\n if (gcLen > arrayOfThings.length) {\n for(i = 0; i < gcLen; i++){\n delete data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n return longest;\n}\n/**\n * Returns the aligned pixel value to avoid anti-aliasing blur\n * @param chart - The chart instance.\n * @param pixel - A pixel value.\n * @param width - The width of the element.\n * @returns The aligned pixel value.\n * @private\n */ function _alignPixel(chart, pixel, width) {\n const devicePixelRatio = chart.currentDevicePixelRatio;\n const halfWidth = width !== 0 ? Math.max(width / 2, 0.5) : 0;\n return Math.round((pixel - halfWidth) * devicePixelRatio) / devicePixelRatio + halfWidth;\n}\n/**\n * Clears the entire canvas.\n */ function clearCanvas(canvas, ctx) {\n if (!ctx && !canvas) {\n return;\n }\n ctx = ctx || canvas.getContext('2d');\n ctx.save();\n // canvas.width and canvas.height do not consider the canvas transform,\n // while clearRect does\n ctx.resetTransform();\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n ctx.restore();\n}\nfunction drawPoint(ctx, options, x, y) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n drawPointLegend(ctx, options, x, y, null);\n}\n// eslint-disable-next-line complexity\nfunction drawPointLegend(ctx, options, x, y, w) {\n let type, xOffset, yOffset, size, cornerRadius, width, xOffsetW, yOffsetW;\n const style = options.pointStyle;\n const rotation = options.rotation;\n const radius = options.radius;\n let rad = (rotation || 0) * RAD_PER_DEG;\n if (style && typeof style === 'object') {\n type = style.toString();\n if (type === '[object HTMLImageElement]' || type === '[object HTMLCanvasElement]') {\n ctx.save();\n ctx.translate(x, y);\n ctx.rotate(rad);\n ctx.drawImage(style, -style.width / 2, -style.height / 2, style.width, style.height);\n ctx.restore();\n return;\n }\n }\n if (isNaN(radius) || radius <= 0) {\n return;\n }\n ctx.beginPath();\n switch(style){\n // Default includes circle\n default:\n if (w) {\n ctx.ellipse(x, y, w / 2, radius, 0, 0, TAU);\n } else {\n ctx.arc(x, y, radius, 0, TAU);\n }\n ctx.closePath();\n break;\n case 'triangle':\n width = w ? w / 2 : radius;\n ctx.moveTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n rad += TWO_THIRDS_PI;\n ctx.lineTo(x + Math.sin(rad) * width, y - Math.cos(rad) * radius);\n ctx.closePath();\n break;\n case 'rectRounded':\n // NOTE: the rounded rect implementation changed to use `arc` instead of\n // `quadraticCurveTo` since it generates better results when rect is\n // almost a circle. 0.516 (instead of 0.5) produces results with visually\n // closer proportion to the previous impl and it is inscribed in the\n // circle with `radius`. For more details, see the following PRs:\n // https://github.com/chartjs/Chart.js/issues/5597\n // https://github.com/chartjs/Chart.js/issues/5858\n cornerRadius = radius * 0.516;\n size = radius - cornerRadius;\n xOffset = Math.cos(rad + QUARTER_PI) * size;\n xOffsetW = Math.cos(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n yOffset = Math.sin(rad + QUARTER_PI) * size;\n yOffsetW = Math.sin(rad + QUARTER_PI) * (w ? w / 2 - cornerRadius : size);\n ctx.arc(x - xOffsetW, y - yOffset, cornerRadius, rad - PI, rad - HALF_PI);\n ctx.arc(x + yOffsetW, y - xOffset, cornerRadius, rad - HALF_PI, rad);\n ctx.arc(x + xOffsetW, y + yOffset, cornerRadius, rad, rad + HALF_PI);\n ctx.arc(x - yOffsetW, y + xOffset, cornerRadius, rad + HALF_PI, rad + PI);\n ctx.closePath();\n break;\n case 'rect':\n if (!rotation) {\n size = Math.SQRT1_2 * radius;\n width = w ? w / 2 : size;\n ctx.rect(x - width, y - size, 2 * width, 2 * size);\n break;\n }\n rad += QUARTER_PI;\n /* falls through */ case 'rectRot':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n ctx.closePath();\n break;\n case 'crossRot':\n rad += QUARTER_PI;\n /* falls through */ case 'cross':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'star':\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n rad += QUARTER_PI;\n xOffsetW = Math.cos(rad) * (w ? w / 2 : radius);\n xOffset = Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n yOffsetW = Math.sin(rad) * (w ? w / 2 : radius);\n ctx.moveTo(x - xOffsetW, y - yOffset);\n ctx.lineTo(x + xOffsetW, y + yOffset);\n ctx.moveTo(x + yOffsetW, y - xOffset);\n ctx.lineTo(x - yOffsetW, y + xOffset);\n break;\n case 'line':\n xOffset = w ? w / 2 : Math.cos(rad) * radius;\n yOffset = Math.sin(rad) * radius;\n ctx.moveTo(x - xOffset, y - yOffset);\n ctx.lineTo(x + xOffset, y + yOffset);\n break;\n case 'dash':\n ctx.moveTo(x, y);\n ctx.lineTo(x + Math.cos(rad) * (w ? w / 2 : radius), y + Math.sin(rad) * radius);\n break;\n case false:\n ctx.closePath();\n break;\n }\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n}\n/**\n * Returns true if the point is inside the rectangle\n * @param point - The point to test\n * @param area - The rectangle\n * @param margin - allowed margin\n * @private\n */ function _isPointInArea(point, area, margin) {\n margin = margin || 0.5; // margin - default is to match rounded decimals\n return !area || point && point.x > area.left - margin && point.x < area.right + margin && point.y > area.top - margin && point.y < area.bottom + margin;\n}\nfunction clipArea(ctx, area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area.left, area.top, area.right - area.left, area.bottom - area.top);\n ctx.clip();\n}\nfunction unclipArea(ctx) {\n ctx.restore();\n}\n/**\n * @private\n */ function _steppedLineTo(ctx, previous, target, flip, mode) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n if (mode === 'middle') {\n const midpoint = (previous.x + target.x) / 2.0;\n ctx.lineTo(midpoint, previous.y);\n ctx.lineTo(midpoint, target.y);\n } else if (mode === 'after' !== !!flip) {\n ctx.lineTo(previous.x, target.y);\n } else {\n ctx.lineTo(target.x, previous.y);\n }\n ctx.lineTo(target.x, target.y);\n}\n/**\n * @private\n */ function _bezierCurveTo(ctx, previous, target, flip) {\n if (!previous) {\n return ctx.lineTo(target.x, target.y);\n }\n ctx.bezierCurveTo(flip ? previous.cp1x : previous.cp2x, flip ? previous.cp1y : previous.cp2y, flip ? target.cp2x : target.cp1x, flip ? target.cp2y : target.cp1y, target.x, target.y);\n}\nfunction setRenderOpts(ctx, opts) {\n if (opts.translation) {\n ctx.translate(opts.translation[0], opts.translation[1]);\n }\n if (!isNullOrUndef(opts.rotation)) {\n ctx.rotate(opts.rotation);\n }\n if (opts.color) {\n ctx.fillStyle = opts.color;\n }\n if (opts.textAlign) {\n ctx.textAlign = opts.textAlign;\n }\n if (opts.textBaseline) {\n ctx.textBaseline = opts.textBaseline;\n }\n}\nfunction decorateText(ctx, x, y, line, opts) {\n if (opts.strikethrough || opts.underline) {\n /**\n * Now that IE11 support has been dropped, we can use more\n * of the TextMetrics object. The actual bounding boxes\n * are unflagged in Chrome, Firefox, Edge, and Safari so they\n * can be safely used.\n * See https://developer.mozilla.org/en-US/docs/Web/API/TextMetrics#Browser_compatibility\n */ const metrics = ctx.measureText(line);\n const left = x - metrics.actualBoundingBoxLeft;\n const right = x + metrics.actualBoundingBoxRight;\n const top = y - metrics.actualBoundingBoxAscent;\n const bottom = y + metrics.actualBoundingBoxDescent;\n const yDecoration = opts.strikethrough ? (top + bottom) / 2 : bottom;\n ctx.strokeStyle = ctx.fillStyle;\n ctx.beginPath();\n ctx.lineWidth = opts.decorationWidth || 2;\n ctx.moveTo(left, yDecoration);\n ctx.lineTo(right, yDecoration);\n ctx.stroke();\n }\n}\nfunction drawBackdrop(ctx, opts) {\n const oldColor = ctx.fillStyle;\n ctx.fillStyle = opts.color;\n ctx.fillRect(opts.left, opts.top, opts.width, opts.height);\n ctx.fillStyle = oldColor;\n}\n/**\n * Render text onto the canvas\n */ function renderText(ctx, text, x, y, font, opts = {}) {\n const lines = isArray(text) ? text : [\n text\n ];\n const stroke = opts.strokeWidth > 0 && opts.strokeColor !== '';\n let i, line;\n ctx.save();\n ctx.font = font.string;\n setRenderOpts(ctx, opts);\n for(i = 0; i < lines.length; ++i){\n line = lines[i];\n if (opts.backdrop) {\n drawBackdrop(ctx, opts.backdrop);\n }\n if (stroke) {\n if (opts.strokeColor) {\n ctx.strokeStyle = opts.strokeColor;\n }\n if (!isNullOrUndef(opts.strokeWidth)) {\n ctx.lineWidth = opts.strokeWidth;\n }\n ctx.strokeText(line, x, y, opts.maxWidth);\n }\n ctx.fillText(line, x, y, opts.maxWidth);\n decorateText(ctx, x, y, line, opts);\n y += Number(font.lineHeight);\n }\n ctx.restore();\n}\n/**\n * Add a path of a rectangle with rounded corners to the current sub-path\n * @param ctx - Context\n * @param rect - Bounding rect\n */ function addRoundedRectPath(ctx, rect) {\n const { x , y , w , h , radius } = rect;\n // top left arc\n ctx.arc(x + radius.topLeft, y + radius.topLeft, radius.topLeft, 1.5 * PI, PI, true);\n // line from top left to bottom left\n ctx.lineTo(x, y + h - radius.bottomLeft);\n // bottom left arc\n ctx.arc(x + radius.bottomLeft, y + h - radius.bottomLeft, radius.bottomLeft, PI, HALF_PI, true);\n // line from bottom left to bottom right\n ctx.lineTo(x + w - radius.bottomRight, y + h);\n // bottom right arc\n ctx.arc(x + w - radius.bottomRight, y + h - radius.bottomRight, radius.bottomRight, HALF_PI, 0, true);\n // line from bottom right to top right\n ctx.lineTo(x + w, y + radius.topRight);\n // top right arc\n ctx.arc(x + w - radius.topRight, y + radius.topRight, radius.topRight, 0, -HALF_PI, true);\n // line from top right to top left\n ctx.lineTo(x + radius.topLeft, y);\n}\n\nconst LINE_HEIGHT = /^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/;\nconst FONT_STYLE = /^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;\n/**\n * @alias Chart.helpers.options\n * @namespace\n */ /**\n * Converts the given line height `value` in pixels for a specific font `size`.\n * @param value - The lineHeight to parse (eg. 1.6, '14px', '75%', '1.6em').\n * @param size - The font size (in pixels) used to resolve relative `value`.\n * @returns The effective line height in pixels (size * 1.2 if value is invalid).\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/line-height\n * @since 2.7.0\n */ function toLineHeight(value, size) {\n const matches = ('' + value).match(LINE_HEIGHT);\n if (!matches || matches[1] === 'normal') {\n return size * 1.2;\n }\n value = +matches[2];\n switch(matches[3]){\n case 'px':\n return value;\n case '%':\n value /= 100;\n break;\n }\n return size * value;\n}\nconst numberOrZero = (v)=>+v || 0;\nfunction _readValueToProps(value, props) {\n const ret = {};\n const objProps = isObject(props);\n const keys = objProps ? Object.keys(props) : props;\n const read = isObject(value) ? objProps ? (prop)=>valueOrDefault(value[prop], value[props[prop]]) : (prop)=>value[prop] : ()=>value;\n for (const prop of keys){\n ret[prop] = numberOrZero(read(prop));\n }\n return ret;\n}\n/**\n * Converts the given value into a TRBL object.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left)\n * @since 3.0.0\n */ function toTRBL(value) {\n return _readValueToProps(value, {\n top: 'y',\n right: 'x',\n bottom: 'y',\n left: 'x'\n });\n}\n/**\n * Converts the given value into a TRBL corners object (similar with css border-radius).\n * @param value - If a number, set the value to all TRBL corner components,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * @returns The TRBL corner values (topLeft, topRight, bottomLeft, bottomRight)\n * @since 3.0.0\n */ function toTRBLCorners(value) {\n return _readValueToProps(value, [\n 'topLeft',\n 'topRight',\n 'bottomLeft',\n 'bottomRight'\n ]);\n}\n/**\n * Converts the given value into a padding object with pre-computed width/height.\n * @param value - If a number, set the value to all TRBL component,\n * else, if an object, use defined properties and sets undefined ones to 0.\n * x / y are shorthands for same value for left/right and top/bottom.\n * @returns The padding values (top, right, bottom, left, width, height)\n * @since 2.7.0\n */ function toPadding(value) {\n const obj = toTRBL(value);\n obj.width = obj.left + obj.right;\n obj.height = obj.top + obj.bottom;\n return obj;\n}\n/**\n * Parses font options and returns the font object.\n * @param options - A object that contains font options to be parsed.\n * @param fallback - A object that contains fallback font options.\n * @return The font object.\n * @private\n */ function toFont(options, fallback) {\n options = options || {};\n fallback = fallback || defaults.font;\n let size = valueOrDefault(options.size, fallback.size);\n if (typeof size === 'string') {\n size = parseInt(size, 10);\n }\n let style = valueOrDefault(options.style, fallback.style);\n if (style && !('' + style).match(FONT_STYLE)) {\n console.warn('Invalid font style specified: \"' + style + '\"');\n style = undefined;\n }\n const font = {\n family: valueOrDefault(options.family, fallback.family),\n lineHeight: toLineHeight(valueOrDefault(options.lineHeight, fallback.lineHeight), size),\n size,\n style,\n weight: valueOrDefault(options.weight, fallback.weight),\n string: ''\n };\n font.string = toFontString(font);\n return font;\n}\n/**\n * Evaluates the given `inputs` sequentially and returns the first defined value.\n * @param inputs - An array of values, falling back to the last value.\n * @param context - If defined and the current value is a function, the value\n * is called with `context` as first argument and the result becomes the new input.\n * @param index - If defined and the current value is an array, the value\n * at `index` become the new input.\n * @param info - object to return information about resolution in\n * @param info.cacheable - Will be set to `false` if option is not cacheable.\n * @since 2.7.0\n */ function resolve(inputs, context, index, info) {\n let cacheable = true;\n let i, ilen, value;\n for(i = 0, ilen = inputs.length; i < ilen; ++i){\n value = inputs[i];\n if (value === undefined) {\n continue;\n }\n if (context !== undefined && typeof value === 'function') {\n value = value(context);\n cacheable = false;\n }\n if (index !== undefined && isArray(value)) {\n value = value[index % value.length];\n cacheable = false;\n }\n if (value !== undefined) {\n if (info && !cacheable) {\n info.cacheable = false;\n }\n return value;\n }\n }\n}\n/**\n * @param minmax\n * @param grace\n * @param beginAtZero\n * @private\n */ function _addGrace(minmax, grace, beginAtZero) {\n const { min , max } = minmax;\n const change = toDimension(grace, (max - min) / 2);\n const keepZero = (value, add)=>beginAtZero && value === 0 ? 0 : value + add;\n return {\n min: keepZero(min, -Math.abs(change)),\n max: keepZero(max, change)\n };\n}\nfunction createContext(parentContext, context) {\n return Object.assign(Object.create(parentContext), context);\n}\n\n/**\n * Creates a Proxy for resolving raw values for options.\n * @param scopes - The option scopes to look for values, in resolution order\n * @param prefixes - The prefixes for values, in resolution order.\n * @param rootScopes - The root option scopes\n * @param fallback - Parent scopes fallback\n * @param getTarget - callback for getting the target for changed values\n * @returns Proxy\n * @private\n */ function _createResolver(scopes, prefixes = [\n ''\n], rootScopes, fallback, getTarget = ()=>scopes[0]) {\n const finalRootScopes = rootScopes || scopes;\n if (typeof fallback === 'undefined') {\n fallback = _resolve('_fallback', scopes);\n }\n const cache = {\n [Symbol.toStringTag]: 'Object',\n _cacheable: true,\n _scopes: scopes,\n _rootScopes: finalRootScopes,\n _fallback: fallback,\n _getTarget: getTarget,\n override: (scope)=>_createResolver([\n scope,\n ...scopes\n ], prefixes, finalRootScopes, fallback)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete target._keys; // remove cached keys\n delete scopes[0][prop]; // remove from top level scope\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop) {\n return _cached(target, prop, ()=>_resolveWithPrefixes(prop, prefixes, scopes, target));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return Reflect.getOwnPropertyDescriptor(target._scopes[0], prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(scopes[0]);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return getKeysFromAllScopes(target).includes(prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys (target) {\n return getKeysFromAllScopes(target);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n const storage = target._storage || (target._storage = getTarget());\n target[prop] = storage[prop] = value; // set to top level scope + cache\n delete target._keys; // remove cached keys\n return true;\n }\n });\n}\n/**\n * Returns an Proxy for resolving option values with context.\n * @param proxy - The Proxy returned by `_createResolver`\n * @param context - Context object for scriptable/indexable options\n * @param subProxy - The proxy provided for scriptable options\n * @param descriptorDefaults - Defaults for descriptors\n * @private\n */ function _attachContext(proxy, context, subProxy, descriptorDefaults) {\n const cache = {\n _cacheable: false,\n _proxy: proxy,\n _context: context,\n _subProxy: subProxy,\n _stack: new Set(),\n _descriptors: _descriptors(proxy, descriptorDefaults),\n setContext: (ctx)=>_attachContext(proxy, ctx, subProxy, descriptorDefaults),\n override: (scope)=>_attachContext(proxy.override(scope), context, subProxy, descriptorDefaults)\n };\n return new Proxy(cache, {\n /**\n * A trap for the delete operator.\n */ deleteProperty (target, prop) {\n delete target[prop]; // remove from cache\n delete proxy[prop]; // remove from proxy\n return true;\n },\n /**\n * A trap for getting property values.\n */ get (target, prop, receiver) {\n return _cached(target, prop, ()=>_resolveWithContext(target, prop, receiver));\n },\n /**\n * A trap for Object.getOwnPropertyDescriptor.\n * Also used by Object.hasOwnProperty.\n */ getOwnPropertyDescriptor (target, prop) {\n return target._descriptors.allKeys ? Reflect.has(proxy, prop) ? {\n enumerable: true,\n configurable: true\n } : undefined : Reflect.getOwnPropertyDescriptor(proxy, prop);\n },\n /**\n * A trap for Object.getPrototypeOf.\n */ getPrototypeOf () {\n return Reflect.getPrototypeOf(proxy);\n },\n /**\n * A trap for the in operator.\n */ has (target, prop) {\n return Reflect.has(proxy, prop);\n },\n /**\n * A trap for Object.getOwnPropertyNames and Object.getOwnPropertySymbols.\n */ ownKeys () {\n return Reflect.ownKeys(proxy);\n },\n /**\n * A trap for setting property values.\n */ set (target, prop, value) {\n proxy[prop] = value; // set to proxy\n delete target[prop]; // remove from cache\n return true;\n }\n });\n}\n/**\n * @private\n */ function _descriptors(proxy, defaults = {\n scriptable: true,\n indexable: true\n}) {\n const { _scriptable =defaults.scriptable , _indexable =defaults.indexable , _allKeys =defaults.allKeys } = proxy;\n return {\n allKeys: _allKeys,\n scriptable: _scriptable,\n indexable: _indexable,\n isScriptable: isFunction(_scriptable) ? _scriptable : ()=>_scriptable,\n isIndexable: isFunction(_indexable) ? _indexable : ()=>_indexable\n };\n}\nconst readKey = (prefix, name)=>prefix ? prefix + _capitalize(name) : name;\nconst needsSubResolver = (prop, value)=>isObject(value) && prop !== 'adapters' && (Object.getPrototypeOf(value) === null || value.constructor === Object);\nfunction _cached(target, prop, resolve) {\n if (Object.prototype.hasOwnProperty.call(target, prop) || prop === 'constructor') {\n return target[prop];\n }\n const value = resolve();\n // cache the resolved value\n target[prop] = value;\n return value;\n}\nfunction _resolveWithContext(target, prop, receiver) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n let value = _proxy[prop]; // resolve from proxy\n // resolve with context\n if (isFunction(value) && descriptors.isScriptable(prop)) {\n value = _resolveScriptable(prop, value, target, receiver);\n }\n if (isArray(value) && value.length) {\n value = _resolveArray(prop, value, target, descriptors.isIndexable);\n }\n if (needsSubResolver(prop, value)) {\n // if the resolved value is an object, create a sub resolver for it\n value = _attachContext(value, _context, _subProxy && _subProxy[prop], descriptors);\n }\n return value;\n}\nfunction _resolveScriptable(prop, getValue, target, receiver) {\n const { _proxy , _context , _subProxy , _stack } = target;\n if (_stack.has(prop)) {\n throw new Error('Recursion detected: ' + Array.from(_stack).join('->') + '->' + prop);\n }\n _stack.add(prop);\n let value = getValue(_context, _subProxy || receiver);\n _stack.delete(prop);\n if (needsSubResolver(prop, value)) {\n // When scriptable option returns an object, create a resolver on that.\n value = createSubResolver(_proxy._scopes, _proxy, prop, value);\n }\n return value;\n}\nfunction _resolveArray(prop, value, target, isIndexable) {\n const { _proxy , _context , _subProxy , _descriptors: descriptors } = target;\n if (typeof _context.index !== 'undefined' && isIndexable(prop)) {\n return value[_context.index % value.length];\n } else if (isObject(value[0])) {\n // Array of objects, return array or resolvers\n const arr = value;\n const scopes = _proxy._scopes.filter((s)=>s !== arr);\n value = [];\n for (const item of arr){\n const resolver = createSubResolver(scopes, _proxy, prop, item);\n value.push(_attachContext(resolver, _context, _subProxy && _subProxy[prop], descriptors));\n }\n }\n return value;\n}\nfunction resolveFallback(fallback, prop, value) {\n return isFunction(fallback) ? fallback(prop, value) : fallback;\n}\nconst getScope = (key, parent)=>key === true ? parent : typeof key === 'string' ? resolveObjectKey(parent, key) : undefined;\nfunction addScopes(set, parentScopes, key, parentFallback, value) {\n for (const parent of parentScopes){\n const scope = getScope(key, parent);\n if (scope) {\n set.add(scope);\n const fallback = resolveFallback(scope._fallback, key, value);\n if (typeof fallback !== 'undefined' && fallback !== key && fallback !== parentFallback) {\n // When we reach the descriptor that defines a new _fallback, return that.\n // The fallback will resume to that new scope.\n return fallback;\n }\n } else if (scope === false && typeof parentFallback !== 'undefined' && key !== parentFallback) {\n // Fallback to `false` results to `false`, when falling back to different key.\n // For example `interaction` from `hover` or `plugins.tooltip` and `animation` from `animations`\n return null;\n }\n }\n return false;\n}\nfunction createSubResolver(parentScopes, resolver, prop, value) {\n const rootScopes = resolver._rootScopes;\n const fallback = resolveFallback(resolver._fallback, prop, value);\n const allScopes = [\n ...parentScopes,\n ...rootScopes\n ];\n const set = new Set();\n set.add(value);\n let key = addScopesFromKey(set, allScopes, prop, fallback || prop, value);\n if (key === null) {\n return false;\n }\n if (typeof fallback !== 'undefined' && fallback !== prop) {\n key = addScopesFromKey(set, allScopes, fallback, key, value);\n if (key === null) {\n return false;\n }\n }\n return _createResolver(Array.from(set), [\n ''\n ], rootScopes, fallback, ()=>subGetTarget(resolver, prop, value));\n}\nfunction addScopesFromKey(set, allScopes, key, fallback, item) {\n while(key){\n key = addScopes(set, allScopes, key, fallback, item);\n }\n return key;\n}\nfunction subGetTarget(resolver, prop, value) {\n const parent = resolver._getTarget();\n if (!(prop in parent)) {\n parent[prop] = {};\n }\n const target = parent[prop];\n if (isArray(target) && isObject(value)) {\n // For array of objects, the object is used to store updated values\n return value;\n }\n return target || {};\n}\nfunction _resolveWithPrefixes(prop, prefixes, scopes, proxy) {\n let value;\n for (const prefix of prefixes){\n value = _resolve(readKey(prefix, prop), scopes);\n if (typeof value !== 'undefined') {\n return needsSubResolver(prop, value) ? createSubResolver(scopes, proxy, prop, value) : value;\n }\n }\n}\nfunction _resolve(key, scopes) {\n for (const scope of scopes){\n if (!scope) {\n continue;\n }\n const value = scope[key];\n if (typeof value !== 'undefined') {\n return value;\n }\n }\n}\nfunction getKeysFromAllScopes(target) {\n let keys = target._keys;\n if (!keys) {\n keys = target._keys = resolveKeysFromAllScopes(target._scopes);\n }\n return keys;\n}\nfunction resolveKeysFromAllScopes(scopes) {\n const set = new Set();\n for (const scope of scopes){\n for (const key of Object.keys(scope).filter((k)=>!k.startsWith('_'))){\n set.add(key);\n }\n }\n return Array.from(set);\n}\nfunction _parseObjectDataRadialScale(meta, data, start, count) {\n const { iScale } = meta;\n const { key ='r' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n r: iScale.parse(resolveObjectKey(item, key), index)\n };\n }\n return parsed;\n}\n\nconst EPSILON = Number.EPSILON || 1e-14;\nconst getPoint = (points, i)=>i < points.length && !points[i].skip && points[i];\nconst getValueAxis = (indexAxis)=>indexAxis === 'x' ? 'y' : 'x';\nfunction splineCurve(firstPoint, middlePoint, afterPoint, t) {\n // Props to Rob Spencer at scaled innovation for his post on splining between points\n // http://scaledinnovation.com/analytics/splines/aboutSplines.html\n // This function must also respect \"skipped\" points\n const previous = firstPoint.skip ? middlePoint : firstPoint;\n const current = middlePoint;\n const next = afterPoint.skip ? middlePoint : afterPoint;\n const d01 = distanceBetweenPoints(current, previous);\n const d12 = distanceBetweenPoints(next, current);\n let s01 = d01 / (d01 + d12);\n let s12 = d12 / (d01 + d12);\n // If all points are the same, s01 & s02 will be inf\n s01 = isNaN(s01) ? 0 : s01;\n s12 = isNaN(s12) ? 0 : s12;\n const fa = t * s01; // scaling factor for triangle Ta\n const fb = t * s12;\n return {\n previous: {\n x: current.x - fa * (next.x - previous.x),\n y: current.y - fa * (next.y - previous.y)\n },\n next: {\n x: current.x + fb * (next.x - previous.x),\n y: current.y + fb * (next.y - previous.y)\n }\n };\n}\n/**\n * Adjust tangents to ensure monotonic properties\n */ function monotoneAdjust(points, deltaK, mK) {\n const pointsLen = points.length;\n let alphaK, betaK, tauK, squaredMagnitude, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen - 1; ++i){\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent || !pointAfter) {\n continue;\n }\n if (almostEquals(deltaK[i], 0, EPSILON)) {\n mK[i] = mK[i + 1] = 0;\n continue;\n }\n alphaK = mK[i] / deltaK[i];\n betaK = mK[i + 1] / deltaK[i];\n squaredMagnitude = Math.pow(alphaK, 2) + Math.pow(betaK, 2);\n if (squaredMagnitude <= 9) {\n continue;\n }\n tauK = 3 / Math.sqrt(squaredMagnitude);\n mK[i] = alphaK * tauK * deltaK[i];\n mK[i + 1] = betaK * tauK * deltaK[i];\n }\n}\nfunction monotoneCompute(points, mK, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n let delta, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(let i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n const iPixel = pointCurrent[indexAxis];\n const vPixel = pointCurrent[valueAxis];\n if (pointBefore) {\n delta = (iPixel - pointBefore[indexAxis]) / 3;\n pointCurrent[`cp1${indexAxis}`] = iPixel - delta;\n pointCurrent[`cp1${valueAxis}`] = vPixel - delta * mK[i];\n }\n if (pointAfter) {\n delta = (pointAfter[indexAxis] - iPixel) / 3;\n pointCurrent[`cp2${indexAxis}`] = iPixel + delta;\n pointCurrent[`cp2${valueAxis}`] = vPixel + delta * mK[i];\n }\n }\n}\n/**\n * This function calculates Bézier control points in a similar way than |splineCurve|,\n * but preserves monotonicity of the provided data and ensures no local extremums are added\n * between the dataset discrete points due to the interpolation.\n * See : https://en.wikipedia.org/wiki/Monotone_cubic_interpolation\n */ function splineCurveMonotone(points, indexAxis = 'x') {\n const valueAxis = getValueAxis(indexAxis);\n const pointsLen = points.length;\n const deltaK = Array(pointsLen).fill(0);\n const mK = Array(pointsLen);\n // Calculate slopes (deltaK) and initialize tangents (mK)\n let i, pointBefore, pointCurrent;\n let pointAfter = getPoint(points, 0);\n for(i = 0; i < pointsLen; ++i){\n pointBefore = pointCurrent;\n pointCurrent = pointAfter;\n pointAfter = getPoint(points, i + 1);\n if (!pointCurrent) {\n continue;\n }\n if (pointAfter) {\n const slopeDelta = pointAfter[indexAxis] - pointCurrent[indexAxis];\n // In the case of two points that appear at the same x pixel, slopeDeltaX is 0\n deltaK[i] = slopeDelta !== 0 ? (pointAfter[valueAxis] - pointCurrent[valueAxis]) / slopeDelta : 0;\n }\n mK[i] = !pointBefore ? deltaK[i] : !pointAfter ? deltaK[i - 1] : sign(deltaK[i - 1]) !== sign(deltaK[i]) ? 0 : (deltaK[i - 1] + deltaK[i]) / 2;\n }\n monotoneAdjust(points, deltaK, mK);\n monotoneCompute(points, mK, indexAxis);\n}\nfunction capControlPoint(pt, min, max) {\n return Math.max(Math.min(pt, max), min);\n}\nfunction capBezierPoints(points, area) {\n let i, ilen, point, inArea, inAreaPrev;\n let inAreaNext = _isPointInArea(points[0], area);\n for(i = 0, ilen = points.length; i < ilen; ++i){\n inAreaPrev = inArea;\n inArea = inAreaNext;\n inAreaNext = i < ilen - 1 && _isPointInArea(points[i + 1], area);\n if (!inArea) {\n continue;\n }\n point = points[i];\n if (inAreaPrev) {\n point.cp1x = capControlPoint(point.cp1x, area.left, area.right);\n point.cp1y = capControlPoint(point.cp1y, area.top, area.bottom);\n }\n if (inAreaNext) {\n point.cp2x = capControlPoint(point.cp2x, area.left, area.right);\n point.cp2y = capControlPoint(point.cp2y, area.top, area.bottom);\n }\n }\n}\n/**\n * @private\n */ function _updateBezierControlPoints(points, options, area, loop, indexAxis) {\n let i, ilen, point, controlPoints;\n // Only consider points that are drawn in case the spanGaps option is used\n if (options.spanGaps) {\n points = points.filter((pt)=>!pt.skip);\n }\n if (options.cubicInterpolationMode === 'monotone') {\n splineCurveMonotone(points, indexAxis);\n } else {\n let prev = loop ? points[points.length - 1] : points[0];\n for(i = 0, ilen = points.length; i < ilen; ++i){\n point = points[i];\n controlPoints = splineCurve(prev, point, points[Math.min(i + 1, ilen - (loop ? 0 : 1)) % ilen], options.tension);\n point.cp1x = controlPoints.previous.x;\n point.cp1y = controlPoints.previous.y;\n point.cp2x = controlPoints.next.x;\n point.cp2y = controlPoints.next.y;\n prev = point;\n }\n }\n if (options.capBezierPoints) {\n capBezierPoints(points, area);\n }\n}\n\n/**\n * Note: typedefs are auto-exported, so use a made-up `dom` namespace where\n * necessary to avoid duplicates with `export * from './helpers`; see\n * https://github.com/microsoft/TypeScript/issues/46011\n * @typedef { import('../core/core.controller.js').default } dom.Chart\n * @typedef { import('../../types').ChartEvent } ChartEvent\n */ /**\n * @private\n */ function _isDomSupported() {\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n}\n/**\n * @private\n */ function _getParentNode(domNode) {\n let parent = domNode.parentNode;\n if (parent && parent.toString() === '[object ShadowRoot]') {\n parent = parent.host;\n }\n return parent;\n}\n/**\n * convert max-width/max-height values that may be percentages into a number\n * @private\n */ function parseMaxStyle(styleValue, node, parentProperty) {\n let valueInPixels;\n if (typeof styleValue === 'string') {\n valueInPixels = parseInt(styleValue, 10);\n if (styleValue.indexOf('%') !== -1) {\n // percentage * size in dimension\n valueInPixels = valueInPixels / 100 * node.parentNode[parentProperty];\n }\n } else {\n valueInPixels = styleValue;\n }\n return valueInPixels;\n}\nconst getComputedStyle = (element)=>element.ownerDocument.defaultView.getComputedStyle(element, null);\nfunction getStyle(el, property) {\n return getComputedStyle(el).getPropertyValue(property);\n}\nconst positions = [\n 'top',\n 'right',\n 'bottom',\n 'left'\n];\nfunction getPositionedStyle(styles, style, suffix) {\n const result = {};\n suffix = suffix ? '-' + suffix : '';\n for(let i = 0; i < 4; i++){\n const pos = positions[i];\n result[pos] = parseFloat(styles[style + '-' + pos + suffix]) || 0;\n }\n result.width = result.left + result.right;\n result.height = result.top + result.bottom;\n return result;\n}\nconst useOffsetPos = (x, y, target)=>(x > 0 || y > 0) && (!target || !target.shadowRoot);\n/**\n * @param e\n * @param canvas\n * @returns Canvas position\n */ function getCanvasPosition(e, canvas) {\n const touches = e.touches;\n const source = touches && touches.length ? touches[0] : e;\n const { offsetX , offsetY } = source;\n let box = false;\n let x, y;\n if (useOffsetPos(offsetX, offsetY, e.target)) {\n x = offsetX;\n y = offsetY;\n } else {\n const rect = canvas.getBoundingClientRect();\n x = source.clientX - rect.left;\n y = source.clientY - rect.top;\n box = true;\n }\n return {\n x,\n y,\n box\n };\n}\n/**\n * Gets an event's x, y coordinates, relative to the chart area\n * @param event\n * @param chart\n * @returns x and y coordinates of the event\n */ function getRelativePosition(event, chart) {\n if ('native' in event) {\n return event;\n }\n const { canvas , currentDevicePixelRatio } = chart;\n const style = getComputedStyle(canvas);\n const borderBox = style.boxSizing === 'border-box';\n const paddings = getPositionedStyle(style, 'padding');\n const borders = getPositionedStyle(style, 'border', 'width');\n const { x , y , box } = getCanvasPosition(event, canvas);\n const xOffset = paddings.left + (box && borders.left);\n const yOffset = paddings.top + (box && borders.top);\n let { width , height } = chart;\n if (borderBox) {\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n return {\n x: Math.round((x - xOffset) / width * canvas.width / currentDevicePixelRatio),\n y: Math.round((y - yOffset) / height * canvas.height / currentDevicePixelRatio)\n };\n}\nfunction getContainerSize(canvas, width, height) {\n let maxWidth, maxHeight;\n if (width === undefined || height === undefined) {\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n width = canvas.clientWidth;\n height = canvas.clientHeight;\n } else {\n const rect = container.getBoundingClientRect(); // this is the border box of the container\n const containerStyle = getComputedStyle(container);\n const containerBorder = getPositionedStyle(containerStyle, 'border', 'width');\n const containerPadding = getPositionedStyle(containerStyle, 'padding');\n width = rect.width - containerPadding.width - containerBorder.width;\n height = rect.height - containerPadding.height - containerBorder.height;\n maxWidth = parseMaxStyle(containerStyle.maxWidth, container, 'clientWidth');\n maxHeight = parseMaxStyle(containerStyle.maxHeight, container, 'clientHeight');\n }\n }\n return {\n width,\n height,\n maxWidth: maxWidth || INFINITY,\n maxHeight: maxHeight || INFINITY\n };\n}\nconst round1 = (v)=>Math.round(v * 10) / 10;\n// eslint-disable-next-line complexity\nfunction getMaximumSize(canvas, bbWidth, bbHeight, aspectRatio) {\n const style = getComputedStyle(canvas);\n const margins = getPositionedStyle(style, 'margin');\n const maxWidth = parseMaxStyle(style.maxWidth, canvas, 'clientWidth') || INFINITY;\n const maxHeight = parseMaxStyle(style.maxHeight, canvas, 'clientHeight') || INFINITY;\n const containerSize = getContainerSize(canvas, bbWidth, bbHeight);\n let { width , height } = containerSize;\n if (style.boxSizing === 'content-box') {\n const borders = getPositionedStyle(style, 'border', 'width');\n const paddings = getPositionedStyle(style, 'padding');\n width -= paddings.width + borders.width;\n height -= paddings.height + borders.height;\n }\n width = Math.max(0, width - margins.width);\n height = Math.max(0, aspectRatio ? width / aspectRatio : height - margins.height);\n width = round1(Math.min(width, maxWidth, containerSize.maxWidth));\n height = round1(Math.min(height, maxHeight, containerSize.maxHeight));\n if (width && !height) {\n // https://github.com/chartjs/Chart.js/issues/4659\n // If the canvas has width, but no height, default to aspectRatio of 2 (canvas default)\n height = round1(width / 2);\n }\n const maintainHeight = bbWidth !== undefined || bbHeight !== undefined;\n if (maintainHeight && aspectRatio && containerSize.height && height > containerSize.height) {\n height = containerSize.height;\n width = round1(Math.floor(height * aspectRatio));\n }\n return {\n width,\n height\n };\n}\n/**\n * @param chart\n * @param forceRatio\n * @param forceStyle\n * @returns True if the canvas context size or transformation has changed.\n */ function retinaScale(chart, forceRatio, forceStyle) {\n const pixelRatio = forceRatio || 1;\n const deviceHeight = Math.floor(chart.height * pixelRatio);\n const deviceWidth = Math.floor(chart.width * pixelRatio);\n chart.height = Math.floor(chart.height);\n chart.width = Math.floor(chart.width);\n const canvas = chart.canvas;\n // If no style has been set on the canvas, the render size is used as display size,\n // making the chart visually bigger, so let's enforce it to the \"correct\" values.\n // See https://github.com/chartjs/Chart.js/issues/3575\n if (canvas.style && (forceStyle || !canvas.style.height && !canvas.style.width)) {\n canvas.style.height = `${chart.height}px`;\n canvas.style.width = `${chart.width}px`;\n }\n if (chart.currentDevicePixelRatio !== pixelRatio || canvas.height !== deviceHeight || canvas.width !== deviceWidth) {\n chart.currentDevicePixelRatio = pixelRatio;\n canvas.height = deviceHeight;\n canvas.width = deviceWidth;\n chart.ctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\n return true;\n }\n return false;\n}\n/**\n * Detects support for options object argument in addEventListener.\n * https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n * @private\n */ const supportsEventListenerOptions = function() {\n let passiveSupported = false;\n try {\n const options = {\n get passive () {\n passiveSupported = true;\n return false;\n }\n };\n if (_isDomSupported()) {\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n }\n } catch (e) {\n // continue regardless of error\n }\n return passiveSupported;\n}();\n/**\n * The \"used\" size is the final value of a dimension property after all calculations have\n * been performed. This method uses the computed style of `element` but returns undefined\n * if the computed style is not expressed in pixels. That can happen in some cases where\n * `element` has a size relative to its parent and this last one is not yet displayed,\n * for example because of `display: none` on a parent node.\n * @see https://developer.mozilla.org/en-US/docs/Web/CSS/used_value\n * @returns Size in pixels or undefined if unknown.\n */ function readUsedSize(element, property) {\n const value = getStyle(element, property);\n const matches = value && value.match(/^(\\d+)(\\.\\d+)?px$/);\n return matches ? +matches[1] : undefined;\n}\n\n/**\n * @private\n */ function _pointInLine(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: p1.y + t * (p2.y - p1.y)\n };\n}\n/**\n * @private\n */ function _steppedInterpolation(p1, p2, t, mode) {\n return {\n x: p1.x + t * (p2.x - p1.x),\n y: mode === 'middle' ? t < 0.5 ? p1.y : p2.y : mode === 'after' ? t < 1 ? p1.y : p2.y : t > 0 ? p2.y : p1.y\n };\n}\n/**\n * @private\n */ function _bezierInterpolation(p1, p2, t, mode) {\n const cp1 = {\n x: p1.cp2x,\n y: p1.cp2y\n };\n const cp2 = {\n x: p2.cp1x,\n y: p2.cp1y\n };\n const a = _pointInLine(p1, cp1, t);\n const b = _pointInLine(cp1, cp2, t);\n const c = _pointInLine(cp2, p2, t);\n const d = _pointInLine(a, b, t);\n const e = _pointInLine(b, c, t);\n return _pointInLine(d, e, t);\n}\n\nconst getRightToLeftAdapter = function(rectX, width) {\n return {\n x (x) {\n return rectX + rectX + width - x;\n },\n setWidth (w) {\n width = w;\n },\n textAlign (align) {\n if (align === 'center') {\n return align;\n }\n return align === 'right' ? 'left' : 'right';\n },\n xPlus (x, value) {\n return x - value;\n },\n leftForLtr (x, itemWidth) {\n return x - itemWidth;\n }\n };\n};\nconst getLeftToRightAdapter = function() {\n return {\n x (x) {\n return x;\n },\n setWidth (w) {},\n textAlign (align) {\n return align;\n },\n xPlus (x, value) {\n return x + value;\n },\n leftForLtr (x, _itemWidth) {\n return x;\n }\n };\n};\nfunction getRtlAdapter(rtl, rectX, width) {\n return rtl ? getRightToLeftAdapter(rectX, width) : getLeftToRightAdapter();\n}\nfunction overrideTextDirection(ctx, direction) {\n let style, original;\n if (direction === 'ltr' || direction === 'rtl') {\n style = ctx.canvas.style;\n original = [\n style.getPropertyValue('direction'),\n style.getPropertyPriority('direction')\n ];\n style.setProperty('direction', direction, 'important');\n ctx.prevTextDirection = original;\n }\n}\nfunction restoreTextDirection(ctx, original) {\n if (original !== undefined) {\n delete ctx.prevTextDirection;\n ctx.canvas.style.setProperty('direction', original[0], original[1]);\n }\n}\n\nfunction propertyFn(property) {\n if (property === 'angle') {\n return {\n between: _angleBetween,\n compare: _angleDiff,\n normalize: _normalizeAngle\n };\n }\n return {\n between: _isBetween,\n compare: (a, b)=>a - b,\n normalize: (x)=>x\n };\n}\nfunction normalizeSegment({ start , end , count , loop , style }) {\n return {\n start: start % count,\n end: end % count,\n loop: loop && (end - start + 1) % count === 0,\n style\n };\n}\nfunction getSegment(segment, points, bounds) {\n const { property , start: startBound , end: endBound } = bounds;\n const { between , normalize } = propertyFn(property);\n const count = points.length;\n let { start , end , loop } = segment;\n let i, ilen;\n if (loop) {\n start += count;\n end += count;\n for(i = 0, ilen = count; i < ilen; ++i){\n if (!between(normalize(points[start % count][property]), startBound, endBound)) {\n break;\n }\n start--;\n end--;\n }\n start %= count;\n end %= count;\n }\n if (end < start) {\n end += count;\n }\n return {\n start,\n end,\n loop,\n style: segment.style\n };\n}\n function _boundSegment(segment, points, bounds) {\n if (!bounds) {\n return [\n segment\n ];\n }\n const { property , start: startBound , end: endBound } = bounds;\n const count = points.length;\n const { compare , between , normalize } = propertyFn(property);\n const { start , end , loop , style } = getSegment(segment, points, bounds);\n const result = [];\n let inside = false;\n let subStart = null;\n let value, point, prevValue;\n const startIsBefore = ()=>between(startBound, prevValue, value) && compare(startBound, prevValue) !== 0;\n const endIsBefore = ()=>compare(endBound, value) === 0 || between(endBound, prevValue, value);\n const shouldStart = ()=>inside || startIsBefore();\n const shouldStop = ()=>!inside || endIsBefore();\n for(let i = start, prev = start; i <= end; ++i){\n point = points[i % count];\n if (point.skip) {\n continue;\n }\n value = normalize(point[property]);\n if (value === prevValue) {\n continue;\n }\n inside = between(value, startBound, endBound);\n if (subStart === null && shouldStart()) {\n subStart = compare(value, startBound) === 0 ? i : prev;\n }\n if (subStart !== null && shouldStop()) {\n result.push(normalizeSegment({\n start: subStart,\n end: i,\n loop,\n count,\n style\n }));\n subStart = null;\n }\n prev = i;\n prevValue = value;\n }\n if (subStart !== null) {\n result.push(normalizeSegment({\n start: subStart,\n end,\n loop,\n count,\n style\n }));\n }\n return result;\n}\n function _boundSegments(line, bounds) {\n const result = [];\n const segments = line.segments;\n for(let i = 0; i < segments.length; i++){\n const sub = _boundSegment(segments[i], line.points, bounds);\n if (sub.length) {\n result.push(...sub);\n }\n }\n return result;\n}\n function findStartAndEnd(points, count, loop, spanGaps) {\n let start = 0;\n let end = count - 1;\n if (loop && !spanGaps) {\n while(start < count && !points[start].skip){\n start++;\n }\n }\n while(start < count && points[start].skip){\n start++;\n }\n start %= count;\n if (loop) {\n end += start;\n }\n while(end > start && points[end % count].skip){\n end--;\n }\n end %= count;\n return {\n start,\n end\n };\n}\n function solidSegments(points, start, max, loop) {\n const count = points.length;\n const result = [];\n let last = start;\n let prev = points[start];\n let end;\n for(end = start + 1; end <= max; ++end){\n const cur = points[end % count];\n if (cur.skip || cur.stop) {\n if (!prev.skip) {\n loop = false;\n result.push({\n start: start % count,\n end: (end - 1) % count,\n loop\n });\n start = last = cur.stop ? end : null;\n }\n } else {\n last = end;\n if (prev.skip) {\n start = end;\n }\n }\n prev = cur;\n }\n if (last !== null) {\n result.push({\n start: start % count,\n end: last % count,\n loop\n });\n }\n return result;\n}\n function _computeSegments(line, segmentOptions) {\n const points = line.points;\n const spanGaps = line.options.spanGaps;\n const count = points.length;\n if (!count) {\n return [];\n }\n const loop = !!line._loop;\n const { start , end } = findStartAndEnd(points, count, loop, spanGaps);\n if (spanGaps === true) {\n return splitByStyles(line, [\n {\n start,\n end,\n loop\n }\n ], points, segmentOptions);\n }\n const max = end < start ? end + count : end;\n const completeLoop = !!line._fullLoop && start === 0 && end === count - 1;\n return splitByStyles(line, solidSegments(points, start, max, completeLoop), points, segmentOptions);\n}\n function splitByStyles(line, segments, points, segmentOptions) {\n if (!segmentOptions || !segmentOptions.setContext || !points) {\n return segments;\n }\n return doSplitByStyles(line, segments, points, segmentOptions);\n}\n function doSplitByStyles(line, segments, points, segmentOptions) {\n const chartContext = line._chart.getContext();\n const baseStyle = readStyle(line.options);\n const { _datasetIndex: datasetIndex , options: { spanGaps } } = line;\n const count = points.length;\n const result = [];\n let prevStyle = baseStyle;\n let start = segments[0].start;\n let i = start;\n function addStyle(s, e, l, st) {\n const dir = spanGaps ? -1 : 1;\n if (s === e) {\n return;\n }\n s += count;\n while(points[s % count].skip){\n s -= dir;\n }\n while(points[e % count].skip){\n e += dir;\n }\n if (s % count !== e % count) {\n result.push({\n start: s % count,\n end: e % count,\n loop: l,\n style: st\n });\n prevStyle = st;\n start = e % count;\n }\n }\n for (const segment of segments){\n start = spanGaps ? start : segment.start;\n let prev = points[start % count];\n let style;\n for(i = start + 1; i <= segment.end; i++){\n const pt = points[i % count];\n style = readStyle(segmentOptions.setContext(createContext(chartContext, {\n type: 'segment',\n p0: prev,\n p1: pt,\n p0DataIndex: (i - 1) % count,\n p1DataIndex: i % count,\n datasetIndex\n })));\n if (styleChanged(style, prevStyle)) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n prev = pt;\n prevStyle = style;\n }\n if (start < i - 1) {\n addStyle(start, i - 1, segment.loop, prevStyle);\n }\n }\n return result;\n}\nfunction readStyle(options) {\n return {\n backgroundColor: options.backgroundColor,\n borderCapStyle: options.borderCapStyle,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderJoinStyle: options.borderJoinStyle,\n borderWidth: options.borderWidth,\n borderColor: options.borderColor\n };\n}\nfunction styleChanged(style, prevStyle) {\n if (!prevStyle) {\n return false;\n }\n const cache = [];\n const replacer = function(key, value) {\n if (!isPatternOrGradient(value)) {\n return value;\n }\n if (!cache.includes(value)) {\n cache.push(value);\n }\n return cache.indexOf(value);\n };\n return JSON.stringify(style, replacer) !== JSON.stringify(prevStyle, replacer);\n}\n\nexport { unclipArea as $, _rlookupByKey as A, _lookupByKey as B, _isPointInArea as C, getAngleFromPoint as D, toPadding as E, each as F, getMaximumSize as G, HALF_PI as H, _getParentNode as I, readUsedSize as J, supportsEventListenerOptions as K, throttled as L, _isDomSupported as M, _factorize as N, finiteOrDefault as O, PI as P, callback as Q, _addGrace as R, _limitValue as S, TAU as T, toDegrees as U, _measureText as V, _int16Range as W, _alignPixel as X, clipArea as Y, renderText as Z, _arrayUnique as _, resolve as a, fontString as a$, toFont as a0, _toLeftRightCenter as a1, _alignStartEnd as a2, overrides as a3, merge as a4, _capitalize as a5, descriptors as a6, isFunction as a7, _attachContext as a8, _createResolver as a9, overrideTextDirection as aA, _textX as aB, restoreTextDirection as aC, drawPointLegend as aD, distanceBetweenPoints as aE, noop as aF, _setMinAndMaxByKey as aG, niceNum as aH, almostWhole as aI, almostEquals as aJ, _decimalPlaces as aK, Ticks as aL, log10 as aM, _longestText as aN, _filterBetween as aO, _lookup as aP, isPatternOrGradient as aQ, getHoverColor as aR, clone as aS, _merger as aT, _mergerIf as aU, _deprecated as aV, _splitKey as aW, toFontString as aX, splineCurve as aY, splineCurveMonotone as aZ, getStyle as a_, _descriptors as aa, mergeIf as ab, uid as ac, debounce as ad, retinaScale as ae, clearCanvas as af, setsEqual as ag, _elementsEqual as ah, _isClickEvent as ai, _isBetween as aj, _readValueToProps as ak, _updateBezierControlPoints as al, _computeSegments as am, _boundSegments as an, _steppedInterpolation as ao, _bezierInterpolation as ap, _pointInLine as aq, _steppedLineTo as ar, _bezierCurveTo as as, drawPoint as at, addRoundedRectPath as au, toTRBL as av, toTRBLCorners as aw, _boundSegment as ax, _normalizeAngle as ay, getRtlAdapter as az, isArray as b, toLineHeight as b0, PITAU as b1, INFINITY as b2, RAD_PER_DEG as b3, QUARTER_PI as b4, TWO_THIRDS_PI as b5, _angleDiff as b6, color as c, defaults as d, effects as e, resolveObjectKey as f, isNumberFinite as g, defined as h, isObject as i, createContext as j, isNullOrUndef as k, listenArrayEvents as l, toPercentage as m, toDimension as n, formatNumber as o, _angleBetween as p, _getStartAndCountOfVisiblePoints as q, requestAnimFrame as r, sign as s, toRadians as t, unlistenArrayEvents as u, valueOrDefault as v, _scaleRangesChanged as w, isNumber as x, _parseObjectDataRadialScale as y, getRelativePosition as z };\n//# sourceMappingURL=helpers.segment.js.map\n","/*!\n * Chart.js v4.4.3\n * https://www.chartjs.org\n * (c) 2024 Chart.js Contributors\n * Released under the MIT License\n */\nimport { r as requestAnimFrame, a as resolve, e as effects, c as color, i as isObject, d as defaults, b as isArray, v as valueOrDefault, u as unlistenArrayEvents, l as listenArrayEvents, f as resolveObjectKey, g as isNumberFinite, h as defined, s as sign, j as createContext, k as isNullOrUndef, _ as _arrayUnique, t as toRadians, m as toPercentage, n as toDimension, T as TAU, o as formatNumber, p as _angleBetween, H as HALF_PI, P as PI, q as _getStartAndCountOfVisiblePoints, w as _scaleRangesChanged, x as isNumber, y as _parseObjectDataRadialScale, z as getRelativePosition, A as _rlookupByKey, B as _lookupByKey, C as _isPointInArea, D as getAngleFromPoint, E as toPadding, F as each, G as getMaximumSize, I as _getParentNode, J as readUsedSize, K as supportsEventListenerOptions, L as throttled, M as _isDomSupported, N as _factorize, O as finiteOrDefault, Q as callback, R as _addGrace, S as _limitValue, U as toDegrees, V as _measureText, W as _int16Range, X as _alignPixel, Y as clipArea, Z as renderText, $ as unclipArea, a0 as toFont, a1 as _toLeftRightCenter, a2 as _alignStartEnd, a3 as overrides, a4 as merge, a5 as _capitalize, a6 as descriptors, a7 as isFunction, a8 as _attachContext, a9 as _createResolver, aa as _descriptors, ab as mergeIf, ac as uid, ad as debounce, ae as retinaScale, af as clearCanvas, ag as setsEqual, ah as _elementsEqual, ai as _isClickEvent, aj as _isBetween, ak as _readValueToProps, al as _updateBezierControlPoints, am as _computeSegments, an as _boundSegments, ao as _steppedInterpolation, ap as _bezierInterpolation, aq as _pointInLine, ar as _steppedLineTo, as as _bezierCurveTo, at as drawPoint, au as addRoundedRectPath, av as toTRBL, aw as toTRBLCorners, ax as _boundSegment, ay as _normalizeAngle, az as getRtlAdapter, aA as overrideTextDirection, aB as _textX, aC as restoreTextDirection, aD as drawPointLegend, aE as distanceBetweenPoints, aF as noop, aG as _setMinAndMaxByKey, aH as niceNum, aI as almostWhole, aJ as almostEquals, aK as _decimalPlaces, aL as Ticks, aM as log10, aN as _longestText, aO as _filterBetween, aP as _lookup } from './chunks/helpers.segment.js';\nimport '@kurkle/color';\n\nclass Animator {\n constructor(){\n this._request = null;\n this._charts = new Map();\n this._running = false;\n this._lastDate = undefined;\n }\n _notify(chart, anims, date, type) {\n const callbacks = anims.listeners[type];\n const numSteps = anims.duration;\n callbacks.forEach((fn)=>fn({\n chart,\n initial: anims.initial,\n numSteps,\n currentStep: Math.min(date - anims.start, numSteps)\n }));\n }\n _refresh() {\n if (this._request) {\n return;\n }\n this._running = true;\n this._request = requestAnimFrame.call(window, ()=>{\n this._update();\n this._request = null;\n if (this._running) {\n this._refresh();\n }\n });\n }\n _update(date = Date.now()) {\n let remaining = 0;\n this._charts.forEach((anims, chart)=>{\n if (!anims.running || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n let draw = false;\n let item;\n for(; i >= 0; --i){\n item = items[i];\n if (item._active) {\n if (item._total > anims.duration) {\n anims.duration = item._total;\n }\n item.tick(date);\n draw = true;\n } else {\n items[i] = items[items.length - 1];\n items.pop();\n }\n }\n if (draw) {\n chart.draw();\n this._notify(chart, anims, date, 'progress');\n }\n if (!items.length) {\n anims.running = false;\n this._notify(chart, anims, date, 'complete');\n anims.initial = false;\n }\n remaining += items.length;\n });\n this._lastDate = date;\n if (remaining === 0) {\n this._running = false;\n }\n }\n _getAnims(chart) {\n const charts = this._charts;\n let anims = charts.get(chart);\n if (!anims) {\n anims = {\n running: false,\n initial: true,\n items: [],\n listeners: {\n complete: [],\n progress: []\n }\n };\n charts.set(chart, anims);\n }\n return anims;\n }\n listen(chart, event, cb) {\n this._getAnims(chart).listeners[event].push(cb);\n }\n add(chart, items) {\n if (!items || !items.length) {\n return;\n }\n this._getAnims(chart).items.push(...items);\n }\n has(chart) {\n return this._getAnims(chart).items.length > 0;\n }\n start(chart) {\n const anims = this._charts.get(chart);\n if (!anims) {\n return;\n }\n anims.running = true;\n anims.start = Date.now();\n anims.duration = anims.items.reduce((acc, cur)=>Math.max(acc, cur._duration), 0);\n this._refresh();\n }\n running(chart) {\n if (!this._running) {\n return false;\n }\n const anims = this._charts.get(chart);\n if (!anims || !anims.running || !anims.items.length) {\n return false;\n }\n return true;\n }\n stop(chart) {\n const anims = this._charts.get(chart);\n if (!anims || !anims.items.length) {\n return;\n }\n const items = anims.items;\n let i = items.length - 1;\n for(; i >= 0; --i){\n items[i].cancel();\n }\n anims.items = [];\n this._notify(chart, anims, Date.now(), 'complete');\n }\n remove(chart) {\n return this._charts.delete(chart);\n }\n}\nvar animator = /* #__PURE__ */ new Animator();\n\nconst transparent = 'transparent';\nconst interpolators = {\n boolean (from, to, factor) {\n return factor > 0.5 ? to : from;\n },\n color (from, to, factor) {\n const c0 = color(from || transparent);\n const c1 = c0.valid && color(to || transparent);\n return c1 && c1.valid ? c1.mix(c0, factor).hexString() : to;\n },\n number (from, to, factor) {\n return from + (to - from) * factor;\n }\n};\nclass Animation {\n constructor(cfg, target, prop, to){\n const currentValue = target[prop];\n to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n const from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n this._active = true;\n this._fn = cfg.fn || interpolators[cfg.type || typeof from];\n this._easing = effects[cfg.easing] || effects.linear;\n this._start = Math.floor(Date.now() + (cfg.delay || 0));\n this._duration = this._total = Math.floor(cfg.duration);\n this._loop = !!cfg.loop;\n this._target = target;\n this._prop = prop;\n this._from = from;\n this._to = to;\n this._promises = undefined;\n }\n active() {\n return this._active;\n }\n update(cfg, to, date) {\n if (this._active) {\n this._notify(false);\n const currentValue = this._target[this._prop];\n const elapsed = date - this._start;\n const remain = this._duration - elapsed;\n this._start = date;\n this._duration = Math.floor(Math.max(remain, cfg.duration));\n this._total += elapsed;\n this._loop = !!cfg.loop;\n this._to = resolve([\n cfg.to,\n to,\n currentValue,\n cfg.from\n ]);\n this._from = resolve([\n cfg.from,\n currentValue,\n to\n ]);\n }\n }\n cancel() {\n if (this._active) {\n this.tick(Date.now());\n this._active = false;\n this._notify(false);\n }\n }\n tick(date) {\n const elapsed = date - this._start;\n const duration = this._duration;\n const prop = this._prop;\n const from = this._from;\n const loop = this._loop;\n const to = this._to;\n let factor;\n this._active = from !== to && (loop || elapsed < duration);\n if (!this._active) {\n this._target[prop] = to;\n this._notify(true);\n return;\n }\n if (elapsed < 0) {\n this._target[prop] = from;\n return;\n }\n factor = elapsed / duration % 2;\n factor = loop && factor > 1 ? 2 - factor : factor;\n factor = this._easing(Math.min(1, Math.max(0, factor)));\n this._target[prop] = this._fn(from, to, factor);\n }\n wait() {\n const promises = this._promises || (this._promises = []);\n return new Promise((res, rej)=>{\n promises.push({\n res,\n rej\n });\n });\n }\n _notify(resolved) {\n const method = resolved ? 'res' : 'rej';\n const promises = this._promises || [];\n for(let i = 0; i < promises.length; i++){\n promises[i][method]();\n }\n }\n}\n\nclass Animations {\n constructor(chart, config){\n this._chart = chart;\n this._properties = new Map();\n this.configure(config);\n }\n configure(config) {\n if (!isObject(config)) {\n return;\n }\n const animationOptions = Object.keys(defaults.animation);\n const animatedProps = this._properties;\n Object.getOwnPropertyNames(config).forEach((key)=>{\n const cfg = config[key];\n if (!isObject(cfg)) {\n return;\n }\n const resolved = {};\n for (const option of animationOptions){\n resolved[option] = cfg[option];\n }\n (isArray(cfg.properties) && cfg.properties || [\n key\n ]).forEach((prop)=>{\n if (prop === key || !animatedProps.has(prop)) {\n animatedProps.set(prop, resolved);\n }\n });\n });\n }\n _animateOptions(target, values) {\n const newOptions = values.options;\n const options = resolveTargetOptions(target, newOptions);\n if (!options) {\n return [];\n }\n const animations = this._createAnimations(options, newOptions);\n if (newOptions.$shared) {\n awaitAll(target.options.$animations, newOptions).then(()=>{\n target.options = newOptions;\n }, ()=>{\n });\n }\n return animations;\n }\n _createAnimations(target, values) {\n const animatedProps = this._properties;\n const animations = [];\n const running = target.$animations || (target.$animations = {});\n const props = Object.keys(values);\n const date = Date.now();\n let i;\n for(i = props.length - 1; i >= 0; --i){\n const prop = props[i];\n if (prop.charAt(0) === '$') {\n continue;\n }\n if (prop === 'options') {\n animations.push(...this._animateOptions(target, values));\n continue;\n }\n const value = values[prop];\n let animation = running[prop];\n const cfg = animatedProps.get(prop);\n if (animation) {\n if (cfg && animation.active()) {\n animation.update(cfg, value, date);\n continue;\n } else {\n animation.cancel();\n }\n }\n if (!cfg || !cfg.duration) {\n target[prop] = value;\n continue;\n }\n running[prop] = animation = new Animation(cfg, target, prop, value);\n animations.push(animation);\n }\n return animations;\n }\n update(target, values) {\n if (this._properties.size === 0) {\n Object.assign(target, values);\n return;\n }\n const animations = this._createAnimations(target, values);\n if (animations.length) {\n animator.add(this._chart, animations);\n return true;\n }\n }\n}\nfunction awaitAll(animations, properties) {\n const running = [];\n const keys = Object.keys(properties);\n for(let i = 0; i < keys.length; i++){\n const anim = animations[keys[i]];\n if (anim && anim.active()) {\n running.push(anim.wait());\n }\n }\n return Promise.all(running);\n}\nfunction resolveTargetOptions(target, newOptions) {\n if (!newOptions) {\n return;\n }\n let options = target.options;\n if (!options) {\n target.options = newOptions;\n return;\n }\n if (options.$shared) {\n target.options = options = Object.assign({}, options, {\n $shared: false,\n $animations: {}\n });\n }\n return options;\n}\n\nfunction scaleClip(scale, allowedOverflow) {\n const opts = scale && scale.options || {};\n const reverse = opts.reverse;\n const min = opts.min === undefined ? allowedOverflow : 0;\n const max = opts.max === undefined ? allowedOverflow : 0;\n return {\n start: reverse ? max : min,\n end: reverse ? min : max\n };\n}\nfunction defaultClip(xScale, yScale, allowedOverflow) {\n if (allowedOverflow === false) {\n return false;\n }\n const x = scaleClip(xScale, allowedOverflow);\n const y = scaleClip(yScale, allowedOverflow);\n return {\n top: y.end,\n right: x.end,\n bottom: y.start,\n left: x.start\n };\n}\nfunction toClip(value) {\n let t, r, b, l;\n if (isObject(value)) {\n t = value.top;\n r = value.right;\n b = value.bottom;\n l = value.left;\n } else {\n t = r = b = l = value;\n }\n return {\n top: t,\n right: r,\n bottom: b,\n left: l,\n disabled: value === false\n };\n}\nfunction getSortedDatasetIndices(chart, filterVisible) {\n const keys = [];\n const metasets = chart._getSortedDatasetMetas(filterVisible);\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n keys.push(metasets[i].index);\n }\n return keys;\n}\nfunction applyStack(stack, value, dsIndex, options = {}) {\n const keys = stack.keys;\n const singleMode = options.mode === 'single';\n let i, ilen, datasetIndex, otherValue;\n if (value === null) {\n return;\n }\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n datasetIndex = +keys[i];\n if (datasetIndex === dsIndex) {\n if (options.all) {\n continue;\n }\n break;\n }\n otherValue = stack.values[datasetIndex];\n if (isNumberFinite(otherValue) && (singleMode || value === 0 || sign(value) === sign(otherValue))) {\n value += otherValue;\n }\n }\n return value;\n}\nfunction convertObjectDataToArray(data, meta) {\n const { iScale , vScale } = meta;\n const iAxisKey = iScale.axis === 'x' ? 'x' : 'y';\n const vAxisKey = vScale.axis === 'x' ? 'x' : 'y';\n const keys = Object.keys(data);\n const adata = new Array(keys.length);\n let i, ilen, key;\n for(i = 0, ilen = keys.length; i < ilen; ++i){\n key = keys[i];\n adata[i] = {\n [iAxisKey]: key,\n [vAxisKey]: data[key]\n };\n }\n return adata;\n}\nfunction isStacked(scale, meta) {\n const stacked = scale && scale.options.stacked;\n return stacked || stacked === undefined && meta.stack !== undefined;\n}\nfunction getStackKey(indexScale, valueScale, meta) {\n return `${indexScale.id}.${valueScale.id}.${meta.stack || meta.type}`;\n}\nfunction getUserBounds(scale) {\n const { min , max , minDefined , maxDefined } = scale.getUserBounds();\n return {\n min: minDefined ? min : Number.NEGATIVE_INFINITY,\n max: maxDefined ? max : Number.POSITIVE_INFINITY\n };\n}\nfunction getOrCreateStack(stacks, stackKey, indexValue) {\n const subStack = stacks[stackKey] || (stacks[stackKey] = {});\n return subStack[indexValue] || (subStack[indexValue] = {});\n}\nfunction getLastIndexInStack(stack, vScale, positive, type) {\n for (const meta of vScale.getMatchingVisibleMetas(type).reverse()){\n const value = stack[meta.index];\n if (positive && value > 0 || !positive && value < 0) {\n return meta.index;\n }\n }\n return null;\n}\nfunction updateStacks(controller, parsed) {\n const { chart , _cachedMeta: meta } = controller;\n const stacks = chart._stacks || (chart._stacks = {});\n const { iScale , vScale , index: datasetIndex } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const key = getStackKey(iScale, vScale, meta);\n const ilen = parsed.length;\n let stack;\n for(let i = 0; i < ilen; ++i){\n const item = parsed[i];\n const { [iAxis]: index , [vAxis]: value } = item;\n const itemStacks = item._stacks || (item._stacks = {});\n stack = itemStacks[vAxis] = getOrCreateStack(stacks, key, index);\n stack[datasetIndex] = value;\n stack._top = getLastIndexInStack(stack, vScale, true, meta.type);\n stack._bottom = getLastIndexInStack(stack, vScale, false, meta.type);\n const visualValues = stack._visualValues || (stack._visualValues = {});\n visualValues[datasetIndex] = value;\n }\n}\nfunction getFirstScaleId(chart, axis) {\n const scales = chart.scales;\n return Object.keys(scales).filter((key)=>scales[key].axis === axis).shift();\n}\nfunction createDatasetContext(parent, index) {\n return createContext(parent, {\n active: false,\n dataset: undefined,\n datasetIndex: index,\n index,\n mode: 'default',\n type: 'dataset'\n });\n}\nfunction createDataContext(parent, index, element) {\n return createContext(parent, {\n active: false,\n dataIndex: index,\n parsed: undefined,\n raw: undefined,\n element,\n index,\n mode: 'default',\n type: 'data'\n });\n}\nfunction clearStacks(meta, items) {\n const datasetIndex = meta.controller.index;\n const axis = meta.vScale && meta.vScale.axis;\n if (!axis) {\n return;\n }\n items = items || meta._parsed;\n for (const parsed of items){\n const stacks = parsed._stacks;\n if (!stacks || stacks[axis] === undefined || stacks[axis][datasetIndex] === undefined) {\n return;\n }\n delete stacks[axis][datasetIndex];\n if (stacks[axis]._visualValues !== undefined && stacks[axis]._visualValues[datasetIndex] !== undefined) {\n delete stacks[axis]._visualValues[datasetIndex];\n }\n }\n}\nconst isDirectUpdateMode = (mode)=>mode === 'reset' || mode === 'none';\nconst cloneIfNotShared = (cached, shared)=>shared ? cached : Object.assign({}, cached);\nconst createStack = (canStack, meta, chart)=>canStack && !meta.hidden && meta._stacked && {\n keys: getSortedDatasetIndices(chart, true),\n values: null\n };\nclass DatasetController {\n static defaults = {};\n static datasetElementType = null;\n static dataElementType = null;\n constructor(chart, datasetIndex){\n this.chart = chart;\n this._ctx = chart.ctx;\n this.index = datasetIndex;\n this._cachedDataOpts = {};\n this._cachedMeta = this.getMeta();\n this._type = this._cachedMeta.type;\n this.options = undefined;\n this._parsing = false;\n this._data = undefined;\n this._objectData = undefined;\n this._sharedOptions = undefined;\n this._drawStart = undefined;\n this._drawCount = undefined;\n this.enableOptionSharing = false;\n this.supportsDecimation = false;\n this.$context = undefined;\n this._syncList = [];\n this.datasetElementType = new.target.datasetElementType;\n this.dataElementType = new.target.dataElementType;\n this.initialize();\n }\n initialize() {\n const meta = this._cachedMeta;\n this.configure();\n this.linkScales();\n meta._stacked = isStacked(meta.vScale, meta);\n this.addElements();\n if (this.options.fill && !this.chart.isPluginEnabled('filler')) {\n console.warn(\"Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options\");\n }\n }\n updateIndex(datasetIndex) {\n if (this.index !== datasetIndex) {\n clearStacks(this._cachedMeta);\n }\n this.index = datasetIndex;\n }\n linkScales() {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n const chooseId = (axis, x, y, r)=>axis === 'x' ? x : axis === 'r' ? r : y;\n const xid = meta.xAxisID = valueOrDefault(dataset.xAxisID, getFirstScaleId(chart, 'x'));\n const yid = meta.yAxisID = valueOrDefault(dataset.yAxisID, getFirstScaleId(chart, 'y'));\n const rid = meta.rAxisID = valueOrDefault(dataset.rAxisID, getFirstScaleId(chart, 'r'));\n const indexAxis = meta.indexAxis;\n const iid = meta.iAxisID = chooseId(indexAxis, xid, yid, rid);\n const vid = meta.vAxisID = chooseId(indexAxis, yid, xid, rid);\n meta.xScale = this.getScaleForId(xid);\n meta.yScale = this.getScaleForId(yid);\n meta.rScale = this.getScaleForId(rid);\n meta.iScale = this.getScaleForId(iid);\n meta.vScale = this.getScaleForId(vid);\n }\n getDataset() {\n return this.chart.data.datasets[this.index];\n }\n getMeta() {\n return this.chart.getDatasetMeta(this.index);\n }\n getScaleForId(scaleID) {\n return this.chart.scales[scaleID];\n }\n _getOtherScale(scale) {\n const meta = this._cachedMeta;\n return scale === meta.iScale ? meta.vScale : meta.iScale;\n }\n reset() {\n this._update('reset');\n }\n _destroy() {\n const meta = this._cachedMeta;\n if (this._data) {\n unlistenArrayEvents(this._data, this);\n }\n if (meta._stacked) {\n clearStacks(meta);\n }\n }\n _dataCheck() {\n const dataset = this.getDataset();\n const data = dataset.data || (dataset.data = []);\n const _data = this._data;\n if (isObject(data)) {\n const meta = this._cachedMeta;\n this._data = convertObjectDataToArray(data, meta);\n } else if (_data !== data) {\n if (_data) {\n unlistenArrayEvents(_data, this);\n const meta = this._cachedMeta;\n clearStacks(meta);\n meta._parsed = [];\n }\n if (data && Object.isExtensible(data)) {\n listenArrayEvents(data, this);\n }\n this._syncList = [];\n this._data = data;\n }\n }\n addElements() {\n const meta = this._cachedMeta;\n this._dataCheck();\n if (this.datasetElementType) {\n meta.dataset = new this.datasetElementType();\n }\n }\n buildOrUpdateElements(resetNewElements) {\n const meta = this._cachedMeta;\n const dataset = this.getDataset();\n let stackChanged = false;\n this._dataCheck();\n const oldStacked = meta._stacked;\n meta._stacked = isStacked(meta.vScale, meta);\n if (meta.stack !== dataset.stack) {\n stackChanged = true;\n clearStacks(meta);\n meta.stack = dataset.stack;\n }\n this._resyncElements(resetNewElements);\n if (stackChanged || oldStacked !== meta._stacked) {\n updateStacks(this, meta._parsed);\n }\n }\n configure() {\n const config = this.chart.config;\n const scopeKeys = config.datasetScopeKeys(this._type);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys, true);\n this.options = config.createResolver(scopes, this.getContext());\n this._parsing = this.options.parsing;\n this._cachedDataOpts = {};\n }\n parse(start, count) {\n const { _cachedMeta: meta , _data: data } = this;\n const { iScale , _stacked } = meta;\n const iAxis = iScale.axis;\n let sorted = start === 0 && count === data.length ? true : meta._sorted;\n let prev = start > 0 && meta._parsed[start - 1];\n let i, cur, parsed;\n if (this._parsing === false) {\n meta._parsed = data;\n meta._sorted = true;\n parsed = data;\n } else {\n if (isArray(data[start])) {\n parsed = this.parseArrayData(meta, data, start, count);\n } else if (isObject(data[start])) {\n parsed = this.parseObjectData(meta, data, start, count);\n } else {\n parsed = this.parsePrimitiveData(meta, data, start, count);\n }\n const isNotInOrderComparedToPrev = ()=>cur[iAxis] === null || prev && cur[iAxis] < prev[iAxis];\n for(i = 0; i < count; ++i){\n meta._parsed[i + start] = cur = parsed[i];\n if (sorted) {\n if (isNotInOrderComparedToPrev()) {\n sorted = false;\n }\n prev = cur;\n }\n }\n meta._sorted = sorted;\n }\n if (_stacked) {\n updateStacks(this, parsed);\n }\n }\n parsePrimitiveData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = new Array(count);\n let i, ilen, index;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n parsed[i] = {\n [iAxis]: singleScale || iScale.parse(labels[index], index),\n [vAxis]: vScale.parse(data[index], index)\n };\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(item[0], index),\n y: yScale.parse(item[1], index)\n };\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const { xScale , yScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const parsed = new Array(count);\n let i, ilen, index, item;\n for(i = 0, ilen = count; i < ilen; ++i){\n index = i + start;\n item = data[index];\n parsed[i] = {\n x: xScale.parse(resolveObjectKey(item, xAxisKey), index),\n y: yScale.parse(resolveObjectKey(item, yAxisKey), index)\n };\n }\n return parsed;\n }\n getParsed(index) {\n return this._cachedMeta._parsed[index];\n }\n getDataElement(index) {\n return this._cachedMeta.data[index];\n }\n applyStack(scale, parsed, mode) {\n const chart = this.chart;\n const meta = this._cachedMeta;\n const value = parsed[scale.axis];\n const stack = {\n keys: getSortedDatasetIndices(chart, true),\n values: parsed._stacks[scale.axis]._visualValues\n };\n return applyStack(stack, value, meta.index, {\n mode\n });\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n const parsedValue = parsed[scale.axis];\n let value = parsedValue === null ? NaN : parsedValue;\n const values = stack && parsed._stacks[scale.axis];\n if (stack && values) {\n stack.values = values;\n value = applyStack(stack, parsedValue, this._cachedMeta.index);\n }\n range.min = Math.min(range.min, value);\n range.max = Math.max(range.max, value);\n }\n getMinMax(scale, canStack) {\n const meta = this._cachedMeta;\n const _parsed = meta._parsed;\n const sorted = meta._sorted && scale === meta.iScale;\n const ilen = _parsed.length;\n const otherScale = this._getOtherScale(scale);\n const stack = createStack(canStack, meta, this.chart);\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n const { min: otherMin , max: otherMax } = getUserBounds(otherScale);\n let i, parsed;\n function _skip() {\n parsed = _parsed[i];\n const otherValue = parsed[otherScale.axis];\n return !isNumberFinite(parsed[scale.axis]) || otherMin > otherValue || otherMax < otherValue;\n }\n for(i = 0; i < ilen; ++i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n if (sorted) {\n break;\n }\n }\n if (sorted) {\n for(i = ilen - 1; i >= 0; --i){\n if (_skip()) {\n continue;\n }\n this.updateRangeFromParsed(range, scale, parsed, stack);\n break;\n }\n }\n return range;\n }\n getAllParsedValues(scale) {\n const parsed = this._cachedMeta._parsed;\n const values = [];\n let i, ilen, value;\n for(i = 0, ilen = parsed.length; i < ilen; ++i){\n value = parsed[i][scale.axis];\n if (isNumberFinite(value)) {\n values.push(value);\n }\n }\n return values;\n }\n getMaxOverflow() {\n return false;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: iScale ? '' + iScale.getLabelForValue(parsed[iScale.axis]) : '',\n value: vScale ? '' + vScale.getLabelForValue(parsed[vScale.axis]) : ''\n };\n }\n _update(mode) {\n const meta = this._cachedMeta;\n this.update(mode || 'default');\n meta._clip = toClip(valueOrDefault(this.options.clip, defaultClip(meta.xScale, meta.yScale, this.getMaxOverflow())));\n }\n update(mode) {}\n draw() {\n const ctx = this._ctx;\n const chart = this.chart;\n const meta = this._cachedMeta;\n const elements = meta.data || [];\n const area = chart.chartArea;\n const active = [];\n const start = this._drawStart || 0;\n const count = this._drawCount || elements.length - start;\n const drawActiveElementsOnTop = this.options.drawActiveElementsOnTop;\n let i;\n if (meta.dataset) {\n meta.dataset.draw(ctx, area, start, count);\n }\n for(i = start; i < start + count; ++i){\n const element = elements[i];\n if (element.hidden) {\n continue;\n }\n if (element.active && drawActiveElementsOnTop) {\n active.push(element);\n } else {\n element.draw(ctx, area);\n }\n }\n for(i = 0; i < active.length; ++i){\n active[i].draw(ctx, area);\n }\n }\n getStyle(index, active) {\n const mode = active ? 'active' : 'default';\n return index === undefined && this._cachedMeta.dataset ? this.resolveDatasetElementOptions(mode) : this.resolveDataElementOptions(index || 0, mode);\n }\n getContext(index, active, mode) {\n const dataset = this.getDataset();\n let context;\n if (index >= 0 && index < this._cachedMeta.data.length) {\n const element = this._cachedMeta.data[index];\n context = element.$context || (element.$context = createDataContext(this.getContext(), index, element));\n context.parsed = this.getParsed(index);\n context.raw = dataset.data[index];\n context.index = context.dataIndex = index;\n } else {\n context = this.$context || (this.$context = createDatasetContext(this.chart.getContext(), this.index));\n context.dataset = dataset;\n context.index = context.datasetIndex = this.index;\n }\n context.active = !!active;\n context.mode = mode;\n return context;\n }\n resolveDatasetElementOptions(mode) {\n return this._resolveElementOptions(this.datasetElementType.id, mode);\n }\n resolveDataElementOptions(index, mode) {\n return this._resolveElementOptions(this.dataElementType.id, mode, index);\n }\n _resolveElementOptions(elementType, mode = 'default', index) {\n const active = mode === 'active';\n const cache = this._cachedDataOpts;\n const cacheKey = elementType + '-' + mode;\n const cached = cache[cacheKey];\n const sharing = this.enableOptionSharing && defined(index);\n if (cached) {\n return cloneIfNotShared(cached, sharing);\n }\n const config = this.chart.config;\n const scopeKeys = config.datasetElementScopeKeys(this._type, elementType);\n const prefixes = active ? [\n `${elementType}Hover`,\n 'hover',\n elementType,\n ''\n ] : [\n elementType,\n ''\n ];\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n const names = Object.keys(defaults.elements[elementType]);\n const context = ()=>this.getContext(index, active, mode);\n const values = config.resolveNamedOptions(scopes, names, context, prefixes);\n if (values.$shared) {\n values.$shared = sharing;\n cache[cacheKey] = Object.freeze(cloneIfNotShared(values, sharing));\n }\n return values;\n }\n _resolveAnimations(index, transition, active) {\n const chart = this.chart;\n const cache = this._cachedDataOpts;\n const cacheKey = `animation-${transition}`;\n const cached = cache[cacheKey];\n if (cached) {\n return cached;\n }\n let options;\n if (chart.options.animation !== false) {\n const config = this.chart.config;\n const scopeKeys = config.datasetAnimationScopeKeys(this._type, transition);\n const scopes = config.getOptionScopes(this.getDataset(), scopeKeys);\n options = config.createResolver(scopes, this.getContext(index, active, transition));\n }\n const animations = new Animations(chart, options && options.animations);\n if (options && options._cacheable) {\n cache[cacheKey] = Object.freeze(animations);\n }\n return animations;\n }\n getSharedOptions(options) {\n if (!options.$shared) {\n return;\n }\n return this._sharedOptions || (this._sharedOptions = Object.assign({}, options));\n }\n includeOptions(mode, sharedOptions) {\n return !sharedOptions || isDirectUpdateMode(mode) || this.chart._animationsDisabled;\n }\n _getSharedOptions(start, mode) {\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const previouslySharedOptions = this._sharedOptions;\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions) || sharedOptions !== previouslySharedOptions;\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n return {\n sharedOptions,\n includeOptions\n };\n }\n updateElement(element, index, properties, mode) {\n if (isDirectUpdateMode(mode)) {\n Object.assign(element, properties);\n } else {\n this._resolveAnimations(index, mode).update(element, properties);\n }\n }\n updateSharedOptions(sharedOptions, mode, newOptions) {\n if (sharedOptions && !isDirectUpdateMode(mode)) {\n this._resolveAnimations(undefined, mode).update(sharedOptions, newOptions);\n }\n }\n _setStyle(element, index, mode, active) {\n element.active = active;\n const options = this.getStyle(index, active);\n this._resolveAnimations(index, mode, active).update(element, {\n options: !active && this.getSharedOptions(options) || options\n });\n }\n removeHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', false);\n }\n setHoverStyle(element, datasetIndex, index) {\n this._setStyle(element, index, 'active', true);\n }\n _removeDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', false);\n }\n }\n _setDatasetHoverStyle() {\n const element = this._cachedMeta.dataset;\n if (element) {\n this._setStyle(element, undefined, 'active', true);\n }\n }\n _resyncElements(resetNewElements) {\n const data = this._data;\n const elements = this._cachedMeta.data;\n for (const [method, arg1, arg2] of this._syncList){\n this[method](arg1, arg2);\n }\n this._syncList = [];\n const numMeta = elements.length;\n const numData = data.length;\n const count = Math.min(numData, numMeta);\n if (count) {\n this.parse(0, count);\n }\n if (numData > numMeta) {\n this._insertElements(numMeta, numData - numMeta, resetNewElements);\n } else if (numData < numMeta) {\n this._removeElements(numData, numMeta - numData);\n }\n }\n _insertElements(start, count, resetNewElements = true) {\n const meta = this._cachedMeta;\n const data = meta.data;\n const end = start + count;\n let i;\n const move = (arr)=>{\n arr.length += count;\n for(i = arr.length - 1; i >= end; i--){\n arr[i] = arr[i - count];\n }\n };\n move(data);\n for(i = start; i < end; ++i){\n data[i] = new this.dataElementType();\n }\n if (this._parsing) {\n move(meta._parsed);\n }\n this.parse(start, count);\n if (resetNewElements) {\n this.updateElements(data, start, count, 'reset');\n }\n }\n updateElements(element, start, count, mode) {}\n _removeElements(start, count) {\n const meta = this._cachedMeta;\n if (this._parsing) {\n const removed = meta._parsed.splice(start, count);\n if (meta._stacked) {\n clearStacks(meta, removed);\n }\n }\n meta.data.splice(start, count);\n }\n _sync(args) {\n if (this._parsing) {\n this._syncList.push(args);\n } else {\n const [method, arg1, arg2] = args;\n this[method](arg1, arg2);\n }\n this.chart._dataChanges.push([\n this.index,\n ...args\n ]);\n }\n _onDataPush() {\n const count = arguments.length;\n this._sync([\n '_insertElements',\n this.getDataset().data.length - count,\n count\n ]);\n }\n _onDataPop() {\n this._sync([\n '_removeElements',\n this._cachedMeta.data.length - 1,\n 1\n ]);\n }\n _onDataShift() {\n this._sync([\n '_removeElements',\n 0,\n 1\n ]);\n }\n _onDataSplice(start, count) {\n if (count) {\n this._sync([\n '_removeElements',\n start,\n count\n ]);\n }\n const newCount = arguments.length - 2;\n if (newCount) {\n this._sync([\n '_insertElements',\n start,\n newCount\n ]);\n }\n }\n _onDataUnshift() {\n this._sync([\n '_insertElements',\n 0,\n arguments.length\n ]);\n }\n}\n\nfunction getAllScaleValues(scale, type) {\n if (!scale._cache.$bar) {\n const visibleMetas = scale.getMatchingVisibleMetas(type);\n let values = [];\n for(let i = 0, ilen = visibleMetas.length; i < ilen; i++){\n values = values.concat(visibleMetas[i].controller.getAllParsedValues(scale));\n }\n scale._cache.$bar = _arrayUnique(values.sort((a, b)=>a - b));\n }\n return scale._cache.$bar;\n}\n function computeMinSampleSize(meta) {\n const scale = meta.iScale;\n const values = getAllScaleValues(scale, meta.type);\n let min = scale._length;\n let i, ilen, curr, prev;\n const updateMinAndPrev = ()=>{\n if (curr === 32767 || curr === -32768) {\n return;\n }\n if (defined(prev)) {\n min = Math.min(min, Math.abs(curr - prev) || min);\n }\n prev = curr;\n };\n for(i = 0, ilen = values.length; i < ilen; ++i){\n curr = scale.getPixelForValue(values[i]);\n updateMinAndPrev();\n }\n prev = undefined;\n for(i = 0, ilen = scale.ticks.length; i < ilen; ++i){\n curr = scale.getPixelForTick(i);\n updateMinAndPrev();\n }\n return min;\n}\n function computeFitCategoryTraits(index, ruler, options, stackCount) {\n const thickness = options.barThickness;\n let size, ratio;\n if (isNullOrUndef(thickness)) {\n size = ruler.min * options.categoryPercentage;\n ratio = options.barPercentage;\n } else {\n size = thickness * stackCount;\n ratio = 1;\n }\n return {\n chunk: size / stackCount,\n ratio,\n start: ruler.pixels[index] - size / 2\n };\n}\n function computeFlexCategoryTraits(index, ruler, options, stackCount) {\n const pixels = ruler.pixels;\n const curr = pixels[index];\n let prev = index > 0 ? pixels[index - 1] : null;\n let next = index < pixels.length - 1 ? pixels[index + 1] : null;\n const percent = options.categoryPercentage;\n if (prev === null) {\n prev = curr - (next === null ? ruler.end - ruler.start : next - curr);\n }\n if (next === null) {\n next = curr + curr - prev;\n }\n const start = curr - (curr - Math.min(prev, next)) / 2 * percent;\n const size = Math.abs(next - prev) / 2 * percent;\n return {\n chunk: size / stackCount,\n ratio: options.barPercentage,\n start\n };\n}\nfunction parseFloatBar(entry, item, vScale, i) {\n const startValue = vScale.parse(entry[0], i);\n const endValue = vScale.parse(entry[1], i);\n const min = Math.min(startValue, endValue);\n const max = Math.max(startValue, endValue);\n let barStart = min;\n let barEnd = max;\n if (Math.abs(min) > Math.abs(max)) {\n barStart = max;\n barEnd = min;\n }\n item[vScale.axis] = barEnd;\n item._custom = {\n barStart,\n barEnd,\n start: startValue,\n end: endValue,\n min,\n max\n };\n}\nfunction parseValue(entry, item, vScale, i) {\n if (isArray(entry)) {\n parseFloatBar(entry, item, vScale, i);\n } else {\n item[vScale.axis] = vScale.parse(entry, i);\n }\n return item;\n}\nfunction parseArrayOrPrimitive(meta, data, start, count) {\n const iScale = meta.iScale;\n const vScale = meta.vScale;\n const labels = iScale.getLabels();\n const singleScale = iScale === vScale;\n const parsed = [];\n let i, ilen, item, entry;\n for(i = start, ilen = start + count; i < ilen; ++i){\n entry = data[i];\n item = {};\n item[iScale.axis] = singleScale || iScale.parse(labels[i], i);\n parsed.push(parseValue(entry, item, vScale, i));\n }\n return parsed;\n}\nfunction isFloatBar(custom) {\n return custom && custom.barStart !== undefined && custom.barEnd !== undefined;\n}\nfunction barSign(size, vScale, actualBase) {\n if (size !== 0) {\n return sign(size);\n }\n return (vScale.isHorizontal() ? 1 : -1) * (vScale.min >= actualBase ? 1 : -1);\n}\nfunction borderProps(properties) {\n let reverse, start, end, top, bottom;\n if (properties.horizontal) {\n reverse = properties.base > properties.x;\n start = 'left';\n end = 'right';\n } else {\n reverse = properties.base < properties.y;\n start = 'bottom';\n end = 'top';\n }\n if (reverse) {\n top = 'end';\n bottom = 'start';\n } else {\n top = 'start';\n bottom = 'end';\n }\n return {\n start,\n end,\n reverse,\n top,\n bottom\n };\n}\nfunction setBorderSkipped(properties, options, stack, index) {\n let edge = options.borderSkipped;\n const res = {};\n if (!edge) {\n properties.borderSkipped = res;\n return;\n }\n if (edge === true) {\n properties.borderSkipped = {\n top: true,\n right: true,\n bottom: true,\n left: true\n };\n return;\n }\n const { start , end , reverse , top , bottom } = borderProps(properties);\n if (edge === 'middle' && stack) {\n properties.enableBorderRadius = true;\n if ((stack._top || 0) === index) {\n edge = top;\n } else if ((stack._bottom || 0) === index) {\n edge = bottom;\n } else {\n res[parseEdge(bottom, start, end, reverse)] = true;\n edge = top;\n }\n }\n res[parseEdge(edge, start, end, reverse)] = true;\n properties.borderSkipped = res;\n}\nfunction parseEdge(edge, a, b, reverse) {\n if (reverse) {\n edge = swap(edge, a, b);\n edge = startEnd(edge, b, a);\n } else {\n edge = startEnd(edge, a, b);\n }\n return edge;\n}\nfunction swap(orig, v1, v2) {\n return orig === v1 ? v2 : orig === v2 ? v1 : orig;\n}\nfunction startEnd(v, start, end) {\n return v === 'start' ? start : v === 'end' ? end : v;\n}\nfunction setInflateAmount(properties, { inflateAmount }, ratio) {\n properties.inflateAmount = inflateAmount === 'auto' ? ratio === 1 ? 0.33 : 0 : inflateAmount;\n}\nclass BarController extends DatasetController {\n static id = 'bar';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'bar',\n categoryPercentage: 0.8,\n barPercentage: 0.9,\n grouped: true,\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category',\n offset: true,\n grid: {\n offset: true\n }\n },\n _value_: {\n type: 'linear',\n beginAtZero: true\n }\n }\n };\n parsePrimitiveData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseArrayData(meta, data, start, count) {\n return parseArrayOrPrimitive(meta, data, start, count);\n }\n parseObjectData(meta, data, start, count) {\n const { iScale , vScale } = meta;\n const { xAxisKey ='x' , yAxisKey ='y' } = this._parsing;\n const iAxisKey = iScale.axis === 'x' ? xAxisKey : yAxisKey;\n const vAxisKey = vScale.axis === 'x' ? xAxisKey : yAxisKey;\n const parsed = [];\n let i, ilen, item, obj;\n for(i = start, ilen = start + count; i < ilen; ++i){\n obj = data[i];\n item = {};\n item[iScale.axis] = iScale.parse(resolveObjectKey(obj, iAxisKey), i);\n parsed.push(parseValue(resolveObjectKey(obj, vAxisKey), item, vScale, i));\n }\n return parsed;\n }\n updateRangeFromParsed(range, scale, parsed, stack) {\n super.updateRangeFromParsed(range, scale, parsed, stack);\n const custom = parsed._custom;\n if (custom && scale === this._cachedMeta.vScale) {\n range.min = Math.min(range.min, custom.min);\n range.max = Math.max(range.max, custom.max);\n }\n }\n getMaxOverflow() {\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const { iScale , vScale } = meta;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const value = isFloatBar(custom) ? '[' + custom.start + ', ' + custom.end + ']' : '' + vScale.getLabelForValue(parsed[vScale.axis]);\n return {\n label: '' + iScale.getLabelForValue(parsed[iScale.axis]),\n value\n };\n }\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n const meta = this._cachedMeta;\n meta.stack = this.getDataset().stack;\n }\n update(mode) {\n const meta = this._cachedMeta;\n this.updateElements(meta.data, 0, meta.data.length, mode);\n }\n updateElements(bars, start, count, mode) {\n const reset = mode === 'reset';\n const { index , _cachedMeta: { vScale } } = this;\n const base = vScale.getBasePixel();\n const horizontal = vScale.isHorizontal();\n const ruler = this._getRuler();\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n for(let i = start; i < start + count; i++){\n const parsed = this.getParsed(i);\n const vpixels = reset || isNullOrUndef(parsed[vScale.axis]) ? {\n base,\n head: base\n } : this._calculateBarValuePixels(i);\n const ipixels = this._calculateBarIndexPixels(i, ruler);\n const stack = (parsed._stacks || {})[vScale.axis];\n const properties = {\n horizontal,\n base: vpixels.base,\n enableBorderRadius: !stack || isFloatBar(parsed._custom) || index === stack._top || index === stack._bottom,\n x: horizontal ? vpixels.head : ipixels.center,\n y: horizontal ? ipixels.center : vpixels.head,\n height: horizontal ? ipixels.size : Math.abs(vpixels.size),\n width: horizontal ? Math.abs(vpixels.size) : ipixels.size\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, bars[i].active ? 'active' : mode);\n }\n const options = properties.options || bars[i].options;\n setBorderSkipped(properties, options, stack, index);\n setInflateAmount(properties, options, ruler.ratio);\n this.updateElement(bars[i], i, properties, mode);\n }\n }\n _getStacks(last, dataIndex) {\n const { iScale } = this._cachedMeta;\n const metasets = iScale.getMatchingVisibleMetas(this._type).filter((meta)=>meta.controller.options.grouped);\n const stacked = iScale.options.stacked;\n const stacks = [];\n const skipNull = (meta)=>{\n const parsed = meta.controller.getParsed(dataIndex);\n const val = parsed && parsed[meta.vScale.axis];\n if (isNullOrUndef(val) || isNaN(val)) {\n return true;\n }\n };\n for (const meta of metasets){\n if (dataIndex !== undefined && skipNull(meta)) {\n continue;\n }\n if (stacked === false || stacks.indexOf(meta.stack) === -1 || stacked === undefined && meta.stack === undefined) {\n stacks.push(meta.stack);\n }\n if (meta.index === last) {\n break;\n }\n }\n if (!stacks.length) {\n stacks.push(undefined);\n }\n return stacks;\n }\n _getStackCount(index) {\n return this._getStacks(undefined, index).length;\n }\n _getStackIndex(datasetIndex, name, dataIndex) {\n const stacks = this._getStacks(datasetIndex, dataIndex);\n const index = name !== undefined ? stacks.indexOf(name) : -1;\n return index === -1 ? stacks.length - 1 : index;\n }\n _getRuler() {\n const opts = this.options;\n const meta = this._cachedMeta;\n const iScale = meta.iScale;\n const pixels = [];\n let i, ilen;\n for(i = 0, ilen = meta.data.length; i < ilen; ++i){\n pixels.push(iScale.getPixelForValue(this.getParsed(i)[iScale.axis], i));\n }\n const barThickness = opts.barThickness;\n const min = barThickness || computeMinSampleSize(meta);\n return {\n min,\n pixels,\n start: iScale._startPixel,\n end: iScale._endPixel,\n stackCount: this._getStackCount(),\n scale: iScale,\n grouped: opts.grouped,\n ratio: barThickness ? 1 : opts.categoryPercentage * opts.barPercentage\n };\n }\n _calculateBarValuePixels(index) {\n const { _cachedMeta: { vScale , _stacked , index: datasetIndex } , options: { base: baseValue , minBarLength } } = this;\n const actualBase = baseValue || 0;\n const parsed = this.getParsed(index);\n const custom = parsed._custom;\n const floating = isFloatBar(custom);\n let value = parsed[vScale.axis];\n let start = 0;\n let length = _stacked ? this.applyStack(vScale, parsed, _stacked) : value;\n let head, size;\n if (length !== value) {\n start = length - value;\n length = value;\n }\n if (floating) {\n value = custom.barStart;\n length = custom.barEnd - custom.barStart;\n if (value !== 0 && sign(value) !== sign(custom.barEnd)) {\n start = 0;\n }\n start += value;\n }\n const startValue = !isNullOrUndef(baseValue) && !floating ? baseValue : start;\n let base = vScale.getPixelForValue(startValue);\n if (this.chart.getDataVisibility(index)) {\n head = vScale.getPixelForValue(start + length);\n } else {\n head = base;\n }\n size = head - base;\n if (Math.abs(size) < minBarLength) {\n size = barSign(size, vScale, actualBase) * minBarLength;\n if (value === actualBase) {\n base -= size / 2;\n }\n const startPixel = vScale.getPixelForDecimal(0);\n const endPixel = vScale.getPixelForDecimal(1);\n const min = Math.min(startPixel, endPixel);\n const max = Math.max(startPixel, endPixel);\n base = Math.max(Math.min(base, max), min);\n head = base + size;\n if (_stacked && !floating) {\n parsed._stacks[vScale.axis]._visualValues[datasetIndex] = vScale.getValueForPixel(head) - vScale.getValueForPixel(base);\n }\n }\n if (base === vScale.getPixelForValue(actualBase)) {\n const halfGrid = sign(size) * vScale.getLineWidthForValue(actualBase) / 2;\n base += halfGrid;\n size -= halfGrid;\n }\n return {\n size,\n base,\n head,\n center: head + size / 2\n };\n }\n _calculateBarIndexPixels(index, ruler) {\n const scale = ruler.scale;\n const options = this.options;\n const skipNull = options.skipNull;\n const maxBarThickness = valueOrDefault(options.maxBarThickness, Infinity);\n let center, size;\n if (ruler.grouped) {\n const stackCount = skipNull ? this._getStackCount(index) : ruler.stackCount;\n const range = options.barThickness === 'flex' ? computeFlexCategoryTraits(index, ruler, options, stackCount) : computeFitCategoryTraits(index, ruler, options, stackCount);\n const stackIndex = this._getStackIndex(this.index, this._cachedMeta.stack, skipNull ? index : undefined);\n center = range.start + range.chunk * stackIndex + range.chunk / 2;\n size = Math.min(maxBarThickness, range.chunk * range.ratio);\n } else {\n center = scale.getPixelForValue(this.getParsed(index)[scale.axis], index);\n size = Math.min(maxBarThickness, ruler.min * ruler.ratio);\n }\n return {\n base: center - size / 2,\n head: center + size / 2,\n center,\n size\n };\n }\n draw() {\n const meta = this._cachedMeta;\n const vScale = meta.vScale;\n const rects = meta.data;\n const ilen = rects.length;\n let i = 0;\n for(; i < ilen; ++i){\n if (this.getParsed(i)[vScale.axis] !== null && !rects[i].hidden) {\n rects[i].draw(this._ctx);\n }\n }\n }\n}\n\nclass BubbleController extends DatasetController {\n static id = 'bubble';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'borderWidth',\n 'radius'\n ]\n }\n }\n };\n static overrides = {\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n super.initialize();\n }\n parsePrimitiveData(meta, data, start, count) {\n const parsed = super.parsePrimitiveData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n parsed[i]._custom = this.resolveDataElementOptions(i + start).radius;\n }\n return parsed;\n }\n parseArrayData(meta, data, start, count) {\n const parsed = super.parseArrayData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item[2], this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n parseObjectData(meta, data, start, count) {\n const parsed = super.parseObjectData(meta, data, start, count);\n for(let i = 0; i < parsed.length; i++){\n const item = data[start + i];\n parsed[i]._custom = valueOrDefault(item && item.r && +item.r, this.resolveDataElementOptions(i + start).radius);\n }\n return parsed;\n }\n getMaxOverflow() {\n const data = this._cachedMeta.data;\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n const r = parsed._custom;\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + (r ? ', ' + r : '') + ')'\n };\n }\n update(mode) {\n const points = this._cachedMeta.data;\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const parsed = !reset && this.getParsed(i);\n const properties = {};\n const iPixel = properties[iAxis] = reset ? iScale.getPixelForDecimal(0.5) : iScale.getPixelForValue(parsed[iAxis]);\n const vPixel = properties[vAxis] = reset ? vScale.getBasePixel() : vScale.getPixelForValue(parsed[vAxis]);\n properties.skip = isNaN(iPixel) || isNaN(vPixel);\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n if (reset) {\n properties.options.radius = 0;\n }\n }\n this.updateElement(point, i, properties, mode);\n }\n }\n resolveDataElementOptions(index, mode) {\n const parsed = this.getParsed(index);\n let values = super.resolveDataElementOptions(index, mode);\n if (values.$shared) {\n values = Object.assign({}, values, {\n $shared: false\n });\n }\n const radius = values.radius;\n if (mode !== 'active') {\n values.radius = 0;\n }\n values.radius += valueOrDefault(parsed && parsed._custom, radius);\n return values;\n }\n}\n\nfunction getRatioAndOffset(rotation, circumference, cutout) {\n let ratioX = 1;\n let ratioY = 1;\n let offsetX = 0;\n let offsetY = 0;\n if (circumference < TAU) {\n const startAngle = rotation;\n const endAngle = startAngle + circumference;\n const startX = Math.cos(startAngle);\n const startY = Math.sin(startAngle);\n const endX = Math.cos(endAngle);\n const endY = Math.sin(endAngle);\n const calcMax = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? 1 : Math.max(a, a * cutout, b, b * cutout);\n const calcMin = (angle, a, b)=>_angleBetween(angle, startAngle, endAngle, true) ? -1 : Math.min(a, a * cutout, b, b * cutout);\n const maxX = calcMax(0, startX, endX);\n const maxY = calcMax(HALF_PI, startY, endY);\n const minX = calcMin(PI, startX, endX);\n const minY = calcMin(PI + HALF_PI, startY, endY);\n ratioX = (maxX - minX) / 2;\n ratioY = (maxY - minY) / 2;\n offsetX = -(maxX + minX) / 2;\n offsetY = -(maxY + minY) / 2;\n }\n return {\n ratioX,\n ratioY,\n offsetX,\n offsetY\n };\n}\nclass DoughnutController extends DatasetController {\n static id = 'doughnut';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: false\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'circumference',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'startAngle',\n 'x',\n 'y',\n 'offset',\n 'borderWidth',\n 'spacing'\n ]\n }\n },\n cutout: '50%',\n rotation: 0,\n circumference: 360,\n radius: '100%',\n spacing: 0,\n indexAxis: 'r'\n };\n static descriptors = {\n _scriptable: (name)=>name !== 'spacing',\n _indexable: (name)=>name !== 'spacing' && !name.startsWith('borderDash') && !name.startsWith('hoverBorderDash')\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.enableOptionSharing = true;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.offsetX = undefined;\n this.offsetY = undefined;\n }\n linkScales() {}\n parse(start, count) {\n const data = this.getDataset().data;\n const meta = this._cachedMeta;\n if (this._parsing === false) {\n meta._parsed = data;\n } else {\n let getter = (i)=>+data[i];\n if (isObject(data[start])) {\n const { key ='value' } = this._parsing;\n getter = (i)=>+resolveObjectKey(data[i], key);\n }\n let i, ilen;\n for(i = start, ilen = start + count; i < ilen; ++i){\n meta._parsed[i] = getter(i);\n }\n }\n }\n _getRotation() {\n return toRadians(this.options.rotation - 90);\n }\n _getCircumference() {\n return toRadians(this.options.circumference);\n }\n _getRotationExtents() {\n let min = TAU;\n let max = -TAU;\n for(let i = 0; i < this.chart.data.datasets.length; ++i){\n if (this.chart.isDatasetVisible(i) && this.chart.getDatasetMeta(i).type === this._type) {\n const controller = this.chart.getDatasetMeta(i).controller;\n const rotation = controller._getRotation();\n const circumference = controller._getCircumference();\n min = Math.min(min, rotation);\n max = Math.max(max, rotation + circumference);\n }\n }\n return {\n rotation: min,\n circumference: max - min\n };\n }\n update(mode) {\n const chart = this.chart;\n const { chartArea } = chart;\n const meta = this._cachedMeta;\n const arcs = meta.data;\n const spacing = this.getMaxBorderWidth() + this.getMaxOffset(arcs) + this.options.spacing;\n const maxSize = Math.max((Math.min(chartArea.width, chartArea.height) - spacing) / 2, 0);\n const cutout = Math.min(toPercentage(this.options.cutout, maxSize), 1);\n const chartWeight = this._getRingWeight(this.index);\n const { circumference , rotation } = this._getRotationExtents();\n const { ratioX , ratioY , offsetX , offsetY } = getRatioAndOffset(rotation, circumference, cutout);\n const maxWidth = (chartArea.width - spacing) / ratioX;\n const maxHeight = (chartArea.height - spacing) / ratioY;\n const maxRadius = Math.max(Math.min(maxWidth, maxHeight) / 2, 0);\n const outerRadius = toDimension(this.options.radius, maxRadius);\n const innerRadius = Math.max(outerRadius * cutout, 0);\n const radiusLength = (outerRadius - innerRadius) / this._getVisibleDatasetWeightTotal();\n this.offsetX = offsetX * outerRadius;\n this.offsetY = offsetY * outerRadius;\n meta.total = this.calculateTotal();\n this.outerRadius = outerRadius - radiusLength * this._getRingWeightOffset(this.index);\n this.innerRadius = Math.max(this.outerRadius - radiusLength * chartWeight, 0);\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n _circumference(i, reset) {\n const opts = this.options;\n const meta = this._cachedMeta;\n const circumference = this._getCircumference();\n if (reset && opts.animation.animateRotate || !this.chart.getDataVisibility(i) || meta._parsed[i] === null || meta.data[i].hidden) {\n return 0;\n }\n return this.calculateCircumference(meta._parsed[i] * circumference / TAU);\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const centerX = (chartArea.left + chartArea.right) / 2;\n const centerY = (chartArea.top + chartArea.bottom) / 2;\n const animateScale = reset && animationOpts.animateScale;\n const innerRadius = animateScale ? 0 : this.innerRadius;\n const outerRadius = animateScale ? 0 : this.outerRadius;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n let startAngle = this._getRotation();\n let i;\n for(i = 0; i < start; ++i){\n startAngle += this._circumference(i, reset);\n }\n for(i = start; i < start + count; ++i){\n const circumference = this._circumference(i, reset);\n const arc = arcs[i];\n const properties = {\n x: centerX + this.offsetX,\n y: centerY + this.offsetY,\n startAngle,\n endAngle: startAngle + circumference,\n circumference,\n outerRadius,\n innerRadius\n };\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, arc.active ? 'active' : mode);\n }\n startAngle += circumference;\n this.updateElement(arc, i, properties, mode);\n }\n }\n calculateTotal() {\n const meta = this._cachedMeta;\n const metaData = meta.data;\n let total = 0;\n let i;\n for(i = 0; i < metaData.length; i++){\n const value = meta._parsed[i];\n if (value !== null && !isNaN(value) && this.chart.getDataVisibility(i) && !metaData[i].hidden) {\n total += Math.abs(value);\n }\n }\n return total;\n }\n calculateCircumference(value) {\n const total = this._cachedMeta.total;\n if (total > 0 && !isNaN(value)) {\n return TAU * (Math.abs(value) / total);\n }\n return 0;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index], chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n getMaxBorderWidth(arcs) {\n let max = 0;\n const chart = this.chart;\n let i, ilen, meta, controller, options;\n if (!arcs) {\n for(i = 0, ilen = chart.data.datasets.length; i < ilen; ++i){\n if (chart.isDatasetVisible(i)) {\n meta = chart.getDatasetMeta(i);\n arcs = meta.data;\n controller = meta.controller;\n break;\n }\n }\n }\n if (!arcs) {\n return 0;\n }\n for(i = 0, ilen = arcs.length; i < ilen; ++i){\n options = controller.resolveDataElementOptions(i);\n if (options.borderAlign !== 'inner') {\n max = Math.max(max, options.borderWidth || 0, options.hoverBorderWidth || 0);\n }\n }\n return max;\n }\n getMaxOffset(arcs) {\n let max = 0;\n for(let i = 0, ilen = arcs.length; i < ilen; ++i){\n const options = this.resolveDataElementOptions(i);\n max = Math.max(max, options.offset || 0, options.hoverOffset || 0);\n }\n return max;\n }\n _getRingWeightOffset(datasetIndex) {\n let ringWeightOffset = 0;\n for(let i = 0; i < datasetIndex; ++i){\n if (this.chart.isDatasetVisible(i)) {\n ringWeightOffset += this._getRingWeight(i);\n }\n }\n return ringWeightOffset;\n }\n _getRingWeight(datasetIndex) {\n return Math.max(valueOrDefault(this.chart.data.datasets[datasetIndex].weight, 1), 0);\n }\n _getVisibleDatasetWeightTotal() {\n return this._getRingWeightOffset(this.chart.data.datasets.length) || 1;\n }\n}\n\nclass LineController extends DatasetController {\n static id = 'line';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n showLine: true,\n spanGaps: false\n };\n static overrides = {\n scales: {\n _index_: {\n type: 'category'\n },\n _value_: {\n type: 'linear'\n }\n }\n };\n initialize() {\n this.enableOptionSharing = true;\n this.supportsDecimation = true;\n super.initialize();\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { dataset: line , data: points = [] , _dataset } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n this.updateElements(points, start, count, mode);\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const { sharedOptions , includeOptions } = this._getSharedOptions(start, mode);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n const end = start + count;\n const pointsCount = points.length;\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = 0; i < pointsCount; ++i){\n const point = points[i];\n const properties = directUpdate ? point : {};\n if (i < start || i >= end) {\n properties.skip = true;\n continue;\n }\n const parsed = this.getParsed(i);\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n const data = meta.data || [];\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n draw() {\n const meta = this._cachedMeta;\n meta.dataset.updateControlPoints(this.chart.chartArea, meta.iScale.axis);\n super.draw();\n }\n}\n\nclass PolarAreaController extends DatasetController {\n static id = 'polarArea';\n static defaults = {\n dataElementType: 'arc',\n animation: {\n animateRotate: true,\n animateScale: true\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ]\n }\n },\n indexAxis: 'r',\n startAngle: 0\n };\n static overrides = {\n aspectRatio: 1,\n plugins: {\n legend: {\n labels: {\n generateLabels (chart) {\n const data = chart.data;\n if (data.labels.length && data.datasets.length) {\n const { labels: { pointStyle , color } } = chart.legend.options;\n return data.labels.map((label, i)=>{\n const meta = chart.getDatasetMeta(0);\n const style = meta.controller.getStyle(i);\n return {\n text: label,\n fillStyle: style.backgroundColor,\n strokeStyle: style.borderColor,\n fontColor: color,\n lineWidth: style.borderWidth,\n pointStyle: pointStyle,\n hidden: !chart.getDataVisibility(i),\n index: i\n };\n });\n }\n return [];\n }\n },\n onClick (e, legendItem, legend) {\n legend.chart.toggleDataVisibility(legendItem.index);\n legend.chart.update();\n }\n }\n },\n scales: {\n r: {\n type: 'radialLinear',\n angleLines: {\n display: false\n },\n beginAtZero: true,\n grid: {\n circular: true\n },\n pointLabels: {\n display: false\n },\n startAngle: 0\n }\n }\n };\n constructor(chart, datasetIndex){\n super(chart, datasetIndex);\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n }\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const chart = this.chart;\n const labels = chart.data.labels || [];\n const value = formatNumber(meta._parsed[index].r, chart.options.locale);\n return {\n label: labels[index] || '',\n value\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const arcs = this._cachedMeta.data;\n this._updateRadius();\n this.updateElements(arcs, 0, arcs.length, mode);\n }\n getMinMax() {\n const meta = this._cachedMeta;\n const range = {\n min: Number.POSITIVE_INFINITY,\n max: Number.NEGATIVE_INFINITY\n };\n meta.data.forEach((element, index)=>{\n const parsed = this.getParsed(index).r;\n if (!isNaN(parsed) && this.chart.getDataVisibility(index)) {\n if (parsed < range.min) {\n range.min = parsed;\n }\n if (parsed > range.max) {\n range.max = parsed;\n }\n }\n });\n return range;\n }\n _updateRadius() {\n const chart = this.chart;\n const chartArea = chart.chartArea;\n const opts = chart.options;\n const minSize = Math.min(chartArea.right - chartArea.left, chartArea.bottom - chartArea.top);\n const outerRadius = Math.max(minSize / 2, 0);\n const innerRadius = Math.max(opts.cutoutPercentage ? outerRadius / 100 * opts.cutoutPercentage : 1, 0);\n const radiusLength = (outerRadius - innerRadius) / chart.getVisibleDatasetCount();\n this.outerRadius = outerRadius - radiusLength * this.index;\n this.innerRadius = this.outerRadius - radiusLength;\n }\n updateElements(arcs, start, count, mode) {\n const reset = mode === 'reset';\n const chart = this.chart;\n const opts = chart.options;\n const animationOpts = opts.animation;\n const scale = this._cachedMeta.rScale;\n const centerX = scale.xCenter;\n const centerY = scale.yCenter;\n const datasetStartAngle = scale.getIndexAngle(0) - 0.5 * PI;\n let angle = datasetStartAngle;\n let i;\n const defaultAngle = 360 / this.countVisibleElements();\n for(i = 0; i < start; ++i){\n angle += this._computeAngle(i, mode, defaultAngle);\n }\n for(i = start; i < start + count; i++){\n const arc = arcs[i];\n let startAngle = angle;\n let endAngle = angle + this._computeAngle(i, mode, defaultAngle);\n let outerRadius = chart.getDataVisibility(i) ? scale.getDistanceFromCenterForValue(this.getParsed(i).r) : 0;\n angle = endAngle;\n if (reset) {\n if (animationOpts.animateScale) {\n outerRadius = 0;\n }\n if (animationOpts.animateRotate) {\n startAngle = endAngle = datasetStartAngle;\n }\n }\n const properties = {\n x: centerX,\n y: centerY,\n innerRadius: 0,\n outerRadius,\n startAngle,\n endAngle,\n options: this.resolveDataElementOptions(i, arc.active ? 'active' : mode)\n };\n this.updateElement(arc, i, properties, mode);\n }\n }\n countVisibleElements() {\n const meta = this._cachedMeta;\n let count = 0;\n meta.data.forEach((element, index)=>{\n if (!isNaN(this.getParsed(index).r) && this.chart.getDataVisibility(index)) {\n count++;\n }\n });\n return count;\n }\n _computeAngle(index, mode, defaultAngle) {\n return this.chart.getDataVisibility(index) ? toRadians(this.resolveDataElementOptions(index, mode).angle || defaultAngle) : 0;\n }\n}\n\nclass PieController extends DoughnutController {\n static id = 'pie';\n static defaults = {\n cutout: 0,\n rotation: 0,\n circumference: 360,\n radius: '100%'\n };\n}\n\nclass RadarController extends DatasetController {\n static id = 'radar';\n static defaults = {\n datasetElementType: 'line',\n dataElementType: 'point',\n indexAxis: 'r',\n showLine: true,\n elements: {\n line: {\n fill: 'start'\n }\n }\n };\n static overrides = {\n aspectRatio: 1,\n scales: {\n r: {\n type: 'radialLinear'\n }\n }\n };\n getLabelAndValue(index) {\n const vScale = this._cachedMeta.vScale;\n const parsed = this.getParsed(index);\n return {\n label: vScale.getLabels()[index],\n value: '' + vScale.getLabelForValue(parsed[vScale.axis])\n };\n }\n parseObjectData(meta, data, start, count) {\n return _parseObjectDataRadialScale.bind(this)(meta, data, start, count);\n }\n update(mode) {\n const meta = this._cachedMeta;\n const line = meta.dataset;\n const points = meta.data || [];\n const labels = meta.iScale.getLabels();\n line.points = points;\n if (mode !== 'resize') {\n const options = this.resolveDatasetElementOptions(mode);\n if (!this.options.showLine) {\n options.borderWidth = 0;\n }\n const properties = {\n _loop: true,\n _fullLoop: labels.length === points.length,\n options\n };\n this.updateElement(line, undefined, properties, mode);\n }\n this.updateElements(points, 0, points.length, mode);\n }\n updateElements(points, start, count, mode) {\n const scale = this._cachedMeta.rScale;\n const reset = mode === 'reset';\n for(let i = start; i < start + count; i++){\n const point = points[i];\n const options = this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n const pointPosition = scale.getPointPositionForValue(i, this.getParsed(i).r);\n const x = reset ? scale.xCenter : pointPosition.x;\n const y = reset ? scale.yCenter : pointPosition.y;\n const properties = {\n x,\n y,\n angle: pointPosition.angle,\n skip: isNaN(x) || isNaN(y),\n options\n };\n this.updateElement(point, i, properties, mode);\n }\n }\n}\n\nclass ScatterController extends DatasetController {\n static id = 'scatter';\n static defaults = {\n datasetElementType: false,\n dataElementType: 'point',\n showLine: false,\n fill: false\n };\n static overrides = {\n interaction: {\n mode: 'point'\n },\n scales: {\n x: {\n type: 'linear'\n },\n y: {\n type: 'linear'\n }\n }\n };\n getLabelAndValue(index) {\n const meta = this._cachedMeta;\n const labels = this.chart.data.labels || [];\n const { xScale , yScale } = meta;\n const parsed = this.getParsed(index);\n const x = xScale.getLabelForValue(parsed.x);\n const y = yScale.getLabelForValue(parsed.y);\n return {\n label: labels[index] || '',\n value: '(' + x + ', ' + y + ')'\n };\n }\n update(mode) {\n const meta = this._cachedMeta;\n const { data: points = [] } = meta;\n const animationsDisabled = this.chart._animationsDisabled;\n let { start , count } = _getStartAndCountOfVisiblePoints(meta, points, animationsDisabled);\n this._drawStart = start;\n this._drawCount = count;\n if (_scaleRangesChanged(meta)) {\n start = 0;\n count = points.length;\n }\n if (this.options.showLine) {\n if (!this.datasetElementType) {\n this.addElements();\n }\n const { dataset: line , _dataset } = meta;\n line._chart = this.chart;\n line._datasetIndex = this.index;\n line._decimated = !!_dataset._decimated;\n line.points = points;\n const options = this.resolveDatasetElementOptions(mode);\n options.segment = this.options.segment;\n this.updateElement(line, undefined, {\n animated: !animationsDisabled,\n options\n }, mode);\n } else if (this.datasetElementType) {\n delete meta.dataset;\n this.datasetElementType = false;\n }\n this.updateElements(points, start, count, mode);\n }\n addElements() {\n const { showLine } = this.options;\n if (!this.datasetElementType && showLine) {\n this.datasetElementType = this.chart.registry.getElement('line');\n }\n super.addElements();\n }\n updateElements(points, start, count, mode) {\n const reset = mode === 'reset';\n const { iScale , vScale , _stacked , _dataset } = this._cachedMeta;\n const firstOpts = this.resolveDataElementOptions(start, mode);\n const sharedOptions = this.getSharedOptions(firstOpts);\n const includeOptions = this.includeOptions(mode, sharedOptions);\n const iAxis = iScale.axis;\n const vAxis = vScale.axis;\n const { spanGaps , segment } = this.options;\n const maxGapLength = isNumber(spanGaps) ? spanGaps : Number.POSITIVE_INFINITY;\n const directUpdate = this.chart._animationsDisabled || reset || mode === 'none';\n let prevParsed = start > 0 && this.getParsed(start - 1);\n for(let i = start; i < start + count; ++i){\n const point = points[i];\n const parsed = this.getParsed(i);\n const properties = directUpdate ? point : {};\n const nullData = isNullOrUndef(parsed[vAxis]);\n const iPixel = properties[iAxis] = iScale.getPixelForValue(parsed[iAxis], i);\n const vPixel = properties[vAxis] = reset || nullData ? vScale.getBasePixel() : vScale.getPixelForValue(_stacked ? this.applyStack(vScale, parsed, _stacked) : parsed[vAxis], i);\n properties.skip = isNaN(iPixel) || isNaN(vPixel) || nullData;\n properties.stop = i > 0 && Math.abs(parsed[iAxis] - prevParsed[iAxis]) > maxGapLength;\n if (segment) {\n properties.parsed = parsed;\n properties.raw = _dataset.data[i];\n }\n if (includeOptions) {\n properties.options = sharedOptions || this.resolveDataElementOptions(i, point.active ? 'active' : mode);\n }\n if (!directUpdate) {\n this.updateElement(point, i, properties, mode);\n }\n prevParsed = parsed;\n }\n this.updateSharedOptions(sharedOptions, mode, firstOpts);\n }\n getMaxOverflow() {\n const meta = this._cachedMeta;\n const data = meta.data || [];\n if (!this.options.showLine) {\n let max = 0;\n for(let i = data.length - 1; i >= 0; --i){\n max = Math.max(max, data[i].size(this.resolveDataElementOptions(i)) / 2);\n }\n return max > 0 && max;\n }\n const dataset = meta.dataset;\n const border = dataset.options && dataset.options.borderWidth || 0;\n if (!data.length) {\n return border;\n }\n const firstPoint = data[0].size(this.resolveDataElementOptions(0));\n const lastPoint = data[data.length - 1].size(this.resolveDataElementOptions(data.length - 1));\n return Math.max(border, firstPoint, lastPoint) / 2;\n }\n}\n\nvar controllers = /*#__PURE__*/Object.freeze({\n__proto__: null,\nBarController: BarController,\nBubbleController: BubbleController,\nDoughnutController: DoughnutController,\nLineController: LineController,\nPieController: PieController,\nPolarAreaController: PolarAreaController,\nRadarController: RadarController,\nScatterController: ScatterController\n});\n\n/**\n * @namespace Chart._adapters\n * @since 2.8.0\n * @private\n */ function abstract() {\n throw new Error('This method is not implemented: Check that a complete date adapter is provided.');\n}\n/**\n * Date adapter (current used by the time scale)\n * @namespace Chart._adapters._date\n * @memberof Chart._adapters\n * @private\n */ class DateAdapterBase {\n /**\n * Override default date adapter methods.\n * Accepts type parameter to define options type.\n * @example\n * Chart._adapters._date.override<{myAdapterOption: string}>({\n * init() {\n * console.log(this.options.myAdapterOption);\n * }\n * })\n */ static override(members) {\n Object.assign(DateAdapterBase.prototype, members);\n }\n options;\n constructor(options){\n this.options = options || {};\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n init() {}\n formats() {\n return abstract();\n }\n parse() {\n return abstract();\n }\n format() {\n return abstract();\n }\n add() {\n return abstract();\n }\n diff() {\n return abstract();\n }\n startOf() {\n return abstract();\n }\n endOf() {\n return abstract();\n }\n}\nvar adapters = {\n _date: DateAdapterBase\n};\n\nfunction binarySearch(metaset, axis, value, intersect) {\n const { controller , data , _sorted } = metaset;\n const iScale = controller._cachedMeta.iScale;\n if (iScale && axis === iScale.axis && axis !== 'r' && _sorted && data.length) {\n const lookupMethod = iScale._reversePixels ? _rlookupByKey : _lookupByKey;\n if (!intersect) {\n return lookupMethod(data, axis, value);\n } else if (controller._sharedOptions) {\n const el = data[0];\n const range = typeof el.getRange === 'function' && el.getRange(axis);\n if (range) {\n const start = lookupMethod(data, axis, value - range);\n const end = lookupMethod(data, axis, value + range);\n return {\n lo: start.lo,\n hi: end.hi\n };\n }\n }\n }\n return {\n lo: 0,\n hi: data.length - 1\n };\n}\n function evaluateInteractionItems(chart, axis, position, handler, intersect) {\n const metasets = chart.getSortedVisibleDatasetMetas();\n const value = position[axis];\n for(let i = 0, ilen = metasets.length; i < ilen; ++i){\n const { index , data } = metasets[i];\n const { lo , hi } = binarySearch(metasets[i], axis, value, intersect);\n for(let j = lo; j <= hi; ++j){\n const element = data[j];\n if (!element.skip) {\n handler(element, index, j);\n }\n }\n }\n}\n function getDistanceMetricForAxis(axis) {\n const useX = axis.indexOf('x') !== -1;\n const useY = axis.indexOf('y') !== -1;\n return function(pt1, pt2) {\n const deltaX = useX ? Math.abs(pt1.x - pt2.x) : 0;\n const deltaY = useY ? Math.abs(pt1.y - pt2.y) : 0;\n return Math.sqrt(Math.pow(deltaX, 2) + Math.pow(deltaY, 2));\n };\n}\n function getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) {\n const items = [];\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return items;\n }\n const evaluationFunc = function(element, datasetIndex, index) {\n if (!includeInvisible && !_isPointInArea(element, chart.chartArea, 0)) {\n return;\n }\n if (element.inRange(position.x, position.y, useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n };\n evaluateInteractionItems(chart, axis, position, evaluationFunc, true);\n return items;\n}\n function getNearestRadialItems(chart, position, axis, useFinalPosition) {\n let items = [];\n function evaluationFunc(element, datasetIndex, index) {\n const { startAngle , endAngle } = element.getProps([\n 'startAngle',\n 'endAngle'\n ], useFinalPosition);\n const { angle } = getAngleFromPoint(element, {\n x: position.x,\n y: position.y\n });\n if (_angleBetween(angle, startAngle, endAngle)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n let items = [];\n const distanceMetric = getDistanceMetricForAxis(axis);\n let minDistance = Number.POSITIVE_INFINITY;\n function evaluationFunc(element, datasetIndex, index) {\n const inRange = element.inRange(position.x, position.y, useFinalPosition);\n if (intersect && !inRange) {\n return;\n }\n const center = element.getCenterPoint(useFinalPosition);\n const pointInArea = !!includeInvisible || chart.isPointInArea(center);\n if (!pointInArea && !inRange) {\n return;\n }\n const distance = distanceMetric(position, center);\n if (distance < minDistance) {\n items = [\n {\n element,\n datasetIndex,\n index\n }\n ];\n minDistance = distance;\n } else if (distance === minDistance) {\n items.push({\n element,\n datasetIndex,\n index\n });\n }\n }\n evaluateInteractionItems(chart, axis, position, evaluationFunc);\n return items;\n}\n function getNearestItems(chart, position, axis, intersect, useFinalPosition, includeInvisible) {\n if (!includeInvisible && !chart.isPointInArea(position)) {\n return [];\n }\n return axis === 'r' && !intersect ? getNearestRadialItems(chart, position, axis, useFinalPosition) : getNearestCartesianItems(chart, position, axis, intersect, useFinalPosition, includeInvisible);\n}\n function getAxisItems(chart, position, axis, intersect, useFinalPosition) {\n const items = [];\n const rangeMethod = axis === 'x' ? 'inXRange' : 'inYRange';\n let intersectsItem = false;\n evaluateInteractionItems(chart, axis, position, (element, datasetIndex, index)=>{\n if (element[rangeMethod](position[axis], useFinalPosition)) {\n items.push({\n element,\n datasetIndex,\n index\n });\n intersectsItem = intersectsItem || element.inRange(position.x, position.y, useFinalPosition);\n }\n });\n if (intersect && !intersectsItem) {\n return [];\n }\n return items;\n}\n var Interaction = {\n evaluateInteractionItems,\n modes: {\n index (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'x';\n const includeInvisible = options.includeInvisible || false;\n const items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n const elements = [];\n if (!items.length) {\n return [];\n }\n chart.getSortedVisibleDatasetMetas().forEach((meta)=>{\n const index = items[0].index;\n const element = meta.data[index];\n if (element && !element.skip) {\n elements.push({\n element,\n datasetIndex: meta.index,\n index\n });\n }\n });\n return elements;\n },\n dataset (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n let items = options.intersect ? getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible) : getNearestItems(chart, position, axis, false, useFinalPosition, includeInvisible);\n if (items.length > 0) {\n const datasetIndex = items[0].datasetIndex;\n const data = chart.getDatasetMeta(datasetIndex).data;\n items = [];\n for(let i = 0; i < data.length; ++i){\n items.push({\n element: data[i],\n datasetIndex,\n index: i\n });\n }\n }\n return items;\n },\n point (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getIntersectItems(chart, position, axis, useFinalPosition, includeInvisible);\n },\n nearest (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n const axis = options.axis || 'xy';\n const includeInvisible = options.includeInvisible || false;\n return getNearestItems(chart, position, axis, options.intersect, useFinalPosition, includeInvisible);\n },\n x (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'x', options.intersect, useFinalPosition);\n },\n y (chart, e, options, useFinalPosition) {\n const position = getRelativePosition(e, chart);\n return getAxisItems(chart, position, 'y', options.intersect, useFinalPosition);\n }\n }\n};\n\nconst STATIC_POSITIONS = [\n 'left',\n 'top',\n 'right',\n 'bottom'\n];\nfunction filterByPosition(array, position) {\n return array.filter((v)=>v.pos === position);\n}\nfunction filterDynamicPositionByAxis(array, axis) {\n return array.filter((v)=>STATIC_POSITIONS.indexOf(v.pos) === -1 && v.box.axis === axis);\n}\nfunction sortByWeight(array, reverse) {\n return array.sort((a, b)=>{\n const v0 = reverse ? b : a;\n const v1 = reverse ? a : b;\n return v0.weight === v1.weight ? v0.index - v1.index : v0.weight - v1.weight;\n });\n}\nfunction wrapBoxes(boxes) {\n const layoutBoxes = [];\n let i, ilen, box, pos, stack, stackWeight;\n for(i = 0, ilen = (boxes || []).length; i < ilen; ++i){\n box = boxes[i];\n ({ position: pos , options: { stack , stackWeight =1 } } = box);\n layoutBoxes.push({\n index: i,\n box,\n pos,\n horizontal: box.isHorizontal(),\n weight: box.weight,\n stack: stack && pos + stack,\n stackWeight\n });\n }\n return layoutBoxes;\n}\nfunction buildStacks(layouts) {\n const stacks = {};\n for (const wrap of layouts){\n const { stack , pos , stackWeight } = wrap;\n if (!stack || !STATIC_POSITIONS.includes(pos)) {\n continue;\n }\n const _stack = stacks[stack] || (stacks[stack] = {\n count: 0,\n placed: 0,\n weight: 0,\n size: 0\n });\n _stack.count++;\n _stack.weight += stackWeight;\n }\n return stacks;\n}\n function setLayoutDims(layouts, params) {\n const stacks = buildStacks(layouts);\n const { vBoxMaxWidth , hBoxMaxHeight } = params;\n let i, ilen, layout;\n for(i = 0, ilen = layouts.length; i < ilen; ++i){\n layout = layouts[i];\n const { fullSize } = layout.box;\n const stack = stacks[layout.stack];\n const factor = stack && layout.stackWeight / stack.weight;\n if (layout.horizontal) {\n layout.width = factor ? factor * vBoxMaxWidth : fullSize && params.availableWidth;\n layout.height = hBoxMaxHeight;\n } else {\n layout.width = vBoxMaxWidth;\n layout.height = factor ? factor * hBoxMaxHeight : fullSize && params.availableHeight;\n }\n }\n return stacks;\n}\nfunction buildLayoutBoxes(boxes) {\n const layoutBoxes = wrapBoxes(boxes);\n const fullSize = sortByWeight(layoutBoxes.filter((wrap)=>wrap.box.fullSize), true);\n const left = sortByWeight(filterByPosition(layoutBoxes, 'left'), true);\n const right = sortByWeight(filterByPosition(layoutBoxes, 'right'));\n const top = sortByWeight(filterByPosition(layoutBoxes, 'top'), true);\n const bottom = sortByWeight(filterByPosition(layoutBoxes, 'bottom'));\n const centerHorizontal = filterDynamicPositionByAxis(layoutBoxes, 'x');\n const centerVertical = filterDynamicPositionByAxis(layoutBoxes, 'y');\n return {\n fullSize,\n leftAndTop: left.concat(top),\n rightAndBottom: right.concat(centerVertical).concat(bottom).concat(centerHorizontal),\n chartArea: filterByPosition(layoutBoxes, 'chartArea'),\n vertical: left.concat(right).concat(centerVertical),\n horizontal: top.concat(bottom).concat(centerHorizontal)\n };\n}\nfunction getCombinedMax(maxPadding, chartArea, a, b) {\n return Math.max(maxPadding[a], chartArea[a]) + Math.max(maxPadding[b], chartArea[b]);\n}\nfunction updateMaxPadding(maxPadding, boxPadding) {\n maxPadding.top = Math.max(maxPadding.top, boxPadding.top);\n maxPadding.left = Math.max(maxPadding.left, boxPadding.left);\n maxPadding.bottom = Math.max(maxPadding.bottom, boxPadding.bottom);\n maxPadding.right = Math.max(maxPadding.right, boxPadding.right);\n}\nfunction updateDims(chartArea, params, layout, stacks) {\n const { pos , box } = layout;\n const maxPadding = chartArea.maxPadding;\n if (!isObject(pos)) {\n if (layout.size) {\n chartArea[pos] -= layout.size;\n }\n const stack = stacks[layout.stack] || {\n size: 0,\n count: 1\n };\n stack.size = Math.max(stack.size, layout.horizontal ? box.height : box.width);\n layout.size = stack.size / stack.count;\n chartArea[pos] += layout.size;\n }\n if (box.getPadding) {\n updateMaxPadding(maxPadding, box.getPadding());\n }\n const newWidth = Math.max(0, params.outerWidth - getCombinedMax(maxPadding, chartArea, 'left', 'right'));\n const newHeight = Math.max(0, params.outerHeight - getCombinedMax(maxPadding, chartArea, 'top', 'bottom'));\n const widthChanged = newWidth !== chartArea.w;\n const heightChanged = newHeight !== chartArea.h;\n chartArea.w = newWidth;\n chartArea.h = newHeight;\n return layout.horizontal ? {\n same: widthChanged,\n other: heightChanged\n } : {\n same: heightChanged,\n other: widthChanged\n };\n}\nfunction handleMaxPadding(chartArea) {\n const maxPadding = chartArea.maxPadding;\n function updatePos(pos) {\n const change = Math.max(maxPadding[pos] - chartArea[pos], 0);\n chartArea[pos] += change;\n return change;\n }\n chartArea.y += updatePos('top');\n chartArea.x += updatePos('left');\n updatePos('right');\n updatePos('bottom');\n}\nfunction getMargins(horizontal, chartArea) {\n const maxPadding = chartArea.maxPadding;\n function marginForPositions(positions) {\n const margin = {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n positions.forEach((pos)=>{\n margin[pos] = Math.max(chartArea[pos], maxPadding[pos]);\n });\n return margin;\n }\n return horizontal ? marginForPositions([\n 'left',\n 'right'\n ]) : marginForPositions([\n 'top',\n 'bottom'\n ]);\n}\nfunction fitBoxes(boxes, chartArea, params, stacks) {\n const refitBoxes = [];\n let i, ilen, layout, box, refit, changed;\n for(i = 0, ilen = boxes.length, refit = 0; i < ilen; ++i){\n layout = boxes[i];\n box = layout.box;\n box.update(layout.width || chartArea.w, layout.height || chartArea.h, getMargins(layout.horizontal, chartArea));\n const { same , other } = updateDims(chartArea, params, layout, stacks);\n refit |= same && refitBoxes.length;\n changed = changed || other;\n if (!box.fullSize) {\n refitBoxes.push(layout);\n }\n }\n return refit && fitBoxes(refitBoxes, chartArea, params, stacks) || changed;\n}\nfunction setBoxDims(box, left, top, width, height) {\n box.top = top;\n box.left = left;\n box.right = left + width;\n box.bottom = top + height;\n box.width = width;\n box.height = height;\n}\nfunction placeBoxes(boxes, chartArea, params, stacks) {\n const userPadding = params.padding;\n let { x , y } = chartArea;\n for (const layout of boxes){\n const box = layout.box;\n const stack = stacks[layout.stack] || {\n count: 1,\n placed: 0,\n weight: 1\n };\n const weight = layout.stackWeight / stack.weight || 1;\n if (layout.horizontal) {\n const width = chartArea.w * weight;\n const height = stack.size || box.height;\n if (defined(stack.start)) {\n y = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, userPadding.left, y, params.outerWidth - userPadding.right - userPadding.left, height);\n } else {\n setBoxDims(box, chartArea.left + stack.placed, y, width, height);\n }\n stack.start = y;\n stack.placed += width;\n y = box.bottom;\n } else {\n const height = chartArea.h * weight;\n const width = stack.size || box.width;\n if (defined(stack.start)) {\n x = stack.start;\n }\n if (box.fullSize) {\n setBoxDims(box, x, userPadding.top, width, params.outerHeight - userPadding.bottom - userPadding.top);\n } else {\n setBoxDims(box, x, chartArea.top + stack.placed, width, height);\n }\n stack.start = x;\n stack.placed += height;\n x = box.right;\n }\n }\n chartArea.x = x;\n chartArea.y = y;\n}\nvar layouts = {\n addBox (chart, item) {\n if (!chart.boxes) {\n chart.boxes = [];\n }\n item.fullSize = item.fullSize || false;\n item.position = item.position || 'top';\n item.weight = item.weight || 0;\n item._layers = item._layers || function() {\n return [\n {\n z: 0,\n draw (chartArea) {\n item.draw(chartArea);\n }\n }\n ];\n };\n chart.boxes.push(item);\n },\n removeBox (chart, layoutItem) {\n const index = chart.boxes ? chart.boxes.indexOf(layoutItem) : -1;\n if (index !== -1) {\n chart.boxes.splice(index, 1);\n }\n },\n configure (chart, item, options) {\n item.fullSize = options.fullSize;\n item.position = options.position;\n item.weight = options.weight;\n },\n update (chart, width, height, minPadding) {\n if (!chart) {\n return;\n }\n const padding = toPadding(chart.options.layout.padding);\n const availableWidth = Math.max(width - padding.width, 0);\n const availableHeight = Math.max(height - padding.height, 0);\n const boxes = buildLayoutBoxes(chart.boxes);\n const verticalBoxes = boxes.vertical;\n const horizontalBoxes = boxes.horizontal;\n each(chart.boxes, (box)=>{\n if (typeof box.beforeLayout === 'function') {\n box.beforeLayout();\n }\n });\n const visibleVerticalBoxCount = verticalBoxes.reduce((total, wrap)=>wrap.box.options && wrap.box.options.display === false ? total : total + 1, 0) || 1;\n const params = Object.freeze({\n outerWidth: width,\n outerHeight: height,\n padding,\n availableWidth,\n availableHeight,\n vBoxMaxWidth: availableWidth / 2 / visibleVerticalBoxCount,\n hBoxMaxHeight: availableHeight / 2\n });\n const maxPadding = Object.assign({}, padding);\n updateMaxPadding(maxPadding, toPadding(minPadding));\n const chartArea = Object.assign({\n maxPadding,\n w: availableWidth,\n h: availableHeight,\n x: padding.left,\n y: padding.top\n }, padding);\n const stacks = setLayoutDims(verticalBoxes.concat(horizontalBoxes), params);\n fitBoxes(boxes.fullSize, chartArea, params, stacks);\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n if (fitBoxes(horizontalBoxes, chartArea, params, stacks)) {\n fitBoxes(verticalBoxes, chartArea, params, stacks);\n }\n handleMaxPadding(chartArea);\n placeBoxes(boxes.leftAndTop, chartArea, params, stacks);\n chartArea.x += chartArea.w;\n chartArea.y += chartArea.h;\n placeBoxes(boxes.rightAndBottom, chartArea, params, stacks);\n chart.chartArea = {\n left: chartArea.left,\n top: chartArea.top,\n right: chartArea.left + chartArea.w,\n bottom: chartArea.top + chartArea.h,\n height: chartArea.h,\n width: chartArea.w\n };\n each(boxes.chartArea, (layout)=>{\n const box = layout.box;\n Object.assign(box, chart.chartArea);\n box.update(chartArea.w, chartArea.h, {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n });\n });\n }\n};\n\nclass BasePlatform {\n acquireContext(canvas, aspectRatio) {}\n releaseContext(context) {\n return false;\n }\n addEventListener(chart, type, listener) {}\n removeEventListener(chart, type, listener) {}\n getDevicePixelRatio() {\n return 1;\n }\n getMaximumSize(element, width, height, aspectRatio) {\n width = Math.max(0, width || element.width);\n height = height || element.height;\n return {\n width,\n height: Math.max(0, aspectRatio ? Math.floor(width / aspectRatio) : height)\n };\n }\n isAttached(canvas) {\n return true;\n }\n updateConfig(config) {\n }\n}\n\nclass BasicPlatform extends BasePlatform {\n acquireContext(item) {\n return item && item.getContext && item.getContext('2d') || null;\n }\n updateConfig(config) {\n config.options.animation = false;\n }\n}\n\nconst EXPANDO_KEY = '$chartjs';\n const EVENT_TYPES = {\n touchstart: 'mousedown',\n touchmove: 'mousemove',\n touchend: 'mouseup',\n pointerenter: 'mouseenter',\n pointerdown: 'mousedown',\n pointermove: 'mousemove',\n pointerup: 'mouseup',\n pointerleave: 'mouseout',\n pointerout: 'mouseout'\n};\nconst isNullOrEmpty = (value)=>value === null || value === '';\n function initCanvas(canvas, aspectRatio) {\n const style = canvas.style;\n const renderHeight = canvas.getAttribute('height');\n const renderWidth = canvas.getAttribute('width');\n canvas[EXPANDO_KEY] = {\n initial: {\n height: renderHeight,\n width: renderWidth,\n style: {\n display: style.display,\n height: style.height,\n width: style.width\n }\n }\n };\n style.display = style.display || 'block';\n style.boxSizing = style.boxSizing || 'border-box';\n if (isNullOrEmpty(renderWidth)) {\n const displayWidth = readUsedSize(canvas, 'width');\n if (displayWidth !== undefined) {\n canvas.width = displayWidth;\n }\n }\n if (isNullOrEmpty(renderHeight)) {\n if (canvas.style.height === '') {\n canvas.height = canvas.width / (aspectRatio || 2);\n } else {\n const displayHeight = readUsedSize(canvas, 'height');\n if (displayHeight !== undefined) {\n canvas.height = displayHeight;\n }\n }\n }\n return canvas;\n}\nconst eventListenerOptions = supportsEventListenerOptions ? {\n passive: true\n} : false;\nfunction addListener(node, type, listener) {\n if (node) {\n node.addEventListener(type, listener, eventListenerOptions);\n }\n}\nfunction removeListener(chart, type, listener) {\n if (chart && chart.canvas) {\n chart.canvas.removeEventListener(type, listener, eventListenerOptions);\n }\n}\nfunction fromNativeEvent(event, chart) {\n const type = EVENT_TYPES[event.type] || event.type;\n const { x , y } = getRelativePosition(event, chart);\n return {\n type,\n chart,\n native: event,\n x: x !== undefined ? x : null,\n y: y !== undefined ? y : null\n };\n}\nfunction nodeListContains(nodeList, canvas) {\n for (const node of nodeList){\n if (node === canvas || node.contains(canvas)) {\n return true;\n }\n }\n}\nfunction createAttachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.addedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.removedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nfunction createDetachObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const observer = new MutationObserver((entries)=>{\n let trigger = false;\n for (const entry of entries){\n trigger = trigger || nodeListContains(entry.removedNodes, canvas);\n trigger = trigger && !nodeListContains(entry.addedNodes, canvas);\n }\n if (trigger) {\n listener();\n }\n });\n observer.observe(document, {\n childList: true,\n subtree: true\n });\n return observer;\n}\nconst drpListeningCharts = new Map();\nlet oldDevicePixelRatio = 0;\nfunction onWindowResize() {\n const dpr = window.devicePixelRatio;\n if (dpr === oldDevicePixelRatio) {\n return;\n }\n oldDevicePixelRatio = dpr;\n drpListeningCharts.forEach((resize, chart)=>{\n if (chart.currentDevicePixelRatio !== dpr) {\n resize();\n }\n });\n}\nfunction listenDevicePixelRatioChanges(chart, resize) {\n if (!drpListeningCharts.size) {\n window.addEventListener('resize', onWindowResize);\n }\n drpListeningCharts.set(chart, resize);\n}\nfunction unlistenDevicePixelRatioChanges(chart) {\n drpListeningCharts.delete(chart);\n if (!drpListeningCharts.size) {\n window.removeEventListener('resize', onWindowResize);\n }\n}\nfunction createResizeObserver(chart, type, listener) {\n const canvas = chart.canvas;\n const container = canvas && _getParentNode(canvas);\n if (!container) {\n return;\n }\n const resize = throttled((width, height)=>{\n const w = container.clientWidth;\n listener(width, height);\n if (w < container.clientWidth) {\n listener();\n }\n }, window);\n const observer = new ResizeObserver((entries)=>{\n const entry = entries[0];\n const width = entry.contentRect.width;\n const height = entry.contentRect.height;\n if (width === 0 && height === 0) {\n return;\n }\n resize(width, height);\n });\n observer.observe(container);\n listenDevicePixelRatioChanges(chart, resize);\n return observer;\n}\nfunction releaseObserver(chart, type, observer) {\n if (observer) {\n observer.disconnect();\n }\n if (type === 'resize') {\n unlistenDevicePixelRatioChanges(chart);\n }\n}\nfunction createProxyAndListen(chart, type, listener) {\n const canvas = chart.canvas;\n const proxy = throttled((event)=>{\n if (chart.ctx !== null) {\n listener(fromNativeEvent(event, chart));\n }\n }, chart);\n addListener(canvas, type, proxy);\n return proxy;\n}\n class DomPlatform extends BasePlatform {\n acquireContext(canvas, aspectRatio) {\n const context = canvas && canvas.getContext && canvas.getContext('2d');\n if (context && context.canvas === canvas) {\n initCanvas(canvas, aspectRatio);\n return context;\n }\n return null;\n }\n releaseContext(context) {\n const canvas = context.canvas;\n if (!canvas[EXPANDO_KEY]) {\n return false;\n }\n const initial = canvas[EXPANDO_KEY].initial;\n [\n 'height',\n 'width'\n ].forEach((prop)=>{\n const value = initial[prop];\n if (isNullOrUndef(value)) {\n canvas.removeAttribute(prop);\n } else {\n canvas.setAttribute(prop, value);\n }\n });\n const style = initial.style || {};\n Object.keys(style).forEach((key)=>{\n canvas.style[key] = style[key];\n });\n canvas.width = canvas.width;\n delete canvas[EXPANDO_KEY];\n return true;\n }\n addEventListener(chart, type, listener) {\n this.removeEventListener(chart, type);\n const proxies = chart.$proxies || (chart.$proxies = {});\n const handlers = {\n attach: createAttachObserver,\n detach: createDetachObserver,\n resize: createResizeObserver\n };\n const handler = handlers[type] || createProxyAndListen;\n proxies[type] = handler(chart, type, listener);\n }\n removeEventListener(chart, type) {\n const proxies = chart.$proxies || (chart.$proxies = {});\n const proxy = proxies[type];\n if (!proxy) {\n return;\n }\n const handlers = {\n attach: releaseObserver,\n detach: releaseObserver,\n resize: releaseObserver\n };\n const handler = handlers[type] || removeListener;\n handler(chart, type, proxy);\n proxies[type] = undefined;\n }\n getDevicePixelRatio() {\n return window.devicePixelRatio;\n }\n getMaximumSize(canvas, width, height, aspectRatio) {\n return getMaximumSize(canvas, width, height, aspectRatio);\n }\n isAttached(canvas) {\n const container = canvas && _getParentNode(canvas);\n return !!(container && container.isConnected);\n }\n}\n\nfunction _detectPlatform(canvas) {\n if (!_isDomSupported() || typeof OffscreenCanvas !== 'undefined' && canvas instanceof OffscreenCanvas) {\n return BasicPlatform;\n }\n return DomPlatform;\n}\n\nclass Element {\n static defaults = {};\n static defaultRoutes = undefined;\n x;\n y;\n active = false;\n options;\n $animations;\n tooltipPosition(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n hasValue() {\n return isNumber(this.x) && isNumber(this.y);\n }\n getProps(props, final) {\n const anims = this.$animations;\n if (!final || !anims) {\n // let's not create an object, if not needed\n return this;\n }\n const ret = {};\n props.forEach((prop)=>{\n ret[prop] = anims[prop] && anims[prop].active() ? anims[prop]._to : this[prop];\n });\n return ret;\n }\n}\n\nfunction autoSkip(scale, ticks) {\n const tickOpts = scale.options.ticks;\n const determinedMaxTicks = determineMaxTicks(scale);\n const ticksLimit = Math.min(tickOpts.maxTicksLimit || determinedMaxTicks, determinedMaxTicks);\n const majorIndices = tickOpts.major.enabled ? getMajorIndices(ticks) : [];\n const numMajorIndices = majorIndices.length;\n const first = majorIndices[0];\n const last = majorIndices[numMajorIndices - 1];\n const newTicks = [];\n if (numMajorIndices > ticksLimit) {\n skipMajors(ticks, newTicks, majorIndices, numMajorIndices / ticksLimit);\n return newTicks;\n }\n const spacing = calculateSpacing(majorIndices, ticks, ticksLimit);\n if (numMajorIndices > 0) {\n let i, ilen;\n const avgMajorSpacing = numMajorIndices > 1 ? Math.round((last - first) / (numMajorIndices - 1)) : null;\n skip(ticks, newTicks, spacing, isNullOrUndef(avgMajorSpacing) ? 0 : first - avgMajorSpacing, first);\n for(i = 0, ilen = numMajorIndices - 1; i < ilen; i++){\n skip(ticks, newTicks, spacing, majorIndices[i], majorIndices[i + 1]);\n }\n skip(ticks, newTicks, spacing, last, isNullOrUndef(avgMajorSpacing) ? ticks.length : last + avgMajorSpacing);\n return newTicks;\n }\n skip(ticks, newTicks, spacing);\n return newTicks;\n}\nfunction determineMaxTicks(scale) {\n const offset = scale.options.offset;\n const tickLength = scale._tickSize();\n const maxScale = scale._length / tickLength + (offset ? 0 : 1);\n const maxChart = scale._maxLength / tickLength;\n return Math.floor(Math.min(maxScale, maxChart));\n}\n function calculateSpacing(majorIndices, ticks, ticksLimit) {\n const evenMajorSpacing = getEvenSpacing(majorIndices);\n const spacing = ticks.length / ticksLimit;\n if (!evenMajorSpacing) {\n return Math.max(spacing, 1);\n }\n const factors = _factorize(evenMajorSpacing);\n for(let i = 0, ilen = factors.length - 1; i < ilen; i++){\n const factor = factors[i];\n if (factor > spacing) {\n return factor;\n }\n }\n return Math.max(spacing, 1);\n}\n function getMajorIndices(ticks) {\n const result = [];\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (ticks[i].major) {\n result.push(i);\n }\n }\n return result;\n}\n function skipMajors(ticks, newTicks, majorIndices, spacing) {\n let count = 0;\n let next = majorIndices[0];\n let i;\n spacing = Math.ceil(spacing);\n for(i = 0; i < ticks.length; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = majorIndices[count * spacing];\n }\n }\n}\n function skip(ticks, newTicks, spacing, majorStart, majorEnd) {\n const start = valueOrDefault(majorStart, 0);\n const end = Math.min(valueOrDefault(majorEnd, ticks.length), ticks.length);\n let count = 0;\n let length, i, next;\n spacing = Math.ceil(spacing);\n if (majorEnd) {\n length = majorEnd - majorStart;\n spacing = length / Math.floor(length / spacing);\n }\n next = start;\n while(next < 0){\n count++;\n next = Math.round(start + count * spacing);\n }\n for(i = Math.max(start, 0); i < end; i++){\n if (i === next) {\n newTicks.push(ticks[i]);\n count++;\n next = Math.round(start + count * spacing);\n }\n }\n}\n function getEvenSpacing(arr) {\n const len = arr.length;\n let i, diff;\n if (len < 2) {\n return false;\n }\n for(diff = arr[0], i = 1; i < len; ++i){\n if (arr[i] - arr[i - 1] !== diff) {\n return false;\n }\n }\n return diff;\n}\n\nconst reverseAlign = (align)=>align === 'left' ? 'right' : align === 'right' ? 'left' : align;\nconst offsetFromEdge = (scale, edge, offset)=>edge === 'top' || edge === 'left' ? scale[edge] + offset : scale[edge] - offset;\nconst getTicksLimit = (ticksLength, maxTicksLimit)=>Math.min(maxTicksLimit || ticksLength, ticksLength);\n function sample(arr, numItems) {\n const result = [];\n const increment = arr.length / numItems;\n const len = arr.length;\n let i = 0;\n for(; i < len; i += increment){\n result.push(arr[Math.floor(i)]);\n }\n return result;\n}\n function getPixelForGridLine(scale, index, offsetGridLines) {\n const length = scale.ticks.length;\n const validIndex = Math.min(index, length - 1);\n const start = scale._startPixel;\n const end = scale._endPixel;\n const epsilon = 1e-6;\n let lineValue = scale.getPixelForTick(validIndex);\n let offset;\n if (offsetGridLines) {\n if (length === 1) {\n offset = Math.max(lineValue - start, end - lineValue);\n } else if (index === 0) {\n offset = (scale.getPixelForTick(1) - lineValue) / 2;\n } else {\n offset = (lineValue - scale.getPixelForTick(validIndex - 1)) / 2;\n }\n lineValue += validIndex < index ? offset : -offset;\n if (lineValue < start - epsilon || lineValue > end + epsilon) {\n return;\n }\n }\n return lineValue;\n}\n function garbageCollect(caches, length) {\n each(caches, (cache)=>{\n const gc = cache.gc;\n const gcLen = gc.length / 2;\n let i;\n if (gcLen > length) {\n for(i = 0; i < gcLen; ++i){\n delete cache.data[gc[i]];\n }\n gc.splice(0, gcLen);\n }\n });\n}\n function getTickMarkLength(options) {\n return options.drawTicks ? options.tickLength : 0;\n}\n function getTitleHeight(options, fallback) {\n if (!options.display) {\n return 0;\n }\n const font = toFont(options.font, fallback);\n const padding = toPadding(options.padding);\n const lines = isArray(options.text) ? options.text.length : 1;\n return lines * font.lineHeight + padding.height;\n}\nfunction createScaleContext(parent, scale) {\n return createContext(parent, {\n scale,\n type: 'scale'\n });\n}\nfunction createTickContext(parent, index, tick) {\n return createContext(parent, {\n tick,\n index,\n type: 'tick'\n });\n}\nfunction titleAlign(align, position, reverse) {\n let ret = _toLeftRightCenter(align);\n if (reverse && position !== 'right' || !reverse && position === 'right') {\n ret = reverseAlign(ret);\n }\n return ret;\n}\nfunction titleArgs(scale, offset, position, align) {\n const { top , left , bottom , right , chart } = scale;\n const { chartArea , scales } = chart;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n const height = bottom - top;\n const width = right - left;\n if (scale.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleY = scales[positionAxisID].getPixelForValue(value) + height - offset;\n } else if (position === 'center') {\n titleY = (chartArea.bottom + chartArea.top) / 2 + height - offset;\n } else {\n titleY = offsetFromEdge(scale, position, offset);\n }\n maxWidth = right - left;\n } else {\n if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n titleX = scales[positionAxisID].getPixelForValue(value) - width + offset;\n } else if (position === 'center') {\n titleX = (chartArea.left + chartArea.right) / 2 - width + offset;\n } else {\n titleX = offsetFromEdge(scale, position, offset);\n }\n titleY = _alignStartEnd(align, bottom, top);\n rotation = position === 'left' ? -HALF_PI : HALF_PI;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n}\nclass Scale extends Element {\n constructor(cfg){\n super();\n this.id = cfg.id;\n this.type = cfg.type;\n this.options = undefined;\n this.ctx = cfg.ctx;\n this.chart = cfg.chart;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this._margins = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n };\n this.maxWidth = undefined;\n this.maxHeight = undefined;\n this.paddingTop = undefined;\n this.paddingBottom = undefined;\n this.paddingLeft = undefined;\n this.paddingRight = undefined;\n this.axis = undefined;\n this.labelRotation = undefined;\n this.min = undefined;\n this.max = undefined;\n this._range = undefined;\n this.ticks = [];\n this._gridLineItems = null;\n this._labelItems = null;\n this._labelSizes = null;\n this._length = 0;\n this._maxLength = 0;\n this._longestTextCache = {};\n this._startPixel = undefined;\n this._endPixel = undefined;\n this._reversePixels = false;\n this._userMax = undefined;\n this._userMin = undefined;\n this._suggestedMax = undefined;\n this._suggestedMin = undefined;\n this._ticksLength = 0;\n this._borderValue = 0;\n this._cache = {};\n this._dataLimitsCached = false;\n this.$context = undefined;\n }\n init(options) {\n this.options = options.setContext(this.getContext());\n this.axis = options.axis;\n this._userMin = this.parse(options.min);\n this._userMax = this.parse(options.max);\n this._suggestedMin = this.parse(options.suggestedMin);\n this._suggestedMax = this.parse(options.suggestedMax);\n }\n parse(raw, index) {\n return raw;\n }\n getUserBounds() {\n let { _userMin , _userMax , _suggestedMin , _suggestedMax } = this;\n _userMin = finiteOrDefault(_userMin, Number.POSITIVE_INFINITY);\n _userMax = finiteOrDefault(_userMax, Number.NEGATIVE_INFINITY);\n _suggestedMin = finiteOrDefault(_suggestedMin, Number.POSITIVE_INFINITY);\n _suggestedMax = finiteOrDefault(_suggestedMax, Number.NEGATIVE_INFINITY);\n return {\n min: finiteOrDefault(_userMin, _suggestedMin),\n max: finiteOrDefault(_userMax, _suggestedMax),\n minDefined: isNumberFinite(_userMin),\n maxDefined: isNumberFinite(_userMax)\n };\n }\n getMinMax(canStack) {\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n let range;\n if (minDefined && maxDefined) {\n return {\n min,\n max\n };\n }\n const metas = this.getMatchingVisibleMetas();\n for(let i = 0, ilen = metas.length; i < ilen; ++i){\n range = metas[i].controller.getMinMax(this, canStack);\n if (!minDefined) {\n min = Math.min(min, range.min);\n }\n if (!maxDefined) {\n max = Math.max(max, range.max);\n }\n }\n min = maxDefined && min > max ? max : min;\n max = minDefined && min > max ? min : max;\n return {\n min: finiteOrDefault(min, finiteOrDefault(max, min)),\n max: finiteOrDefault(max, finiteOrDefault(min, max))\n };\n }\n getPadding() {\n return {\n left: this.paddingLeft || 0,\n top: this.paddingTop || 0,\n right: this.paddingRight || 0,\n bottom: this.paddingBottom || 0\n };\n }\n getTicks() {\n return this.ticks;\n }\n getLabels() {\n const data = this.chart.data;\n return this.options.labels || (this.isHorizontal() ? data.xLabels : data.yLabels) || data.labels || [];\n }\n getLabelItems(chartArea = this.chart.chartArea) {\n const items = this._labelItems || (this._labelItems = this._computeLabelItems(chartArea));\n return items;\n }\n beforeLayout() {\n this._cache = {};\n this._dataLimitsCached = false;\n }\n beforeUpdate() {\n callback(this.options.beforeUpdate, [\n this\n ]);\n }\n update(maxWidth, maxHeight, margins) {\n const { beginAtZero , grace , ticks: tickOpts } = this.options;\n const sampleSize = tickOpts.sampleSize;\n this.beforeUpdate();\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins = Object.assign({\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n }, margins);\n this.ticks = null;\n this._labelSizes = null;\n this._gridLineItems = null;\n this._labelItems = null;\n this.beforeSetDimensions();\n this.setDimensions();\n this.afterSetDimensions();\n this._maxLength = this.isHorizontal() ? this.width + margins.left + margins.right : this.height + margins.top + margins.bottom;\n if (!this._dataLimitsCached) {\n this.beforeDataLimits();\n this.determineDataLimits();\n this.afterDataLimits();\n this._range = _addGrace(this, grace, beginAtZero);\n this._dataLimitsCached = true;\n }\n this.beforeBuildTicks();\n this.ticks = this.buildTicks() || [];\n this.afterBuildTicks();\n const samplingEnabled = sampleSize < this.ticks.length;\n this._convertTicksToLabels(samplingEnabled ? sample(this.ticks, sampleSize) : this.ticks);\n this.configure();\n this.beforeCalculateLabelRotation();\n this.calculateLabelRotation();\n this.afterCalculateLabelRotation();\n if (tickOpts.display && (tickOpts.autoSkip || tickOpts.source === 'auto')) {\n this.ticks = autoSkip(this, this.ticks);\n this._labelSizes = null;\n this.afterAutoSkip();\n }\n if (samplingEnabled) {\n this._convertTicksToLabels(this.ticks);\n }\n this.beforeFit();\n this.fit();\n this.afterFit();\n this.afterUpdate();\n }\n configure() {\n let reversePixels = this.options.reverse;\n let startPixel, endPixel;\n if (this.isHorizontal()) {\n startPixel = this.left;\n endPixel = this.right;\n } else {\n startPixel = this.top;\n endPixel = this.bottom;\n reversePixels = !reversePixels;\n }\n this._startPixel = startPixel;\n this._endPixel = endPixel;\n this._reversePixels = reversePixels;\n this._length = endPixel - startPixel;\n this._alignToPixels = this.options.alignToPixels;\n }\n afterUpdate() {\n callback(this.options.afterUpdate, [\n this\n ]);\n }\n beforeSetDimensions() {\n callback(this.options.beforeSetDimensions, [\n this\n ]);\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = 0;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = 0;\n this.bottom = this.height;\n }\n this.paddingLeft = 0;\n this.paddingTop = 0;\n this.paddingRight = 0;\n this.paddingBottom = 0;\n }\n afterSetDimensions() {\n callback(this.options.afterSetDimensions, [\n this\n ]);\n }\n _callHooks(name) {\n this.chart.notifyPlugins(name, this.getContext());\n callback(this.options[name], [\n this\n ]);\n }\n beforeDataLimits() {\n this._callHooks('beforeDataLimits');\n }\n determineDataLimits() {}\n afterDataLimits() {\n this._callHooks('afterDataLimits');\n }\n beforeBuildTicks() {\n this._callHooks('beforeBuildTicks');\n }\n buildTicks() {\n return [];\n }\n afterBuildTicks() {\n this._callHooks('afterBuildTicks');\n }\n beforeTickToLabelConversion() {\n callback(this.options.beforeTickToLabelConversion, [\n this\n ]);\n }\n generateTickLabels(ticks) {\n const tickOpts = this.options.ticks;\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n tick = ticks[i];\n tick.label = callback(tickOpts.callback, [\n tick.value,\n i,\n ticks\n ], this);\n }\n }\n afterTickToLabelConversion() {\n callback(this.options.afterTickToLabelConversion, [\n this\n ]);\n }\n beforeCalculateLabelRotation() {\n callback(this.options.beforeCalculateLabelRotation, [\n this\n ]);\n }\n calculateLabelRotation() {\n const options = this.options;\n const tickOpts = options.ticks;\n const numTicks = getTicksLimit(this.ticks.length, options.ticks.maxTicksLimit);\n const minRotation = tickOpts.minRotation || 0;\n const maxRotation = tickOpts.maxRotation;\n let labelRotation = minRotation;\n let tickWidth, maxHeight, maxLabelDiagonal;\n if (!this._isVisible() || !tickOpts.display || minRotation >= maxRotation || numTicks <= 1 || !this.isHorizontal()) {\n this.labelRotation = minRotation;\n return;\n }\n const labelSizes = this._getLabelSizes();\n const maxLabelWidth = labelSizes.widest.width;\n const maxLabelHeight = labelSizes.highest.height;\n const maxWidth = _limitValue(this.chart.width - maxLabelWidth, 0, this.maxWidth);\n tickWidth = options.offset ? this.maxWidth / numTicks : maxWidth / (numTicks - 1);\n if (maxLabelWidth + 6 > tickWidth) {\n tickWidth = maxWidth / (numTicks - (options.offset ? 0.5 : 1));\n maxHeight = this.maxHeight - getTickMarkLength(options.grid) - tickOpts.padding - getTitleHeight(options.title, this.chart.options.font);\n maxLabelDiagonal = Math.sqrt(maxLabelWidth * maxLabelWidth + maxLabelHeight * maxLabelHeight);\n labelRotation = toDegrees(Math.min(Math.asin(_limitValue((labelSizes.highest.height + 6) / tickWidth, -1, 1)), Math.asin(_limitValue(maxHeight / maxLabelDiagonal, -1, 1)) - Math.asin(_limitValue(maxLabelHeight / maxLabelDiagonal, -1, 1))));\n labelRotation = Math.max(minRotation, Math.min(maxRotation, labelRotation));\n }\n this.labelRotation = labelRotation;\n }\n afterCalculateLabelRotation() {\n callback(this.options.afterCalculateLabelRotation, [\n this\n ]);\n }\n afterAutoSkip() {}\n beforeFit() {\n callback(this.options.beforeFit, [\n this\n ]);\n }\n fit() {\n const minSize = {\n width: 0,\n height: 0\n };\n const { chart , options: { ticks: tickOpts , title: titleOpts , grid: gridOpts } } = this;\n const display = this._isVisible();\n const isHorizontal = this.isHorizontal();\n if (display) {\n const titleHeight = getTitleHeight(titleOpts, chart.options.font);\n if (isHorizontal) {\n minSize.width = this.maxWidth;\n minSize.height = getTickMarkLength(gridOpts) + titleHeight;\n } else {\n minSize.height = this.maxHeight;\n minSize.width = getTickMarkLength(gridOpts) + titleHeight;\n }\n if (tickOpts.display && this.ticks.length) {\n const { first , last , widest , highest } = this._getLabelSizes();\n const tickPadding = tickOpts.padding * 2;\n const angleRadians = toRadians(this.labelRotation);\n const cos = Math.cos(angleRadians);\n const sin = Math.sin(angleRadians);\n if (isHorizontal) {\n const labelHeight = tickOpts.mirror ? 0 : sin * widest.width + cos * highest.height;\n minSize.height = Math.min(this.maxHeight, minSize.height + labelHeight + tickPadding);\n } else {\n const labelWidth = tickOpts.mirror ? 0 : cos * widest.width + sin * highest.height;\n minSize.width = Math.min(this.maxWidth, minSize.width + labelWidth + tickPadding);\n }\n this._calculatePadding(first, last, sin, cos);\n }\n }\n this._handleMargins();\n if (isHorizontal) {\n this.width = this._length = chart.width - this._margins.left - this._margins.right;\n this.height = minSize.height;\n } else {\n this.width = minSize.width;\n this.height = this._length = chart.height - this._margins.top - this._margins.bottom;\n }\n }\n _calculatePadding(first, last, sin, cos) {\n const { ticks: { align , padding } , position } = this.options;\n const isRotated = this.labelRotation !== 0;\n const labelsBelowTicks = position !== 'top' && this.axis === 'x';\n if (this.isHorizontal()) {\n const offsetLeft = this.getPixelForTick(0) - this.left;\n const offsetRight = this.right - this.getPixelForTick(this.ticks.length - 1);\n let paddingLeft = 0;\n let paddingRight = 0;\n if (isRotated) {\n if (labelsBelowTicks) {\n paddingLeft = cos * first.width;\n paddingRight = sin * last.height;\n } else {\n paddingLeft = sin * first.height;\n paddingRight = cos * last.width;\n }\n } else if (align === 'start') {\n paddingRight = last.width;\n } else if (align === 'end') {\n paddingLeft = first.width;\n } else if (align !== 'inner') {\n paddingLeft = first.width / 2;\n paddingRight = last.width / 2;\n }\n this.paddingLeft = Math.max((paddingLeft - offsetLeft + padding) * this.width / (this.width - offsetLeft), 0);\n this.paddingRight = Math.max((paddingRight - offsetRight + padding) * this.width / (this.width - offsetRight), 0);\n } else {\n let paddingTop = last.height / 2;\n let paddingBottom = first.height / 2;\n if (align === 'start') {\n paddingTop = 0;\n paddingBottom = first.height;\n } else if (align === 'end') {\n paddingTop = last.height;\n paddingBottom = 0;\n }\n this.paddingTop = paddingTop + padding;\n this.paddingBottom = paddingBottom + padding;\n }\n }\n _handleMargins() {\n if (this._margins) {\n this._margins.left = Math.max(this.paddingLeft, this._margins.left);\n this._margins.top = Math.max(this.paddingTop, this._margins.top);\n this._margins.right = Math.max(this.paddingRight, this._margins.right);\n this._margins.bottom = Math.max(this.paddingBottom, this._margins.bottom);\n }\n }\n afterFit() {\n callback(this.options.afterFit, [\n this\n ]);\n }\n isHorizontal() {\n const { axis , position } = this.options;\n return position === 'top' || position === 'bottom' || axis === 'x';\n }\n isFullSize() {\n return this.options.fullSize;\n }\n _convertTicksToLabels(ticks) {\n this.beforeTickToLabelConversion();\n this.generateTickLabels(ticks);\n let i, ilen;\n for(i = 0, ilen = ticks.length; i < ilen; i++){\n if (isNullOrUndef(ticks[i].label)) {\n ticks.splice(i, 1);\n ilen--;\n i--;\n }\n }\n this.afterTickToLabelConversion();\n }\n _getLabelSizes() {\n let labelSizes = this._labelSizes;\n if (!labelSizes) {\n const sampleSize = this.options.ticks.sampleSize;\n let ticks = this.ticks;\n if (sampleSize < ticks.length) {\n ticks = sample(ticks, sampleSize);\n }\n this._labelSizes = labelSizes = this._computeLabelSizes(ticks, ticks.length, this.options.ticks.maxTicksLimit);\n }\n return labelSizes;\n }\n _computeLabelSizes(ticks, length, maxTicksLimit) {\n const { ctx , _longestTextCache: caches } = this;\n const widths = [];\n const heights = [];\n const increment = Math.floor(length / getTicksLimit(length, maxTicksLimit));\n let widestLabelSize = 0;\n let highestLabelSize = 0;\n let i, j, jlen, label, tickFont, fontString, cache, lineHeight, width, height, nestedLabel;\n for(i = 0; i < length; i += increment){\n label = ticks[i].label;\n tickFont = this._resolveTickFontOptions(i);\n ctx.font = fontString = tickFont.string;\n cache = caches[fontString] = caches[fontString] || {\n data: {},\n gc: []\n };\n lineHeight = tickFont.lineHeight;\n width = height = 0;\n if (!isNullOrUndef(label) && !isArray(label)) {\n width = _measureText(ctx, cache.data, cache.gc, width, label);\n height = lineHeight;\n } else if (isArray(label)) {\n for(j = 0, jlen = label.length; j < jlen; ++j){\n nestedLabel = label[j];\n if (!isNullOrUndef(nestedLabel) && !isArray(nestedLabel)) {\n width = _measureText(ctx, cache.data, cache.gc, width, nestedLabel);\n height += lineHeight;\n }\n }\n }\n widths.push(width);\n heights.push(height);\n widestLabelSize = Math.max(width, widestLabelSize);\n highestLabelSize = Math.max(height, highestLabelSize);\n }\n garbageCollect(caches, length);\n const widest = widths.indexOf(widestLabelSize);\n const highest = heights.indexOf(highestLabelSize);\n const valueAt = (idx)=>({\n width: widths[idx] || 0,\n height: heights[idx] || 0\n });\n return {\n first: valueAt(0),\n last: valueAt(length - 1),\n widest: valueAt(widest),\n highest: valueAt(highest),\n widths,\n heights\n };\n }\n getLabelForValue(value) {\n return value;\n }\n getPixelForValue(value, index) {\n return NaN;\n }\n getValueForPixel(pixel) {}\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getPixelForDecimal(decimal) {\n if (this._reversePixels) {\n decimal = 1 - decimal;\n }\n const pixel = this._startPixel + decimal * this._length;\n return _int16Range(this._alignToPixels ? _alignPixel(this.chart, pixel, 0) : pixel);\n }\n getDecimalForPixel(pixel) {\n const decimal = (pixel - this._startPixel) / this._length;\n return this._reversePixels ? 1 - decimal : decimal;\n }\n getBasePixel() {\n return this.getPixelForValue(this.getBaseValue());\n }\n getBaseValue() {\n const { min , max } = this;\n return min < 0 && max < 0 ? max : min > 0 && max > 0 ? min : 0;\n }\n getContext(index) {\n const ticks = this.ticks || [];\n if (index >= 0 && index < ticks.length) {\n const tick = ticks[index];\n return tick.$context || (tick.$context = createTickContext(this.getContext(), index, tick));\n }\n return this.$context || (this.$context = createScaleContext(this.chart.getContext(), this));\n }\n _tickSize() {\n const optionTicks = this.options.ticks;\n const rot = toRadians(this.labelRotation);\n const cos = Math.abs(Math.cos(rot));\n const sin = Math.abs(Math.sin(rot));\n const labelSizes = this._getLabelSizes();\n const padding = optionTicks.autoSkipPadding || 0;\n const w = labelSizes ? labelSizes.widest.width + padding : 0;\n const h = labelSizes ? labelSizes.highest.height + padding : 0;\n return this.isHorizontal() ? h * cos > w * sin ? w / cos : h / sin : h * sin < w * cos ? h / cos : w / sin;\n }\n _isVisible() {\n const display = this.options.display;\n if (display !== 'auto') {\n return !!display;\n }\n return this.getMatchingVisibleMetas().length > 0;\n }\n _computeGridLineItems(chartArea) {\n const axis = this.axis;\n const chart = this.chart;\n const options = this.options;\n const { grid , position , border } = options;\n const offset = grid.offset;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const ticksLength = ticks.length + (offset ? 1 : 0);\n const tl = getTickMarkLength(grid);\n const items = [];\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = borderOpts.display ? borderOpts.width : 0;\n const axisHalfWidth = axisWidth / 2;\n const alignBorderValue = function(pixel) {\n return _alignPixel(chart, pixel, axisWidth);\n };\n let borderValue, i, lineValue, alignedLineValue;\n let tx1, ty1, tx2, ty2, x1, y1, x2, y2;\n if (position === 'top') {\n borderValue = alignBorderValue(this.bottom);\n ty1 = this.bottom - tl;\n ty2 = borderValue - axisHalfWidth;\n y1 = alignBorderValue(chartArea.top) + axisHalfWidth;\n y2 = chartArea.bottom;\n } else if (position === 'bottom') {\n borderValue = alignBorderValue(this.top);\n y1 = chartArea.top;\n y2 = alignBorderValue(chartArea.bottom) - axisHalfWidth;\n ty1 = borderValue + axisHalfWidth;\n ty2 = this.top + tl;\n } else if (position === 'left') {\n borderValue = alignBorderValue(this.right);\n tx1 = this.right - tl;\n tx2 = borderValue - axisHalfWidth;\n x1 = alignBorderValue(chartArea.left) + axisHalfWidth;\n x2 = chartArea.right;\n } else if (position === 'right') {\n borderValue = alignBorderValue(this.left);\n x1 = chartArea.left;\n x2 = alignBorderValue(chartArea.right) - axisHalfWidth;\n tx1 = borderValue + axisHalfWidth;\n tx2 = this.left + tl;\n } else if (axis === 'x') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.top + chartArea.bottom) / 2 + 0.5);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n y1 = chartArea.top;\n y2 = chartArea.bottom;\n ty1 = borderValue + axisHalfWidth;\n ty2 = ty1 + tl;\n } else if (axis === 'y') {\n if (position === 'center') {\n borderValue = alignBorderValue((chartArea.left + chartArea.right) / 2);\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n borderValue = alignBorderValue(this.chart.scales[positionAxisID].getPixelForValue(value));\n }\n tx1 = borderValue - axisHalfWidth;\n tx2 = tx1 - tl;\n x1 = chartArea.left;\n x2 = chartArea.right;\n }\n const limit = valueOrDefault(options.ticks.maxTicksLimit, ticksLength);\n const step = Math.max(1, Math.ceil(ticksLength / limit));\n for(i = 0; i < ticksLength; i += step){\n const context = this.getContext(i);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n const lineWidth = optsAtIndex.lineWidth;\n const lineColor = optsAtIndex.color;\n const borderDash = optsAtIndexBorder.dash || [];\n const borderDashOffset = optsAtIndexBorder.dashOffset;\n const tickWidth = optsAtIndex.tickWidth;\n const tickColor = optsAtIndex.tickColor;\n const tickBorderDash = optsAtIndex.tickBorderDash || [];\n const tickBorderDashOffset = optsAtIndex.tickBorderDashOffset;\n lineValue = getPixelForGridLine(this, i, offset);\n if (lineValue === undefined) {\n continue;\n }\n alignedLineValue = _alignPixel(chart, lineValue, lineWidth);\n if (isHorizontal) {\n tx1 = tx2 = x1 = x2 = alignedLineValue;\n } else {\n ty1 = ty2 = y1 = y2 = alignedLineValue;\n }\n items.push({\n tx1,\n ty1,\n tx2,\n ty2,\n x1,\n y1,\n x2,\n y2,\n width: lineWidth,\n color: lineColor,\n borderDash,\n borderDashOffset,\n tickWidth,\n tickColor,\n tickBorderDash,\n tickBorderDashOffset\n });\n }\n this._ticksLength = ticksLength;\n this._borderValue = borderValue;\n return items;\n }\n _computeLabelItems(chartArea) {\n const axis = this.axis;\n const options = this.options;\n const { position , ticks: optionTicks } = options;\n const isHorizontal = this.isHorizontal();\n const ticks = this.ticks;\n const { align , crossAlign , padding , mirror } = optionTicks;\n const tl = getTickMarkLength(options.grid);\n const tickAndPadding = tl + padding;\n const hTickAndPadding = mirror ? -padding : tickAndPadding;\n const rotation = -toRadians(this.labelRotation);\n const items = [];\n let i, ilen, tick, label, x, y, textAlign, pixel, font, lineHeight, lineCount, textOffset;\n let textBaseline = 'middle';\n if (position === 'top') {\n y = this.bottom - hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'bottom') {\n y = this.top + hTickAndPadding;\n textAlign = this._getXAxisLabelAlignment();\n } else if (position === 'left') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (position === 'right') {\n const ret = this._getYAxisLabelAlignment(tl);\n textAlign = ret.textAlign;\n x = ret.x;\n } else if (axis === 'x') {\n if (position === 'center') {\n y = (chartArea.top + chartArea.bottom) / 2 + tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n y = this.chart.scales[positionAxisID].getPixelForValue(value) + tickAndPadding;\n }\n textAlign = this._getXAxisLabelAlignment();\n } else if (axis === 'y') {\n if (position === 'center') {\n x = (chartArea.left + chartArea.right) / 2 - tickAndPadding;\n } else if (isObject(position)) {\n const positionAxisID = Object.keys(position)[0];\n const value = position[positionAxisID];\n x = this.chart.scales[positionAxisID].getPixelForValue(value);\n }\n textAlign = this._getYAxisLabelAlignment(tl).textAlign;\n }\n if (axis === 'y') {\n if (align === 'start') {\n textBaseline = 'top';\n } else if (align === 'end') {\n textBaseline = 'bottom';\n }\n }\n const labelSizes = this._getLabelSizes();\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n label = tick.label;\n const optsAtIndex = optionTicks.setContext(this.getContext(i));\n pixel = this.getPixelForTick(i) + optionTicks.labelOffset;\n font = this._resolveTickFontOptions(i);\n lineHeight = font.lineHeight;\n lineCount = isArray(label) ? label.length : 1;\n const halfCount = lineCount / 2;\n const color = optsAtIndex.color;\n const strokeColor = optsAtIndex.textStrokeColor;\n const strokeWidth = optsAtIndex.textStrokeWidth;\n let tickTextAlign = textAlign;\n if (isHorizontal) {\n x = pixel;\n if (textAlign === 'inner') {\n if (i === ilen - 1) {\n tickTextAlign = !this.options.reverse ? 'right' : 'left';\n } else if (i === 0) {\n tickTextAlign = !this.options.reverse ? 'left' : 'right';\n } else {\n tickTextAlign = 'center';\n }\n }\n if (position === 'top') {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = -lineCount * lineHeight + lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = -labelSizes.highest.height / 2 - halfCount * lineHeight + lineHeight;\n } else {\n textOffset = -labelSizes.highest.height + lineHeight / 2;\n }\n } else {\n if (crossAlign === 'near' || rotation !== 0) {\n textOffset = lineHeight / 2;\n } else if (crossAlign === 'center') {\n textOffset = labelSizes.highest.height / 2 - halfCount * lineHeight;\n } else {\n textOffset = labelSizes.highest.height - lineCount * lineHeight;\n }\n }\n if (mirror) {\n textOffset *= -1;\n }\n if (rotation !== 0 && !optsAtIndex.showLabelBackdrop) {\n x += lineHeight / 2 * Math.sin(rotation);\n }\n } else {\n y = pixel;\n textOffset = (1 - lineCount) * lineHeight / 2;\n }\n let backdrop;\n if (optsAtIndex.showLabelBackdrop) {\n const labelPadding = toPadding(optsAtIndex.backdropPadding);\n const height = labelSizes.heights[i];\n const width = labelSizes.widths[i];\n let top = textOffset - labelPadding.top;\n let left = 0 - labelPadding.left;\n switch(textBaseline){\n case 'middle':\n top -= height / 2;\n break;\n case 'bottom':\n top -= height;\n break;\n }\n switch(textAlign){\n case 'center':\n left -= width / 2;\n break;\n case 'right':\n left -= width;\n break;\n case 'inner':\n if (i === ilen - 1) {\n left -= width;\n } else if (i > 0) {\n left -= width / 2;\n }\n break;\n }\n backdrop = {\n left,\n top,\n width: width + labelPadding.width,\n height: height + labelPadding.height,\n color: optsAtIndex.backdropColor\n };\n }\n items.push({\n label,\n font,\n textOffset,\n options: {\n rotation,\n color,\n strokeColor,\n strokeWidth,\n textAlign: tickTextAlign,\n textBaseline,\n translation: [\n x,\n y\n ],\n backdrop\n }\n });\n }\n return items;\n }\n _getXAxisLabelAlignment() {\n const { position , ticks } = this.options;\n const rotation = -toRadians(this.labelRotation);\n if (rotation) {\n return position === 'top' ? 'left' : 'right';\n }\n let align = 'center';\n if (ticks.align === 'start') {\n align = 'left';\n } else if (ticks.align === 'end') {\n align = 'right';\n } else if (ticks.align === 'inner') {\n align = 'inner';\n }\n return align;\n }\n _getYAxisLabelAlignment(tl) {\n const { position , ticks: { crossAlign , mirror , padding } } = this.options;\n const labelSizes = this._getLabelSizes();\n const tickAndPadding = tl + padding;\n const widest = labelSizes.widest.width;\n let textAlign;\n let x;\n if (position === 'left') {\n if (mirror) {\n x = this.right + padding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x += widest;\n }\n } else {\n x = this.right - tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x = this.left;\n }\n }\n } else if (position === 'right') {\n if (mirror) {\n x = this.left + padding;\n if (crossAlign === 'near') {\n textAlign = 'right';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x -= widest / 2;\n } else {\n textAlign = 'left';\n x -= widest;\n }\n } else {\n x = this.left + tickAndPadding;\n if (crossAlign === 'near') {\n textAlign = 'left';\n } else if (crossAlign === 'center') {\n textAlign = 'center';\n x += widest / 2;\n } else {\n textAlign = 'right';\n x = this.right;\n }\n }\n } else {\n textAlign = 'right';\n }\n return {\n textAlign,\n x\n };\n }\n _computeLabelArea() {\n if (this.options.ticks.mirror) {\n return;\n }\n const chart = this.chart;\n const position = this.options.position;\n if (position === 'left' || position === 'right') {\n return {\n top: 0,\n left: this.left,\n bottom: chart.height,\n right: this.right\n };\n }\n if (position === 'top' || position === 'bottom') {\n return {\n top: this.top,\n left: 0,\n bottom: this.bottom,\n right: chart.width\n };\n }\n }\n drawBackground() {\n const { ctx , options: { backgroundColor } , left , top , width , height } = this;\n if (backgroundColor) {\n ctx.save();\n ctx.fillStyle = backgroundColor;\n ctx.fillRect(left, top, width, height);\n ctx.restore();\n }\n }\n getLineWidthForValue(value) {\n const grid = this.options.grid;\n if (!this._isVisible() || !grid.display) {\n return 0;\n }\n const ticks = this.ticks;\n const index = ticks.findIndex((t)=>t.value === value);\n if (index >= 0) {\n const opts = grid.setContext(this.getContext(index));\n return opts.lineWidth;\n }\n return 0;\n }\n drawGrid(chartArea) {\n const grid = this.options.grid;\n const ctx = this.ctx;\n const items = this._gridLineItems || (this._gridLineItems = this._computeGridLineItems(chartArea));\n let i, ilen;\n const drawLine = (p1, p2, style)=>{\n if (!style.width || !style.color) {\n return;\n }\n ctx.save();\n ctx.lineWidth = style.width;\n ctx.strokeStyle = style.color;\n ctx.setLineDash(style.borderDash || []);\n ctx.lineDashOffset = style.borderDashOffset;\n ctx.beginPath();\n ctx.moveTo(p1.x, p1.y);\n ctx.lineTo(p2.x, p2.y);\n ctx.stroke();\n ctx.restore();\n };\n if (grid.display) {\n for(i = 0, ilen = items.length; i < ilen; ++i){\n const item = items[i];\n if (grid.drawOnChartArea) {\n drawLine({\n x: item.x1,\n y: item.y1\n }, {\n x: item.x2,\n y: item.y2\n }, item);\n }\n if (grid.drawTicks) {\n drawLine({\n x: item.tx1,\n y: item.ty1\n }, {\n x: item.tx2,\n y: item.ty2\n }, {\n color: item.tickColor,\n width: item.tickWidth,\n borderDash: item.tickBorderDash,\n borderDashOffset: item.tickBorderDashOffset\n });\n }\n }\n }\n }\n drawBorder() {\n const { chart , ctx , options: { border , grid } } = this;\n const borderOpts = border.setContext(this.getContext());\n const axisWidth = border.display ? borderOpts.width : 0;\n if (!axisWidth) {\n return;\n }\n const lastLineWidth = grid.setContext(this.getContext(0)).lineWidth;\n const borderValue = this._borderValue;\n let x1, x2, y1, y2;\n if (this.isHorizontal()) {\n x1 = _alignPixel(chart, this.left, axisWidth) - axisWidth / 2;\n x2 = _alignPixel(chart, this.right, lastLineWidth) + lastLineWidth / 2;\n y1 = y2 = borderValue;\n } else {\n y1 = _alignPixel(chart, this.top, axisWidth) - axisWidth / 2;\n y2 = _alignPixel(chart, this.bottom, lastLineWidth) + lastLineWidth / 2;\n x1 = x2 = borderValue;\n }\n ctx.save();\n ctx.lineWidth = borderOpts.width;\n ctx.strokeStyle = borderOpts.color;\n ctx.beginPath();\n ctx.moveTo(x1, y1);\n ctx.lineTo(x2, y2);\n ctx.stroke();\n ctx.restore();\n }\n drawLabels(chartArea) {\n const optionTicks = this.options.ticks;\n if (!optionTicks.display) {\n return;\n }\n const ctx = this.ctx;\n const area = this._computeLabelArea();\n if (area) {\n clipArea(ctx, area);\n }\n const items = this.getLabelItems(chartArea);\n for (const item of items){\n const renderTextOptions = item.options;\n const tickFont = item.font;\n const label = item.label;\n const y = item.textOffset;\n renderText(ctx, label, 0, y, tickFont, renderTextOptions);\n }\n if (area) {\n unclipArea(ctx);\n }\n }\n drawTitle() {\n const { ctx , options: { position , title , reverse } } = this;\n if (!title.display) {\n return;\n }\n const font = toFont(title.font);\n const padding = toPadding(title.padding);\n const align = title.align;\n let offset = font.lineHeight / 2;\n if (position === 'bottom' || position === 'center' || isObject(position)) {\n offset += padding.bottom;\n if (isArray(title.text)) {\n offset += font.lineHeight * (title.text.length - 1);\n }\n } else {\n offset += padding.top;\n }\n const { titleX , titleY , maxWidth , rotation } = titleArgs(this, offset, position, align);\n renderText(ctx, title.text, 0, 0, font, {\n color: title.color,\n maxWidth,\n rotation,\n textAlign: titleAlign(align, position, reverse),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n draw(chartArea) {\n if (!this._isVisible()) {\n return;\n }\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawBorder();\n this.drawTitle();\n this.drawLabels(chartArea);\n }\n _layers() {\n const opts = this.options;\n const tz = opts.ticks && opts.ticks.z || 0;\n const gz = valueOrDefault(opts.grid && opts.grid.z, -1);\n const bz = valueOrDefault(opts.border && opts.border.z, 0);\n if (!this._isVisible() || this.draw !== Scale.prototype.draw) {\n return [\n {\n z: tz,\n draw: (chartArea)=>{\n this.draw(chartArea);\n }\n }\n ];\n }\n return [\n {\n z: gz,\n draw: (chartArea)=>{\n this.drawBackground();\n this.drawGrid(chartArea);\n this.drawTitle();\n }\n },\n {\n z: bz,\n draw: ()=>{\n this.drawBorder();\n }\n },\n {\n z: tz,\n draw: (chartArea)=>{\n this.drawLabels(chartArea);\n }\n }\n ];\n }\n getMatchingVisibleMetas(type) {\n const metas = this.chart.getSortedVisibleDatasetMetas();\n const axisID = this.axis + 'AxisID';\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n const meta = metas[i];\n if (meta[axisID] === this.id && (!type || meta.type === type)) {\n result.push(meta);\n }\n }\n return result;\n }\n _resolveTickFontOptions(index) {\n const opts = this.options.ticks.setContext(this.getContext(index));\n return toFont(opts.font);\n }\n _maxDigits() {\n const fontSize = this._resolveTickFontOptions(0).lineHeight;\n return (this.isHorizontal() ? this.width : this.height) / fontSize;\n }\n}\n\nclass TypedRegistry {\n constructor(type, scope, override){\n this.type = type;\n this.scope = scope;\n this.override = override;\n this.items = Object.create(null);\n }\n isForType(type) {\n return Object.prototype.isPrototypeOf.call(this.type.prototype, type.prototype);\n }\n register(item) {\n const proto = Object.getPrototypeOf(item);\n let parentScope;\n if (isIChartComponent(proto)) {\n parentScope = this.register(proto);\n }\n const items = this.items;\n const id = item.id;\n const scope = this.scope + '.' + id;\n if (!id) {\n throw new Error('class does not have id: ' + item);\n }\n if (id in items) {\n return scope;\n }\n items[id] = item;\n registerDefaults(item, scope, parentScope);\n if (this.override) {\n defaults.override(item.id, item.overrides);\n }\n return scope;\n }\n get(id) {\n return this.items[id];\n }\n unregister(item) {\n const items = this.items;\n const id = item.id;\n const scope = this.scope;\n if (id in items) {\n delete items[id];\n }\n if (scope && id in defaults[scope]) {\n delete defaults[scope][id];\n if (this.override) {\n delete overrides[id];\n }\n }\n }\n}\nfunction registerDefaults(item, scope, parentScope) {\n const itemDefaults = merge(Object.create(null), [\n parentScope ? defaults.get(parentScope) : {},\n defaults.get(scope),\n item.defaults\n ]);\n defaults.set(scope, itemDefaults);\n if (item.defaultRoutes) {\n routeDefaults(scope, item.defaultRoutes);\n }\n if (item.descriptors) {\n defaults.describe(scope, item.descriptors);\n }\n}\nfunction routeDefaults(scope, routes) {\n Object.keys(routes).forEach((property)=>{\n const propertyParts = property.split('.');\n const sourceName = propertyParts.pop();\n const sourceScope = [\n scope\n ].concat(propertyParts).join('.');\n const parts = routes[property].split('.');\n const targetName = parts.pop();\n const targetScope = parts.join('.');\n defaults.route(sourceScope, sourceName, targetScope, targetName);\n });\n}\nfunction isIChartComponent(proto) {\n return 'id' in proto && 'defaults' in proto;\n}\n\nclass Registry {\n constructor(){\n this.controllers = new TypedRegistry(DatasetController, 'datasets', true);\n this.elements = new TypedRegistry(Element, 'elements');\n this.plugins = new TypedRegistry(Object, 'plugins');\n this.scales = new TypedRegistry(Scale, 'scales');\n this._typedRegistries = [\n this.controllers,\n this.scales,\n this.elements\n ];\n }\n add(...args) {\n this._each('register', args);\n }\n remove(...args) {\n this._each('unregister', args);\n }\n addControllers(...args) {\n this._each('register', args, this.controllers);\n }\n addElements(...args) {\n this._each('register', args, this.elements);\n }\n addPlugins(...args) {\n this._each('register', args, this.plugins);\n }\n addScales(...args) {\n this._each('register', args, this.scales);\n }\n getController(id) {\n return this._get(id, this.controllers, 'controller');\n }\n getElement(id) {\n return this._get(id, this.elements, 'element');\n }\n getPlugin(id) {\n return this._get(id, this.plugins, 'plugin');\n }\n getScale(id) {\n return this._get(id, this.scales, 'scale');\n }\n removeControllers(...args) {\n this._each('unregister', args, this.controllers);\n }\n removeElements(...args) {\n this._each('unregister', args, this.elements);\n }\n removePlugins(...args) {\n this._each('unregister', args, this.plugins);\n }\n removeScales(...args) {\n this._each('unregister', args, this.scales);\n }\n _each(method, args, typedRegistry) {\n [\n ...args\n ].forEach((arg)=>{\n const reg = typedRegistry || this._getRegistryForType(arg);\n if (typedRegistry || reg.isForType(arg) || reg === this.plugins && arg.id) {\n this._exec(method, reg, arg);\n } else {\n each(arg, (item)=>{\n const itemReg = typedRegistry || this._getRegistryForType(item);\n this._exec(method, itemReg, item);\n });\n }\n });\n }\n _exec(method, registry, component) {\n const camelMethod = _capitalize(method);\n callback(component['before' + camelMethod], [], component);\n registry[method](component);\n callback(component['after' + camelMethod], [], component);\n }\n _getRegistryForType(type) {\n for(let i = 0; i < this._typedRegistries.length; i++){\n const reg = this._typedRegistries[i];\n if (reg.isForType(type)) {\n return reg;\n }\n }\n return this.plugins;\n }\n _get(id, typedRegistry, type) {\n const item = typedRegistry.get(id);\n if (item === undefined) {\n throw new Error('\"' + id + '\" is not a registered ' + type + '.');\n }\n return item;\n }\n}\nvar registry = /* #__PURE__ */ new Registry();\n\nclass PluginService {\n constructor(){\n this._init = [];\n }\n notify(chart, hook, args, filter) {\n if (hook === 'beforeInit') {\n this._init = this._createDescriptors(chart, true);\n this._notify(this._init, chart, 'install');\n }\n const descriptors = filter ? this._descriptors(chart).filter(filter) : this._descriptors(chart);\n const result = this._notify(descriptors, chart, hook, args);\n if (hook === 'afterDestroy') {\n this._notify(descriptors, chart, 'stop');\n this._notify(this._init, chart, 'uninstall');\n }\n return result;\n }\n _notify(descriptors, chart, hook, args) {\n args = args || {};\n for (const descriptor of descriptors){\n const plugin = descriptor.plugin;\n const method = plugin[hook];\n const params = [\n chart,\n args,\n descriptor.options\n ];\n if (callback(method, params, plugin) === false && args.cancelable) {\n return false;\n }\n }\n return true;\n }\n invalidate() {\n if (!isNullOrUndef(this._cache)) {\n this._oldCache = this._cache;\n this._cache = undefined;\n }\n }\n _descriptors(chart) {\n if (this._cache) {\n return this._cache;\n }\n const descriptors = this._cache = this._createDescriptors(chart);\n this._notifyStateChanges(chart);\n return descriptors;\n }\n _createDescriptors(chart, all) {\n const config = chart && chart.config;\n const options = valueOrDefault(config.options && config.options.plugins, {});\n const plugins = allPlugins(config);\n return options === false && !all ? [] : createDescriptors(chart, plugins, options, all);\n }\n _notifyStateChanges(chart) {\n const previousDescriptors = this._oldCache || [];\n const descriptors = this._cache;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.plugin.id === y.plugin.id));\n this._notify(diff(previousDescriptors, descriptors), chart, 'stop');\n this._notify(diff(descriptors, previousDescriptors), chart, 'start');\n }\n}\n function allPlugins(config) {\n const localIds = {};\n const plugins = [];\n const keys = Object.keys(registry.plugins.items);\n for(let i = 0; i < keys.length; i++){\n plugins.push(registry.getPlugin(keys[i]));\n }\n const local = config.plugins || [];\n for(let i = 0; i < local.length; i++){\n const plugin = local[i];\n if (plugins.indexOf(plugin) === -1) {\n plugins.push(plugin);\n localIds[plugin.id] = true;\n }\n }\n return {\n plugins,\n localIds\n };\n}\nfunction getOpts(options, all) {\n if (!all && options === false) {\n return null;\n }\n if (options === true) {\n return {};\n }\n return options;\n}\nfunction createDescriptors(chart, { plugins , localIds }, options, all) {\n const result = [];\n const context = chart.getContext();\n for (const plugin of plugins){\n const id = plugin.id;\n const opts = getOpts(options[id], all);\n if (opts === null) {\n continue;\n }\n result.push({\n plugin,\n options: pluginOpts(chart.config, {\n plugin,\n local: localIds[id]\n }, opts, context)\n });\n }\n return result;\n}\nfunction pluginOpts(config, { plugin , local }, opts, context) {\n const keys = config.pluginScopeKeys(plugin);\n const scopes = config.getOptionScopes(opts, keys);\n if (local && plugin.defaults) {\n scopes.push(plugin.defaults);\n }\n return config.createResolver(scopes, context, [\n ''\n ], {\n scriptable: false,\n indexable: false,\n allKeys: true\n });\n}\n\nfunction getIndexAxis(type, options) {\n const datasetDefaults = defaults.datasets[type] || {};\n const datasetOptions = (options.datasets || {})[type] || {};\n return datasetOptions.indexAxis || options.indexAxis || datasetDefaults.indexAxis || 'x';\n}\nfunction getAxisFromDefaultScaleID(id, indexAxis) {\n let axis = id;\n if (id === '_index_') {\n axis = indexAxis;\n } else if (id === '_value_') {\n axis = indexAxis === 'x' ? 'y' : 'x';\n }\n return axis;\n}\nfunction getDefaultScaleIDFromAxis(axis, indexAxis) {\n return axis === indexAxis ? '_index_' : '_value_';\n}\nfunction idMatchesAxis(id) {\n if (id === 'x' || id === 'y' || id === 'r') {\n return id;\n }\n}\nfunction axisFromPosition(position) {\n if (position === 'top' || position === 'bottom') {\n return 'x';\n }\n if (position === 'left' || position === 'right') {\n return 'y';\n }\n}\nfunction determineAxis(id, ...scaleOptions) {\n if (idMatchesAxis(id)) {\n return id;\n }\n for (const opts of scaleOptions){\n const axis = opts.axis || axisFromPosition(opts.position) || id.length > 1 && idMatchesAxis(id[0].toLowerCase());\n if (axis) {\n return axis;\n }\n }\n throw new Error(`Cannot determine type of '${id}' axis. Please provide 'axis' or 'position' option.`);\n}\nfunction getAxisFromDataset(id, axis, dataset) {\n if (dataset[axis + 'AxisID'] === id) {\n return {\n axis\n };\n }\n}\nfunction retrieveAxisFromDatasets(id, config) {\n if (config.data && config.data.datasets) {\n const boundDs = config.data.datasets.filter((d)=>d.xAxisID === id || d.yAxisID === id);\n if (boundDs.length) {\n return getAxisFromDataset(id, 'x', boundDs[0]) || getAxisFromDataset(id, 'y', boundDs[0]);\n }\n }\n return {};\n}\nfunction mergeScaleConfig(config, options) {\n const chartDefaults = overrides[config.type] || {\n scales: {}\n };\n const configScales = options.scales || {};\n const chartIndexAxis = getIndexAxis(config.type, options);\n const scales = Object.create(null);\n Object.keys(configScales).forEach((id)=>{\n const scaleConf = configScales[id];\n if (!isObject(scaleConf)) {\n return console.error(`Invalid scale configuration for scale: ${id}`);\n }\n if (scaleConf._proxy) {\n return console.warn(`Ignoring resolver passed as options for scale: ${id}`);\n }\n const axis = determineAxis(id, scaleConf, retrieveAxisFromDatasets(id, config), defaults.scales[scaleConf.type]);\n const defaultId = getDefaultScaleIDFromAxis(axis, chartIndexAxis);\n const defaultScaleOptions = chartDefaults.scales || {};\n scales[id] = mergeIf(Object.create(null), [\n {\n axis\n },\n scaleConf,\n defaultScaleOptions[axis],\n defaultScaleOptions[defaultId]\n ]);\n });\n config.data.datasets.forEach((dataset)=>{\n const type = dataset.type || config.type;\n const indexAxis = dataset.indexAxis || getIndexAxis(type, options);\n const datasetDefaults = overrides[type] || {};\n const defaultScaleOptions = datasetDefaults.scales || {};\n Object.keys(defaultScaleOptions).forEach((defaultID)=>{\n const axis = getAxisFromDefaultScaleID(defaultID, indexAxis);\n const id = dataset[axis + 'AxisID'] || axis;\n scales[id] = scales[id] || Object.create(null);\n mergeIf(scales[id], [\n {\n axis\n },\n configScales[id],\n defaultScaleOptions[defaultID]\n ]);\n });\n });\n Object.keys(scales).forEach((key)=>{\n const scale = scales[key];\n mergeIf(scale, [\n defaults.scales[scale.type],\n defaults.scale\n ]);\n });\n return scales;\n}\nfunction initOptions(config) {\n const options = config.options || (config.options = {});\n options.plugins = valueOrDefault(options.plugins, {});\n options.scales = mergeScaleConfig(config, options);\n}\nfunction initData(data) {\n data = data || {};\n data.datasets = data.datasets || [];\n data.labels = data.labels || [];\n return data;\n}\nfunction initConfig(config) {\n config = config || {};\n config.data = initData(config.data);\n initOptions(config);\n return config;\n}\nconst keyCache = new Map();\nconst keysCached = new Set();\nfunction cachedKeys(cacheKey, generate) {\n let keys = keyCache.get(cacheKey);\n if (!keys) {\n keys = generate();\n keyCache.set(cacheKey, keys);\n keysCached.add(keys);\n }\n return keys;\n}\nconst addIfFound = (set, obj, key)=>{\n const opts = resolveObjectKey(obj, key);\n if (opts !== undefined) {\n set.add(opts);\n }\n};\nclass Config {\n constructor(config){\n this._config = initConfig(config);\n this._scopeCache = new Map();\n this._resolverCache = new Map();\n }\n get platform() {\n return this._config.platform;\n }\n get type() {\n return this._config.type;\n }\n set type(type) {\n this._config.type = type;\n }\n get data() {\n return this._config.data;\n }\n set data(data) {\n this._config.data = initData(data);\n }\n get options() {\n return this._config.options;\n }\n set options(options) {\n this._config.options = options;\n }\n get plugins() {\n return this._config.plugins;\n }\n update() {\n const config = this._config;\n this.clearCache();\n initOptions(config);\n }\n clearCache() {\n this._scopeCache.clear();\n this._resolverCache.clear();\n }\n datasetScopeKeys(datasetType) {\n return cachedKeys(datasetType, ()=>[\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetAnimationScopeKeys(datasetType, transition) {\n return cachedKeys(`${datasetType}.transition.${transition}`, ()=>[\n [\n `datasets.${datasetType}.transitions.${transition}`,\n `transitions.${transition}`\n ],\n [\n `datasets.${datasetType}`,\n ''\n ]\n ]);\n }\n datasetElementScopeKeys(datasetType, elementType) {\n return cachedKeys(`${datasetType}-${elementType}`, ()=>[\n [\n `datasets.${datasetType}.elements.${elementType}`,\n `datasets.${datasetType}`,\n `elements.${elementType}`,\n ''\n ]\n ]);\n }\n pluginScopeKeys(plugin) {\n const id = plugin.id;\n const type = this.type;\n return cachedKeys(`${type}-plugin-${id}`, ()=>[\n [\n `plugins.${id}`,\n ...plugin.additionalOptionScopes || []\n ]\n ]);\n }\n _cachedScopes(mainScope, resetCache) {\n const _scopeCache = this._scopeCache;\n let cache = _scopeCache.get(mainScope);\n if (!cache || resetCache) {\n cache = new Map();\n _scopeCache.set(mainScope, cache);\n }\n return cache;\n }\n getOptionScopes(mainScope, keyLists, resetCache) {\n const { options , type } = this;\n const cache = this._cachedScopes(mainScope, resetCache);\n const cached = cache.get(keyLists);\n if (cached) {\n return cached;\n }\n const scopes = new Set();\n keyLists.forEach((keys)=>{\n if (mainScope) {\n scopes.add(mainScope);\n keys.forEach((key)=>addIfFound(scopes, mainScope, key));\n }\n keys.forEach((key)=>addIfFound(scopes, options, key));\n keys.forEach((key)=>addIfFound(scopes, overrides[type] || {}, key));\n keys.forEach((key)=>addIfFound(scopes, defaults, key));\n keys.forEach((key)=>addIfFound(scopes, descriptors, key));\n });\n const array = Array.from(scopes);\n if (array.length === 0) {\n array.push(Object.create(null));\n }\n if (keysCached.has(keyLists)) {\n cache.set(keyLists, array);\n }\n return array;\n }\n chartOptionScopes() {\n const { options , type } = this;\n return [\n options,\n overrides[type] || {},\n defaults.datasets[type] || {},\n {\n type\n },\n defaults,\n descriptors\n ];\n }\n resolveNamedOptions(scopes, names, context, prefixes = [\n ''\n ]) {\n const result = {\n $shared: true\n };\n const { resolver , subPrefixes } = getResolver(this._resolverCache, scopes, prefixes);\n let options = resolver;\n if (needContext(resolver, names)) {\n result.$shared = false;\n context = isFunction(context) ? context() : context;\n const subResolver = this.createResolver(scopes, context, subPrefixes);\n options = _attachContext(resolver, context, subResolver);\n }\n for (const prop of names){\n result[prop] = options[prop];\n }\n return result;\n }\n createResolver(scopes, context, prefixes = [\n ''\n ], descriptorDefaults) {\n const { resolver } = getResolver(this._resolverCache, scopes, prefixes);\n return isObject(context) ? _attachContext(resolver, context, undefined, descriptorDefaults) : resolver;\n }\n}\nfunction getResolver(resolverCache, scopes, prefixes) {\n let cache = resolverCache.get(scopes);\n if (!cache) {\n cache = new Map();\n resolverCache.set(scopes, cache);\n }\n const cacheKey = prefixes.join();\n let cached = cache.get(cacheKey);\n if (!cached) {\n const resolver = _createResolver(scopes, prefixes);\n cached = {\n resolver,\n subPrefixes: prefixes.filter((p)=>!p.toLowerCase().includes('hover'))\n };\n cache.set(cacheKey, cached);\n }\n return cached;\n}\nconst hasFunction = (value)=>isObject(value) && Object.getOwnPropertyNames(value).some((key)=>isFunction(value[key]));\nfunction needContext(proxy, names) {\n const { isScriptable , isIndexable } = _descriptors(proxy);\n for (const prop of names){\n const scriptable = isScriptable(prop);\n const indexable = isIndexable(prop);\n const value = (indexable || scriptable) && proxy[prop];\n if (scriptable && (isFunction(value) || hasFunction(value)) || indexable && isArray(value)) {\n return true;\n }\n }\n return false;\n}\n\nvar version = \"4.4.3\";\n\nconst KNOWN_POSITIONS = [\n 'top',\n 'bottom',\n 'left',\n 'right',\n 'chartArea'\n];\nfunction positionIsHorizontal(position, axis) {\n return position === 'top' || position === 'bottom' || KNOWN_POSITIONS.indexOf(position) === -1 && axis === 'x';\n}\nfunction compare2Level(l1, l2) {\n return function(a, b) {\n return a[l1] === b[l1] ? a[l2] - b[l2] : a[l1] - b[l1];\n };\n}\nfunction onAnimationsComplete(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n chart.notifyPlugins('afterRender');\n callback(animationOptions && animationOptions.onComplete, [\n context\n ], chart);\n}\nfunction onAnimationProgress(context) {\n const chart = context.chart;\n const animationOptions = chart.options.animation;\n callback(animationOptions && animationOptions.onProgress, [\n context\n ], chart);\n}\n function getCanvas(item) {\n if (_isDomSupported() && typeof item === 'string') {\n item = document.getElementById(item);\n } else if (item && item.length) {\n item = item[0];\n }\n if (item && item.canvas) {\n item = item.canvas;\n }\n return item;\n}\nconst instances = {};\nconst getChart = (key)=>{\n const canvas = getCanvas(key);\n return Object.values(instances).filter((c)=>c.canvas === canvas).pop();\n};\nfunction moveNumericKeys(obj, start, move) {\n const keys = Object.keys(obj);\n for (const key of keys){\n const intKey = +key;\n if (intKey >= start) {\n const value = obj[key];\n delete obj[key];\n if (move > 0 || intKey > start) {\n obj[intKey + move] = value;\n }\n }\n }\n}\n function determineLastEvent(e, lastEvent, inChartArea, isClick) {\n if (!inChartArea || e.type === 'mouseout') {\n return null;\n }\n if (isClick) {\n return lastEvent;\n }\n return e;\n}\nfunction getSizeForArea(scale, chartArea, field) {\n return scale.options.clip ? scale[field] : chartArea[field];\n}\nfunction getDatasetArea(meta, chartArea) {\n const { xScale , yScale } = meta;\n if (xScale && yScale) {\n return {\n left: getSizeForArea(xScale, chartArea, 'left'),\n right: getSizeForArea(xScale, chartArea, 'right'),\n top: getSizeForArea(yScale, chartArea, 'top'),\n bottom: getSizeForArea(yScale, chartArea, 'bottom')\n };\n }\n return chartArea;\n}\nclass Chart {\n static defaults = defaults;\n static instances = instances;\n static overrides = overrides;\n static registry = registry;\n static version = version;\n static getChart = getChart;\n static register(...items) {\n registry.add(...items);\n invalidatePlugins();\n }\n static unregister(...items) {\n registry.remove(...items);\n invalidatePlugins();\n }\n constructor(item, userConfig){\n const config = this.config = new Config(userConfig);\n const initialCanvas = getCanvas(item);\n const existingChart = getChart(initialCanvas);\n if (existingChart) {\n throw new Error('Canvas is already in use. Chart with ID \\'' + existingChart.id + '\\'' + ' must be destroyed before the canvas with ID \\'' + existingChart.canvas.id + '\\' can be reused.');\n }\n const options = config.createResolver(config.chartOptionScopes(), this.getContext());\n this.platform = new (config.platform || _detectPlatform(initialCanvas))();\n this.platform.updateConfig(config);\n const context = this.platform.acquireContext(initialCanvas, options.aspectRatio);\n const canvas = context && context.canvas;\n const height = canvas && canvas.height;\n const width = canvas && canvas.width;\n this.id = uid();\n this.ctx = context;\n this.canvas = canvas;\n this.width = width;\n this.height = height;\n this._options = options;\n this._aspectRatio = this.aspectRatio;\n this._layers = [];\n this._metasets = [];\n this._stacks = undefined;\n this.boxes = [];\n this.currentDevicePixelRatio = undefined;\n this.chartArea = undefined;\n this._active = [];\n this._lastEvent = undefined;\n this._listeners = {};\n this._responsiveListeners = undefined;\n this._sortedMetasets = [];\n this.scales = {};\n this._plugins = new PluginService();\n this.$proxies = {};\n this._hiddenIndices = {};\n this.attached = false;\n this._animationsDisabled = undefined;\n this.$context = undefined;\n this._doResize = debounce((mode)=>this.update(mode), options.resizeDelay || 0);\n this._dataChanges = [];\n instances[this.id] = this;\n if (!context || !canvas) {\n console.error(\"Failed to create chart: can't acquire context from the given item\");\n return;\n }\n animator.listen(this, 'complete', onAnimationsComplete);\n animator.listen(this, 'progress', onAnimationProgress);\n this._initialize();\n if (this.attached) {\n this.update();\n }\n }\n get aspectRatio() {\n const { options: { aspectRatio , maintainAspectRatio } , width , height , _aspectRatio } = this;\n if (!isNullOrUndef(aspectRatio)) {\n return aspectRatio;\n }\n if (maintainAspectRatio && _aspectRatio) {\n return _aspectRatio;\n }\n return height ? width / height : null;\n }\n get data() {\n return this.config.data;\n }\n set data(data) {\n this.config.data = data;\n }\n get options() {\n return this._options;\n }\n set options(options) {\n this.config.options = options;\n }\n get registry() {\n return registry;\n }\n _initialize() {\n this.notifyPlugins('beforeInit');\n if (this.options.responsive) {\n this.resize();\n } else {\n retinaScale(this, this.options.devicePixelRatio);\n }\n this.bindEvents();\n this.notifyPlugins('afterInit');\n return this;\n }\n clear() {\n clearCanvas(this.canvas, this.ctx);\n return this;\n }\n stop() {\n animator.stop(this);\n return this;\n }\n resize(width, height) {\n if (!animator.running(this)) {\n this._resize(width, height);\n } else {\n this._resizeBeforeDraw = {\n width,\n height\n };\n }\n }\n _resize(width, height) {\n const options = this.options;\n const canvas = this.canvas;\n const aspectRatio = options.maintainAspectRatio && this.aspectRatio;\n const newSize = this.platform.getMaximumSize(canvas, width, height, aspectRatio);\n const newRatio = options.devicePixelRatio || this.platform.getDevicePixelRatio();\n const mode = this.width ? 'resize' : 'attach';\n this.width = newSize.width;\n this.height = newSize.height;\n this._aspectRatio = this.aspectRatio;\n if (!retinaScale(this, newRatio, true)) {\n return;\n }\n this.notifyPlugins('resize', {\n size: newSize\n });\n callback(options.onResize, [\n this,\n newSize\n ], this);\n if (this.attached) {\n if (this._doResize(mode)) {\n this.render();\n }\n }\n }\n ensureScalesHaveIDs() {\n const options = this.options;\n const scalesOptions = options.scales || {};\n each(scalesOptions, (axisOptions, axisID)=>{\n axisOptions.id = axisID;\n });\n }\n buildOrUpdateScales() {\n const options = this.options;\n const scaleOpts = options.scales;\n const scales = this.scales;\n const updated = Object.keys(scales).reduce((obj, id)=>{\n obj[id] = false;\n return obj;\n }, {});\n let items = [];\n if (scaleOpts) {\n items = items.concat(Object.keys(scaleOpts).map((id)=>{\n const scaleOptions = scaleOpts[id];\n const axis = determineAxis(id, scaleOptions);\n const isRadial = axis === 'r';\n const isHorizontal = axis === 'x';\n return {\n options: scaleOptions,\n dposition: isRadial ? 'chartArea' : isHorizontal ? 'bottom' : 'left',\n dtype: isRadial ? 'radialLinear' : isHorizontal ? 'category' : 'linear'\n };\n }));\n }\n each(items, (item)=>{\n const scaleOptions = item.options;\n const id = scaleOptions.id;\n const axis = determineAxis(id, scaleOptions);\n const scaleType = valueOrDefault(scaleOptions.type, item.dtype);\n if (scaleOptions.position === undefined || positionIsHorizontal(scaleOptions.position, axis) !== positionIsHorizontal(item.dposition)) {\n scaleOptions.position = item.dposition;\n }\n updated[id] = true;\n let scale = null;\n if (id in scales && scales[id].type === scaleType) {\n scale = scales[id];\n } else {\n const scaleClass = registry.getScale(scaleType);\n scale = new scaleClass({\n id,\n type: scaleType,\n ctx: this.ctx,\n chart: this\n });\n scales[scale.id] = scale;\n }\n scale.init(scaleOptions, options);\n });\n each(updated, (hasUpdated, id)=>{\n if (!hasUpdated) {\n delete scales[id];\n }\n });\n each(scales, (scale)=>{\n layouts.configure(this, scale, scale.options);\n layouts.addBox(this, scale);\n });\n }\n _updateMetasets() {\n const metasets = this._metasets;\n const numData = this.data.datasets.length;\n const numMeta = metasets.length;\n metasets.sort((a, b)=>a.index - b.index);\n if (numMeta > numData) {\n for(let i = numData; i < numMeta; ++i){\n this._destroyDatasetMeta(i);\n }\n metasets.splice(numData, numMeta - numData);\n }\n this._sortedMetasets = metasets.slice(0).sort(compare2Level('order', 'index'));\n }\n _removeUnreferencedMetasets() {\n const { _metasets: metasets , data: { datasets } } = this;\n if (metasets.length > datasets.length) {\n delete this._stacks;\n }\n metasets.forEach((meta, index)=>{\n if (datasets.filter((x)=>x === meta._dataset).length === 0) {\n this._destroyDatasetMeta(index);\n }\n });\n }\n buildOrUpdateControllers() {\n const newControllers = [];\n const datasets = this.data.datasets;\n let i, ilen;\n this._removeUnreferencedMetasets();\n for(i = 0, ilen = datasets.length; i < ilen; i++){\n const dataset = datasets[i];\n let meta = this.getDatasetMeta(i);\n const type = dataset.type || this.config.type;\n if (meta.type && meta.type !== type) {\n this._destroyDatasetMeta(i);\n meta = this.getDatasetMeta(i);\n }\n meta.type = type;\n meta.indexAxis = dataset.indexAxis || getIndexAxis(type, this.options);\n meta.order = dataset.order || 0;\n meta.index = i;\n meta.label = '' + dataset.label;\n meta.visible = this.isDatasetVisible(i);\n if (meta.controller) {\n meta.controller.updateIndex(i);\n meta.controller.linkScales();\n } else {\n const ControllerClass = registry.getController(type);\n const { datasetElementType , dataElementType } = defaults.datasets[type];\n Object.assign(ControllerClass, {\n dataElementType: registry.getElement(dataElementType),\n datasetElementType: datasetElementType && registry.getElement(datasetElementType)\n });\n meta.controller = new ControllerClass(this, i);\n newControllers.push(meta.controller);\n }\n }\n this._updateMetasets();\n return newControllers;\n }\n _resetElements() {\n each(this.data.datasets, (dataset, datasetIndex)=>{\n this.getDatasetMeta(datasetIndex).controller.reset();\n }, this);\n }\n reset() {\n this._resetElements();\n this.notifyPlugins('reset');\n }\n update(mode) {\n const config = this.config;\n config.update();\n const options = this._options = config.createResolver(config.chartOptionScopes(), this.getContext());\n const animsDisabled = this._animationsDisabled = !options.animation;\n this._updateScales();\n this._checkEventBindings();\n this._updateHiddenIndices();\n this._plugins.invalidate();\n if (this.notifyPlugins('beforeUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n const newControllers = this.buildOrUpdateControllers();\n this.notifyPlugins('beforeElementsUpdate');\n let minPadding = 0;\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; i++){\n const { controller } = this.getDatasetMeta(i);\n const reset = !animsDisabled && newControllers.indexOf(controller) === -1;\n controller.buildOrUpdateElements(reset);\n minPadding = Math.max(+controller.getMaxOverflow(), minPadding);\n }\n minPadding = this._minPadding = options.layout.autoPadding ? minPadding : 0;\n this._updateLayout(minPadding);\n if (!animsDisabled) {\n each(newControllers, (controller)=>{\n controller.reset();\n });\n }\n this._updateDatasets(mode);\n this.notifyPlugins('afterUpdate', {\n mode\n });\n this._layers.sort(compare2Level('z', '_idx'));\n const { _active , _lastEvent } = this;\n if (_lastEvent) {\n this._eventHandler(_lastEvent, true);\n } else if (_active.length) {\n this._updateHoverStyles(_active, _active, true);\n }\n this.render();\n }\n _updateScales() {\n each(this.scales, (scale)=>{\n layouts.removeBox(this, scale);\n });\n this.ensureScalesHaveIDs();\n this.buildOrUpdateScales();\n }\n _checkEventBindings() {\n const options = this.options;\n const existingEvents = new Set(Object.keys(this._listeners));\n const newEvents = new Set(options.events);\n if (!setsEqual(existingEvents, newEvents) || !!this._responsiveListeners !== options.responsive) {\n this.unbindEvents();\n this.bindEvents();\n }\n }\n _updateHiddenIndices() {\n const { _hiddenIndices } = this;\n const changes = this._getUniformDataChanges() || [];\n for (const { method , start , count } of changes){\n const move = method === '_removeElements' ? -count : count;\n moveNumericKeys(_hiddenIndices, start, move);\n }\n }\n _getUniformDataChanges() {\n const _dataChanges = this._dataChanges;\n if (!_dataChanges || !_dataChanges.length) {\n return;\n }\n this._dataChanges = [];\n const datasetCount = this.data.datasets.length;\n const makeSet = (idx)=>new Set(_dataChanges.filter((c)=>c[0] === idx).map((c, i)=>i + ',' + c.splice(1).join(',')));\n const changeSet = makeSet(0);\n for(let i = 1; i < datasetCount; i++){\n if (!setsEqual(changeSet, makeSet(i))) {\n return;\n }\n }\n return Array.from(changeSet).map((c)=>c.split(',')).map((a)=>({\n method: a[1],\n start: +a[2],\n count: +a[3]\n }));\n }\n _updateLayout(minPadding) {\n if (this.notifyPlugins('beforeLayout', {\n cancelable: true\n }) === false) {\n return;\n }\n layouts.update(this, this.width, this.height, minPadding);\n const area = this.chartArea;\n const noArea = area.width <= 0 || area.height <= 0;\n this._layers = [];\n each(this.boxes, (box)=>{\n if (noArea && box.position === 'chartArea') {\n return;\n }\n if (box.configure) {\n box.configure();\n }\n this._layers.push(...box._layers());\n }, this);\n this._layers.forEach((item, index)=>{\n item._idx = index;\n });\n this.notifyPlugins('afterLayout');\n }\n _updateDatasets(mode) {\n if (this.notifyPlugins('beforeDatasetsUpdate', {\n mode,\n cancelable: true\n }) === false) {\n return;\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this.getDatasetMeta(i).controller.configure();\n }\n for(let i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._updateDataset(i, isFunction(mode) ? mode({\n datasetIndex: i\n }) : mode);\n }\n this.notifyPlugins('afterDatasetsUpdate', {\n mode\n });\n }\n _updateDataset(index, mode) {\n const meta = this.getDatasetMeta(index);\n const args = {\n meta,\n index,\n mode,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetUpdate', args) === false) {\n return;\n }\n meta.controller._update(mode);\n args.cancelable = false;\n this.notifyPlugins('afterDatasetUpdate', args);\n }\n render() {\n if (this.notifyPlugins('beforeRender', {\n cancelable: true\n }) === false) {\n return;\n }\n if (animator.has(this)) {\n if (this.attached && !animator.running(this)) {\n animator.start(this);\n }\n } else {\n this.draw();\n onAnimationsComplete({\n chart: this\n });\n }\n }\n draw() {\n let i;\n if (this._resizeBeforeDraw) {\n const { width , height } = this._resizeBeforeDraw;\n this._resize(width, height);\n this._resizeBeforeDraw = null;\n }\n this.clear();\n if (this.width <= 0 || this.height <= 0) {\n return;\n }\n if (this.notifyPlugins('beforeDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const layers = this._layers;\n for(i = 0; i < layers.length && layers[i].z <= 0; ++i){\n layers[i].draw(this.chartArea);\n }\n this._drawDatasets();\n for(; i < layers.length; ++i){\n layers[i].draw(this.chartArea);\n }\n this.notifyPlugins('afterDraw');\n }\n _getSortedDatasetMetas(filterVisible) {\n const metasets = this._sortedMetasets;\n const result = [];\n let i, ilen;\n for(i = 0, ilen = metasets.length; i < ilen; ++i){\n const meta = metasets[i];\n if (!filterVisible || meta.visible) {\n result.push(meta);\n }\n }\n return result;\n }\n getSortedVisibleDatasetMetas() {\n return this._getSortedDatasetMetas(true);\n }\n _drawDatasets() {\n if (this.notifyPlugins('beforeDatasetsDraw', {\n cancelable: true\n }) === false) {\n return;\n }\n const metasets = this.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n this._drawDataset(metasets[i]);\n }\n this.notifyPlugins('afterDatasetsDraw');\n }\n _drawDataset(meta) {\n const ctx = this.ctx;\n const clip = meta._clip;\n const useClip = !clip.disabled;\n const area = getDatasetArea(meta, this.chartArea);\n const args = {\n meta,\n index: meta.index,\n cancelable: true\n };\n if (this.notifyPlugins('beforeDatasetDraw', args) === false) {\n return;\n }\n if (useClip) {\n clipArea(ctx, {\n left: clip.left === false ? 0 : area.left - clip.left,\n right: clip.right === false ? this.width : area.right + clip.right,\n top: clip.top === false ? 0 : area.top - clip.top,\n bottom: clip.bottom === false ? this.height : area.bottom + clip.bottom\n });\n }\n meta.controller.draw();\n if (useClip) {\n unclipArea(ctx);\n }\n args.cancelable = false;\n this.notifyPlugins('afterDatasetDraw', args);\n }\n isPointInArea(point) {\n return _isPointInArea(point, this.chartArea, this._minPadding);\n }\n getElementsAtEventForMode(e, mode, options, useFinalPosition) {\n const method = Interaction.modes[mode];\n if (typeof method === 'function') {\n return method(this, e, options, useFinalPosition);\n }\n return [];\n }\n getDatasetMeta(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n const metasets = this._metasets;\n let meta = metasets.filter((x)=>x && x._dataset === dataset).pop();\n if (!meta) {\n meta = {\n type: null,\n data: [],\n dataset: null,\n controller: null,\n hidden: null,\n xAxisID: null,\n yAxisID: null,\n order: dataset && dataset.order || 0,\n index: datasetIndex,\n _dataset: dataset,\n _parsed: [],\n _sorted: false\n };\n metasets.push(meta);\n }\n return meta;\n }\n getContext() {\n return this.$context || (this.$context = createContext(null, {\n chart: this,\n type: 'chart'\n }));\n }\n getVisibleDatasetCount() {\n return this.getSortedVisibleDatasetMetas().length;\n }\n isDatasetVisible(datasetIndex) {\n const dataset = this.data.datasets[datasetIndex];\n if (!dataset) {\n return false;\n }\n const meta = this.getDatasetMeta(datasetIndex);\n return typeof meta.hidden === 'boolean' ? !meta.hidden : !dataset.hidden;\n }\n setDatasetVisibility(datasetIndex, visible) {\n const meta = this.getDatasetMeta(datasetIndex);\n meta.hidden = !visible;\n }\n toggleDataVisibility(index) {\n this._hiddenIndices[index] = !this._hiddenIndices[index];\n }\n getDataVisibility(index) {\n return !this._hiddenIndices[index];\n }\n _updateVisibility(datasetIndex, dataIndex, visible) {\n const mode = visible ? 'show' : 'hide';\n const meta = this.getDatasetMeta(datasetIndex);\n const anims = meta.controller._resolveAnimations(undefined, mode);\n if (defined(dataIndex)) {\n meta.data[dataIndex].hidden = !visible;\n this.update();\n } else {\n this.setDatasetVisibility(datasetIndex, visible);\n anims.update(meta, {\n visible\n });\n this.update((ctx)=>ctx.datasetIndex === datasetIndex ? mode : undefined);\n }\n }\n hide(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, false);\n }\n show(datasetIndex, dataIndex) {\n this._updateVisibility(datasetIndex, dataIndex, true);\n }\n _destroyDatasetMeta(datasetIndex) {\n const meta = this._metasets[datasetIndex];\n if (meta && meta.controller) {\n meta.controller._destroy();\n }\n delete this._metasets[datasetIndex];\n }\n _stop() {\n let i, ilen;\n this.stop();\n animator.remove(this);\n for(i = 0, ilen = this.data.datasets.length; i < ilen; ++i){\n this._destroyDatasetMeta(i);\n }\n }\n destroy() {\n this.notifyPlugins('beforeDestroy');\n const { canvas , ctx } = this;\n this._stop();\n this.config.clearCache();\n if (canvas) {\n this.unbindEvents();\n clearCanvas(canvas, ctx);\n this.platform.releaseContext(ctx);\n this.canvas = null;\n this.ctx = null;\n }\n delete instances[this.id];\n this.notifyPlugins('afterDestroy');\n }\n toBase64Image(...args) {\n return this.canvas.toDataURL(...args);\n }\n bindEvents() {\n this.bindUserEvents();\n if (this.options.responsive) {\n this.bindResponsiveEvents();\n } else {\n this.attached = true;\n }\n }\n bindUserEvents() {\n const listeners = this._listeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const listener = (e, x, y)=>{\n e.offsetX = x;\n e.offsetY = y;\n this._eventHandler(e);\n };\n each(this.options.events, (type)=>_add(type, listener));\n }\n bindResponsiveEvents() {\n if (!this._responsiveListeners) {\n this._responsiveListeners = {};\n }\n const listeners = this._responsiveListeners;\n const platform = this.platform;\n const _add = (type, listener)=>{\n platform.addEventListener(this, type, listener);\n listeners[type] = listener;\n };\n const _remove = (type, listener)=>{\n if (listeners[type]) {\n platform.removeEventListener(this, type, listener);\n delete listeners[type];\n }\n };\n const listener = (width, height)=>{\n if (this.canvas) {\n this.resize(width, height);\n }\n };\n let detached;\n const attached = ()=>{\n _remove('attach', attached);\n this.attached = true;\n this.resize();\n _add('resize', listener);\n _add('detach', detached);\n };\n detached = ()=>{\n this.attached = false;\n _remove('resize', listener);\n this._stop();\n this._resize(0, 0);\n _add('attach', attached);\n };\n if (platform.isAttached(this.canvas)) {\n attached();\n } else {\n detached();\n }\n }\n unbindEvents() {\n each(this._listeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._listeners = {};\n each(this._responsiveListeners, (listener, type)=>{\n this.platform.removeEventListener(this, type, listener);\n });\n this._responsiveListeners = undefined;\n }\n updateHoverStyle(items, mode, enabled) {\n const prefix = enabled ? 'set' : 'remove';\n let meta, item, i, ilen;\n if (mode === 'dataset') {\n meta = this.getDatasetMeta(items[0].datasetIndex);\n meta.controller['_' + prefix + 'DatasetHoverStyle']();\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n item = items[i];\n const controller = item && this.getDatasetMeta(item.datasetIndex).controller;\n if (controller) {\n controller[prefix + 'HoverStyle'](item.element, item.datasetIndex, item.index);\n }\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements) {\n const lastActive = this._active || [];\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('No dataset found at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(active, lastActive);\n if (changed) {\n this._active = active;\n this._lastEvent = null;\n this._updateHoverStyles(active, lastActive);\n }\n }\n notifyPlugins(hook, args, filter) {\n return this._plugins.notify(this, hook, args, filter);\n }\n isPluginEnabled(pluginId) {\n return this._plugins._cache.filter((p)=>p.plugin.id === pluginId).length === 1;\n }\n _updateHoverStyles(active, lastActive, replay) {\n const hoverOptions = this.options.hover;\n const diff = (a, b)=>a.filter((x)=>!b.some((y)=>x.datasetIndex === y.datasetIndex && x.index === y.index));\n const deactivated = diff(lastActive, active);\n const activated = replay ? active : diff(active, lastActive);\n if (deactivated.length) {\n this.updateHoverStyle(deactivated, hoverOptions.mode, false);\n }\n if (activated.length && hoverOptions.mode) {\n this.updateHoverStyle(activated, hoverOptions.mode, true);\n }\n }\n _eventHandler(e, replay) {\n const args = {\n event: e,\n replay,\n cancelable: true,\n inChartArea: this.isPointInArea(e)\n };\n const eventFilter = (plugin)=>(plugin.options.events || this.options.events).includes(e.native.type);\n if (this.notifyPlugins('beforeEvent', args, eventFilter) === false) {\n return;\n }\n const changed = this._handleEvent(e, replay, args.inChartArea);\n args.cancelable = false;\n this.notifyPlugins('afterEvent', args, eventFilter);\n if (changed || args.changed) {\n this.render();\n }\n return this;\n }\n _handleEvent(e, replay, inChartArea) {\n const { _active: lastActive = [] , options } = this;\n const useFinalPosition = replay;\n const active = this._getActiveElements(e, lastActive, inChartArea, useFinalPosition);\n const isClick = _isClickEvent(e);\n const lastEvent = determineLastEvent(e, this._lastEvent, inChartArea, isClick);\n if (inChartArea) {\n this._lastEvent = null;\n callback(options.onHover, [\n e,\n active,\n this\n ], this);\n if (isClick) {\n callback(options.onClick, [\n e,\n active,\n this\n ], this);\n }\n }\n const changed = !_elementsEqual(active, lastActive);\n if (changed || replay) {\n this._active = active;\n this._updateHoverStyles(active, lastActive, replay);\n }\n this._lastEvent = lastEvent;\n return changed;\n }\n _getActiveElements(e, lastActive, inChartArea, useFinalPosition) {\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive;\n }\n const hoverOptions = this.options.hover;\n return this.getElementsAtEventForMode(e, hoverOptions.mode, hoverOptions, useFinalPosition);\n }\n}\nfunction invalidatePlugins() {\n return each(Chart.instances, (chart)=>chart._plugins.invalidate());\n}\n\nfunction clipArc(ctx, element, endAngle) {\n const { startAngle , pixelMargin , x , y , outerRadius , innerRadius } = element;\n let angleMargin = pixelMargin / outerRadius;\n // Draw an inner border by clipping the arc and drawing a double-width border\n // Enlarge the clipping arc by 0.33 pixels to eliminate glitches between borders\n ctx.beginPath();\n ctx.arc(x, y, outerRadius, startAngle - angleMargin, endAngle + angleMargin);\n if (innerRadius > pixelMargin) {\n angleMargin = pixelMargin / innerRadius;\n ctx.arc(x, y, innerRadius, endAngle + angleMargin, startAngle - angleMargin, true);\n } else {\n ctx.arc(x, y, pixelMargin, endAngle + HALF_PI, startAngle - HALF_PI);\n }\n ctx.closePath();\n ctx.clip();\n}\nfunction toRadiusCorners(value) {\n return _readValueToProps(value, [\n 'outerStart',\n 'outerEnd',\n 'innerStart',\n 'innerEnd'\n ]);\n}\n/**\n * Parse border radius from the provided options\n */ function parseBorderRadius$1(arc, innerRadius, outerRadius, angleDelta) {\n const o = toRadiusCorners(arc.options.borderRadius);\n const halfThickness = (outerRadius - innerRadius) / 2;\n const innerLimit = Math.min(halfThickness, angleDelta * innerRadius / 2);\n // Outer limits are complicated. We want to compute the available angular distance at\n // a radius of outerRadius - borderRadius because for small angular distances, this term limits.\n // We compute at r = outerRadius - borderRadius because this circle defines the center of the border corners.\n //\n // If the borderRadius is large, that value can become negative.\n // This causes the outer borders to lose their radius entirely, which is rather unexpected. To solve that, if borderRadius > outerRadius\n // we know that the thickness term will dominate and compute the limits at that point\n const computeOuterLimit = (val)=>{\n const outerArcLimit = (outerRadius - Math.min(halfThickness, val)) * angleDelta / 2;\n return _limitValue(val, 0, Math.min(halfThickness, outerArcLimit));\n };\n return {\n outerStart: computeOuterLimit(o.outerStart),\n outerEnd: computeOuterLimit(o.outerEnd),\n innerStart: _limitValue(o.innerStart, 0, innerLimit),\n innerEnd: _limitValue(o.innerEnd, 0, innerLimit)\n };\n}\n/**\n * Convert (r, 𝜃) to (x, y)\n */ function rThetaToXY(r, theta, x, y) {\n return {\n x: x + r * Math.cos(theta),\n y: y + r * Math.sin(theta)\n };\n}\n/**\n * Path the arc, respecting border radius by separating into left and right halves.\n *\n * Start End\n *\n * 1--->a--->2 Outer\n * / \\\n * 8 3\n * | |\n * | |\n * 7 4\n * \\ /\n * 6<---b<---5 Inner\n */ function pathArc(ctx, element, offset, spacing, end, circular) {\n const { x , y , startAngle: start , pixelMargin , innerRadius: innerR } = element;\n const outerRadius = Math.max(element.outerRadius + spacing + offset - pixelMargin, 0);\n const innerRadius = innerR > 0 ? innerR + spacing + offset + pixelMargin : 0;\n let spacingOffset = 0;\n const alpha = end - start;\n if (spacing) {\n // When spacing is present, it is the same for all items\n // So we adjust the start and end angle of the arc such that\n // the distance is the same as it would be without the spacing\n const noSpacingInnerRadius = innerR > 0 ? innerR - spacing : 0;\n const noSpacingOuterRadius = outerRadius > 0 ? outerRadius - spacing : 0;\n const avNogSpacingRadius = (noSpacingInnerRadius + noSpacingOuterRadius) / 2;\n const adjustedAngle = avNogSpacingRadius !== 0 ? alpha * avNogSpacingRadius / (avNogSpacingRadius + spacing) : alpha;\n spacingOffset = (alpha - adjustedAngle) / 2;\n }\n const beta = Math.max(0.001, alpha * outerRadius - offset / PI) / outerRadius;\n const angleOffset = (alpha - beta) / 2;\n const startAngle = start + angleOffset + spacingOffset;\n const endAngle = end - angleOffset - spacingOffset;\n const { outerStart , outerEnd , innerStart , innerEnd } = parseBorderRadius$1(element, innerRadius, outerRadius, endAngle - startAngle);\n const outerStartAdjustedRadius = outerRadius - outerStart;\n const outerEndAdjustedRadius = outerRadius - outerEnd;\n const outerStartAdjustedAngle = startAngle + outerStart / outerStartAdjustedRadius;\n const outerEndAdjustedAngle = endAngle - outerEnd / outerEndAdjustedRadius;\n const innerStartAdjustedRadius = innerRadius + innerStart;\n const innerEndAdjustedRadius = innerRadius + innerEnd;\n const innerStartAdjustedAngle = startAngle + innerStart / innerStartAdjustedRadius;\n const innerEndAdjustedAngle = endAngle - innerEnd / innerEndAdjustedRadius;\n ctx.beginPath();\n if (circular) {\n // The first arc segments from point 1 to point a to point 2\n const outerMidAdjustedAngle = (outerStartAdjustedAngle + outerEndAdjustedAngle) / 2;\n ctx.arc(x, y, outerRadius, outerStartAdjustedAngle, outerMidAdjustedAngle);\n ctx.arc(x, y, outerRadius, outerMidAdjustedAngle, outerEndAdjustedAngle);\n // The corner segment from point 2 to point 3\n if (outerEnd > 0) {\n const pCenter = rThetaToXY(outerEndAdjustedRadius, outerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerEnd, outerEndAdjustedAngle, endAngle + HALF_PI);\n }\n // The line from point 3 to point 4\n const p4 = rThetaToXY(innerEndAdjustedRadius, endAngle, x, y);\n ctx.lineTo(p4.x, p4.y);\n // The corner segment from point 4 to point 5\n if (innerEnd > 0) {\n const pCenter = rThetaToXY(innerEndAdjustedRadius, innerEndAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerEnd, endAngle + HALF_PI, innerEndAdjustedAngle + Math.PI);\n }\n // The inner arc from point 5 to point b to point 6\n const innerMidAdjustedAngle = (endAngle - innerEnd / innerRadius + (startAngle + innerStart / innerRadius)) / 2;\n ctx.arc(x, y, innerRadius, endAngle - innerEnd / innerRadius, innerMidAdjustedAngle, true);\n ctx.arc(x, y, innerRadius, innerMidAdjustedAngle, startAngle + innerStart / innerRadius, true);\n // The corner segment from point 6 to point 7\n if (innerStart > 0) {\n const pCenter = rThetaToXY(innerStartAdjustedRadius, innerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, innerStart, innerStartAdjustedAngle + Math.PI, startAngle - HALF_PI);\n }\n // The line from point 7 to point 8\n const p8 = rThetaToXY(outerStartAdjustedRadius, startAngle, x, y);\n ctx.lineTo(p8.x, p8.y);\n // The corner segment from point 8 to point 1\n if (outerStart > 0) {\n const pCenter = rThetaToXY(outerStartAdjustedRadius, outerStartAdjustedAngle, x, y);\n ctx.arc(pCenter.x, pCenter.y, outerStart, startAngle - HALF_PI, outerStartAdjustedAngle);\n }\n } else {\n ctx.moveTo(x, y);\n const outerStartX = Math.cos(outerStartAdjustedAngle) * outerRadius + x;\n const outerStartY = Math.sin(outerStartAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerStartX, outerStartY);\n const outerEndX = Math.cos(outerEndAdjustedAngle) * outerRadius + x;\n const outerEndY = Math.sin(outerEndAdjustedAngle) * outerRadius + y;\n ctx.lineTo(outerEndX, outerEndY);\n }\n ctx.closePath();\n}\nfunction drawArc(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference } = element;\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.fill();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.fill();\n return endAngle;\n}\nfunction drawBorder(ctx, element, offset, spacing, circular) {\n const { fullCircles , startAngle , circumference , options } = element;\n const { borderWidth , borderJoinStyle , borderDash , borderDashOffset } = options;\n const inner = options.borderAlign === 'inner';\n if (!borderWidth) {\n return;\n }\n ctx.setLineDash(borderDash || []);\n ctx.lineDashOffset = borderDashOffset;\n if (inner) {\n ctx.lineWidth = borderWidth * 2;\n ctx.lineJoin = borderJoinStyle || 'round';\n } else {\n ctx.lineWidth = borderWidth;\n ctx.lineJoin = borderJoinStyle || 'bevel';\n }\n let endAngle = element.endAngle;\n if (fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n for(let i = 0; i < fullCircles; ++i){\n ctx.stroke();\n }\n if (!isNaN(circumference)) {\n endAngle = startAngle + (circumference % TAU || TAU);\n }\n }\n if (inner) {\n clipArc(ctx, element, endAngle);\n }\n if (!fullCircles) {\n pathArc(ctx, element, offset, spacing, endAngle, circular);\n ctx.stroke();\n }\n}\nclass ArcElement extends Element {\n static id = 'arc';\n static defaults = {\n borderAlign: 'center',\n borderColor: '#fff',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: undefined,\n borderRadius: 0,\n borderWidth: 2,\n offset: 0,\n spacing: 0,\n angle: undefined,\n circular: true\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash'\n };\n circumference;\n endAngle;\n fullCircles;\n innerRadius;\n outerRadius;\n pixelMargin;\n startAngle;\n constructor(cfg){\n super();\n this.options = undefined;\n this.circumference = undefined;\n this.startAngle = undefined;\n this.endAngle = undefined;\n this.innerRadius = undefined;\n this.outerRadius = undefined;\n this.pixelMargin = 0;\n this.fullCircles = 0;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(chartX, chartY, useFinalPosition) {\n const point = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n const { angle , distance } = getAngleFromPoint(point, {\n x: chartX,\n y: chartY\n });\n const { startAngle , endAngle , innerRadius , outerRadius , circumference } = this.getProps([\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius',\n 'circumference'\n ], useFinalPosition);\n const rAdjust = (this.options.spacing + this.options.borderWidth) / 2;\n const _circumference = valueOrDefault(circumference, endAngle - startAngle);\n const betweenAngles = _circumference >= TAU || _angleBetween(angle, startAngle, endAngle);\n const withinRadius = _isBetween(distance, innerRadius + rAdjust, outerRadius + rAdjust);\n return betweenAngles && withinRadius;\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , startAngle , endAngle , innerRadius , outerRadius } = this.getProps([\n 'x',\n 'y',\n 'startAngle',\n 'endAngle',\n 'innerRadius',\n 'outerRadius'\n ], useFinalPosition);\n const { offset , spacing } = this.options;\n const halfAngle = (startAngle + endAngle) / 2;\n const halfRadius = (innerRadius + outerRadius + spacing + offset) / 2;\n return {\n x: x + Math.cos(halfAngle) * halfRadius,\n y: y + Math.sin(halfAngle) * halfRadius\n };\n }\n tooltipPosition(useFinalPosition) {\n return this.getCenterPoint(useFinalPosition);\n }\n draw(ctx) {\n const { options , circumference } = this;\n const offset = (options.offset || 0) / 4;\n const spacing = (options.spacing || 0) / 2;\n const circular = options.circular;\n this.pixelMargin = options.borderAlign === 'inner' ? 0.33 : 0;\n this.fullCircles = circumference > TAU ? Math.floor(circumference / TAU) : 0;\n if (circumference === 0 || this.innerRadius < 0 || this.outerRadius < 0) {\n return;\n }\n ctx.save();\n const halfAngle = (this.startAngle + this.endAngle) / 2;\n ctx.translate(Math.cos(halfAngle) * offset, Math.sin(halfAngle) * offset);\n const fix = 1 - Math.sin(Math.min(PI, circumference || 0));\n const radiusOffset = offset * fix;\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n drawArc(ctx, this, radiusOffset, spacing, circular);\n drawBorder(ctx, this, radiusOffset, spacing, circular);\n ctx.restore();\n }\n}\n\nfunction setStyle(ctx, options, style = options) {\n ctx.lineCap = valueOrDefault(style.borderCapStyle, options.borderCapStyle);\n ctx.setLineDash(valueOrDefault(style.borderDash, options.borderDash));\n ctx.lineDashOffset = valueOrDefault(style.borderDashOffset, options.borderDashOffset);\n ctx.lineJoin = valueOrDefault(style.borderJoinStyle, options.borderJoinStyle);\n ctx.lineWidth = valueOrDefault(style.borderWidth, options.borderWidth);\n ctx.strokeStyle = valueOrDefault(style.borderColor, options.borderColor);\n}\nfunction lineTo(ctx, previous, target) {\n ctx.lineTo(target.x, target.y);\n}\n function getLineMethod(options) {\n if (options.stepped) {\n return _steppedLineTo;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierCurveTo;\n }\n return lineTo;\n}\nfunction pathVars(points, segment, params = {}) {\n const count = points.length;\n const { start: paramsStart = 0 , end: paramsEnd = count - 1 } = params;\n const { start: segmentStart , end: segmentEnd } = segment;\n const start = Math.max(paramsStart, segmentStart);\n const end = Math.min(paramsEnd, segmentEnd);\n const outside = paramsStart < segmentStart && paramsEnd < segmentStart || paramsStart > segmentEnd && paramsEnd > segmentEnd;\n return {\n count,\n start,\n loop: segment.loop,\n ilen: end < start && !outside ? count + end - start : end - start\n };\n}\n function pathSegment(ctx, line, segment, params) {\n const { points , options } = line;\n const { count , start , loop , ilen } = pathVars(points, segment, params);\n const lineMethod = getLineMethod(options);\n let { move =true , reverse } = params || {};\n let i, point, prev;\n for(i = 0; i <= ilen; ++i){\n point = points[(start + (reverse ? ilen - i : i)) % count];\n if (point.skip) {\n continue;\n } else if (move) {\n ctx.moveTo(point.x, point.y);\n move = false;\n } else {\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n prev = point;\n }\n if (loop) {\n point = points[(start + (reverse ? ilen : 0)) % count];\n lineMethod(ctx, prev, point, reverse, options.stepped);\n }\n return !!loop;\n}\n function fastPathSegment(ctx, line, segment, params) {\n const points = line.points;\n const { count , start , ilen } = pathVars(points, segment, params);\n const { move =true , reverse } = params || {};\n let avgX = 0;\n let countX = 0;\n let i, point, prevX, minY, maxY, lastY;\n const pointIndex = (index)=>(start + (reverse ? ilen - index : index)) % count;\n const drawX = ()=>{\n if (minY !== maxY) {\n ctx.lineTo(avgX, maxY);\n ctx.lineTo(avgX, minY);\n ctx.lineTo(avgX, lastY);\n }\n };\n if (move) {\n point = points[pointIndex(0)];\n ctx.moveTo(point.x, point.y);\n }\n for(i = 0; i <= ilen; ++i){\n point = points[pointIndex(i)];\n if (point.skip) {\n continue;\n }\n const x = point.x;\n const y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n } else if (y > maxY) {\n maxY = y;\n }\n avgX = (countX * avgX + x) / ++countX;\n } else {\n drawX();\n ctx.lineTo(x, y);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n }\n lastY = y;\n }\n drawX();\n}\n function _getSegmentMethod(line) {\n const opts = line.options;\n const borderDash = opts.borderDash && opts.borderDash.length;\n const useFastPath = !line._decimated && !line._loop && !opts.tension && opts.cubicInterpolationMode !== 'monotone' && !opts.stepped && !borderDash;\n return useFastPath ? fastPathSegment : pathSegment;\n}\n function _getInterpolationMethod(options) {\n if (options.stepped) {\n return _steppedInterpolation;\n }\n if (options.tension || options.cubicInterpolationMode === 'monotone') {\n return _bezierInterpolation;\n }\n return _pointInLine;\n}\nfunction strokePathWithCache(ctx, line, start, count) {\n let path = line._path;\n if (!path) {\n path = line._path = new Path2D();\n if (line.path(path, start, count)) {\n path.closePath();\n }\n }\n setStyle(ctx, line.options);\n ctx.stroke(path);\n}\nfunction strokePathDirect(ctx, line, start, count) {\n const { segments , options } = line;\n const segmentMethod = _getSegmentMethod(line);\n for (const segment of segments){\n setStyle(ctx, options, segment.style);\n ctx.beginPath();\n if (segmentMethod(ctx, line, segment, {\n start,\n end: start + count - 1\n })) {\n ctx.closePath();\n }\n ctx.stroke();\n }\n}\nconst usePath2D = typeof Path2D === 'function';\nfunction draw(ctx, line, start, count) {\n if (usePath2D && !line.options.segment) {\n strokePathWithCache(ctx, line, start, count);\n } else {\n strokePathDirect(ctx, line, start, count);\n }\n}\nclass LineElement extends Element {\n static id = 'line';\n static defaults = {\n borderCapStyle: 'butt',\n borderDash: [],\n borderDashOffset: 0,\n borderJoinStyle: 'miter',\n borderWidth: 3,\n capBezierPoints: true,\n cubicInterpolationMode: 'default',\n fill: false,\n spanGaps: false,\n stepped: false,\n tension: 0\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n static descriptors = {\n _scriptable: true,\n _indexable: (name)=>name !== 'borderDash' && name !== 'fill'\n };\n constructor(cfg){\n super();\n this.animated = true;\n this.options = undefined;\n this._chart = undefined;\n this._loop = undefined;\n this._fullLoop = undefined;\n this._path = undefined;\n this._points = undefined;\n this._segments = undefined;\n this._decimated = false;\n this._pointsUpdated = false;\n this._datasetIndex = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n updateControlPoints(chartArea, indexAxis) {\n const options = this.options;\n if ((options.tension || options.cubicInterpolationMode === 'monotone') && !options.stepped && !this._pointsUpdated) {\n const loop = options.spanGaps ? this._loop : this._fullLoop;\n _updateBezierControlPoints(this._points, options, chartArea, loop, indexAxis);\n this._pointsUpdated = true;\n }\n }\n set points(points) {\n this._points = points;\n delete this._segments;\n delete this._path;\n this._pointsUpdated = false;\n }\n get points() {\n return this._points;\n }\n get segments() {\n return this._segments || (this._segments = _computeSegments(this, this.options.segment));\n }\n first() {\n const segments = this.segments;\n const points = this.points;\n return segments.length && points[segments[0].start];\n }\n last() {\n const segments = this.segments;\n const points = this.points;\n const count = segments.length;\n return count && points[segments[count - 1].end];\n }\n interpolate(point, property) {\n const options = this.options;\n const value = point[property];\n const points = this.points;\n const segments = _boundSegments(this, {\n property,\n start: value,\n end: value\n });\n if (!segments.length) {\n return;\n }\n const result = [];\n const _interpolate = _getInterpolationMethod(options);\n let i, ilen;\n for(i = 0, ilen = segments.length; i < ilen; ++i){\n const { start , end } = segments[i];\n const p1 = points[start];\n const p2 = points[end];\n if (p1 === p2) {\n result.push(p1);\n continue;\n }\n const t = Math.abs((value - p1[property]) / (p2[property] - p1[property]));\n const interpolated = _interpolate(p1, p2, t, options.stepped);\n interpolated[property] = point[property];\n result.push(interpolated);\n }\n return result.length === 1 ? result[0] : result;\n }\n pathSegment(ctx, segment, params) {\n const segmentMethod = _getSegmentMethod(this);\n return segmentMethod(ctx, this, segment, params);\n }\n path(ctx, start, count) {\n const segments = this.segments;\n const segmentMethod = _getSegmentMethod(this);\n let loop = this._loop;\n start = start || 0;\n count = count || this.points.length - start;\n for (const segment of segments){\n loop &= segmentMethod(ctx, this, segment, {\n start,\n end: start + count - 1\n });\n }\n return !!loop;\n }\n draw(ctx, chartArea, start, count) {\n const options = this.options || {};\n const points = this.points || [];\n if (points.length && options.borderWidth) {\n ctx.save();\n draw(ctx, this, start, count);\n ctx.restore();\n }\n if (this.animated) {\n this._pointsUpdated = false;\n this._path = undefined;\n }\n }\n}\n\nfunction inRange$1(el, pos, axis, useFinalPosition) {\n const options = el.options;\n const { [axis]: value } = el.getProps([\n axis\n ], useFinalPosition);\n return Math.abs(pos - value) < options.radius + options.hitRadius;\n}\nclass PointElement extends Element {\n static id = 'point';\n parsed;\n skip;\n stop;\n /**\n * @type {any}\n */ static defaults = {\n borderWidth: 1,\n hitRadius: 1,\n hoverBorderWidth: 1,\n hoverRadius: 4,\n pointStyle: 'circle',\n radius: 3,\n rotation: 0\n };\n /**\n * @type {any}\n */ static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.parsed = undefined;\n this.skip = undefined;\n this.stop = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n const options = this.options;\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return Math.pow(mouseX - x, 2) + Math.pow(mouseY - y, 2) < Math.pow(options.hitRadius + options.radius, 2);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange$1(this, mouseX, 'x', useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange$1(this, mouseY, 'y', useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y } = this.getProps([\n 'x',\n 'y'\n ], useFinalPosition);\n return {\n x,\n y\n };\n }\n size(options) {\n options = options || this.options || {};\n let radius = options.radius || 0;\n radius = Math.max(radius, radius && options.hoverRadius || 0);\n const borderWidth = radius && options.borderWidth || 0;\n return (radius + borderWidth) * 2;\n }\n draw(ctx, area) {\n const options = this.options;\n if (this.skip || options.radius < 0.1 || !_isPointInArea(this, area, this.size(options) / 2)) {\n return;\n }\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.fillStyle = options.backgroundColor;\n drawPoint(ctx, options, this.x, this.y);\n }\n getRange() {\n const options = this.options || {};\n // @ts-expect-error Fallbacks should never be hit in practice\n return options.radius + options.hitRadius;\n }\n}\n\nfunction getBarBounds(bar, useFinalPosition) {\n const { x , y , base , width , height } = bar.getProps([\n 'x',\n 'y',\n 'base',\n 'width',\n 'height'\n ], useFinalPosition);\n let left, right, top, bottom, half;\n if (bar.horizontal) {\n half = height / 2;\n left = Math.min(x, base);\n right = Math.max(x, base);\n top = y - half;\n bottom = y + half;\n } else {\n half = width / 2;\n left = x - half;\n right = x + half;\n top = Math.min(y, base);\n bottom = Math.max(y, base);\n }\n return {\n left,\n top,\n right,\n bottom\n };\n}\nfunction skipOrLimit(skip, value, min, max) {\n return skip ? 0 : _limitValue(value, min, max);\n}\nfunction parseBorderWidth(bar, maxW, maxH) {\n const value = bar.options.borderWidth;\n const skip = bar.borderSkipped;\n const o = toTRBL(value);\n return {\n t: skipOrLimit(skip.top, o.top, 0, maxH),\n r: skipOrLimit(skip.right, o.right, 0, maxW),\n b: skipOrLimit(skip.bottom, o.bottom, 0, maxH),\n l: skipOrLimit(skip.left, o.left, 0, maxW)\n };\n}\nfunction parseBorderRadius(bar, maxW, maxH) {\n const { enableBorderRadius } = bar.getProps([\n 'enableBorderRadius'\n ]);\n const value = bar.options.borderRadius;\n const o = toTRBLCorners(value);\n const maxR = Math.min(maxW, maxH);\n const skip = bar.borderSkipped;\n const enableBorder = enableBorderRadius || isObject(value);\n return {\n topLeft: skipOrLimit(!enableBorder || skip.top || skip.left, o.topLeft, 0, maxR),\n topRight: skipOrLimit(!enableBorder || skip.top || skip.right, o.topRight, 0, maxR),\n bottomLeft: skipOrLimit(!enableBorder || skip.bottom || skip.left, o.bottomLeft, 0, maxR),\n bottomRight: skipOrLimit(!enableBorder || skip.bottom || skip.right, o.bottomRight, 0, maxR)\n };\n}\nfunction boundingRects(bar) {\n const bounds = getBarBounds(bar);\n const width = bounds.right - bounds.left;\n const height = bounds.bottom - bounds.top;\n const border = parseBorderWidth(bar, width / 2, height / 2);\n const radius = parseBorderRadius(bar, width / 2, height / 2);\n return {\n outer: {\n x: bounds.left,\n y: bounds.top,\n w: width,\n h: height,\n radius\n },\n inner: {\n x: bounds.left + border.l,\n y: bounds.top + border.t,\n w: width - border.l - border.r,\n h: height - border.t - border.b,\n radius: {\n topLeft: Math.max(0, radius.topLeft - Math.max(border.t, border.l)),\n topRight: Math.max(0, radius.topRight - Math.max(border.t, border.r)),\n bottomLeft: Math.max(0, radius.bottomLeft - Math.max(border.b, border.l)),\n bottomRight: Math.max(0, radius.bottomRight - Math.max(border.b, border.r))\n }\n }\n };\n}\nfunction inRange(bar, x, y, useFinalPosition) {\n const skipX = x === null;\n const skipY = y === null;\n const skipBoth = skipX && skipY;\n const bounds = bar && !skipBoth && getBarBounds(bar, useFinalPosition);\n return bounds && (skipX || _isBetween(x, bounds.left, bounds.right)) && (skipY || _isBetween(y, bounds.top, bounds.bottom));\n}\nfunction hasRadius(radius) {\n return radius.topLeft || radius.topRight || radius.bottomLeft || radius.bottomRight;\n}\n function addNormalRectPath(ctx, rect) {\n ctx.rect(rect.x, rect.y, rect.w, rect.h);\n}\nfunction inflateRect(rect, amount, refRect = {}) {\n const x = rect.x !== refRect.x ? -amount : 0;\n const y = rect.y !== refRect.y ? -amount : 0;\n const w = (rect.x + rect.w !== refRect.x + refRect.w ? amount : 0) - x;\n const h = (rect.y + rect.h !== refRect.y + refRect.h ? amount : 0) - y;\n return {\n x: rect.x + x,\n y: rect.y + y,\n w: rect.w + w,\n h: rect.h + h,\n radius: rect.radius\n };\n}\nclass BarElement extends Element {\n static id = 'bar';\n static defaults = {\n borderSkipped: 'start',\n borderWidth: 0,\n borderRadius: 0,\n inflateAmount: 'auto',\n pointStyle: undefined\n };\n static defaultRoutes = {\n backgroundColor: 'backgroundColor',\n borderColor: 'borderColor'\n };\n constructor(cfg){\n super();\n this.options = undefined;\n this.horizontal = undefined;\n this.base = undefined;\n this.width = undefined;\n this.height = undefined;\n this.inflateAmount = undefined;\n if (cfg) {\n Object.assign(this, cfg);\n }\n }\n draw(ctx) {\n const { inflateAmount , options: { borderColor , backgroundColor } } = this;\n const { inner , outer } = boundingRects(this);\n const addRectPath = hasRadius(outer.radius) ? addRoundedRectPath : addNormalRectPath;\n ctx.save();\n if (outer.w !== inner.w || outer.h !== inner.h) {\n ctx.beginPath();\n addRectPath(ctx, inflateRect(outer, inflateAmount, inner));\n ctx.clip();\n addRectPath(ctx, inflateRect(inner, -inflateAmount, outer));\n ctx.fillStyle = borderColor;\n ctx.fill('evenodd');\n }\n ctx.beginPath();\n addRectPath(ctx, inflateRect(inner, inflateAmount));\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n inRange(mouseX, mouseY, useFinalPosition) {\n return inRange(this, mouseX, mouseY, useFinalPosition);\n }\n inXRange(mouseX, useFinalPosition) {\n return inRange(this, mouseX, null, useFinalPosition);\n }\n inYRange(mouseY, useFinalPosition) {\n return inRange(this, null, mouseY, useFinalPosition);\n }\n getCenterPoint(useFinalPosition) {\n const { x , y , base , horizontal } = this.getProps([\n 'x',\n 'y',\n 'base',\n 'horizontal'\n ], useFinalPosition);\n return {\n x: horizontal ? (x + base) / 2 : x,\n y: horizontal ? y : (y + base) / 2\n };\n }\n getRange(axis) {\n return axis === 'x' ? this.width / 2 : this.height / 2;\n }\n}\n\nvar elements = /*#__PURE__*/Object.freeze({\n__proto__: null,\nArcElement: ArcElement,\nBarElement: BarElement,\nLineElement: LineElement,\nPointElement: PointElement\n});\n\nconst BORDER_COLORS = [\n 'rgb(54, 162, 235)',\n 'rgb(255, 99, 132)',\n 'rgb(255, 159, 64)',\n 'rgb(255, 205, 86)',\n 'rgb(75, 192, 192)',\n 'rgb(153, 102, 255)',\n 'rgb(201, 203, 207)' // grey\n];\n// Border colors with 50% transparency\nconst BACKGROUND_COLORS = /* #__PURE__ */ BORDER_COLORS.map((color)=>color.replace('rgb(', 'rgba(').replace(')', ', 0.5)'));\nfunction getBorderColor(i) {\n return BORDER_COLORS[i % BORDER_COLORS.length];\n}\nfunction getBackgroundColor(i) {\n return BACKGROUND_COLORS[i % BACKGROUND_COLORS.length];\n}\nfunction colorizeDefaultDataset(dataset, i) {\n dataset.borderColor = getBorderColor(i);\n dataset.backgroundColor = getBackgroundColor(i);\n return ++i;\n}\nfunction colorizeDoughnutDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBorderColor(i++));\n return i;\n}\nfunction colorizePolarAreaDataset(dataset, i) {\n dataset.backgroundColor = dataset.data.map(()=>getBackgroundColor(i++));\n return i;\n}\nfunction getColorizer(chart) {\n let i = 0;\n return (dataset, datasetIndex)=>{\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n if (controller instanceof DoughnutController) {\n i = colorizeDoughnutDataset(dataset, i);\n } else if (controller instanceof PolarAreaController) {\n i = colorizePolarAreaDataset(dataset, i);\n } else if (controller) {\n i = colorizeDefaultDataset(dataset, i);\n }\n };\n}\nfunction containsColorsDefinitions(descriptors) {\n let k;\n for(k in descriptors){\n if (descriptors[k].borderColor || descriptors[k].backgroundColor) {\n return true;\n }\n }\n return false;\n}\nfunction containsColorsDefinition(descriptor) {\n return descriptor && (descriptor.borderColor || descriptor.backgroundColor);\n}\nvar plugin_colors = {\n id: 'colors',\n defaults: {\n enabled: true,\n forceOverride: false\n },\n beforeLayout (chart, _args, options) {\n if (!options.enabled) {\n return;\n }\n const { data: { datasets } , options: chartOptions } = chart.config;\n const { elements } = chartOptions;\n if (!options.forceOverride && (containsColorsDefinitions(datasets) || containsColorsDefinition(chartOptions) || elements && containsColorsDefinitions(elements))) {\n return;\n }\n const colorizer = getColorizer(chart);\n datasets.forEach(colorizer);\n }\n};\n\nfunction lttbDecimation(data, start, count, availableWidth, options) {\n const samples = options.samples || availableWidth;\n if (samples >= count) {\n return data.slice(start, start + count);\n }\n const decimated = [];\n const bucketWidth = (count - 2) / (samples - 2);\n let sampledIndex = 0;\n const endIndex = start + count - 1;\n let a = start;\n let i, maxAreaPoint, maxArea, area, nextA;\n decimated[sampledIndex++] = data[a];\n for(i = 0; i < samples - 2; i++){\n let avgX = 0;\n let avgY = 0;\n let j;\n const avgRangeStart = Math.floor((i + 1) * bucketWidth) + 1 + start;\n const avgRangeEnd = Math.min(Math.floor((i + 2) * bucketWidth) + 1, count) + start;\n const avgRangeLength = avgRangeEnd - avgRangeStart;\n for(j = avgRangeStart; j < avgRangeEnd; j++){\n avgX += data[j].x;\n avgY += data[j].y;\n }\n avgX /= avgRangeLength;\n avgY /= avgRangeLength;\n const rangeOffs = Math.floor(i * bucketWidth) + 1 + start;\n const rangeTo = Math.min(Math.floor((i + 1) * bucketWidth) + 1, count) + start;\n const { x: pointAx , y: pointAy } = data[a];\n maxArea = area = -1;\n for(j = rangeOffs; j < rangeTo; j++){\n area = 0.5 * Math.abs((pointAx - avgX) * (data[j].y - pointAy) - (pointAx - data[j].x) * (avgY - pointAy));\n if (area > maxArea) {\n maxArea = area;\n maxAreaPoint = data[j];\n nextA = j;\n }\n }\n decimated[sampledIndex++] = maxAreaPoint;\n a = nextA;\n }\n decimated[sampledIndex++] = data[endIndex];\n return decimated;\n}\nfunction minMaxDecimation(data, start, count, availableWidth) {\n let avgX = 0;\n let countX = 0;\n let i, point, x, y, prevX, minIndex, maxIndex, startIndex, minY, maxY;\n const decimated = [];\n const endIndex = start + count - 1;\n const xMin = data[start].x;\n const xMax = data[endIndex].x;\n const dx = xMax - xMin;\n for(i = start; i < start + count; ++i){\n point = data[i];\n x = (point.x - xMin) / dx * availableWidth;\n y = point.y;\n const truncX = x | 0;\n if (truncX === prevX) {\n if (y < minY) {\n minY = y;\n minIndex = i;\n } else if (y > maxY) {\n maxY = y;\n maxIndex = i;\n }\n avgX = (countX * avgX + point.x) / ++countX;\n } else {\n const lastIndex = i - 1;\n if (!isNullOrUndef(minIndex) && !isNullOrUndef(maxIndex)) {\n const intermediateIndex1 = Math.min(minIndex, maxIndex);\n const intermediateIndex2 = Math.max(minIndex, maxIndex);\n if (intermediateIndex1 !== startIndex && intermediateIndex1 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex1],\n x: avgX\n });\n }\n if (intermediateIndex2 !== startIndex && intermediateIndex2 !== lastIndex) {\n decimated.push({\n ...data[intermediateIndex2],\n x: avgX\n });\n }\n }\n if (i > 0 && lastIndex !== startIndex) {\n decimated.push(data[lastIndex]);\n }\n decimated.push(point);\n prevX = truncX;\n countX = 0;\n minY = maxY = y;\n minIndex = maxIndex = startIndex = i;\n }\n }\n return decimated;\n}\nfunction cleanDecimatedDataset(dataset) {\n if (dataset._decimated) {\n const data = dataset._data;\n delete dataset._decimated;\n delete dataset._data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n writable: true,\n value: data\n });\n }\n}\nfunction cleanDecimatedData(chart) {\n chart.data.datasets.forEach((dataset)=>{\n cleanDecimatedDataset(dataset);\n });\n}\nfunction getStartAndCountOfVisiblePointsSimplified(meta, points) {\n const pointCount = points.length;\n let start = 0;\n let count;\n const { iScale } = meta;\n const { min , max , minDefined , maxDefined } = iScale.getUserBounds();\n if (minDefined) {\n start = _limitValue(_lookupByKey(points, iScale.axis, min).lo, 0, pointCount - 1);\n }\n if (maxDefined) {\n count = _limitValue(_lookupByKey(points, iScale.axis, max).hi + 1, start, pointCount) - start;\n } else {\n count = pointCount - start;\n }\n return {\n start,\n count\n };\n}\nvar plugin_decimation = {\n id: 'decimation',\n defaults: {\n algorithm: 'min-max',\n enabled: false\n },\n beforeElementsUpdate: (chart, args, options)=>{\n if (!options.enabled) {\n cleanDecimatedData(chart);\n return;\n }\n const availableWidth = chart.width;\n chart.data.datasets.forEach((dataset, datasetIndex)=>{\n const { _data , indexAxis } = dataset;\n const meta = chart.getDatasetMeta(datasetIndex);\n const data = _data || dataset.data;\n if (resolve([\n indexAxis,\n chart.options.indexAxis\n ]) === 'y') {\n return;\n }\n if (!meta.controller.supportsDecimation) {\n return;\n }\n const xAxis = chart.scales[meta.xAxisID];\n if (xAxis.type !== 'linear' && xAxis.type !== 'time') {\n return;\n }\n if (chart.options.parsing) {\n return;\n }\n let { start , count } = getStartAndCountOfVisiblePointsSimplified(meta, data);\n const threshold = options.threshold || 4 * availableWidth;\n if (count <= threshold) {\n cleanDecimatedDataset(dataset);\n return;\n }\n if (isNullOrUndef(_data)) {\n dataset._data = data;\n delete dataset.data;\n Object.defineProperty(dataset, 'data', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this._decimated;\n },\n set: function(d) {\n this._data = d;\n }\n });\n }\n let decimated;\n switch(options.algorithm){\n case 'lttb':\n decimated = lttbDecimation(data, start, count, availableWidth, options);\n break;\n case 'min-max':\n decimated = minMaxDecimation(data, start, count, availableWidth);\n break;\n default:\n throw new Error(`Unsupported decimation algorithm '${options.algorithm}'`);\n }\n dataset._decimated = decimated;\n });\n },\n destroy (chart) {\n cleanDecimatedData(chart);\n }\n};\n\nfunction _segments(line, target, property) {\n const segments = line.segments;\n const points = line.points;\n const tpoints = target.points;\n const parts = [];\n for (const segment of segments){\n let { start , end } = segment;\n end = _findSegmentEnd(start, end, points);\n const bounds = _getBounds(property, points[start], points[end], segment.loop);\n if (!target.segments) {\n parts.push({\n source: segment,\n target: bounds,\n start: points[start],\n end: points[end]\n });\n continue;\n }\n const targetSegments = _boundSegments(target, bounds);\n for (const tgt of targetSegments){\n const subBounds = _getBounds(property, tpoints[tgt.start], tpoints[tgt.end], tgt.loop);\n const fillSources = _boundSegment(segment, points, subBounds);\n for (const fillSource of fillSources){\n parts.push({\n source: fillSource,\n target: tgt,\n start: {\n [property]: _getEdge(bounds, subBounds, 'start', Math.max)\n },\n end: {\n [property]: _getEdge(bounds, subBounds, 'end', Math.min)\n }\n });\n }\n }\n }\n return parts;\n}\nfunction _getBounds(property, first, last, loop) {\n if (loop) {\n return;\n }\n let start = first[property];\n let end = last[property];\n if (property === 'angle') {\n start = _normalizeAngle(start);\n end = _normalizeAngle(end);\n }\n return {\n property,\n start,\n end\n };\n}\nfunction _pointsFromSegments(boundary, line) {\n const { x =null , y =null } = boundary || {};\n const linePoints = line.points;\n const points = [];\n line.segments.forEach(({ start , end })=>{\n end = _findSegmentEnd(start, end, linePoints);\n const first = linePoints[start];\n const last = linePoints[end];\n if (y !== null) {\n points.push({\n x: first.x,\n y\n });\n points.push({\n x: last.x,\n y\n });\n } else if (x !== null) {\n points.push({\n x,\n y: first.y\n });\n points.push({\n x,\n y: last.y\n });\n }\n });\n return points;\n}\nfunction _findSegmentEnd(start, end, points) {\n for(; end > start; end--){\n const point = points[end];\n if (!isNaN(point.x) && !isNaN(point.y)) {\n break;\n }\n }\n return end;\n}\nfunction _getEdge(a, b, prop, fn) {\n if (a && b) {\n return fn(a[prop], b[prop]);\n }\n return a ? a[prop] : b ? b[prop] : 0;\n}\n\nfunction _createBoundaryLine(boundary, line) {\n let points = [];\n let _loop = false;\n if (isArray(boundary)) {\n _loop = true;\n points = boundary;\n } else {\n points = _pointsFromSegments(boundary, line);\n }\n return points.length ? new LineElement({\n points,\n options: {\n tension: 0\n },\n _loop,\n _fullLoop: _loop\n }) : null;\n}\nfunction _shouldApplyFill(source) {\n return source && source.fill !== false;\n}\n\nfunction _resolveTarget(sources, index, propagate) {\n const source = sources[index];\n let fill = source.fill;\n const visited = [\n index\n ];\n let target;\n if (!propagate) {\n return fill;\n }\n while(fill !== false && visited.indexOf(fill) === -1){\n if (!isNumberFinite(fill)) {\n return fill;\n }\n target = sources[fill];\n if (!target) {\n return false;\n }\n if (target.visible) {\n return fill;\n }\n visited.push(fill);\n fill = target.fill;\n }\n return false;\n}\n function _decodeFill(line, index, count) {\n const fill = parseFillOption(line);\n if (isObject(fill)) {\n return isNaN(fill.value) ? false : fill;\n }\n let target = parseFloat(fill);\n if (isNumberFinite(target) && Math.floor(target) === target) {\n return decodeTargetIndex(fill[0], index, target, count);\n }\n return [\n 'origin',\n 'start',\n 'end',\n 'stack',\n 'shape'\n ].indexOf(fill) >= 0 && fill;\n}\nfunction decodeTargetIndex(firstCh, index, target, count) {\n if (firstCh === '-' || firstCh === '+') {\n target = index + target;\n }\n if (target === index || target < 0 || target >= count) {\n return false;\n }\n return target;\n}\n function _getTargetPixel(fill, scale) {\n let pixel = null;\n if (fill === 'start') {\n pixel = scale.bottom;\n } else if (fill === 'end') {\n pixel = scale.top;\n } else if (isObject(fill)) {\n pixel = scale.getPixelForValue(fill.value);\n } else if (scale.getBasePixel) {\n pixel = scale.getBasePixel();\n }\n return pixel;\n}\n function _getTargetValue(fill, scale, startValue) {\n let value;\n if (fill === 'start') {\n value = startValue;\n } else if (fill === 'end') {\n value = scale.options.reverse ? scale.min : scale.max;\n } else if (isObject(fill)) {\n value = fill.value;\n } else {\n value = scale.getBaseValue();\n }\n return value;\n}\n function parseFillOption(line) {\n const options = line.options;\n const fillOption = options.fill;\n let fill = valueOrDefault(fillOption && fillOption.target, fillOption);\n if (fill === undefined) {\n fill = !!options.backgroundColor;\n }\n if (fill === false || fill === null) {\n return false;\n }\n if (fill === true) {\n return 'origin';\n }\n return fill;\n}\n\nfunction _buildStackLine(source) {\n const { scale , index , line } = source;\n const points = [];\n const segments = line.segments;\n const sourcePoints = line.points;\n const linesBelow = getLinesBelow(scale, index);\n linesBelow.push(_createBoundaryLine({\n x: null,\n y: scale.bottom\n }, line));\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n for(let j = segment.start; j <= segment.end; j++){\n addPointsBelow(points, sourcePoints[j], linesBelow);\n }\n }\n return new LineElement({\n points,\n options: {}\n });\n}\n function getLinesBelow(scale, index) {\n const below = [];\n const metas = scale.getMatchingVisibleMetas('line');\n for(let i = 0; i < metas.length; i++){\n const meta = metas[i];\n if (meta.index === index) {\n break;\n }\n if (!meta.hidden) {\n below.unshift(meta.dataset);\n }\n }\n return below;\n}\n function addPointsBelow(points, sourcePoint, linesBelow) {\n const postponed = [];\n for(let j = 0; j < linesBelow.length; j++){\n const line = linesBelow[j];\n const { first , last , point } = findPoint(line, sourcePoint, 'x');\n if (!point || first && last) {\n continue;\n }\n if (first) {\n postponed.unshift(point);\n } else {\n points.push(point);\n if (!last) {\n break;\n }\n }\n }\n points.push(...postponed);\n}\n function findPoint(line, sourcePoint, property) {\n const point = line.interpolate(sourcePoint, property);\n if (!point) {\n return {};\n }\n const pointValue = point[property];\n const segments = line.segments;\n const linePoints = line.points;\n let first = false;\n let last = false;\n for(let i = 0; i < segments.length; i++){\n const segment = segments[i];\n const firstValue = linePoints[segment.start][property];\n const lastValue = linePoints[segment.end][property];\n if (_isBetween(pointValue, firstValue, lastValue)) {\n first = pointValue === firstValue;\n last = pointValue === lastValue;\n break;\n }\n }\n return {\n first,\n last,\n point\n };\n}\n\nclass simpleArc {\n constructor(opts){\n this.x = opts.x;\n this.y = opts.y;\n this.radius = opts.radius;\n }\n pathSegment(ctx, bounds, opts) {\n const { x , y , radius } = this;\n bounds = bounds || {\n start: 0,\n end: TAU\n };\n ctx.arc(x, y, radius, bounds.end, bounds.start, true);\n return !opts.bounds;\n }\n interpolate(point) {\n const { x , y , radius } = this;\n const angle = point.angle;\n return {\n x: x + Math.cos(angle) * radius,\n y: y + Math.sin(angle) * radius,\n angle\n };\n }\n}\n\nfunction _getTarget(source) {\n const { chart , fill , line } = source;\n if (isNumberFinite(fill)) {\n return getLineByIndex(chart, fill);\n }\n if (fill === 'stack') {\n return _buildStackLine(source);\n }\n if (fill === 'shape') {\n return true;\n }\n const boundary = computeBoundary(source);\n if (boundary instanceof simpleArc) {\n return boundary;\n }\n return _createBoundaryLine(boundary, line);\n}\n function getLineByIndex(chart, index) {\n const meta = chart.getDatasetMeta(index);\n const visible = meta && chart.isDatasetVisible(index);\n return visible ? meta.dataset : null;\n}\nfunction computeBoundary(source) {\n const scale = source.scale || {};\n if (scale.getPointPositionForValue) {\n return computeCircularBoundary(source);\n }\n return computeLinearBoundary(source);\n}\nfunction computeLinearBoundary(source) {\n const { scale ={} , fill } = source;\n const pixel = _getTargetPixel(fill, scale);\n if (isNumberFinite(pixel)) {\n const horizontal = scale.isHorizontal();\n return {\n x: horizontal ? pixel : null,\n y: horizontal ? null : pixel\n };\n }\n return null;\n}\nfunction computeCircularBoundary(source) {\n const { scale , fill } = source;\n const options = scale.options;\n const length = scale.getLabels().length;\n const start = options.reverse ? scale.max : scale.min;\n const value = _getTargetValue(fill, scale, start);\n const target = [];\n if (options.grid.circular) {\n const center = scale.getPointPositionForValue(0, start);\n return new simpleArc({\n x: center.x,\n y: center.y,\n radius: scale.getDistanceFromCenterForValue(value)\n });\n }\n for(let i = 0; i < length; ++i){\n target.push(scale.getPointPositionForValue(i, value));\n }\n return target;\n}\n\nfunction _drawfill(ctx, source, area) {\n const target = _getTarget(source);\n const { line , scale , axis } = source;\n const lineOpts = line.options;\n const fillOption = lineOpts.fill;\n const color = lineOpts.backgroundColor;\n const { above =color , below =color } = fillOption || {};\n if (target && line.points.length) {\n clipArea(ctx, area);\n doFill(ctx, {\n line,\n target,\n above,\n below,\n area,\n scale,\n axis\n });\n unclipArea(ctx);\n }\n}\nfunction doFill(ctx, cfg) {\n const { line , target , above , below , area , scale } = cfg;\n const property = line._loop ? 'angle' : cfg.axis;\n ctx.save();\n if (property === 'x' && below !== above) {\n clipVertical(ctx, target, area.top);\n fill(ctx, {\n line,\n target,\n color: above,\n scale,\n property\n });\n ctx.restore();\n ctx.save();\n clipVertical(ctx, target, area.bottom);\n }\n fill(ctx, {\n line,\n target,\n color: below,\n scale,\n property\n });\n ctx.restore();\n}\nfunction clipVertical(ctx, target, clipY) {\n const { segments , points } = target;\n let first = true;\n let lineLoop = false;\n ctx.beginPath();\n for (const segment of segments){\n const { start , end } = segment;\n const firstPoint = points[start];\n const lastPoint = points[_findSegmentEnd(start, end, points)];\n if (first) {\n ctx.moveTo(firstPoint.x, firstPoint.y);\n first = false;\n } else {\n ctx.lineTo(firstPoint.x, clipY);\n ctx.lineTo(firstPoint.x, firstPoint.y);\n }\n lineLoop = !!target.pathSegment(ctx, segment, {\n move: lineLoop\n });\n if (lineLoop) {\n ctx.closePath();\n } else {\n ctx.lineTo(lastPoint.x, clipY);\n }\n }\n ctx.lineTo(target.first().x, clipY);\n ctx.closePath();\n ctx.clip();\n}\nfunction fill(ctx, cfg) {\n const { line , target , property , color , scale } = cfg;\n const segments = _segments(line, target, property);\n for (const { source: src , target: tgt , start , end } of segments){\n const { style: { backgroundColor =color } = {} } = src;\n const notShape = target !== true;\n ctx.save();\n ctx.fillStyle = backgroundColor;\n clipBounds(ctx, scale, notShape && _getBounds(property, start, end));\n ctx.beginPath();\n const lineLoop = !!line.pathSegment(ctx, src);\n let loop;\n if (notShape) {\n if (lineLoop) {\n ctx.closePath();\n } else {\n interpolatedLineTo(ctx, target, end, property);\n }\n const targetLoop = !!target.pathSegment(ctx, tgt, {\n move: lineLoop,\n reverse: true\n });\n loop = lineLoop && targetLoop;\n if (!loop) {\n interpolatedLineTo(ctx, target, start, property);\n }\n }\n ctx.closePath();\n ctx.fill(loop ? 'evenodd' : 'nonzero');\n ctx.restore();\n }\n}\nfunction clipBounds(ctx, scale, bounds) {\n const { top , bottom } = scale.chart.chartArea;\n const { property , start , end } = bounds || {};\n if (property === 'x') {\n ctx.beginPath();\n ctx.rect(start, top, end - start, bottom - top);\n ctx.clip();\n }\n}\nfunction interpolatedLineTo(ctx, target, point, property) {\n const interpolatedPoint = target.interpolate(point, property);\n if (interpolatedPoint) {\n ctx.lineTo(interpolatedPoint.x, interpolatedPoint.y);\n }\n}\n\nvar index = {\n id: 'filler',\n afterDatasetsUpdate (chart, _args, options) {\n const count = (chart.data.datasets || []).length;\n const sources = [];\n let meta, i, line, source;\n for(i = 0; i < count; ++i){\n meta = chart.getDatasetMeta(i);\n line = meta.dataset;\n source = null;\n if (line && line.options && line instanceof LineElement) {\n source = {\n visible: chart.isDatasetVisible(i),\n index: i,\n fill: _decodeFill(line, i, count),\n chart,\n axis: meta.controller.options.indexAxis,\n scale: meta.vScale,\n line\n };\n }\n meta.$filler = source;\n sources.push(source);\n }\n for(i = 0; i < count; ++i){\n source = sources[i];\n if (!source || source.fill === false) {\n continue;\n }\n source.fill = _resolveTarget(sources, i, options.propagate);\n }\n },\n beforeDraw (chart, _args, options) {\n const draw = options.drawTime === 'beforeDraw';\n const metasets = chart.getSortedVisibleDatasetMetas();\n const area = chart.chartArea;\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (!source) {\n continue;\n }\n source.line.updateControlPoints(area, source.axis);\n if (draw && source.fill) {\n _drawfill(chart.ctx, source, area);\n }\n }\n },\n beforeDatasetsDraw (chart, _args, options) {\n if (options.drawTime !== 'beforeDatasetsDraw') {\n return;\n }\n const metasets = chart.getSortedVisibleDatasetMetas();\n for(let i = metasets.length - 1; i >= 0; --i){\n const source = metasets[i].$filler;\n if (_shouldApplyFill(source)) {\n _drawfill(chart.ctx, source, chart.chartArea);\n }\n }\n },\n beforeDatasetDraw (chart, args, options) {\n const source = args.meta.$filler;\n if (!_shouldApplyFill(source) || options.drawTime !== 'beforeDatasetDraw') {\n return;\n }\n _drawfill(chart.ctx, source, chart.chartArea);\n },\n defaults: {\n propagate: true,\n drawTime: 'beforeDatasetDraw'\n }\n};\n\nconst getBoxSize = (labelOpts, fontSize)=>{\n let { boxHeight =fontSize , boxWidth =fontSize } = labelOpts;\n if (labelOpts.usePointStyle) {\n boxHeight = Math.min(boxHeight, fontSize);\n boxWidth = labelOpts.pointStyleWidth || Math.min(boxWidth, fontSize);\n }\n return {\n boxWidth,\n boxHeight,\n itemHeight: Math.max(fontSize, boxHeight)\n };\n};\nconst itemsEqual = (a, b)=>a !== null && b !== null && a.datasetIndex === b.datasetIndex && a.index === b.index;\nclass Legend extends Element {\n constructor(config){\n super();\n this._added = false;\n this.legendHitBoxes = [];\n this._hoveredItem = null;\n this.doughnutMode = false;\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this.legendItems = undefined;\n this.columnSizes = undefined;\n this.lineWidths = undefined;\n this.maxHeight = undefined;\n this.maxWidth = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.height = undefined;\n this.width = undefined;\n this._margins = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight, margins) {\n this.maxWidth = maxWidth;\n this.maxHeight = maxHeight;\n this._margins = margins;\n this.setDimensions();\n this.buildLabels();\n this.fit();\n }\n setDimensions() {\n if (this.isHorizontal()) {\n this.width = this.maxWidth;\n this.left = this._margins.left;\n this.right = this.width;\n } else {\n this.height = this.maxHeight;\n this.top = this._margins.top;\n this.bottom = this.height;\n }\n }\n buildLabels() {\n const labelOpts = this.options.labels || {};\n let legendItems = callback(labelOpts.generateLabels, [\n this.chart\n ], this) || [];\n if (labelOpts.filter) {\n legendItems = legendItems.filter((item)=>labelOpts.filter(item, this.chart.data));\n }\n if (labelOpts.sort) {\n legendItems = legendItems.sort((a, b)=>labelOpts.sort(a, b, this.chart.data));\n }\n if (this.options.reverse) {\n legendItems.reverse();\n }\n this.legendItems = legendItems;\n }\n fit() {\n const { options , ctx } = this;\n if (!options.display) {\n this.width = this.height = 0;\n return;\n }\n const labelOpts = options.labels;\n const labelFont = toFont(labelOpts.font);\n const fontSize = labelFont.size;\n const titleHeight = this._computeTitleHeight();\n const { boxWidth , itemHeight } = getBoxSize(labelOpts, fontSize);\n let width, height;\n ctx.font = labelFont.string;\n if (this.isHorizontal()) {\n width = this.maxWidth;\n height = this._fitRows(titleHeight, fontSize, boxWidth, itemHeight) + 10;\n } else {\n height = this.maxHeight;\n width = this._fitCols(titleHeight, labelFont, boxWidth, itemHeight) + 10;\n }\n this.width = Math.min(width, options.maxWidth || this.maxWidth);\n this.height = Math.min(height, options.maxHeight || this.maxHeight);\n }\n _fitRows(titleHeight, fontSize, boxWidth, itemHeight) {\n const { ctx , maxWidth , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const lineWidths = this.lineWidths = [\n 0\n ];\n const lineHeight = itemHeight + padding;\n let totalHeight = titleHeight;\n ctx.textAlign = 'left';\n ctx.textBaseline = 'middle';\n let row = -1;\n let top = -lineHeight;\n this.legendItems.forEach((legendItem, i)=>{\n const itemWidth = boxWidth + fontSize / 2 + ctx.measureText(legendItem.text).width;\n if (i === 0 || lineWidths[lineWidths.length - 1] + itemWidth + 2 * padding > maxWidth) {\n totalHeight += lineHeight;\n lineWidths[lineWidths.length - (i > 0 ? 0 : 1)] = 0;\n top += lineHeight;\n row++;\n }\n hitboxes[i] = {\n left: 0,\n top,\n row,\n width: itemWidth,\n height: itemHeight\n };\n lineWidths[lineWidths.length - 1] += itemWidth + padding;\n });\n return totalHeight;\n }\n _fitCols(titleHeight, labelFont, boxWidth, _itemHeight) {\n const { ctx , maxHeight , options: { labels: { padding } } } = this;\n const hitboxes = this.legendHitBoxes = [];\n const columnSizes = this.columnSizes = [];\n const heightLimit = maxHeight - titleHeight;\n let totalWidth = padding;\n let currentColWidth = 0;\n let currentColHeight = 0;\n let left = 0;\n let col = 0;\n this.legendItems.forEach((legendItem, i)=>{\n const { itemWidth , itemHeight } = calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight);\n if (i > 0 && currentColHeight + itemHeight + 2 * padding > heightLimit) {\n totalWidth += currentColWidth + padding;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n left += currentColWidth + padding;\n col++;\n currentColWidth = currentColHeight = 0;\n }\n hitboxes[i] = {\n left,\n top: currentColHeight,\n col,\n width: itemWidth,\n height: itemHeight\n };\n currentColWidth = Math.max(currentColWidth, itemWidth);\n currentColHeight += itemHeight + padding;\n });\n totalWidth += currentColWidth;\n columnSizes.push({\n width: currentColWidth,\n height: currentColHeight\n });\n return totalWidth;\n }\n adjustHitBoxes() {\n if (!this.options.display) {\n return;\n }\n const titleHeight = this._computeTitleHeight();\n const { legendHitBoxes: hitboxes , options: { align , labels: { padding } , rtl } } = this;\n const rtlHelper = getRtlAdapter(rtl, this.left, this.width);\n if (this.isHorizontal()) {\n let row = 0;\n let left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n for (const hitbox of hitboxes){\n if (row !== hitbox.row) {\n row = hitbox.row;\n left = _alignStartEnd(align, this.left + padding, this.right - this.lineWidths[row]);\n }\n hitbox.top += this.top + titleHeight + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(left), hitbox.width);\n left += hitbox.width + padding;\n }\n } else {\n let col = 0;\n let top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n for (const hitbox of hitboxes){\n if (hitbox.col !== col) {\n col = hitbox.col;\n top = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - this.columnSizes[col].height);\n }\n hitbox.top = top;\n hitbox.left += this.left + padding;\n hitbox.left = rtlHelper.leftForLtr(rtlHelper.x(hitbox.left), hitbox.width);\n top += hitbox.height + padding;\n }\n }\n }\n isHorizontal() {\n return this.options.position === 'top' || this.options.position === 'bottom';\n }\n draw() {\n if (this.options.display) {\n const ctx = this.ctx;\n clipArea(ctx, this);\n this._draw();\n unclipArea(ctx);\n }\n }\n _draw() {\n const { options: opts , columnSizes , lineWidths , ctx } = this;\n const { align , labels: labelOpts } = opts;\n const defaultColor = defaults.color;\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const labelFont = toFont(labelOpts.font);\n const { padding } = labelOpts;\n const fontSize = labelFont.size;\n const halfFontSize = fontSize / 2;\n let cursor;\n this.drawTitle();\n ctx.textAlign = rtlHelper.textAlign('left');\n ctx.textBaseline = 'middle';\n ctx.lineWidth = 0.5;\n ctx.font = labelFont.string;\n const { boxWidth , boxHeight , itemHeight } = getBoxSize(labelOpts, fontSize);\n const drawLegendBox = function(x, y, legendItem) {\n if (isNaN(boxWidth) || boxWidth <= 0 || isNaN(boxHeight) || boxHeight < 0) {\n return;\n }\n ctx.save();\n const lineWidth = valueOrDefault(legendItem.lineWidth, 1);\n ctx.fillStyle = valueOrDefault(legendItem.fillStyle, defaultColor);\n ctx.lineCap = valueOrDefault(legendItem.lineCap, 'butt');\n ctx.lineDashOffset = valueOrDefault(legendItem.lineDashOffset, 0);\n ctx.lineJoin = valueOrDefault(legendItem.lineJoin, 'miter');\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = valueOrDefault(legendItem.strokeStyle, defaultColor);\n ctx.setLineDash(valueOrDefault(legendItem.lineDash, []));\n if (labelOpts.usePointStyle) {\n const drawOptions = {\n radius: boxHeight * Math.SQRT2 / 2,\n pointStyle: legendItem.pointStyle,\n rotation: legendItem.rotation,\n borderWidth: lineWidth\n };\n const centerX = rtlHelper.xPlus(x, boxWidth / 2);\n const centerY = y + halfFontSize;\n drawPointLegend(ctx, drawOptions, centerX, centerY, labelOpts.pointStyleWidth && boxWidth);\n } else {\n const yBoxTop = y + Math.max((fontSize - boxHeight) / 2, 0);\n const xBoxLeft = rtlHelper.leftForLtr(x, boxWidth);\n const borderRadius = toTRBLCorners(legendItem.borderRadius);\n ctx.beginPath();\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n addRoundedRectPath(ctx, {\n x: xBoxLeft,\n y: yBoxTop,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n } else {\n ctx.rect(xBoxLeft, yBoxTop, boxWidth, boxHeight);\n }\n ctx.fill();\n if (lineWidth !== 0) {\n ctx.stroke();\n }\n }\n ctx.restore();\n };\n const fillText = function(x, y, legendItem) {\n renderText(ctx, legendItem.text, x, y + itemHeight / 2, labelFont, {\n strikethrough: legendItem.hidden,\n textAlign: rtlHelper.textAlign(legendItem.textAlign)\n });\n };\n const isHorizontal = this.isHorizontal();\n const titleHeight = this._computeTitleHeight();\n if (isHorizontal) {\n cursor = {\n x: _alignStartEnd(align, this.left + padding, this.right - lineWidths[0]),\n y: this.top + padding + titleHeight,\n line: 0\n };\n } else {\n cursor = {\n x: this.left + padding,\n y: _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[0].height),\n line: 0\n };\n }\n overrideTextDirection(this.ctx, opts.textDirection);\n const lineHeight = itemHeight + padding;\n this.legendItems.forEach((legendItem, i)=>{\n ctx.strokeStyle = legendItem.fontColor;\n ctx.fillStyle = legendItem.fontColor;\n const textWidth = ctx.measureText(legendItem.text).width;\n const textAlign = rtlHelper.textAlign(legendItem.textAlign || (legendItem.textAlign = labelOpts.textAlign));\n const width = boxWidth + halfFontSize + textWidth;\n let x = cursor.x;\n let y = cursor.y;\n rtlHelper.setWidth(this.width);\n if (isHorizontal) {\n if (i > 0 && x + width + padding > this.right) {\n y = cursor.y += lineHeight;\n cursor.line++;\n x = cursor.x = _alignStartEnd(align, this.left + padding, this.right - lineWidths[cursor.line]);\n }\n } else if (i > 0 && y + lineHeight > this.bottom) {\n x = cursor.x = x + columnSizes[cursor.line].width + padding;\n cursor.line++;\n y = cursor.y = _alignStartEnd(align, this.top + titleHeight + padding, this.bottom - columnSizes[cursor.line].height);\n }\n const realX = rtlHelper.x(x);\n drawLegendBox(realX, y, legendItem);\n x = _textX(textAlign, x + boxWidth + halfFontSize, isHorizontal ? x + width : this.right, opts.rtl);\n fillText(rtlHelper.x(x), y, legendItem);\n if (isHorizontal) {\n cursor.x += width + padding;\n } else if (typeof legendItem.text !== 'string') {\n const fontLineHeight = labelFont.lineHeight;\n cursor.y += calculateLegendItemHeight(legendItem, fontLineHeight) + padding;\n } else {\n cursor.y += lineHeight;\n }\n });\n restoreTextDirection(this.ctx, opts.textDirection);\n }\n drawTitle() {\n const opts = this.options;\n const titleOpts = opts.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n if (!titleOpts.display) {\n return;\n }\n const rtlHelper = getRtlAdapter(opts.rtl, this.left, this.width);\n const ctx = this.ctx;\n const position = titleOpts.position;\n const halfFontSize = titleFont.size / 2;\n const topPaddingPlusHalfFontSize = titlePadding.top + halfFontSize;\n let y;\n let left = this.left;\n let maxWidth = this.width;\n if (this.isHorizontal()) {\n maxWidth = Math.max(...this.lineWidths);\n y = this.top + topPaddingPlusHalfFontSize;\n left = _alignStartEnd(opts.align, left, this.right - maxWidth);\n } else {\n const maxHeight = this.columnSizes.reduce((acc, size)=>Math.max(acc, size.height), 0);\n y = topPaddingPlusHalfFontSize + _alignStartEnd(opts.align, this.top, this.bottom - maxHeight - opts.labels.padding - this._computeTitleHeight());\n }\n const x = _alignStartEnd(position, left, left + maxWidth);\n ctx.textAlign = rtlHelper.textAlign(_toLeftRightCenter(position));\n ctx.textBaseline = 'middle';\n ctx.strokeStyle = titleOpts.color;\n ctx.fillStyle = titleOpts.color;\n ctx.font = titleFont.string;\n renderText(ctx, titleOpts.text, x, y, titleFont);\n }\n _computeTitleHeight() {\n const titleOpts = this.options.title;\n const titleFont = toFont(titleOpts.font);\n const titlePadding = toPadding(titleOpts.padding);\n return titleOpts.display ? titleFont.lineHeight + titlePadding.height : 0;\n }\n _getLegendItemAt(x, y) {\n let i, hitBox, lh;\n if (_isBetween(x, this.left, this.right) && _isBetween(y, this.top, this.bottom)) {\n lh = this.legendHitBoxes;\n for(i = 0; i < lh.length; ++i){\n hitBox = lh[i];\n if (_isBetween(x, hitBox.left, hitBox.left + hitBox.width) && _isBetween(y, hitBox.top, hitBox.top + hitBox.height)) {\n return this.legendItems[i];\n }\n }\n }\n return null;\n }\n handleEvent(e) {\n const opts = this.options;\n if (!isListened(e.type, opts)) {\n return;\n }\n const hoveredItem = this._getLegendItemAt(e.x, e.y);\n if (e.type === 'mousemove' || e.type === 'mouseout') {\n const previous = this._hoveredItem;\n const sameItem = itemsEqual(previous, hoveredItem);\n if (previous && !sameItem) {\n callback(opts.onLeave, [\n e,\n previous,\n this\n ], this);\n }\n this._hoveredItem = hoveredItem;\n if (hoveredItem && !sameItem) {\n callback(opts.onHover, [\n e,\n hoveredItem,\n this\n ], this);\n }\n } else if (hoveredItem) {\n callback(opts.onClick, [\n e,\n hoveredItem,\n this\n ], this);\n }\n }\n}\nfunction calculateItemSize(boxWidth, labelFont, ctx, legendItem, _itemHeight) {\n const itemWidth = calculateItemWidth(legendItem, boxWidth, labelFont, ctx);\n const itemHeight = calculateItemHeight(_itemHeight, legendItem, labelFont.lineHeight);\n return {\n itemWidth,\n itemHeight\n };\n}\nfunction calculateItemWidth(legendItem, boxWidth, labelFont, ctx) {\n let legendItemText = legendItem.text;\n if (legendItemText && typeof legendItemText !== 'string') {\n legendItemText = legendItemText.reduce((a, b)=>a.length > b.length ? a : b);\n }\n return boxWidth + labelFont.size / 2 + ctx.measureText(legendItemText).width;\n}\nfunction calculateItemHeight(_itemHeight, legendItem, fontLineHeight) {\n let itemHeight = _itemHeight;\n if (typeof legendItem.text !== 'string') {\n itemHeight = calculateLegendItemHeight(legendItem, fontLineHeight);\n }\n return itemHeight;\n}\nfunction calculateLegendItemHeight(legendItem, fontLineHeight) {\n const labelHeight = legendItem.text ? legendItem.text.length : 0;\n return fontLineHeight * labelHeight;\n}\nfunction isListened(type, opts) {\n if ((type === 'mousemove' || type === 'mouseout') && (opts.onHover || opts.onLeave)) {\n return true;\n }\n if (opts.onClick && (type === 'click' || type === 'mouseup')) {\n return true;\n }\n return false;\n}\nvar plugin_legend = {\n id: 'legend',\n _element: Legend,\n start (chart, _args, options) {\n const legend = chart.legend = new Legend({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, legend, options);\n layouts.addBox(chart, legend);\n },\n stop (chart) {\n layouts.removeBox(chart, chart.legend);\n delete chart.legend;\n },\n beforeUpdate (chart, _args, options) {\n const legend = chart.legend;\n layouts.configure(chart, legend, options);\n legend.options = options;\n },\n afterUpdate (chart) {\n const legend = chart.legend;\n legend.buildLabels();\n legend.adjustHitBoxes();\n },\n afterEvent (chart, args) {\n if (!args.replay) {\n chart.legend.handleEvent(args.event);\n }\n },\n defaults: {\n display: true,\n position: 'top',\n align: 'center',\n fullSize: true,\n reverse: false,\n weight: 1000,\n onClick (e, legendItem, legend) {\n const index = legendItem.datasetIndex;\n const ci = legend.chart;\n if (ci.isDatasetVisible(index)) {\n ci.hide(index);\n legendItem.hidden = true;\n } else {\n ci.show(index);\n legendItem.hidden = false;\n }\n },\n onHover: null,\n onLeave: null,\n labels: {\n color: (ctx)=>ctx.chart.options.color,\n boxWidth: 40,\n padding: 10,\n generateLabels (chart) {\n const datasets = chart.data.datasets;\n const { labels: { usePointStyle , pointStyle , textAlign , color , useBorderRadius , borderRadius } } = chart.legend.options;\n return chart._getSortedDatasetMetas().map((meta)=>{\n const style = meta.controller.getStyle(usePointStyle ? 0 : undefined);\n const borderWidth = toPadding(style.borderWidth);\n return {\n text: datasets[meta.index].label,\n fillStyle: style.backgroundColor,\n fontColor: color,\n hidden: !meta.visible,\n lineCap: style.borderCapStyle,\n lineDash: style.borderDash,\n lineDashOffset: style.borderDashOffset,\n lineJoin: style.borderJoinStyle,\n lineWidth: (borderWidth.width + borderWidth.height) / 4,\n strokeStyle: style.borderColor,\n pointStyle: pointStyle || style.pointStyle,\n rotation: style.rotation,\n textAlign: textAlign || style.textAlign,\n borderRadius: useBorderRadius && (borderRadius || style.borderRadius),\n datasetIndex: meta.index\n };\n }, this);\n }\n },\n title: {\n color: (ctx)=>ctx.chart.options.color,\n display: false,\n position: 'center',\n text: ''\n }\n },\n descriptors: {\n _scriptable: (name)=>!name.startsWith('on'),\n labels: {\n _scriptable: (name)=>![\n 'generateLabels',\n 'filter',\n 'sort'\n ].includes(name)\n }\n }\n};\n\nclass Title extends Element {\n constructor(config){\n super();\n this.chart = config.chart;\n this.options = config.options;\n this.ctx = config.ctx;\n this._padding = undefined;\n this.top = undefined;\n this.bottom = undefined;\n this.left = undefined;\n this.right = undefined;\n this.width = undefined;\n this.height = undefined;\n this.position = undefined;\n this.weight = undefined;\n this.fullSize = undefined;\n }\n update(maxWidth, maxHeight) {\n const opts = this.options;\n this.left = 0;\n this.top = 0;\n if (!opts.display) {\n this.width = this.height = this.right = this.bottom = 0;\n return;\n }\n this.width = this.right = maxWidth;\n this.height = this.bottom = maxHeight;\n const lineCount = isArray(opts.text) ? opts.text.length : 1;\n this._padding = toPadding(opts.padding);\n const textSize = lineCount * toFont(opts.font).lineHeight + this._padding.height;\n if (this.isHorizontal()) {\n this.height = textSize;\n } else {\n this.width = textSize;\n }\n }\n isHorizontal() {\n const pos = this.options.position;\n return pos === 'top' || pos === 'bottom';\n }\n _drawArgs(offset) {\n const { top , left , bottom , right , options } = this;\n const align = options.align;\n let rotation = 0;\n let maxWidth, titleX, titleY;\n if (this.isHorizontal()) {\n titleX = _alignStartEnd(align, left, right);\n titleY = top + offset;\n maxWidth = right - left;\n } else {\n if (options.position === 'left') {\n titleX = left + offset;\n titleY = _alignStartEnd(align, bottom, top);\n rotation = PI * -0.5;\n } else {\n titleX = right - offset;\n titleY = _alignStartEnd(align, top, bottom);\n rotation = PI * 0.5;\n }\n maxWidth = bottom - top;\n }\n return {\n titleX,\n titleY,\n maxWidth,\n rotation\n };\n }\n draw() {\n const ctx = this.ctx;\n const opts = this.options;\n if (!opts.display) {\n return;\n }\n const fontOpts = toFont(opts.font);\n const lineHeight = fontOpts.lineHeight;\n const offset = lineHeight / 2 + this._padding.top;\n const { titleX , titleY , maxWidth , rotation } = this._drawArgs(offset);\n renderText(ctx, opts.text, 0, 0, fontOpts, {\n color: opts.color,\n maxWidth,\n rotation,\n textAlign: _toLeftRightCenter(opts.align),\n textBaseline: 'middle',\n translation: [\n titleX,\n titleY\n ]\n });\n }\n}\nfunction createTitle(chart, titleOpts) {\n const title = new Title({\n ctx: chart.ctx,\n options: titleOpts,\n chart\n });\n layouts.configure(chart, title, titleOpts);\n layouts.addBox(chart, title);\n chart.titleBlock = title;\n}\nvar plugin_title = {\n id: 'title',\n _element: Title,\n start (chart, _args, options) {\n createTitle(chart, options);\n },\n stop (chart) {\n const titleBlock = chart.titleBlock;\n layouts.removeBox(chart, titleBlock);\n delete chart.titleBlock;\n },\n beforeUpdate (chart, _args, options) {\n const title = chart.titleBlock;\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'bold'\n },\n fullSize: true,\n padding: 10,\n position: 'top',\n text: '',\n weight: 2000\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst map = new WeakMap();\nvar plugin_subtitle = {\n id: 'subtitle',\n start (chart, _args, options) {\n const title = new Title({\n ctx: chart.ctx,\n options,\n chart\n });\n layouts.configure(chart, title, options);\n layouts.addBox(chart, title);\n map.set(chart, title);\n },\n stop (chart) {\n layouts.removeBox(chart, map.get(chart));\n map.delete(chart);\n },\n beforeUpdate (chart, _args, options) {\n const title = map.get(chart);\n layouts.configure(chart, title, options);\n title.options = options;\n },\n defaults: {\n align: 'center',\n display: false,\n font: {\n weight: 'normal'\n },\n fullSize: true,\n padding: 0,\n position: 'top',\n text: '',\n weight: 1500\n },\n defaultRoutes: {\n color: 'color'\n },\n descriptors: {\n _scriptable: true,\n _indexable: false\n }\n};\n\nconst positioners = {\n average (items) {\n if (!items.length) {\n return false;\n }\n let i, len;\n let xSet = new Set();\n let y = 0;\n let count = 0;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const pos = el.tooltipPosition();\n xSet.add(pos.x);\n y += pos.y;\n ++count;\n }\n }\n const xAverage = [\n ...xSet\n ].reduce((a, b)=>a + b) / xSet.size;\n return {\n x: xAverage,\n y: y / count\n };\n },\n nearest (items, eventPosition) {\n if (!items.length) {\n return false;\n }\n let x = eventPosition.x;\n let y = eventPosition.y;\n let minDistance = Number.POSITIVE_INFINITY;\n let i, len, nearestElement;\n for(i = 0, len = items.length; i < len; ++i){\n const el = items[i].element;\n if (el && el.hasValue()) {\n const center = el.getCenterPoint();\n const d = distanceBetweenPoints(eventPosition, center);\n if (d < minDistance) {\n minDistance = d;\n nearestElement = el;\n }\n }\n }\n if (nearestElement) {\n const tp = nearestElement.tooltipPosition();\n x = tp.x;\n y = tp.y;\n }\n return {\n x,\n y\n };\n }\n};\nfunction pushOrConcat(base, toPush) {\n if (toPush) {\n if (isArray(toPush)) {\n Array.prototype.push.apply(base, toPush);\n } else {\n base.push(toPush);\n }\n }\n return base;\n}\n function splitNewlines(str) {\n if ((typeof str === 'string' || str instanceof String) && str.indexOf('\\n') > -1) {\n return str.split('\\n');\n }\n return str;\n}\n function createTooltipItem(chart, item) {\n const { element , datasetIndex , index } = item;\n const controller = chart.getDatasetMeta(datasetIndex).controller;\n const { label , value } = controller.getLabelAndValue(index);\n return {\n chart,\n label,\n parsed: controller.getParsed(index),\n raw: chart.data.datasets[datasetIndex].data[index],\n formattedValue: value,\n dataset: controller.getDataset(),\n dataIndex: index,\n datasetIndex,\n element\n };\n}\n function getTooltipSize(tooltip, options) {\n const ctx = tooltip.chart.ctx;\n const { body , footer , title } = tooltip;\n const { boxWidth , boxHeight } = options;\n const bodyFont = toFont(options.bodyFont);\n const titleFont = toFont(options.titleFont);\n const footerFont = toFont(options.footerFont);\n const titleLineCount = title.length;\n const footerLineCount = footer.length;\n const bodyLineItemCount = body.length;\n const padding = toPadding(options.padding);\n let height = padding.height;\n let width = 0;\n let combinedBodyLength = body.reduce((count, bodyItem)=>count + bodyItem.before.length + bodyItem.lines.length + bodyItem.after.length, 0);\n combinedBodyLength += tooltip.beforeBody.length + tooltip.afterBody.length;\n if (titleLineCount) {\n height += titleLineCount * titleFont.lineHeight + (titleLineCount - 1) * options.titleSpacing + options.titleMarginBottom;\n }\n if (combinedBodyLength) {\n const bodyLineHeight = options.displayColors ? Math.max(boxHeight, bodyFont.lineHeight) : bodyFont.lineHeight;\n height += bodyLineItemCount * bodyLineHeight + (combinedBodyLength - bodyLineItemCount) * bodyFont.lineHeight + (combinedBodyLength - 1) * options.bodySpacing;\n }\n if (footerLineCount) {\n height += options.footerMarginTop + footerLineCount * footerFont.lineHeight + (footerLineCount - 1) * options.footerSpacing;\n }\n let widthPadding = 0;\n const maxLineWidth = function(line) {\n width = Math.max(width, ctx.measureText(line).width + widthPadding);\n };\n ctx.save();\n ctx.font = titleFont.string;\n each(tooltip.title, maxLineWidth);\n ctx.font = bodyFont.string;\n each(tooltip.beforeBody.concat(tooltip.afterBody), maxLineWidth);\n widthPadding = options.displayColors ? boxWidth + 2 + options.boxPadding : 0;\n each(body, (bodyItem)=>{\n each(bodyItem.before, maxLineWidth);\n each(bodyItem.lines, maxLineWidth);\n each(bodyItem.after, maxLineWidth);\n });\n widthPadding = 0;\n ctx.font = footerFont.string;\n each(tooltip.footer, maxLineWidth);\n ctx.restore();\n width += padding.width;\n return {\n width,\n height\n };\n}\nfunction determineYAlign(chart, size) {\n const { y , height } = size;\n if (y < height / 2) {\n return 'top';\n } else if (y > chart.height - height / 2) {\n return 'bottom';\n }\n return 'center';\n}\nfunction doesNotFitWithAlign(xAlign, chart, options, size) {\n const { x , width } = size;\n const caret = options.caretSize + options.caretPadding;\n if (xAlign === 'left' && x + width + caret > chart.width) {\n return true;\n }\n if (xAlign === 'right' && x - width - caret < 0) {\n return true;\n }\n}\nfunction determineXAlign(chart, options, size, yAlign) {\n const { x , width } = size;\n const { width: chartWidth , chartArea: { left , right } } = chart;\n let xAlign = 'center';\n if (yAlign === 'center') {\n xAlign = x <= (left + right) / 2 ? 'left' : 'right';\n } else if (x <= width / 2) {\n xAlign = 'left';\n } else if (x >= chartWidth - width / 2) {\n xAlign = 'right';\n }\n if (doesNotFitWithAlign(xAlign, chart, options, size)) {\n xAlign = 'center';\n }\n return xAlign;\n}\n function determineAlignment(chart, options, size) {\n const yAlign = size.yAlign || options.yAlign || determineYAlign(chart, size);\n return {\n xAlign: size.xAlign || options.xAlign || determineXAlign(chart, options, size, yAlign),\n yAlign\n };\n}\nfunction alignX(size, xAlign) {\n let { x , width } = size;\n if (xAlign === 'right') {\n x -= width;\n } else if (xAlign === 'center') {\n x -= width / 2;\n }\n return x;\n}\nfunction alignY(size, yAlign, paddingAndSize) {\n let { y , height } = size;\n if (yAlign === 'top') {\n y += paddingAndSize;\n } else if (yAlign === 'bottom') {\n y -= height + paddingAndSize;\n } else {\n y -= height / 2;\n }\n return y;\n}\n function getBackgroundPoint(options, size, alignment, chart) {\n const { caretSize , caretPadding , cornerRadius } = options;\n const { xAlign , yAlign } = alignment;\n const paddingAndSize = caretSize + caretPadding;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n let x = alignX(size, xAlign);\n const y = alignY(size, yAlign, paddingAndSize);\n if (yAlign === 'center') {\n if (xAlign === 'left') {\n x += paddingAndSize;\n } else if (xAlign === 'right') {\n x -= paddingAndSize;\n }\n } else if (xAlign === 'left') {\n x -= Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x += Math.max(topRight, bottomRight) + caretSize;\n }\n return {\n x: _limitValue(x, 0, chart.width - size.width),\n y: _limitValue(y, 0, chart.height - size.height)\n };\n}\nfunction getAlignedX(tooltip, align, options) {\n const padding = toPadding(options.padding);\n return align === 'center' ? tooltip.x + tooltip.width / 2 : align === 'right' ? tooltip.x + tooltip.width - padding.right : tooltip.x + padding.left;\n}\n function getBeforeAfterBodyLines(callback) {\n return pushOrConcat([], splitNewlines(callback));\n}\nfunction createTooltipContext(parent, tooltip, tooltipItems) {\n return createContext(parent, {\n tooltip,\n tooltipItems,\n type: 'tooltip'\n });\n}\nfunction overrideCallbacks(callbacks, context) {\n const override = context && context.dataset && context.dataset.tooltip && context.dataset.tooltip.callbacks;\n return override ? callbacks.override(override) : callbacks;\n}\nconst defaultCallbacks = {\n beforeTitle: noop,\n title (tooltipItems) {\n if (tooltipItems.length > 0) {\n const item = tooltipItems[0];\n const labels = item.chart.data.labels;\n const labelCount = labels ? labels.length : 0;\n if (this && this.options && this.options.mode === 'dataset') {\n return item.dataset.label || '';\n } else if (item.label) {\n return item.label;\n } else if (labelCount > 0 && item.dataIndex < labelCount) {\n return labels[item.dataIndex];\n }\n }\n return '';\n },\n afterTitle: noop,\n beforeBody: noop,\n beforeLabel: noop,\n label (tooltipItem) {\n if (this && this.options && this.options.mode === 'dataset') {\n return tooltipItem.label + ': ' + tooltipItem.formattedValue || tooltipItem.formattedValue;\n }\n let label = tooltipItem.dataset.label || '';\n if (label) {\n label += ': ';\n }\n const value = tooltipItem.formattedValue;\n if (!isNullOrUndef(value)) {\n label += value;\n }\n return label;\n },\n labelColor (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n borderColor: options.borderColor,\n backgroundColor: options.backgroundColor,\n borderWidth: options.borderWidth,\n borderDash: options.borderDash,\n borderDashOffset: options.borderDashOffset,\n borderRadius: 0\n };\n },\n labelTextColor () {\n return this.options.bodyColor;\n },\n labelPointStyle (tooltipItem) {\n const meta = tooltipItem.chart.getDatasetMeta(tooltipItem.datasetIndex);\n const options = meta.controller.getStyle(tooltipItem.dataIndex);\n return {\n pointStyle: options.pointStyle,\n rotation: options.rotation\n };\n },\n afterLabel: noop,\n afterBody: noop,\n beforeFooter: noop,\n footer: noop,\n afterFooter: noop\n};\n function invokeCallbackWithFallback(callbacks, name, ctx, arg) {\n const result = callbacks[name].call(ctx, arg);\n if (typeof result === 'undefined') {\n return defaultCallbacks[name].call(ctx, arg);\n }\n return result;\n}\nclass Tooltip extends Element {\n static positioners = positioners;\n constructor(config){\n super();\n this.opacity = 0;\n this._active = [];\n this._eventPosition = undefined;\n this._size = undefined;\n this._cachedAnimations = undefined;\n this._tooltipItems = [];\n this.$animations = undefined;\n this.$context = undefined;\n this.chart = config.chart;\n this.options = config.options;\n this.dataPoints = undefined;\n this.title = undefined;\n this.beforeBody = undefined;\n this.body = undefined;\n this.afterBody = undefined;\n this.footer = undefined;\n this.xAlign = undefined;\n this.yAlign = undefined;\n this.x = undefined;\n this.y = undefined;\n this.height = undefined;\n this.width = undefined;\n this.caretX = undefined;\n this.caretY = undefined;\n this.labelColors = undefined;\n this.labelPointStyles = undefined;\n this.labelTextColors = undefined;\n }\n initialize(options) {\n this.options = options;\n this._cachedAnimations = undefined;\n this.$context = undefined;\n }\n _resolveAnimations() {\n const cached = this._cachedAnimations;\n if (cached) {\n return cached;\n }\n const chart = this.chart;\n const options = this.options.setContext(this.getContext());\n const opts = options.enabled && chart.options.animation && options.animations;\n const animations = new Animations(this.chart, opts);\n if (opts._cacheable) {\n this._cachedAnimations = Object.freeze(animations);\n }\n return animations;\n }\n getContext() {\n return this.$context || (this.$context = createTooltipContext(this.chart.getContext(), this, this._tooltipItems));\n }\n getTitle(context, options) {\n const { callbacks } = options;\n const beforeTitle = invokeCallbackWithFallback(callbacks, 'beforeTitle', this, context);\n const title = invokeCallbackWithFallback(callbacks, 'title', this, context);\n const afterTitle = invokeCallbackWithFallback(callbacks, 'afterTitle', this, context);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeTitle));\n lines = pushOrConcat(lines, splitNewlines(title));\n lines = pushOrConcat(lines, splitNewlines(afterTitle));\n return lines;\n }\n getBeforeBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'beforeBody', this, tooltipItems));\n }\n getBody(tooltipItems, options) {\n const { callbacks } = options;\n const bodyItems = [];\n each(tooltipItems, (context)=>{\n const bodyItem = {\n before: [],\n lines: [],\n after: []\n };\n const scoped = overrideCallbacks(callbacks, context);\n pushOrConcat(bodyItem.before, splitNewlines(invokeCallbackWithFallback(scoped, 'beforeLabel', this, context)));\n pushOrConcat(bodyItem.lines, invokeCallbackWithFallback(scoped, 'label', this, context));\n pushOrConcat(bodyItem.after, splitNewlines(invokeCallbackWithFallback(scoped, 'afterLabel', this, context)));\n bodyItems.push(bodyItem);\n });\n return bodyItems;\n }\n getAfterBody(tooltipItems, options) {\n return getBeforeAfterBodyLines(invokeCallbackWithFallback(options.callbacks, 'afterBody', this, tooltipItems));\n }\n getFooter(tooltipItems, options) {\n const { callbacks } = options;\n const beforeFooter = invokeCallbackWithFallback(callbacks, 'beforeFooter', this, tooltipItems);\n const footer = invokeCallbackWithFallback(callbacks, 'footer', this, tooltipItems);\n const afterFooter = invokeCallbackWithFallback(callbacks, 'afterFooter', this, tooltipItems);\n let lines = [];\n lines = pushOrConcat(lines, splitNewlines(beforeFooter));\n lines = pushOrConcat(lines, splitNewlines(footer));\n lines = pushOrConcat(lines, splitNewlines(afterFooter));\n return lines;\n }\n _createItems(options) {\n const active = this._active;\n const data = this.chart.data;\n const labelColors = [];\n const labelPointStyles = [];\n const labelTextColors = [];\n let tooltipItems = [];\n let i, len;\n for(i = 0, len = active.length; i < len; ++i){\n tooltipItems.push(createTooltipItem(this.chart, active[i]));\n }\n if (options.filter) {\n tooltipItems = tooltipItems.filter((element, index, array)=>options.filter(element, index, array, data));\n }\n if (options.itemSort) {\n tooltipItems = tooltipItems.sort((a, b)=>options.itemSort(a, b, data));\n }\n each(tooltipItems, (context)=>{\n const scoped = overrideCallbacks(options.callbacks, context);\n labelColors.push(invokeCallbackWithFallback(scoped, 'labelColor', this, context));\n labelPointStyles.push(invokeCallbackWithFallback(scoped, 'labelPointStyle', this, context));\n labelTextColors.push(invokeCallbackWithFallback(scoped, 'labelTextColor', this, context));\n });\n this.labelColors = labelColors;\n this.labelPointStyles = labelPointStyles;\n this.labelTextColors = labelTextColors;\n this.dataPoints = tooltipItems;\n return tooltipItems;\n }\n update(changed, replay) {\n const options = this.options.setContext(this.getContext());\n const active = this._active;\n let properties;\n let tooltipItems = [];\n if (!active.length) {\n if (this.opacity !== 0) {\n properties = {\n opacity: 0\n };\n }\n } else {\n const position = positioners[options.position].call(this, active, this._eventPosition);\n tooltipItems = this._createItems(options);\n this.title = this.getTitle(tooltipItems, options);\n this.beforeBody = this.getBeforeBody(tooltipItems, options);\n this.body = this.getBody(tooltipItems, options);\n this.afterBody = this.getAfterBody(tooltipItems, options);\n this.footer = this.getFooter(tooltipItems, options);\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, size);\n const alignment = determineAlignment(this.chart, options, positionAndSize);\n const backgroundPoint = getBackgroundPoint(options, positionAndSize, alignment, this.chart);\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n properties = {\n opacity: 1,\n x: backgroundPoint.x,\n y: backgroundPoint.y,\n width: size.width,\n height: size.height,\n caretX: position.x,\n caretY: position.y\n };\n }\n this._tooltipItems = tooltipItems;\n this.$context = undefined;\n if (properties) {\n this._resolveAnimations().update(this, properties);\n }\n if (changed && options.external) {\n options.external.call(this, {\n chart: this.chart,\n tooltip: this,\n replay\n });\n }\n }\n drawCaret(tooltipPoint, ctx, size, options) {\n const caretPosition = this.getCaretPosition(tooltipPoint, size, options);\n ctx.lineTo(caretPosition.x1, caretPosition.y1);\n ctx.lineTo(caretPosition.x2, caretPosition.y2);\n ctx.lineTo(caretPosition.x3, caretPosition.y3);\n }\n getCaretPosition(tooltipPoint, size, options) {\n const { xAlign , yAlign } = this;\n const { caretSize , cornerRadius } = options;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(cornerRadius);\n const { x: ptX , y: ptY } = tooltipPoint;\n const { width , height } = size;\n let x1, x2, x3, y1, y2, y3;\n if (yAlign === 'center') {\n y2 = ptY + height / 2;\n if (xAlign === 'left') {\n x1 = ptX;\n x2 = x1 - caretSize;\n y1 = y2 + caretSize;\n y3 = y2 - caretSize;\n } else {\n x1 = ptX + width;\n x2 = x1 + caretSize;\n y1 = y2 - caretSize;\n y3 = y2 + caretSize;\n }\n x3 = x1;\n } else {\n if (xAlign === 'left') {\n x2 = ptX + Math.max(topLeft, bottomLeft) + caretSize;\n } else if (xAlign === 'right') {\n x2 = ptX + width - Math.max(topRight, bottomRight) - caretSize;\n } else {\n x2 = this.caretX;\n }\n if (yAlign === 'top') {\n y1 = ptY;\n y2 = y1 - caretSize;\n x1 = x2 - caretSize;\n x3 = x2 + caretSize;\n } else {\n y1 = ptY + height;\n y2 = y1 + caretSize;\n x1 = x2 + caretSize;\n x3 = x2 - caretSize;\n }\n y3 = y1;\n }\n return {\n x1,\n x2,\n x3,\n y1,\n y2,\n y3\n };\n }\n drawTitle(pt, ctx, options) {\n const title = this.title;\n const length = title.length;\n let titleFont, titleSpacing, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.titleAlign, options);\n ctx.textAlign = rtlHelper.textAlign(options.titleAlign);\n ctx.textBaseline = 'middle';\n titleFont = toFont(options.titleFont);\n titleSpacing = options.titleSpacing;\n ctx.fillStyle = options.titleColor;\n ctx.font = titleFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(title[i], rtlHelper.x(pt.x), pt.y + titleFont.lineHeight / 2);\n pt.y += titleFont.lineHeight + titleSpacing;\n if (i + 1 === length) {\n pt.y += options.titleMarginBottom - titleSpacing;\n }\n }\n }\n }\n _drawColorBox(ctx, pt, i, rtlHelper, options) {\n const labelColor = this.labelColors[i];\n const labelPointStyle = this.labelPointStyles[i];\n const { boxHeight , boxWidth } = options;\n const bodyFont = toFont(options.bodyFont);\n const colorX = getAlignedX(this, 'left', options);\n const rtlColorX = rtlHelper.x(colorX);\n const yOffSet = boxHeight < bodyFont.lineHeight ? (bodyFont.lineHeight - boxHeight) / 2 : 0;\n const colorY = pt.y + yOffSet;\n if (options.usePointStyle) {\n const drawOptions = {\n radius: Math.min(boxWidth, boxHeight) / 2,\n pointStyle: labelPointStyle.pointStyle,\n rotation: labelPointStyle.rotation,\n borderWidth: 1\n };\n const centerX = rtlHelper.leftForLtr(rtlColorX, boxWidth) + boxWidth / 2;\n const centerY = colorY + boxHeight / 2;\n ctx.strokeStyle = options.multiKeyBackground;\n ctx.fillStyle = options.multiKeyBackground;\n drawPoint(ctx, drawOptions, centerX, centerY);\n ctx.strokeStyle = labelColor.borderColor;\n ctx.fillStyle = labelColor.backgroundColor;\n drawPoint(ctx, drawOptions, centerX, centerY);\n } else {\n ctx.lineWidth = isObject(labelColor.borderWidth) ? Math.max(...Object.values(labelColor.borderWidth)) : labelColor.borderWidth || 1;\n ctx.strokeStyle = labelColor.borderColor;\n ctx.setLineDash(labelColor.borderDash || []);\n ctx.lineDashOffset = labelColor.borderDashOffset || 0;\n const outerX = rtlHelper.leftForLtr(rtlColorX, boxWidth);\n const innerX = rtlHelper.leftForLtr(rtlHelper.xPlus(rtlColorX, 1), boxWidth - 2);\n const borderRadius = toTRBLCorners(labelColor.borderRadius);\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n ctx.fillStyle = options.multiKeyBackground;\n addRoundedRectPath(ctx, {\n x: outerX,\n y: colorY,\n w: boxWidth,\n h: boxHeight,\n radius: borderRadius\n });\n ctx.fill();\n ctx.stroke();\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: innerX,\n y: colorY + 1,\n w: boxWidth - 2,\n h: boxHeight - 2,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillStyle = options.multiKeyBackground;\n ctx.fillRect(outerX, colorY, boxWidth, boxHeight);\n ctx.strokeRect(outerX, colorY, boxWidth, boxHeight);\n ctx.fillStyle = labelColor.backgroundColor;\n ctx.fillRect(innerX, colorY + 1, boxWidth - 2, boxHeight - 2);\n }\n }\n ctx.fillStyle = this.labelTextColors[i];\n }\n drawBody(pt, ctx, options) {\n const { body } = this;\n const { bodySpacing , bodyAlign , displayColors , boxHeight , boxWidth , boxPadding } = options;\n const bodyFont = toFont(options.bodyFont);\n let bodyLineHeight = bodyFont.lineHeight;\n let xLinePadding = 0;\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n const fillLineOfText = function(line) {\n ctx.fillText(line, rtlHelper.x(pt.x + xLinePadding), pt.y + bodyLineHeight / 2);\n pt.y += bodyLineHeight + bodySpacing;\n };\n const bodyAlignForCalculation = rtlHelper.textAlign(bodyAlign);\n let bodyItem, textColor, lines, i, j, ilen, jlen;\n ctx.textAlign = bodyAlign;\n ctx.textBaseline = 'middle';\n ctx.font = bodyFont.string;\n pt.x = getAlignedX(this, bodyAlignForCalculation, options);\n ctx.fillStyle = options.bodyColor;\n each(this.beforeBody, fillLineOfText);\n xLinePadding = displayColors && bodyAlignForCalculation !== 'right' ? bodyAlign === 'center' ? boxWidth / 2 + boxPadding : boxWidth + 2 + boxPadding : 0;\n for(i = 0, ilen = body.length; i < ilen; ++i){\n bodyItem = body[i];\n textColor = this.labelTextColors[i];\n ctx.fillStyle = textColor;\n each(bodyItem.before, fillLineOfText);\n lines = bodyItem.lines;\n if (displayColors && lines.length) {\n this._drawColorBox(ctx, pt, i, rtlHelper, options);\n bodyLineHeight = Math.max(bodyFont.lineHeight, boxHeight);\n }\n for(j = 0, jlen = lines.length; j < jlen; ++j){\n fillLineOfText(lines[j]);\n bodyLineHeight = bodyFont.lineHeight;\n }\n each(bodyItem.after, fillLineOfText);\n }\n xLinePadding = 0;\n bodyLineHeight = bodyFont.lineHeight;\n each(this.afterBody, fillLineOfText);\n pt.y -= bodySpacing;\n }\n drawFooter(pt, ctx, options) {\n const footer = this.footer;\n const length = footer.length;\n let footerFont, i;\n if (length) {\n const rtlHelper = getRtlAdapter(options.rtl, this.x, this.width);\n pt.x = getAlignedX(this, options.footerAlign, options);\n pt.y += options.footerMarginTop;\n ctx.textAlign = rtlHelper.textAlign(options.footerAlign);\n ctx.textBaseline = 'middle';\n footerFont = toFont(options.footerFont);\n ctx.fillStyle = options.footerColor;\n ctx.font = footerFont.string;\n for(i = 0; i < length; ++i){\n ctx.fillText(footer[i], rtlHelper.x(pt.x), pt.y + footerFont.lineHeight / 2);\n pt.y += footerFont.lineHeight + options.footerSpacing;\n }\n }\n }\n drawBackground(pt, ctx, tooltipSize, options) {\n const { xAlign , yAlign } = this;\n const { x , y } = pt;\n const { width , height } = tooltipSize;\n const { topLeft , topRight , bottomLeft , bottomRight } = toTRBLCorners(options.cornerRadius);\n ctx.fillStyle = options.backgroundColor;\n ctx.strokeStyle = options.borderColor;\n ctx.lineWidth = options.borderWidth;\n ctx.beginPath();\n ctx.moveTo(x + topLeft, y);\n if (yAlign === 'top') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width - topRight, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + topRight);\n if (yAlign === 'center' && xAlign === 'right') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + width, y + height - bottomRight);\n ctx.quadraticCurveTo(x + width, y + height, x + width - bottomRight, y + height);\n if (yAlign === 'bottom') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x + bottomLeft, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - bottomLeft);\n if (yAlign === 'center' && xAlign === 'left') {\n this.drawCaret(pt, ctx, tooltipSize, options);\n }\n ctx.lineTo(x, y + topLeft);\n ctx.quadraticCurveTo(x, y, x + topLeft, y);\n ctx.closePath();\n ctx.fill();\n if (options.borderWidth > 0) {\n ctx.stroke();\n }\n }\n _updateAnimationTarget(options) {\n const chart = this.chart;\n const anims = this.$animations;\n const animX = anims && anims.x;\n const animY = anims && anims.y;\n if (animX || animY) {\n const position = positioners[options.position].call(this, this._active, this._eventPosition);\n if (!position) {\n return;\n }\n const size = this._size = getTooltipSize(this, options);\n const positionAndSize = Object.assign({}, position, this._size);\n const alignment = determineAlignment(chart, options, positionAndSize);\n const point = getBackgroundPoint(options, positionAndSize, alignment, chart);\n if (animX._to !== point.x || animY._to !== point.y) {\n this.xAlign = alignment.xAlign;\n this.yAlign = alignment.yAlign;\n this.width = size.width;\n this.height = size.height;\n this.caretX = position.x;\n this.caretY = position.y;\n this._resolveAnimations().update(this, point);\n }\n }\n }\n _willRender() {\n return !!this.opacity;\n }\n draw(ctx) {\n const options = this.options.setContext(this.getContext());\n let opacity = this.opacity;\n if (!opacity) {\n return;\n }\n this._updateAnimationTarget(options);\n const tooltipSize = {\n width: this.width,\n height: this.height\n };\n const pt = {\n x: this.x,\n y: this.y\n };\n opacity = Math.abs(opacity) < 1e-3 ? 0 : opacity;\n const padding = toPadding(options.padding);\n const hasTooltipContent = this.title.length || this.beforeBody.length || this.body.length || this.afterBody.length || this.footer.length;\n if (options.enabled && hasTooltipContent) {\n ctx.save();\n ctx.globalAlpha = opacity;\n this.drawBackground(pt, ctx, tooltipSize, options);\n overrideTextDirection(ctx, options.textDirection);\n pt.y += padding.top;\n this.drawTitle(pt, ctx, options);\n this.drawBody(pt, ctx, options);\n this.drawFooter(pt, ctx, options);\n restoreTextDirection(ctx, options.textDirection);\n ctx.restore();\n }\n }\n getActiveElements() {\n return this._active || [];\n }\n setActiveElements(activeElements, eventPosition) {\n const lastActive = this._active;\n const active = activeElements.map(({ datasetIndex , index })=>{\n const meta = this.chart.getDatasetMeta(datasetIndex);\n if (!meta) {\n throw new Error('Cannot find a dataset at index ' + datasetIndex);\n }\n return {\n datasetIndex,\n element: meta.data[index],\n index\n };\n });\n const changed = !_elementsEqual(lastActive, active);\n const positionChanged = this._positionChanged(active, eventPosition);\n if (changed || positionChanged) {\n this._active = active;\n this._eventPosition = eventPosition;\n this._ignoreReplayEvents = true;\n this.update(true);\n }\n }\n handleEvent(e, replay, inChartArea = true) {\n if (replay && this._ignoreReplayEvents) {\n return false;\n }\n this._ignoreReplayEvents = false;\n const options = this.options;\n const lastActive = this._active || [];\n const active = this._getActiveElements(e, lastActive, replay, inChartArea);\n const positionChanged = this._positionChanged(active, e);\n const changed = replay || !_elementsEqual(active, lastActive) || positionChanged;\n if (changed) {\n this._active = active;\n if (options.enabled || options.external) {\n this._eventPosition = {\n x: e.x,\n y: e.y\n };\n this.update(true, replay);\n }\n }\n return changed;\n }\n _getActiveElements(e, lastActive, replay, inChartArea) {\n const options = this.options;\n if (e.type === 'mouseout') {\n return [];\n }\n if (!inChartArea) {\n return lastActive.filter((i)=>this.chart.data.datasets[i.datasetIndex] && this.chart.getDatasetMeta(i.datasetIndex).controller.getParsed(i.index) !== undefined);\n }\n const active = this.chart.getElementsAtEventForMode(e, options.mode, options, replay);\n if (options.reverse) {\n active.reverse();\n }\n return active;\n }\n _positionChanged(active, e) {\n const { caretX , caretY , options } = this;\n const position = positioners[options.position].call(this, active, e);\n return position !== false && (caretX !== position.x || caretY !== position.y);\n }\n}\nvar plugin_tooltip = {\n id: 'tooltip',\n _element: Tooltip,\n positioners,\n afterInit (chart, _args, options) {\n if (options) {\n chart.tooltip = new Tooltip({\n chart,\n options\n });\n }\n },\n beforeUpdate (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n reset (chart, _args, options) {\n if (chart.tooltip) {\n chart.tooltip.initialize(options);\n }\n },\n afterDraw (chart) {\n const tooltip = chart.tooltip;\n if (tooltip && tooltip._willRender()) {\n const args = {\n tooltip\n };\n if (chart.notifyPlugins('beforeTooltipDraw', {\n ...args,\n cancelable: true\n }) === false) {\n return;\n }\n tooltip.draw(chart.ctx);\n chart.notifyPlugins('afterTooltipDraw', args);\n }\n },\n afterEvent (chart, args) {\n if (chart.tooltip) {\n const useFinalPosition = args.replay;\n if (chart.tooltip.handleEvent(args.event, useFinalPosition, args.inChartArea)) {\n args.changed = true;\n }\n }\n },\n defaults: {\n enabled: true,\n external: null,\n position: 'average',\n backgroundColor: 'rgba(0,0,0,0.8)',\n titleColor: '#fff',\n titleFont: {\n weight: 'bold'\n },\n titleSpacing: 2,\n titleMarginBottom: 6,\n titleAlign: 'left',\n bodyColor: '#fff',\n bodySpacing: 2,\n bodyFont: {},\n bodyAlign: 'left',\n footerColor: '#fff',\n footerSpacing: 2,\n footerMarginTop: 6,\n footerFont: {\n weight: 'bold'\n },\n footerAlign: 'left',\n padding: 6,\n caretPadding: 2,\n caretSize: 5,\n cornerRadius: 6,\n boxHeight: (ctx, opts)=>opts.bodyFont.size,\n boxWidth: (ctx, opts)=>opts.bodyFont.size,\n multiKeyBackground: '#fff',\n displayColors: true,\n boxPadding: 0,\n borderColor: 'rgba(0,0,0,0)',\n borderWidth: 0,\n animation: {\n duration: 400,\n easing: 'easeOutQuart'\n },\n animations: {\n numbers: {\n type: 'number',\n properties: [\n 'x',\n 'y',\n 'width',\n 'height',\n 'caretX',\n 'caretY'\n ]\n },\n opacity: {\n easing: 'linear',\n duration: 200\n }\n },\n callbacks: defaultCallbacks\n },\n defaultRoutes: {\n bodyFont: 'font',\n footerFont: 'font',\n titleFont: 'font'\n },\n descriptors: {\n _scriptable: (name)=>name !== 'filter' && name !== 'itemSort' && name !== 'external',\n _indexable: false,\n callbacks: {\n _scriptable: false,\n _indexable: false\n },\n animation: {\n _fallback: false\n },\n animations: {\n _fallback: 'animation'\n }\n },\n additionalOptionScopes: [\n 'interaction'\n ]\n};\n\nvar plugins = /*#__PURE__*/Object.freeze({\n__proto__: null,\nColors: plugin_colors,\nDecimation: plugin_decimation,\nFiller: index,\nLegend: plugin_legend,\nSubTitle: plugin_subtitle,\nTitle: plugin_title,\nTooltip: plugin_tooltip\n});\n\nconst addIfString = (labels, raw, index, addedLabels)=>{\n if (typeof raw === 'string') {\n index = labels.push(raw) - 1;\n addedLabels.unshift({\n index,\n label: raw\n });\n } else if (isNaN(raw)) {\n index = null;\n }\n return index;\n};\nfunction findOrAddLabel(labels, raw, index, addedLabels) {\n const first = labels.indexOf(raw);\n if (first === -1) {\n return addIfString(labels, raw, index, addedLabels);\n }\n const last = labels.lastIndexOf(raw);\n return first !== last ? index : first;\n}\nconst validIndex = (index, max)=>index === null ? null : _limitValue(Math.round(index), 0, max);\nfunction _getLabelForValue(value) {\n const labels = this.getLabels();\n if (value >= 0 && value < labels.length) {\n return labels[value];\n }\n return value;\n}\nclass CategoryScale extends Scale {\n static id = 'category';\n static defaults = {\n ticks: {\n callback: _getLabelForValue\n }\n };\n constructor(cfg){\n super(cfg);\n this._startValue = undefined;\n this._valueRange = 0;\n this._addedLabels = [];\n }\n init(scaleOptions) {\n const added = this._addedLabels;\n if (added.length) {\n const labels = this.getLabels();\n for (const { index , label } of added){\n if (labels[index] === label) {\n labels.splice(index, 1);\n }\n }\n this._addedLabels = [];\n }\n super.init(scaleOptions);\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n const labels = this.getLabels();\n index = isFinite(index) && labels[index] === raw ? index : findOrAddLabel(labels, raw, valueOrDefault(index, raw), this._addedLabels);\n return validIndex(index, labels.length - 1);\n }\n determineDataLimits() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this.getMinMax(true);\n if (this.options.bounds === 'ticks') {\n if (!minDefined) {\n min = 0;\n }\n if (!maxDefined) {\n max = this.getLabels().length - 1;\n }\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const min = this.min;\n const max = this.max;\n const offset = this.options.offset;\n const ticks = [];\n let labels = this.getLabels();\n labels = min === 0 && max === labels.length - 1 ? labels : labels.slice(min, max + 1);\n this._valueRange = Math.max(labels.length - (offset ? 0 : 1), 1);\n this._startValue = this.min - (offset ? 0.5 : 0);\n for(let value = min; value <= max; value++){\n ticks.push({\n value\n });\n }\n return ticks;\n }\n getLabelForValue(value) {\n return _getLabelForValue.call(this, value);\n }\n configure() {\n super.configure();\n if (!this.isHorizontal()) {\n this._reversePixels = !this._reversePixels;\n }\n }\n getPixelForValue(value) {\n if (typeof value !== 'number') {\n value = this.parse(value);\n }\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getPixelForTick(index) {\n const ticks = this.ticks;\n if (index < 0 || index > ticks.length - 1) {\n return null;\n }\n return this.getPixelForValue(ticks[index].value);\n }\n getValueForPixel(pixel) {\n return Math.round(this._startValue + this.getDecimalForPixel(pixel) * this._valueRange);\n }\n getBasePixel() {\n return this.bottom;\n }\n}\n\nfunction generateTicks$1(generationOptions, dataRange) {\n const ticks = [];\n const MIN_SPACING = 1e-14;\n const { bounds , step , min , max , precision , count , maxTicks , maxDigits , includeBounds } = generationOptions;\n const unit = step || 1;\n const maxSpaces = maxTicks - 1;\n const { min: rmin , max: rmax } = dataRange;\n const minDefined = !isNullOrUndef(min);\n const maxDefined = !isNullOrUndef(max);\n const countDefined = !isNullOrUndef(count);\n const minSpacing = (rmax - rmin) / (maxDigits + 1);\n let spacing = niceNum((rmax - rmin) / maxSpaces / unit) * unit;\n let factor, niceMin, niceMax, numSpaces;\n if (spacing < MIN_SPACING && !minDefined && !maxDefined) {\n return [\n {\n value: rmin\n },\n {\n value: rmax\n }\n ];\n }\n numSpaces = Math.ceil(rmax / spacing) - Math.floor(rmin / spacing);\n if (numSpaces > maxSpaces) {\n spacing = niceNum(numSpaces * spacing / maxSpaces / unit) * unit;\n }\n if (!isNullOrUndef(precision)) {\n factor = Math.pow(10, precision);\n spacing = Math.ceil(spacing * factor) / factor;\n }\n if (bounds === 'ticks') {\n niceMin = Math.floor(rmin / spacing) * spacing;\n niceMax = Math.ceil(rmax / spacing) * spacing;\n } else {\n niceMin = rmin;\n niceMax = rmax;\n }\n if (minDefined && maxDefined && step && almostWhole((max - min) / step, spacing / 1000)) {\n numSpaces = Math.round(Math.min((max - min) / spacing, maxTicks));\n spacing = (max - min) / numSpaces;\n niceMin = min;\n niceMax = max;\n } else if (countDefined) {\n niceMin = minDefined ? min : niceMin;\n niceMax = maxDefined ? max : niceMax;\n numSpaces = count - 1;\n spacing = (niceMax - niceMin) / numSpaces;\n } else {\n numSpaces = (niceMax - niceMin) / spacing;\n if (almostEquals(numSpaces, Math.round(numSpaces), spacing / 1000)) {\n numSpaces = Math.round(numSpaces);\n } else {\n numSpaces = Math.ceil(numSpaces);\n }\n }\n const decimalPlaces = Math.max(_decimalPlaces(spacing), _decimalPlaces(niceMin));\n factor = Math.pow(10, isNullOrUndef(precision) ? decimalPlaces : precision);\n niceMin = Math.round(niceMin * factor) / factor;\n niceMax = Math.round(niceMax * factor) / factor;\n let j = 0;\n if (minDefined) {\n if (includeBounds && niceMin !== min) {\n ticks.push({\n value: min\n });\n if (niceMin < min) {\n j++;\n }\n if (almostEquals(Math.round((niceMin + j * spacing) * factor) / factor, min, relativeLabelSize(min, minSpacing, generationOptions))) {\n j++;\n }\n } else if (niceMin < min) {\n j++;\n }\n }\n for(; j < numSpaces; ++j){\n const tickValue = Math.round((niceMin + j * spacing) * factor) / factor;\n if (maxDefined && tickValue > max) {\n break;\n }\n ticks.push({\n value: tickValue\n });\n }\n if (maxDefined && includeBounds && niceMax !== max) {\n if (ticks.length && almostEquals(ticks[ticks.length - 1].value, max, relativeLabelSize(max, minSpacing, generationOptions))) {\n ticks[ticks.length - 1].value = max;\n } else {\n ticks.push({\n value: max\n });\n }\n } else if (!maxDefined || niceMax === max) {\n ticks.push({\n value: niceMax\n });\n }\n return ticks;\n}\nfunction relativeLabelSize(value, minSpacing, { horizontal , minRotation }) {\n const rad = toRadians(minRotation);\n const ratio = (horizontal ? Math.sin(rad) : Math.cos(rad)) || 0.001;\n const length = 0.75 * minSpacing * ('' + value).length;\n return Math.min(minSpacing / ratio, length);\n}\nclass LinearScaleBase extends Scale {\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._endValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n if (isNullOrUndef(raw)) {\n return null;\n }\n if ((typeof raw === 'number' || raw instanceof Number) && !isFinite(+raw)) {\n return null;\n }\n return +raw;\n }\n handleTickRangeOptions() {\n const { beginAtZero } = this.options;\n const { minDefined , maxDefined } = this.getUserBounds();\n let { min , max } = this;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (beginAtZero) {\n const minSign = sign(min);\n const maxSign = sign(max);\n if (minSign < 0 && maxSign < 0) {\n setMax(0);\n } else if (minSign > 0 && maxSign > 0) {\n setMin(0);\n }\n }\n if (min === max) {\n let offset = max === 0 ? 1 : Math.abs(max * 0.05);\n setMax(max + offset);\n if (!beginAtZero) {\n setMin(min - offset);\n }\n }\n this.min = min;\n this.max = max;\n }\n getTickLimit() {\n const tickOpts = this.options.ticks;\n let { maxTicksLimit , stepSize } = tickOpts;\n let maxTicks;\n if (stepSize) {\n maxTicks = Math.ceil(this.max / stepSize) - Math.floor(this.min / stepSize) + 1;\n if (maxTicks > 1000) {\n console.warn(`scales.${this.id}.ticks.stepSize: ${stepSize} would result generating up to ${maxTicks} ticks. Limiting to 1000.`);\n maxTicks = 1000;\n }\n } else {\n maxTicks = this.computeTickLimit();\n maxTicksLimit = maxTicksLimit || 11;\n }\n if (maxTicksLimit) {\n maxTicks = Math.min(maxTicksLimit, maxTicks);\n }\n return maxTicks;\n }\n computeTickLimit() {\n return Number.POSITIVE_INFINITY;\n }\n buildTicks() {\n const opts = this.options;\n const tickOpts = opts.ticks;\n let maxTicks = this.getTickLimit();\n maxTicks = Math.max(2, maxTicks);\n const numericGeneratorOptions = {\n maxTicks,\n bounds: opts.bounds,\n min: opts.min,\n max: opts.max,\n precision: tickOpts.precision,\n step: tickOpts.stepSize,\n count: tickOpts.count,\n maxDigits: this._maxDigits(),\n horizontal: this.isHorizontal(),\n minRotation: tickOpts.minRotation || 0,\n includeBounds: tickOpts.includeBounds !== false\n };\n const dataRange = this._range || this;\n const ticks = generateTicks$1(numericGeneratorOptions, dataRange);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n configure() {\n const ticks = this.ticks;\n let start = this.min;\n let end = this.max;\n super.configure();\n if (this.options.offset && ticks.length) {\n const offset = (end - start) / Math.max(ticks.length - 1, 1) / 2;\n start -= offset;\n end += offset;\n }\n this._startValue = start;\n this._endValue = end;\n this._valueRange = end - start;\n }\n getLabelForValue(value) {\n return formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n}\n\nclass LinearScale extends LinearScaleBase {\n static id = 'linear';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.numeric\n }\n };\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? min : 0;\n this.max = isNumberFinite(max) ? max : 1;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n const horizontal = this.isHorizontal();\n const length = horizontal ? this.width : this.height;\n const minRotation = toRadians(this.options.ticks.minRotation);\n const ratio = (horizontal ? Math.sin(minRotation) : Math.cos(minRotation)) || 0.001;\n const tickFont = this._resolveTickFontOptions(0);\n return Math.ceil(length / Math.min(40, tickFont.lineHeight / ratio));\n }\n getPixelForValue(value) {\n return value === null ? NaN : this.getPixelForDecimal((value - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n return this._startValue + this.getDecimalForPixel(pixel) * this._valueRange;\n }\n}\n\nconst log10Floor = (v)=>Math.floor(log10(v));\nconst changeExponent = (v, m)=>Math.pow(10, log10Floor(v) + m);\nfunction isMajor(tickVal) {\n const remain = tickVal / Math.pow(10, log10Floor(tickVal));\n return remain === 1;\n}\nfunction steps(min, max, rangeExp) {\n const rangeStep = Math.pow(10, rangeExp);\n const start = Math.floor(min / rangeStep);\n const end = Math.ceil(max / rangeStep);\n return end - start;\n}\nfunction startExp(min, max) {\n const range = max - min;\n let rangeExp = log10Floor(range);\n while(steps(min, max, rangeExp) > 10){\n rangeExp++;\n }\n while(steps(min, max, rangeExp) < 10){\n rangeExp--;\n }\n return Math.min(rangeExp, log10Floor(min));\n}\n function generateTicks(generationOptions, { min , max }) {\n min = finiteOrDefault(generationOptions.min, min);\n const ticks = [];\n const minExp = log10Floor(min);\n let exp = startExp(min, max);\n let precision = exp < 0 ? Math.pow(10, Math.abs(exp)) : 1;\n const stepSize = Math.pow(10, exp);\n const base = minExp > exp ? Math.pow(10, minExp) : 0;\n const start = Math.round((min - base) * precision) / precision;\n const offset = Math.floor((min - base) / stepSize / 10) * stepSize * 10;\n let significand = Math.floor((start - offset) / Math.pow(10, exp));\n let value = finiteOrDefault(generationOptions.min, Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision);\n while(value < max){\n ticks.push({\n value,\n major: isMajor(value),\n significand\n });\n if (significand >= 10) {\n significand = significand < 15 ? 15 : 20;\n } else {\n significand++;\n }\n if (significand >= 20) {\n exp++;\n significand = 2;\n precision = exp >= 0 ? 1 : precision;\n }\n value = Math.round((base + offset + significand * Math.pow(10, exp)) * precision) / precision;\n }\n const lastTick = finiteOrDefault(generationOptions.max, value);\n ticks.push({\n value: lastTick,\n major: isMajor(lastTick),\n significand\n });\n return ticks;\n}\nclass LogarithmicScale extends Scale {\n static id = 'logarithmic';\n static defaults = {\n ticks: {\n callback: Ticks.formatters.logarithmic,\n major: {\n enabled: true\n }\n }\n };\n constructor(cfg){\n super(cfg);\n this.start = undefined;\n this.end = undefined;\n this._startValue = undefined;\n this._valueRange = 0;\n }\n parse(raw, index) {\n const value = LinearScaleBase.prototype.parse.apply(this, [\n raw,\n index\n ]);\n if (value === 0) {\n this._zero = true;\n return undefined;\n }\n return isNumberFinite(value) && value > 0 ? value : null;\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(true);\n this.min = isNumberFinite(min) ? Math.max(0, min) : null;\n this.max = isNumberFinite(max) ? Math.max(0, max) : null;\n if (this.options.beginAtZero) {\n this._zero = true;\n }\n if (this._zero && this.min !== this._suggestedMin && !isNumberFinite(this._userMin)) {\n this.min = min === changeExponent(this.min, 0) ? changeExponent(this.min, -1) : changeExponent(this.min, 0);\n }\n this.handleTickRangeOptions();\n }\n handleTickRangeOptions() {\n const { minDefined , maxDefined } = this.getUserBounds();\n let min = this.min;\n let max = this.max;\n const setMin = (v)=>min = minDefined ? min : v;\n const setMax = (v)=>max = maxDefined ? max : v;\n if (min === max) {\n if (min <= 0) {\n setMin(1);\n setMax(10);\n } else {\n setMin(changeExponent(min, -1));\n setMax(changeExponent(max, +1));\n }\n }\n if (min <= 0) {\n setMin(changeExponent(max, -1));\n }\n if (max <= 0) {\n setMax(changeExponent(min, +1));\n }\n this.min = min;\n this.max = max;\n }\n buildTicks() {\n const opts = this.options;\n const generationOptions = {\n min: this._userMin,\n max: this._userMax\n };\n const ticks = generateTicks(generationOptions, this);\n if (opts.bounds === 'ticks') {\n _setMinAndMaxByKey(ticks, this, 'value');\n }\n if (opts.reverse) {\n ticks.reverse();\n this.start = this.max;\n this.end = this.min;\n } else {\n this.start = this.min;\n this.end = this.max;\n }\n return ticks;\n }\n getLabelForValue(value) {\n return value === undefined ? '0' : formatNumber(value, this.chart.options.locale, this.options.ticks.format);\n }\n configure() {\n const start = this.min;\n super.configure();\n this._startValue = log10(start);\n this._valueRange = log10(this.max) - log10(start);\n }\n getPixelForValue(value) {\n if (value === undefined || value === 0) {\n value = this.min;\n }\n if (value === null || isNaN(value)) {\n return NaN;\n }\n return this.getPixelForDecimal(value === this.min ? 0 : (log10(value) - this._startValue) / this._valueRange);\n }\n getValueForPixel(pixel) {\n const decimal = this.getDecimalForPixel(pixel);\n return Math.pow(10, this._startValue + decimal * this._valueRange);\n }\n}\n\nfunction getTickBackdropHeight(opts) {\n const tickOpts = opts.ticks;\n if (tickOpts.display && opts.display) {\n const padding = toPadding(tickOpts.backdropPadding);\n return valueOrDefault(tickOpts.font && tickOpts.font.size, defaults.font.size) + padding.height;\n }\n return 0;\n}\nfunction measureLabelSize(ctx, font, label) {\n label = isArray(label) ? label : [\n label\n ];\n return {\n w: _longestText(ctx, font.string, label),\n h: label.length * font.lineHeight\n };\n}\nfunction determineLimits(angle, pos, size, min, max) {\n if (angle === min || angle === max) {\n return {\n start: pos - size / 2,\n end: pos + size / 2\n };\n } else if (angle < min || angle > max) {\n return {\n start: pos - size,\n end: pos\n };\n }\n return {\n start: pos,\n end: pos + size\n };\n}\n function fitWithPointLabels(scale) {\n const orig = {\n l: scale.left + scale._padding.left,\n r: scale.right - scale._padding.right,\n t: scale.top + scale._padding.top,\n b: scale.bottom - scale._padding.bottom\n };\n const limits = Object.assign({}, orig);\n const labelSizes = [];\n const padding = [];\n const valueCount = scale._pointLabels.length;\n const pointLabelOpts = scale.options.pointLabels;\n const additionalAngle = pointLabelOpts.centerPointLabels ? PI / valueCount : 0;\n for(let i = 0; i < valueCount; i++){\n const opts = pointLabelOpts.setContext(scale.getPointLabelContext(i));\n padding[i] = opts.padding;\n const pointPosition = scale.getPointPosition(i, scale.drawingArea + padding[i], additionalAngle);\n const plFont = toFont(opts.font);\n const textSize = measureLabelSize(scale.ctx, plFont, scale._pointLabels[i]);\n labelSizes[i] = textSize;\n const angleRadians = _normalizeAngle(scale.getIndexAngle(i) + additionalAngle);\n const angle = Math.round(toDegrees(angleRadians));\n const hLimits = determineLimits(angle, pointPosition.x, textSize.w, 0, 180);\n const vLimits = determineLimits(angle, pointPosition.y, textSize.h, 90, 270);\n updateLimits(limits, orig, angleRadians, hLimits, vLimits);\n }\n scale.setCenterPoint(orig.l - limits.l, limits.r - orig.r, orig.t - limits.t, limits.b - orig.b);\n scale._pointLabelItems = buildPointLabelItems(scale, labelSizes, padding);\n}\nfunction updateLimits(limits, orig, angle, hLimits, vLimits) {\n const sin = Math.abs(Math.sin(angle));\n const cos = Math.abs(Math.cos(angle));\n let x = 0;\n let y = 0;\n if (hLimits.start < orig.l) {\n x = (orig.l - hLimits.start) / sin;\n limits.l = Math.min(limits.l, orig.l - x);\n } else if (hLimits.end > orig.r) {\n x = (hLimits.end - orig.r) / sin;\n limits.r = Math.max(limits.r, orig.r + x);\n }\n if (vLimits.start < orig.t) {\n y = (orig.t - vLimits.start) / cos;\n limits.t = Math.min(limits.t, orig.t - y);\n } else if (vLimits.end > orig.b) {\n y = (vLimits.end - orig.b) / cos;\n limits.b = Math.max(limits.b, orig.b + y);\n }\n}\nfunction createPointLabelItem(scale, index, itemOpts) {\n const outerDistance = scale.drawingArea;\n const { extra , additionalAngle , padding , size } = itemOpts;\n const pointLabelPosition = scale.getPointPosition(index, outerDistance + extra + padding, additionalAngle);\n const angle = Math.round(toDegrees(_normalizeAngle(pointLabelPosition.angle + HALF_PI)));\n const y = yForAngle(pointLabelPosition.y, size.h, angle);\n const textAlign = getTextAlignForAngle(angle);\n const left = leftForTextAlign(pointLabelPosition.x, size.w, textAlign);\n return {\n visible: true,\n x: pointLabelPosition.x,\n y,\n textAlign,\n left,\n top: y,\n right: left + size.w,\n bottom: y + size.h\n };\n}\nfunction isNotOverlapped(item, area) {\n if (!area) {\n return true;\n }\n const { left , top , right , bottom } = item;\n const apexesInArea = _isPointInArea({\n x: left,\n y: top\n }, area) || _isPointInArea({\n x: left,\n y: bottom\n }, area) || _isPointInArea({\n x: right,\n y: top\n }, area) || _isPointInArea({\n x: right,\n y: bottom\n }, area);\n return !apexesInArea;\n}\nfunction buildPointLabelItems(scale, labelSizes, padding) {\n const items = [];\n const valueCount = scale._pointLabels.length;\n const opts = scale.options;\n const { centerPointLabels , display } = opts.pointLabels;\n const itemOpts = {\n extra: getTickBackdropHeight(opts) / 2,\n additionalAngle: centerPointLabels ? PI / valueCount : 0\n };\n let area;\n for(let i = 0; i < valueCount; i++){\n itemOpts.padding = padding[i];\n itemOpts.size = labelSizes[i];\n const item = createPointLabelItem(scale, i, itemOpts);\n items.push(item);\n if (display === 'auto') {\n item.visible = isNotOverlapped(item, area);\n if (item.visible) {\n area = item;\n }\n }\n }\n return items;\n}\nfunction getTextAlignForAngle(angle) {\n if (angle === 0 || angle === 180) {\n return 'center';\n } else if (angle < 180) {\n return 'left';\n }\n return 'right';\n}\nfunction leftForTextAlign(x, w, align) {\n if (align === 'right') {\n x -= w;\n } else if (align === 'center') {\n x -= w / 2;\n }\n return x;\n}\nfunction yForAngle(y, h, angle) {\n if (angle === 90 || angle === 270) {\n y -= h / 2;\n } else if (angle > 270 || angle < 90) {\n y -= h;\n }\n return y;\n}\nfunction drawPointLabelBox(ctx, opts, item) {\n const { left , top , right , bottom } = item;\n const { backdropColor } = opts;\n if (!isNullOrUndef(backdropColor)) {\n const borderRadius = toTRBLCorners(opts.borderRadius);\n const padding = toPadding(opts.backdropPadding);\n ctx.fillStyle = backdropColor;\n const backdropLeft = left - padding.left;\n const backdropTop = top - padding.top;\n const backdropWidth = right - left + padding.width;\n const backdropHeight = bottom - top + padding.height;\n if (Object.values(borderRadius).some((v)=>v !== 0)) {\n ctx.beginPath();\n addRoundedRectPath(ctx, {\n x: backdropLeft,\n y: backdropTop,\n w: backdropWidth,\n h: backdropHeight,\n radius: borderRadius\n });\n ctx.fill();\n } else {\n ctx.fillRect(backdropLeft, backdropTop, backdropWidth, backdropHeight);\n }\n }\n}\nfunction drawPointLabels(scale, labelCount) {\n const { ctx , options: { pointLabels } } = scale;\n for(let i = labelCount - 1; i >= 0; i--){\n const item = scale._pointLabelItems[i];\n if (!item.visible) {\n continue;\n }\n const optsAtIndex = pointLabels.setContext(scale.getPointLabelContext(i));\n drawPointLabelBox(ctx, optsAtIndex, item);\n const plFont = toFont(optsAtIndex.font);\n const { x , y , textAlign } = item;\n renderText(ctx, scale._pointLabels[i], x, y + plFont.lineHeight / 2, plFont, {\n color: optsAtIndex.color,\n textAlign: textAlign,\n textBaseline: 'middle'\n });\n }\n}\nfunction pathRadiusLine(scale, radius, circular, labelCount) {\n const { ctx } = scale;\n if (circular) {\n ctx.arc(scale.xCenter, scale.yCenter, radius, 0, TAU);\n } else {\n let pointPosition = scale.getPointPosition(0, radius);\n ctx.moveTo(pointPosition.x, pointPosition.y);\n for(let i = 1; i < labelCount; i++){\n pointPosition = scale.getPointPosition(i, radius);\n ctx.lineTo(pointPosition.x, pointPosition.y);\n }\n }\n}\nfunction drawRadiusLine(scale, gridLineOpts, radius, labelCount, borderOpts) {\n const ctx = scale.ctx;\n const circular = gridLineOpts.circular;\n const { color , lineWidth } = gridLineOpts;\n if (!circular && !labelCount || !color || !lineWidth || radius < 0) {\n return;\n }\n ctx.save();\n ctx.strokeStyle = color;\n ctx.lineWidth = lineWidth;\n ctx.setLineDash(borderOpts.dash);\n ctx.lineDashOffset = borderOpts.dashOffset;\n ctx.beginPath();\n pathRadiusLine(scale, radius, circular, labelCount);\n ctx.closePath();\n ctx.stroke();\n ctx.restore();\n}\nfunction createPointLabelContext(parent, index, label) {\n return createContext(parent, {\n label,\n index,\n type: 'pointLabel'\n });\n}\nclass RadialLinearScale extends LinearScaleBase {\n static id = 'radialLinear';\n static defaults = {\n display: true,\n animate: true,\n position: 'chartArea',\n angleLines: {\n display: true,\n lineWidth: 1,\n borderDash: [],\n borderDashOffset: 0.0\n },\n grid: {\n circular: false\n },\n startAngle: 0,\n ticks: {\n showLabelBackdrop: true,\n callback: Ticks.formatters.numeric\n },\n pointLabels: {\n backdropColor: undefined,\n backdropPadding: 2,\n display: true,\n font: {\n size: 10\n },\n callback (label) {\n return label;\n },\n padding: 5,\n centerPointLabels: false\n }\n };\n static defaultRoutes = {\n 'angleLines.color': 'borderColor',\n 'pointLabels.color': 'color',\n 'ticks.color': 'color'\n };\n static descriptors = {\n angleLines: {\n _fallback: 'grid'\n }\n };\n constructor(cfg){\n super(cfg);\n this.xCenter = undefined;\n this.yCenter = undefined;\n this.drawingArea = undefined;\n this._pointLabels = [];\n this._pointLabelItems = [];\n }\n setDimensions() {\n const padding = this._padding = toPadding(getTickBackdropHeight(this.options) / 2);\n const w = this.width = this.maxWidth - padding.width;\n const h = this.height = this.maxHeight - padding.height;\n this.xCenter = Math.floor(this.left + w / 2 + padding.left);\n this.yCenter = Math.floor(this.top + h / 2 + padding.top);\n this.drawingArea = Math.floor(Math.min(w, h) / 2);\n }\n determineDataLimits() {\n const { min , max } = this.getMinMax(false);\n this.min = isNumberFinite(min) && !isNaN(min) ? min : 0;\n this.max = isNumberFinite(max) && !isNaN(max) ? max : 0;\n this.handleTickRangeOptions();\n }\n computeTickLimit() {\n return Math.ceil(this.drawingArea / getTickBackdropHeight(this.options));\n }\n generateTickLabels(ticks) {\n LinearScaleBase.prototype.generateTickLabels.call(this, ticks);\n this._pointLabels = this.getLabels().map((value, index)=>{\n const label = callback(this.options.pointLabels.callback, [\n value,\n index\n ], this);\n return label || label === 0 ? label : '';\n }).filter((v, i)=>this.chart.getDataVisibility(i));\n }\n fit() {\n const opts = this.options;\n if (opts.display && opts.pointLabels.display) {\n fitWithPointLabels(this);\n } else {\n this.setCenterPoint(0, 0, 0, 0);\n }\n }\n setCenterPoint(leftMovement, rightMovement, topMovement, bottomMovement) {\n this.xCenter += Math.floor((leftMovement - rightMovement) / 2);\n this.yCenter += Math.floor((topMovement - bottomMovement) / 2);\n this.drawingArea -= Math.min(this.drawingArea / 2, Math.max(leftMovement, rightMovement, topMovement, bottomMovement));\n }\n getIndexAngle(index) {\n const angleMultiplier = TAU / (this._pointLabels.length || 1);\n const startAngle = this.options.startAngle || 0;\n return _normalizeAngle(index * angleMultiplier + toRadians(startAngle));\n }\n getDistanceFromCenterForValue(value) {\n if (isNullOrUndef(value)) {\n return NaN;\n }\n const scalingFactor = this.drawingArea / (this.max - this.min);\n if (this.options.reverse) {\n return (this.max - value) * scalingFactor;\n }\n return (value - this.min) * scalingFactor;\n }\n getValueForDistanceFromCenter(distance) {\n if (isNullOrUndef(distance)) {\n return NaN;\n }\n const scaledDistance = distance / (this.drawingArea / (this.max - this.min));\n return this.options.reverse ? this.max - scaledDistance : this.min + scaledDistance;\n }\n getPointLabelContext(index) {\n const pointLabels = this._pointLabels || [];\n if (index >= 0 && index < pointLabels.length) {\n const pointLabel = pointLabels[index];\n return createPointLabelContext(this.getContext(), index, pointLabel);\n }\n }\n getPointPosition(index, distanceFromCenter, additionalAngle = 0) {\n const angle = this.getIndexAngle(index) - HALF_PI + additionalAngle;\n return {\n x: Math.cos(angle) * distanceFromCenter + this.xCenter,\n y: Math.sin(angle) * distanceFromCenter + this.yCenter,\n angle\n };\n }\n getPointPositionForValue(index, value) {\n return this.getPointPosition(index, this.getDistanceFromCenterForValue(value));\n }\n getBasePosition(index) {\n return this.getPointPositionForValue(index || 0, this.getBaseValue());\n }\n getPointLabelPosition(index) {\n const { left , top , right , bottom } = this._pointLabelItems[index];\n return {\n left,\n top,\n right,\n bottom\n };\n }\n drawBackground() {\n const { backgroundColor , grid: { circular } } = this.options;\n if (backgroundColor) {\n const ctx = this.ctx;\n ctx.save();\n ctx.beginPath();\n pathRadiusLine(this, this.getDistanceFromCenterForValue(this._endValue), circular, this._pointLabels.length);\n ctx.closePath();\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n }\n }\n drawGrid() {\n const ctx = this.ctx;\n const opts = this.options;\n const { angleLines , grid , border } = opts;\n const labelCount = this._pointLabels.length;\n let i, offset, position;\n if (opts.pointLabels.display) {\n drawPointLabels(this, labelCount);\n }\n if (grid.display) {\n this.ticks.forEach((tick, index)=>{\n if (index !== 0 || index === 0 && this.min < 0) {\n offset = this.getDistanceFromCenterForValue(tick.value);\n const context = this.getContext(index);\n const optsAtIndex = grid.setContext(context);\n const optsAtIndexBorder = border.setContext(context);\n drawRadiusLine(this, optsAtIndex, offset, labelCount, optsAtIndexBorder);\n }\n });\n }\n if (angleLines.display) {\n ctx.save();\n for(i = labelCount - 1; i >= 0; i--){\n const optsAtIndex = angleLines.setContext(this.getPointLabelContext(i));\n const { color , lineWidth } = optsAtIndex;\n if (!lineWidth || !color) {\n continue;\n }\n ctx.lineWidth = lineWidth;\n ctx.strokeStyle = color;\n ctx.setLineDash(optsAtIndex.borderDash);\n ctx.lineDashOffset = optsAtIndex.borderDashOffset;\n offset = this.getDistanceFromCenterForValue(opts.ticks.reverse ? this.min : this.max);\n position = this.getPointPosition(i, offset);\n ctx.beginPath();\n ctx.moveTo(this.xCenter, this.yCenter);\n ctx.lineTo(position.x, position.y);\n ctx.stroke();\n }\n ctx.restore();\n }\n }\n drawBorder() {}\n drawLabels() {\n const ctx = this.ctx;\n const opts = this.options;\n const tickOpts = opts.ticks;\n if (!tickOpts.display) {\n return;\n }\n const startAngle = this.getIndexAngle(0);\n let offset, width;\n ctx.save();\n ctx.translate(this.xCenter, this.yCenter);\n ctx.rotate(startAngle);\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n this.ticks.forEach((tick, index)=>{\n if (index === 0 && this.min >= 0 && !opts.reverse) {\n return;\n }\n const optsAtIndex = tickOpts.setContext(this.getContext(index));\n const tickFont = toFont(optsAtIndex.font);\n offset = this.getDistanceFromCenterForValue(this.ticks[index].value);\n if (optsAtIndex.showLabelBackdrop) {\n ctx.font = tickFont.string;\n width = ctx.measureText(tick.label).width;\n ctx.fillStyle = optsAtIndex.backdropColor;\n const padding = toPadding(optsAtIndex.backdropPadding);\n ctx.fillRect(-width / 2 - padding.left, -offset - tickFont.size / 2 - padding.top, width + padding.width, tickFont.size + padding.height);\n }\n renderText(ctx, tick.label, 0, -offset, tickFont, {\n color: optsAtIndex.color,\n strokeColor: optsAtIndex.textStrokeColor,\n strokeWidth: optsAtIndex.textStrokeWidth\n });\n });\n ctx.restore();\n }\n drawTitle() {}\n}\n\nconst INTERVALS = {\n millisecond: {\n common: true,\n size: 1,\n steps: 1000\n },\n second: {\n common: true,\n size: 1000,\n steps: 60\n },\n minute: {\n common: true,\n size: 60000,\n steps: 60\n },\n hour: {\n common: true,\n size: 3600000,\n steps: 24\n },\n day: {\n common: true,\n size: 86400000,\n steps: 30\n },\n week: {\n common: false,\n size: 604800000,\n steps: 4\n },\n month: {\n common: true,\n size: 2.628e9,\n steps: 12\n },\n quarter: {\n common: false,\n size: 7.884e9,\n steps: 4\n },\n year: {\n common: true,\n size: 3.154e10\n }\n};\n const UNITS = /* #__PURE__ */ Object.keys(INTERVALS);\n function sorter(a, b) {\n return a - b;\n}\n function parse(scale, input) {\n if (isNullOrUndef(input)) {\n return null;\n }\n const adapter = scale._adapter;\n const { parser , round , isoWeekday } = scale._parseOpts;\n let value = input;\n if (typeof parser === 'function') {\n value = parser(value);\n }\n if (!isNumberFinite(value)) {\n value = typeof parser === 'string' ? adapter.parse(value, parser) : adapter.parse(value);\n }\n if (value === null) {\n return null;\n }\n if (round) {\n value = round === 'week' && (isNumber(isoWeekday) || isoWeekday === true) ? adapter.startOf(value, 'isoWeek', isoWeekday) : adapter.startOf(value, round);\n }\n return +value;\n}\n function determineUnitForAutoTicks(minUnit, min, max, capacity) {\n const ilen = UNITS.length;\n for(let i = UNITS.indexOf(minUnit); i < ilen - 1; ++i){\n const interval = INTERVALS[UNITS[i]];\n const factor = interval.steps ? interval.steps : Number.MAX_SAFE_INTEGER;\n if (interval.common && Math.ceil((max - min) / (factor * interval.size)) <= capacity) {\n return UNITS[i];\n }\n }\n return UNITS[ilen - 1];\n}\n function determineUnitForFormatting(scale, numTicks, minUnit, min, max) {\n for(let i = UNITS.length - 1; i >= UNITS.indexOf(minUnit); i--){\n const unit = UNITS[i];\n if (INTERVALS[unit].common && scale._adapter.diff(max, min, unit) >= numTicks - 1) {\n return unit;\n }\n }\n return UNITS[minUnit ? UNITS.indexOf(minUnit) : 0];\n}\n function determineMajorUnit(unit) {\n for(let i = UNITS.indexOf(unit) + 1, ilen = UNITS.length; i < ilen; ++i){\n if (INTERVALS[UNITS[i]].common) {\n return UNITS[i];\n }\n }\n}\n function addTick(ticks, time, timestamps) {\n if (!timestamps) {\n ticks[time] = true;\n } else if (timestamps.length) {\n const { lo , hi } = _lookup(timestamps, time);\n const timestamp = timestamps[lo] >= time ? timestamps[lo] : timestamps[hi];\n ticks[timestamp] = true;\n }\n}\n function setMajorTicks(scale, ticks, map, majorUnit) {\n const adapter = scale._adapter;\n const first = +adapter.startOf(ticks[0].value, majorUnit);\n const last = ticks[ticks.length - 1].value;\n let major, index;\n for(major = first; major <= last; major = +adapter.add(major, 1, majorUnit)){\n index = map[major];\n if (index >= 0) {\n ticks[index].major = true;\n }\n }\n return ticks;\n}\n function ticksFromTimestamps(scale, values, majorUnit) {\n const ticks = [];\n const map = {};\n const ilen = values.length;\n let i, value;\n for(i = 0; i < ilen; ++i){\n value = values[i];\n map[value] = i;\n ticks.push({\n value,\n major: false\n });\n }\n return ilen === 0 || !majorUnit ? ticks : setMajorTicks(scale, ticks, map, majorUnit);\n}\nclass TimeScale extends Scale {\n static id = 'time';\n static defaults = {\n bounds: 'data',\n adapters: {},\n time: {\n parser: false,\n unit: false,\n round: false,\n isoWeekday: false,\n minUnit: 'millisecond',\n displayFormats: {}\n },\n ticks: {\n source: 'auto',\n callback: false,\n major: {\n enabled: false\n }\n }\n };\n constructor(props){\n super(props);\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n this._unit = 'day';\n this._majorUnit = undefined;\n this._offsets = {};\n this._normalized = false;\n this._parseOpts = undefined;\n }\n init(scaleOpts, opts = {}) {\n const time = scaleOpts.time || (scaleOpts.time = {});\n const adapter = this._adapter = new adapters._date(scaleOpts.adapters.date);\n adapter.init(opts);\n mergeIf(time.displayFormats, adapter.formats());\n this._parseOpts = {\n parser: time.parser,\n round: time.round,\n isoWeekday: time.isoWeekday\n };\n super.init(scaleOpts);\n this._normalized = opts.normalized;\n }\n parse(raw, index) {\n if (raw === undefined) {\n return null;\n }\n return parse(this, raw);\n }\n beforeLayout() {\n super.beforeLayout();\n this._cache = {\n data: [],\n labels: [],\n all: []\n };\n }\n determineDataLimits() {\n const options = this.options;\n const adapter = this._adapter;\n const unit = options.time.unit || 'day';\n let { min , max , minDefined , maxDefined } = this.getUserBounds();\n function _applyBounds(bounds) {\n if (!minDefined && !isNaN(bounds.min)) {\n min = Math.min(min, bounds.min);\n }\n if (!maxDefined && !isNaN(bounds.max)) {\n max = Math.max(max, bounds.max);\n }\n }\n if (!minDefined || !maxDefined) {\n _applyBounds(this._getLabelBounds());\n if (options.bounds !== 'ticks' || options.ticks.source !== 'labels') {\n _applyBounds(this.getMinMax(false));\n }\n }\n min = isNumberFinite(min) && !isNaN(min) ? min : +adapter.startOf(Date.now(), unit);\n max = isNumberFinite(max) && !isNaN(max) ? max : +adapter.endOf(Date.now(), unit) + 1;\n this.min = Math.min(min, max - 1);\n this.max = Math.max(min + 1, max);\n }\n _getLabelBounds() {\n const arr = this.getLabelTimestamps();\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n if (arr.length) {\n min = arr[0];\n max = arr[arr.length - 1];\n }\n return {\n min,\n max\n };\n }\n buildTicks() {\n const options = this.options;\n const timeOpts = options.time;\n const tickOpts = options.ticks;\n const timestamps = tickOpts.source === 'labels' ? this.getLabelTimestamps() : this._generate();\n if (options.bounds === 'ticks' && timestamps.length) {\n this.min = this._userMin || timestamps[0];\n this.max = this._userMax || timestamps[timestamps.length - 1];\n }\n const min = this.min;\n const max = this.max;\n const ticks = _filterBetween(timestamps, min, max);\n this._unit = timeOpts.unit || (tickOpts.autoSkip ? determineUnitForAutoTicks(timeOpts.minUnit, this.min, this.max, this._getLabelCapacity(min)) : determineUnitForFormatting(this, ticks.length, timeOpts.minUnit, this.min, this.max));\n this._majorUnit = !tickOpts.major.enabled || this._unit === 'year' ? undefined : determineMajorUnit(this._unit);\n this.initOffsets(timestamps);\n if (options.reverse) {\n ticks.reverse();\n }\n return ticksFromTimestamps(this, ticks, this._majorUnit);\n }\n afterAutoSkip() {\n if (this.options.offsetAfterAutoskip) {\n this.initOffsets(this.ticks.map((tick)=>+tick.value));\n }\n }\n initOffsets(timestamps = []) {\n let start = 0;\n let end = 0;\n let first, last;\n if (this.options.offset && timestamps.length) {\n first = this.getDecimalForValue(timestamps[0]);\n if (timestamps.length === 1) {\n start = 1 - first;\n } else {\n start = (this.getDecimalForValue(timestamps[1]) - first) / 2;\n }\n last = this.getDecimalForValue(timestamps[timestamps.length - 1]);\n if (timestamps.length === 1) {\n end = last;\n } else {\n end = (last - this.getDecimalForValue(timestamps[timestamps.length - 2])) / 2;\n }\n }\n const limit = timestamps.length < 3 ? 0.5 : 0.25;\n start = _limitValue(start, 0, limit);\n end = _limitValue(end, 0, limit);\n this._offsets = {\n start,\n end,\n factor: 1 / (start + 1 + end)\n };\n }\n _generate() {\n const adapter = this._adapter;\n const min = this.min;\n const max = this.max;\n const options = this.options;\n const timeOpts = options.time;\n const minor = timeOpts.unit || determineUnitForAutoTicks(timeOpts.minUnit, min, max, this._getLabelCapacity(min));\n const stepSize = valueOrDefault(options.ticks.stepSize, 1);\n const weekday = minor === 'week' ? timeOpts.isoWeekday : false;\n const hasWeekday = isNumber(weekday) || weekday === true;\n const ticks = {};\n let first = min;\n let time, count;\n if (hasWeekday) {\n first = +adapter.startOf(first, 'isoWeek', weekday);\n }\n first = +adapter.startOf(first, hasWeekday ? 'day' : minor);\n if (adapter.diff(max, min, minor) > 100000 * stepSize) {\n throw new Error(min + ' and ' + max + ' are too far apart with stepSize of ' + stepSize + ' ' + minor);\n }\n const timestamps = options.ticks.source === 'data' && this.getDataTimestamps();\n for(time = first, count = 0; time < max; time = +adapter.add(time, stepSize, minor), count++){\n addTick(ticks, time, timestamps);\n }\n if (time === max || options.bounds === 'ticks' || count === 1) {\n addTick(ticks, time, timestamps);\n }\n return Object.keys(ticks).sort(sorter).map((x)=>+x);\n }\n getLabelForValue(value) {\n const adapter = this._adapter;\n const timeOpts = this.options.time;\n if (timeOpts.tooltipFormat) {\n return adapter.format(value, timeOpts.tooltipFormat);\n }\n return adapter.format(value, timeOpts.displayFormats.datetime);\n }\n format(value, format) {\n const options = this.options;\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const fmt = format || formats[unit];\n return this._adapter.format(value, fmt);\n }\n _tickFormatFunction(time, index, ticks, format) {\n const options = this.options;\n const formatter = options.ticks.callback;\n if (formatter) {\n return callback(formatter, [\n time,\n index,\n ticks\n ], this);\n }\n const formats = options.time.displayFormats;\n const unit = this._unit;\n const majorUnit = this._majorUnit;\n const minorFormat = unit && formats[unit];\n const majorFormat = majorUnit && formats[majorUnit];\n const tick = ticks[index];\n const major = majorUnit && majorFormat && tick && tick.major;\n return this._adapter.format(time, format || (major ? majorFormat : minorFormat));\n }\n generateTickLabels(ticks) {\n let i, ilen, tick;\n for(i = 0, ilen = ticks.length; i < ilen; ++i){\n tick = ticks[i];\n tick.label = this._tickFormatFunction(tick.value, i, ticks);\n }\n }\n getDecimalForValue(value) {\n return value === null ? NaN : (value - this.min) / (this.max - this.min);\n }\n getPixelForValue(value) {\n const offsets = this._offsets;\n const pos = this.getDecimalForValue(value);\n return this.getPixelForDecimal((offsets.start + pos) * offsets.factor);\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const pos = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return this.min + pos * (this.max - this.min);\n }\n _getLabelSize(label) {\n const ticksOpts = this.options.ticks;\n const tickLabelWidth = this.ctx.measureText(label).width;\n const angle = toRadians(this.isHorizontal() ? ticksOpts.maxRotation : ticksOpts.minRotation);\n const cosRotation = Math.cos(angle);\n const sinRotation = Math.sin(angle);\n const tickFontSize = this._resolveTickFontOptions(0).size;\n return {\n w: tickLabelWidth * cosRotation + tickFontSize * sinRotation,\n h: tickLabelWidth * sinRotation + tickFontSize * cosRotation\n };\n }\n _getLabelCapacity(exampleTime) {\n const timeOpts = this.options.time;\n const displayFormats = timeOpts.displayFormats;\n const format = displayFormats[timeOpts.unit] || displayFormats.millisecond;\n const exampleLabel = this._tickFormatFunction(exampleTime, 0, ticksFromTimestamps(this, [\n exampleTime\n ], this._majorUnit), format);\n const size = this._getLabelSize(exampleLabel);\n const capacity = Math.floor(this.isHorizontal() ? this.width / size.w : this.height / size.h) - 1;\n return capacity > 0 ? capacity : 1;\n }\n getDataTimestamps() {\n let timestamps = this._cache.data || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const metas = this.getMatchingVisibleMetas();\n if (this._normalized && metas.length) {\n return this._cache.data = metas[0].controller.getAllParsedValues(this);\n }\n for(i = 0, ilen = metas.length; i < ilen; ++i){\n timestamps = timestamps.concat(metas[i].controller.getAllParsedValues(this));\n }\n return this._cache.data = this.normalize(timestamps);\n }\n getLabelTimestamps() {\n const timestamps = this._cache.labels || [];\n let i, ilen;\n if (timestamps.length) {\n return timestamps;\n }\n const labels = this.getLabels();\n for(i = 0, ilen = labels.length; i < ilen; ++i){\n timestamps.push(parse(this, labels[i]));\n }\n return this._cache.labels = this._normalized ? timestamps : this.normalize(timestamps);\n }\n normalize(values) {\n return _arrayUnique(values.sort(sorter));\n }\n}\n\nfunction interpolate(table, val, reverse) {\n let lo = 0;\n let hi = table.length - 1;\n let prevSource, nextSource, prevTarget, nextTarget;\n if (reverse) {\n if (val >= table[lo].pos && val <= table[hi].pos) {\n ({ lo , hi } = _lookupByKey(table, 'pos', val));\n }\n ({ pos: prevSource , time: prevTarget } = table[lo]);\n ({ pos: nextSource , time: nextTarget } = table[hi]);\n } else {\n if (val >= table[lo].time && val <= table[hi].time) {\n ({ lo , hi } = _lookupByKey(table, 'time', val));\n }\n ({ time: prevSource , pos: prevTarget } = table[lo]);\n ({ time: nextSource , pos: nextTarget } = table[hi]);\n }\n const span = nextSource - prevSource;\n return span ? prevTarget + (nextTarget - prevTarget) * (val - prevSource) / span : prevTarget;\n}\nclass TimeSeriesScale extends TimeScale {\n static id = 'timeseries';\n static defaults = TimeScale.defaults;\n constructor(props){\n super(props);\n this._table = [];\n this._minPos = undefined;\n this._tableRange = undefined;\n }\n initOffsets() {\n const timestamps = this._getTimestampsForTable();\n const table = this._table = this.buildLookupTable(timestamps);\n this._minPos = interpolate(table, this.min);\n this._tableRange = interpolate(table, this.max) - this._minPos;\n super.initOffsets(timestamps);\n }\n buildLookupTable(timestamps) {\n const { min , max } = this;\n const items = [];\n const table = [];\n let i, ilen, prev, curr, next;\n for(i = 0, ilen = timestamps.length; i < ilen; ++i){\n curr = timestamps[i];\n if (curr >= min && curr <= max) {\n items.push(curr);\n }\n }\n if (items.length < 2) {\n return [\n {\n time: min,\n pos: 0\n },\n {\n time: max,\n pos: 1\n }\n ];\n }\n for(i = 0, ilen = items.length; i < ilen; ++i){\n next = items[i + 1];\n prev = items[i - 1];\n curr = items[i];\n if (Math.round((next + prev) / 2) !== curr) {\n table.push({\n time: curr,\n pos: i / (ilen - 1)\n });\n }\n }\n return table;\n }\n _generate() {\n const min = this.min;\n const max = this.max;\n let timestamps = super.getDataTimestamps();\n if (!timestamps.includes(min) || !timestamps.length) {\n timestamps.splice(0, 0, min);\n }\n if (!timestamps.includes(max) || timestamps.length === 1) {\n timestamps.push(max);\n }\n return timestamps.sort((a, b)=>a - b);\n }\n _getTimestampsForTable() {\n let timestamps = this._cache.all || [];\n if (timestamps.length) {\n return timestamps;\n }\n const data = this.getDataTimestamps();\n const label = this.getLabelTimestamps();\n if (data.length && label.length) {\n timestamps = this.normalize(data.concat(label));\n } else {\n timestamps = data.length ? data : label;\n }\n timestamps = this._cache.all = timestamps;\n return timestamps;\n }\n getDecimalForValue(value) {\n return (interpolate(this._table, value) - this._minPos) / this._tableRange;\n }\n getValueForPixel(pixel) {\n const offsets = this._offsets;\n const decimal = this.getDecimalForPixel(pixel) / offsets.factor - offsets.end;\n return interpolate(this._table, decimal * this._tableRange + this._minPos, true);\n }\n}\n\nvar scales = /*#__PURE__*/Object.freeze({\n__proto__: null,\nCategoryScale: CategoryScale,\nLinearScale: LinearScale,\nLogarithmicScale: LogarithmicScale,\nRadialLinearScale: RadialLinearScale,\nTimeScale: TimeScale,\nTimeSeriesScale: TimeSeriesScale\n});\n\nconst registerables = [\n controllers,\n elements,\n plugins,\n scales\n];\n\nexport { Animation, Animations, ArcElement, BarController, BarElement, BasePlatform, BasicPlatform, BubbleController, CategoryScale, Chart, plugin_colors as Colors, DatasetController, plugin_decimation as Decimation, DomPlatform, DoughnutController, Element, index as Filler, Interaction, plugin_legend as Legend, LineController, LineElement, LinearScale, LogarithmicScale, PieController, PointElement, PolarAreaController, RadarController, RadialLinearScale, Scale, ScatterController, plugin_subtitle as SubTitle, Ticks, TimeScale, TimeSeriesScale, plugin_title as Title, plugin_tooltip as Tooltip, adapters as _adapters, _detectPlatform, animator, controllers, defaults, elements, layouts, plugins, registerables, registry, scales };\n//# sourceMappingURL=chart.js.map\n","import { Chart as Chart$1, BarController, DoughnutController, LineController, PieController, PolarAreaController, RadarController, BubbleController, ScatterController } from 'chart.js';\nimport { version, isProxy, toRaw, defineComponent, ref, shallowRef, onMounted, onUnmounted, watch, nextTick, h } from 'vue';\n\nconst CommonProps = {\n data: {\n type: Object,\n required: true\n },\n options: {\n type: Object,\n default: ()=>({})\n },\n plugins: {\n type: Array,\n default: ()=>[]\n },\n datasetIdKey: {\n type: String,\n default: \"label\"\n },\n updateMode: {\n type: String,\n default: undefined\n }\n};\nconst A11yProps = {\n ariaLabel: {\n type: String\n },\n ariaDescribedby: {\n type: String\n }\n};\nconst Props = {\n type: {\n type: String,\n required: true\n },\n destroyDelay: {\n type: Number,\n default: 0 // No delay by default\n },\n ...CommonProps,\n ...A11yProps\n};\n\nconst compatProps = version[0] === \"2\" ? (internals, props)=>Object.assign(internals, {\n attrs: props\n }) : (internals, props)=>Object.assign(internals, props);\nfunction toRawIfProxy(obj) {\n return isProxy(obj) ? toRaw(obj) : obj;\n}\nfunction cloneProxy(obj) {\n let src = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : obj;\n return isProxy(src) ? new Proxy(obj, {}) : obj;\n}\nfunction setOptions(chart, nextOptions) {\n const options = chart.options;\n if (options && nextOptions) {\n Object.assign(options, nextOptions);\n }\n}\nfunction setLabels(currentData, nextLabels) {\n currentData.labels = nextLabels;\n}\nfunction setDatasets(currentData, nextDatasets, datasetIdKey) {\n const addedDatasets = [];\n currentData.datasets = nextDatasets.map((nextDataset)=>{\n // given the new set, find it's current match\n const currentDataset = currentData.datasets.find((dataset)=>dataset[datasetIdKey] === nextDataset[datasetIdKey]);\n // There is no original to update, so simply add new one\n if (!currentDataset || !nextDataset.data || addedDatasets.includes(currentDataset)) {\n return {\n ...nextDataset\n };\n }\n addedDatasets.push(currentDataset);\n Object.assign(currentDataset, nextDataset);\n return currentDataset;\n });\n}\nfunction cloneData(data, datasetIdKey) {\n const nextData = {\n labels: [],\n datasets: []\n };\n setLabels(nextData, data.labels);\n setDatasets(nextData, data.datasets, datasetIdKey);\n return nextData;\n}\n/**\n * Get dataset from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getDatasetAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"dataset\", {\n intersect: true\n }, false);\n}\n/**\n * Get single dataset element from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getElementAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"nearest\", {\n intersect: true\n }, false);\n}\n/**\n * Get all dataset elements from mouse click event\n * @param chart - Chart.js instance\n * @param event - Mouse click event\n * @returns Dataset\n */ function getElementsAtEvent(chart, event) {\n return chart.getElementsAtEventForMode(event, \"index\", {\n intersect: true\n }, false);\n}\n\nconst Chart = defineComponent({\n props: Props,\n setup (props, param) {\n let { expose , slots } = param;\n const canvasRef = ref(null);\n const chartRef = shallowRef(null);\n expose({\n chart: chartRef\n });\n const renderChart = ()=>{\n if (!canvasRef.value) return;\n const { type , data , options , plugins , datasetIdKey } = props;\n const clonedData = cloneData(data, datasetIdKey);\n const proxiedData = cloneProxy(clonedData, data);\n chartRef.value = new Chart$1(canvasRef.value, {\n type,\n data: proxiedData,\n options: {\n ...options\n },\n plugins\n });\n };\n const destroyChart = ()=>{\n const chart = toRaw(chartRef.value);\n if (chart) {\n if (props.destroyDelay > 0) {\n setTimeout(()=>{\n chart.destroy();\n chartRef.value = null;\n }, props.destroyDelay);\n } else {\n chart.destroy();\n chartRef.value = null;\n }\n }\n };\n const update = (chart)=>{\n chart.update(props.updateMode);\n };\n onMounted(renderChart);\n onUnmounted(destroyChart);\n watch([\n ()=>props.options,\n ()=>props.data\n ], (param, param1)=>{\n let [nextOptionsProxy, nextDataProxy] = param, [prevOptionsProxy, prevDataProxy] = param1;\n const chart = toRaw(chartRef.value);\n if (!chart) {\n return;\n }\n let shouldUpdate = false;\n if (nextOptionsProxy) {\n const nextOptions = toRawIfProxy(nextOptionsProxy);\n const prevOptions = toRawIfProxy(prevOptionsProxy);\n if (nextOptions && nextOptions !== prevOptions) {\n setOptions(chart, nextOptions);\n shouldUpdate = true;\n }\n }\n if (nextDataProxy) {\n const nextLabels = toRawIfProxy(nextDataProxy.labels);\n const prevLabels = toRawIfProxy(prevDataProxy.labels);\n const nextDatasets = toRawIfProxy(nextDataProxy.datasets);\n const prevDatasets = toRawIfProxy(prevDataProxy.datasets);\n if (nextLabels !== prevLabels) {\n setLabels(chart.config.data, nextLabels);\n shouldUpdate = true;\n }\n if (nextDatasets && nextDatasets !== prevDatasets) {\n setDatasets(chart.config.data, nextDatasets, props.datasetIdKey);\n shouldUpdate = true;\n }\n }\n if (shouldUpdate) {\n nextTick(()=>{\n update(chart);\n });\n }\n }, {\n deep: true\n });\n return ()=>{\n return h(\"canvas\", {\n role: \"img\",\n ariaLabel: props.ariaLabel,\n ariaDescribedby: props.ariaDescribedby,\n ref: canvasRef\n }, [\n h(\"p\", {}, [\n slots.default ? slots.default() : \"\"\n ])\n ]);\n };\n }\n});\n\nfunction createTypedChart(type, registerables) {\n Chart$1.register(registerables);\n return defineComponent({\n props: CommonProps,\n setup (props, param) {\n let { expose } = param;\n const ref = shallowRef(null);\n const reforwardRef = (chartRef)=>{\n ref.value = chartRef?.chart;\n };\n expose({\n chart: ref\n });\n return ()=>{\n return h(Chart, compatProps({\n ref: reforwardRef\n }, {\n type,\n ...props\n }));\n };\n }\n });\n}\nconst Bar = /* #__PURE__ */ createTypedChart(\"bar\", BarController);\nconst Doughnut = /* #__PURE__ */ createTypedChart(\"doughnut\", DoughnutController);\nconst Line = /* #__PURE__ */ createTypedChart(\"line\", LineController);\nconst Pie = /* #__PURE__ */ createTypedChart(\"pie\", PieController);\nconst PolarArea = /* #__PURE__ */ createTypedChart(\"polarArea\", PolarAreaController);\nconst Radar = /* #__PURE__ */ createTypedChart(\"radar\", RadarController);\nconst Bubble = /* #__PURE__ */ createTypedChart(\"bubble\", BubbleController);\nconst Scatter = /* #__PURE__ */ createTypedChart(\"scatter\", ScatterController);\n\nexport { Bar, Bubble, Chart, Doughnut, Line, Pie, PolarArea, Radar, Scatter, createTypedChart, getDatasetAtEvent, getElementAtEvent, getElementsAtEvent };\n//# sourceMappingURL=index.js.map\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n","import { openBlock as n, createBlock as k, resolveDynamicComponent as H, normalizeClass as b, normalizeStyle as m, withCtx as T, createElementBlock as r, Fragment as w, mergeProps as D, createCommentVNode as d, createTextVNode as B, toDisplayString as O, withDirectives as M, renderSlot as g, createElementVNode as f, vShow as I, resolveComponent as P, createSlots as E, createVNode as C, withKeys as y, renderList as L } from \"vue\";\nconst N = [\"src\"], V = [\"src\"], z = [\"src\"], A = [\"src\"], R = [\"src\"], X = { key: 2 }, W = { class: \"vueperslide__content-wrapper\" }, F = [\"innerHTML\"], Y = [\"innerHTML\"], q = { class: \"vueperslide__content-wrapper\" }, K = [\"innerHTML\"], U = [\"innerHTML\"], G = {\n key: 4,\n class: \"vueperslide__loader\"\n};\nfunction J(e, s, i, l, o, t) {\n return n(), k(H(i.link ? \"a\" : \"div\"), {\n class: b([\"vueperslide\", t.slideClasses]),\n href: i.link && !t.justDragged ? i.link : !1,\n target: i.link && i.openInNew ? typeof i.openInNew == \"boolean\" ? \"_blank\" : i.openInNew : \"_self\",\n face: t.slideFace3d,\n style: m(t.slideStyles),\n \"aria-hidden\": t.slides.activeId === e._.uid || t.isSlideVisible ? \"false\" : \"true\",\n onMouseenter: s[0] || (s[0] = (u) => e.$emit(\"mouse-enter\", { slideIndex: t.slideIndex, title: i.title, content: i.content, image: i.image, link: i.link }, e.$el)),\n onMouseleave: s[1] || (s[1] = (u) => e.$emit(\"mouse-leave\"))\n }, {\n default: T(() => [\n t.videoObj ? (n(), r(w, { key: 0 }, [\n t.videoObj.webm || t.videoObj.mp4 ? (n(), r(\"video\", D({\n key: 0,\n class: \"vueperslide__video\",\n width: \"100%\",\n height: \"100%\"\n }, t.videoObj.props || {}), [\n t.videoObj.webm ? (n(), r(\"source\", {\n key: 0,\n src: t.videoObj.webm,\n type: \"video/webm\"\n }, null, 8, N)) : d(\"\", !0),\n t.videoObj.mp4 ? (n(), r(\"source\", {\n key: 1,\n src: t.videoObj.mp4,\n type: \"video/mp4\"\n }, null, 8, V)) : d(\"\", !0),\n t.videoObj.ogv ? (n(), r(\"source\", {\n key: 2,\n src: t.videoObj.ogv,\n type: \"video/ogg\"\n }, null, 8, z)) : d(\"\", !0),\n t.videoObj.avi ? (n(), r(\"source\", {\n key: 3,\n src: t.videoObj.avi,\n type: \"video/avi\"\n }, null, 8, A)) : d(\"\", !0),\n B(O(t.videoObj.alt || \"Sorry, your browser doesn't support embedded videos.\"), 1)\n ], 16)) : t.videoObj.url ? (n(), r(\"iframe\", D({\n key: 1,\n class: \"vueperslide__video\",\n src: t.videoObj.url,\n type: \"text/html\",\n frameborder: \"0\",\n width: \"100%\",\n height: \"100%\"\n }, t.videoObj.props || {}), null, 16, R)) : d(\"\", !0)\n ], 64)) : d(\"\", !0),\n e.imageSrc && t.conf.slideImageInside ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__image\",\n style: m(t.imageStyles)\n }, null, 4)) : d(\"\", !0),\n t.conf.slideContentOutside ? M((n(), r(\"div\", X, [\n g(e.$slots, \"content\", {}, () => [\n f(\"div\", W, [\n i.title ? (n(), r(\"div\", {\n key: 0,\n class: \"vueperslide__title\",\n innerHTML: i.title\n }, null, 8, F)) : d(\"\", !0),\n i.content ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__content\",\n innerHTML: i.content\n }, null, 8, Y)) : d(\"\", !0)\n ])\n ])\n ], 512)), [\n [I, !1]\n ]) : g(e.$slots, \"content\", { key: 3 }, () => [\n f(\"div\", q, [\n i.title ? (n(), r(\"div\", {\n key: 0,\n class: \"vueperslide__title\",\n innerHTML: i.title\n }, null, 8, K)) : d(\"\", !0),\n i.content ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__content\",\n innerHTML: i.content\n }, null, 8, U)) : d(\"\", !0)\n ])\n ]),\n t.conf.lazy && !e.loaded ? (n(), r(\"div\", G, [\n g(e.$slots, \"loader\")\n ])) : d(\"\", !0)\n ]),\n _: 3\n }, 40, [\"href\", \"target\", \"class\", \"face\", \"style\", \"aria-hidden\"]);\n}\nconst j = (e, s) => {\n const i = e.__vccOpts || e;\n for (const [l, o] of s)\n i[l] = o;\n return i;\n}, Q = {\n inject: [\"slides\", \"touch\", \"updateSlide\", \"addClone\", \"addSlide\", \"removeSlide\"],\n props: {\n clone: { type: Boolean },\n image: { type: String, default: \"\" },\n video: { type: [String, Object], default: \"\" },\n title: { type: String, default: \"\" },\n content: { type: String, default: \"\" },\n link: { type: String, default: \"\" },\n duration: { type: Number, default: 0 },\n lazyloaded: { type: Boolean },\n openInNew: { type: [Boolean, String] }\n },\n emits: [\"mouse-enter\", \"mouse-leave\"],\n data: () => ({\n imageSrc: \"\",\n loading: !1,\n loaded: !1\n }),\n computed: {\n conf() {\n return this.$parent.conf;\n },\n slideClasses() {\n return {\n \"vueperslide--active\": this.slides.activeId === this._.uid,\n \"vueperslide--previous-slide\": this.isPreviousSlide,\n \"vueperslide--next-slide\": this.isNextSlide,\n \"vueperslide--visible\": this.isSlideVisible,\n \"vueperslide--loading\": this.conf.lazy && !this.loaded,\n \"vueperslide--has-video\": this.videoObj,\n \"vueperslide--has-image-inside\": this.conf.slideImageInside,\n \"vueperslide--no-pointer-events\": this.videoObj && this.videoObj.pointerEvents === !1\n };\n },\n slideStyles() {\n const { visibleSlides: e, fade: s, slideImageInside: i, gap: l, gapPx: o } = this.conf;\n return {\n ...!i && this.imageSrc && { backgroundImage: `url(\"${this.imageSrc}\")` },\n ...e > 1 && { width: (100 - (l ? l * (e - 1) : 0)) / e + \"%\" },\n ...e > 1 && s && { [this.conf.rtl ? \"right\" : \"left\"]: this.slideIndex % e / e * 100 + \"%\" },\n ...l && { [this.conf.rtl ? \"marginLeft\" : \"marginRight\"]: l + (o ? \"px\" : \"%\") }\n };\n },\n videoObj() {\n if (!this.video)\n return null;\n let e = { url: \"\", alt: \"\", props: { controls: !0 } };\n return typeof this.video == \"object\" ? e = Object.assign(e, this.video) : typeof this.video == \"string\" && (e.url = this.video), e;\n },\n youtubeVideo() {\n return /youtube\\.|youtu\\.be/.test(this.videoObj.url);\n },\n imageStyles() {\n return { ...this.conf.slideImageInside && this.imageSrc && { backgroundImage: `url(\"${this.imageSrc}\")` } };\n },\n slideFace3d() {\n if (!this.conf[\"3d\"])\n return !1;\n const e = [\"front\", \"right\", \"back\", \"left\"], s = (this.slides.current - 1 + this.slidesCount) % this.slidesCount, i = (this.slides.current + 1) % this.slidesCount;\n let l = \"front\";\n return this.slideIndex === s ? l = e[(4 + this.slides.current - 1) % 4] : this.slideIndex === i && (l = e[(this.slides.current + 1) % 4]), l = e[this.slideIndex % 4], this.conf.rtl && l === \"left\" ? l = \"right\" : this.conf.rtl && l === \"right\" && (l = \"left\"), l;\n },\n isPreviousSlide() {\n if (!this.conf[\"3d\"])\n return !1;\n const e = (this.slides.current - 1 + this.slidesCount) % this.slidesCount;\n return this._.uid === this.slides.list[e].id;\n },\n isNextSlide() {\n if (!this.conf[\"3d\"])\n return !1;\n const e = (this.slides.current + 1) % this.slidesCount;\n return this._.uid === this.slides.list[e].id;\n },\n isSlideVisible() {\n return this.slideIndex >= this.slides.firstVisible && this.slideIndex < this.slides.firstVisible + this.conf.visibleSlides;\n },\n slidesList() {\n return this.slides.list.map((e) => e.id);\n },\n slidesCount() {\n return this.slidesList.length;\n },\n slideIndex() {\n return this.slidesList.indexOf(this._.uid);\n },\n justDragged() {\n return this.touch.justDragged;\n }\n },\n methods: {\n updateThisSlide(e) {\n this.updateSlide(this._.uid, e);\n },\n loadImage() {\n if (!(this.loading || this.loaded))\n return this.loading = !0, new Promise((e, s) => {\n const i = document.createElement(\"img\");\n i.onload = () => {\n this.imageSrc = this.image, this.loading = !1, this.loaded = !0, this.$nextTick(() => {\n e({ image: this.imageSrc, style: ((this.$el.attributes || {}).style || {}).value });\n });\n }, i.onerror = (this.loading = !1) || s, i.src = this.image;\n });\n },\n playVideo() {\n !this.videoObj || (this.videoObj.url ? this.$el.querySelector(\"iframe\").contentWindow.postMessage('{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}', \"*\") : this.$el.querySelector(\"video\").play());\n },\n pauseVideo() {\n !this.videoObj || (this.videoObj.url ? this.$el.querySelector(\"iframe\").contentWindow.postMessage('{\"event\":\"command\",\"func\":\"pauseVideo\",\"args\":\"\"}', \"*\") : this.$el.querySelector(\"video\").pause());\n }\n },\n created() {\n if (this.imageSrc = this.conf.lazy ? \"\" : this.image, this.clone)\n return this.addClone();\n this.addSlide({\n id: this._.uid,\n image: this.imageSrc,\n video: this.videoObj && { ...this.videoObj, play: this.playVideo, pause: this.pauseVideo },\n title: this.title,\n content: this.content,\n contentSlot: this.$slots.content,\n loaderSlot: this.$slots.loader,\n link: this.link,\n style: \"\",\n loadImage: this.loadImage,\n duration: this.duration\n });\n },\n mounted() {\n this.clone || this.updateThisSlide({\n contentSlot: this.$slots.content,\n loaderSlot: this.$slots.loader,\n style: ((this.$el.attributes || {}).style || {}).value\n });\n },\n beforeUnmount() {\n this.clone || this.removeSlide(this._.uid);\n },\n watch: {\n image() {\n this.imageSrc = this.conf.lazy && !this.isSlideVisible ? \"\" : this.image, this.clone || this.updateThisSlide({\n image: this.imageSrc,\n ...!this.conf.slideImageInside && { style: this.slideStyles }\n });\n },\n title() {\n this.clone || this.updateThisSlide({ title: this.title });\n },\n content() {\n this.clone || this.updateThisSlide({ content: this.content });\n },\n link() {\n this.clone || this.updateThisSlide({ link: this.link });\n },\n lazyloaded() {\n this.clone && (this.loaded = this.lazyloaded);\n }\n }\n}, Z = /* @__PURE__ */ j(Q, [[\"render\", J]]);\nconst $ = [\"innerHTML\"], ee = [\"innerHTML\"], te = { class: \"vueperslides__inner\" }, se = {\n key: 0,\n class: \"vueperslides__paused\"\n}, ie = {\n key: 1,\n class: \"vueperslides__progress\"\n}, le = {\n key: 2,\n class: \"vueperslides__fractions\"\n}, ne = { viewBox: \"0 0 9 18\" }, re = [\"d\"], ae = { viewBox: \"0 0 9 18\" }, de = [\"d\"], oe = {\n key: 4,\n class: \"vueperslides__bullets\",\n ref: \"bullets\",\n role: \"tablist\",\n \"aria-label\": \"Slideshow navigation\"\n}, ue = [\"aria-label\", \"onClick\"], he = { class: \"default\" }, ce = {\n key: 1,\n class: \"vueperslides__bullets vueperslides__bullets--outside\",\n ref: \"bullets\",\n role: \"tablist\",\n \"aria-label\": \"Slideshow navigation\"\n}, fe = [\"aria-label\", \"onClick\"], ve = { class: \"default\" }, ge = [\"innerHTML\"], pe = [\"innerHTML\"];\nfunction me(e, s, i, l, o, t) {\n const u = P(\"vnodes\"), v = P(\"vueper-slide\");\n return n(), r(\"div\", {\n class: b([\"vueperslides\", t.vueperslidesClasses]),\n ref: \"vueperslides\",\n \"aria-label\": \"Slideshow\",\n style: m(t.vueperslidesStyles)\n }, [\n t.slidesCount && t.conf.slideContentOutside === \"top\" ? (n(), r(\"div\", {\n key: 0,\n class: b([\"vueperslide__content-wrapper vueperslide__content-wrapper--outside-top\", t.conf.slideContentOutsideClass])\n }, [\n t.currentSlide.contentSlot ? (n(), k(u, {\n key: 0,\n vnodes: t.currentSlide.contentSlot()\n }, null, 8, [\"vnodes\"])) : (n(), r(w, { key: 1 }, [\n t.currentSlide.title ? (n(), r(\"div\", {\n key: 0,\n class: \"vueperslide__title\",\n innerHTML: t.currentSlide.title\n }, null, 8, $)) : d(\"\", !0),\n t.currentSlide.content ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__content\",\n innerHTML: t.currentSlide.content\n }, null, 8, ee)) : d(\"\", !0)\n ], 64))\n ], 2)) : d(\"\", !0),\n f(\"div\", te, [\n f(\"div\", {\n class: \"vueperslides__parallax-wrapper\",\n style: m(`padding-bottom: ${t.conf.slideRatio * 100}%`),\n \"aria-live\": \"polite\"\n }, [\n f(\"div\", {\n class: b([\"vueperslides__track\", { \"vueperslides__track--dragging\": e.touch.dragging, \"vueperslides__track--mousedown\": e.mouseDown }]),\n ref: \"track\",\n style: m(t.trackStyles)\n }, [\n f(\"div\", {\n class: \"vueperslides__track-inner\",\n style: m(t.trackInnerStyles)\n }, [\n g(e.$slots, \"default\"),\n e.isReady && t.conf.infinite && t.canSlide && t.lastSlide ? (n(), k(v, {\n key: 0,\n class: \"vueperslide--clone vueperslide--clone-1\",\n clone: \"\",\n title: t.lastSlide.title,\n content: t.lastSlide.content,\n image: t.lastSlide.image,\n link: t.lastSlide.link,\n style: m(t.lastSlide.style),\n lazyloaded: t.lastSlide.loaded,\n \"aria-hidden\": \"true\"\n }, E({ _: 2 }, [\n t.lastSlide.contentSlot ? {\n name: \"content\",\n fn: T(() => [\n C(u, {\n vnodes: t.lastSlide.contentSlot()\n }, null, 8, [\"vnodes\"])\n ]),\n key: \"0\"\n } : void 0,\n t.conf.lazy && !t.lastSlide.loaded && t.lastSlide.loaderSlot ? {\n name: \"loader\",\n fn: T(() => [\n C(u, {\n vnodes: t.lastSlide.loaderSlot()\n }, null, 8, [\"vnodes\"])\n ]),\n key: \"1\"\n } : void 0\n ]), 1032, [\"title\", \"content\", \"image\", \"link\", \"style\", \"lazyloaded\"])) : d(\"\", !0),\n e.isReady && t.conf.infinite && t.canSlide && t.firstSlide ? (n(), k(v, {\n key: 1,\n class: \"vueperslide--clone vueperslide--clone-2\",\n clone: \"\",\n title: t.firstSlide.title,\n content: t.firstSlide.content,\n image: t.firstSlide.image,\n link: t.firstSlide.link,\n style: m(t.firstSlide.style),\n lazyloaded: t.firstSlide.loaded,\n \"aria-hidden\": \"true\"\n }, E({ _: 2 }, [\n t.firstSlide.contentSlot ? {\n name: \"content\",\n fn: T(() => [\n C(u, {\n vnodes: t.firstSlide.contentSlot()\n }, null, 8, [\"vnodes\"])\n ]),\n key: \"0\"\n } : void 0,\n t.conf.lazy && !t.firstSlide.loaded && t.firstSlide.loaderSlot ? {\n name: \"loader\",\n fn: T(() => [\n C(u, {\n vnodes: t.firstSlide.loaderSlot()\n }, null, 8, [\"vnodes\"])\n ]),\n key: \"1\"\n } : void 0\n ]), 1032, [\"title\", \"content\", \"image\", \"link\", \"style\", \"lazyloaded\"])) : d(\"\", !0)\n ], 4)\n ], 6)\n ], 4),\n (t.conf.pauseOnHover || t.conf.pauseOnTouch) && e.$slots.pause ? (n(), r(\"div\", se, [\n g(e.$slots, \"pause\")\n ])) : d(\"\", !0),\n t.conf.progress ? (n(), r(\"div\", ie, [\n g(e.$slots, \"progress\", {\n current: e.slides.current + 1,\n total: t.slidesCount\n }, () => [\n f(\"div\", {\n style: m(`width: ${(e.slides.current + 1) * 100 / t.slidesCount}%`)\n }, null, 4)\n ])\n ])) : d(\"\", !0),\n t.conf.fractions ? (n(), r(\"div\", le, [\n g(e.$slots, \"fraction\", {\n current: e.slides.current + 1,\n total: t.slidesCount\n }, () => [\n B(O(`${e.slides.current + 1} / ${t.slidesCount}`), 1)\n ])\n ])) : d(\"\", !0),\n t.conf.arrows && t.canSlide && !i.disable ? (n(), r(\"div\", {\n key: 3,\n class: b([\"vueperslides__arrows\", { \"vueperslides__arrows--outside\": t.conf.arrowsOutside }])\n }, [\n M(f(\"button\", {\n class: \"vueperslides__arrow vueperslides__arrow--prev\",\n type: \"button\",\n onClick: s[0] || (s[0] = (c) => t.previous()),\n \"aria-label\": \"Previous\",\n onKeyup: [\n s[1] || (s[1] = y((c) => t.conf.rtl ? t.next() : t.previous(), [\"left\"])),\n s[2] || (s[2] = y((c) => t.conf.rtl ? t.previous() : t.next(), [\"right\"]))\n ]\n }, [\n g(e.$slots, `arrow-${t.conf.rtl ? \"right\" : \"left\"}`, {}, () => [\n (n(), r(\"svg\", ne, [\n f(\"path\", {\n \"stroke-linecap\": \"round\",\n d: t.conf.rtl ? \"m1 1 l7 8 -7 8\" : \"m8 1 l-7 8 7 8\"\n }, null, 8, re)\n ]))\n ])\n ], 544), [\n [I, !t.arrowPrevDisabled]\n ]),\n M(f(\"button\", {\n class: \"vueperslides__arrow vueperslides__arrow--next\",\n type: \"button\",\n onClick: s[3] || (s[3] = (c) => t.next()),\n \"aria-label\": \"Next\",\n onKeyup: [\n s[4] || (s[4] = y((c) => t.conf.rtl ? t.next() : t.previous(), [\"left\"])),\n s[5] || (s[5] = y((c) => t.conf.rtl ? t.previous() : t.next(), [\"right\"]))\n ]\n }, [\n g(e.$slots, `arrow-${t.conf.rtl ? \"left\" : \"right\"}`, {}, () => [\n (n(), r(\"svg\", ae, [\n f(\"path\", {\n \"stroke-linecap\": \"round\",\n d: t.conf.rtl ? \"m8 1 l-7 8 7 8\" : \"m1 1 l7 8 -7 8\"\n }, null, 8, de)\n ]))\n ])\n ], 544), [\n [I, !t.arrowNextDisabled]\n ])\n ], 2)) : d(\"\", !0),\n t.conf.bullets && t.canSlide && !i.disable && !t.conf.bulletsOutside ? (n(), r(\"div\", oe, [\n g(e.$slots, \"bullets\", {\n currentSlide: e.slides.current,\n bulletIndexes: t.bulletIndexes,\n goToSlide: t.goToSlide,\n previous: t.previous,\n next: t.next\n }, () => [\n (n(!0), r(w, null, L(t.bulletIndexes, (c, a) => (n(), r(\"button\", {\n class: b([\"vueperslides__bullet\", { \"vueperslides__bullet--active\": e.slides.current === c }]),\n type: \"button\",\n key: a,\n role: \"tab\",\n \"aria-label\": `Slide ${a + 1}`,\n onClick: (h) => t.goToSlide(c),\n onKeyup: [\n s[6] || (s[6] = y((h) => t.conf.rtl ? t.next() : t.previous(), [\"left\"])),\n s[7] || (s[7] = y((h) => t.conf.rtl ? t.previous() : t.next(), [\"right\"]))\n ]\n }, [\n g(e.$slots, \"bullet\", {\n active: e.slides.current === c,\n slideIndex: c,\n index: a + 1\n }, () => [\n f(\"div\", he, [\n f(\"span\", null, O(a + 1), 1)\n ])\n ])\n ], 42, ue))), 128))\n ])\n ], 512)) : d(\"\", !0)\n ]),\n t.conf.bullets && t.canSlide && !i.disable && t.conf.bulletsOutside ? (n(), r(\"div\", ce, [\n g(e.$slots, \"bullets\", {\n currentSlide: e.slides.current,\n bulletIndexes: t.bulletIndexes,\n goToSlide: t.goToSlide,\n previous: t.previous,\n next: t.next\n }, () => [\n (n(!0), r(w, null, L(t.bulletIndexes, (c, a) => (n(), r(\"button\", {\n class: b([\"vueperslides__bullet\", { \"vueperslides__bullet--active\": e.slides.current === c }]),\n type: \"button\",\n key: a,\n role: \"tab\",\n \"aria-label\": `Slide ${a + 1}`,\n onClick: (h) => t.goToSlide(c),\n onKeyup: [\n s[8] || (s[8] = y((h) => t.conf.rtl ? t.next() : t.previous(), [\"left\"])),\n s[9] || (s[9] = y((h) => t.conf.rtl ? t.previous() : t.next(), [\"right\"]))\n ]\n }, [\n g(e.$slots, \"bullet\", {\n active: e.slides.current === c,\n slideIndex: c,\n index: a + 1\n }, () => [\n f(\"div\", ve, [\n f(\"span\", null, O(a + 1), 1)\n ])\n ])\n ], 42, fe))), 128))\n ])\n ], 512)) : d(\"\", !0),\n t.slidesCount && t.conf.slideContentOutside === \"bottom\" ? (n(), r(\"div\", {\n key: 2,\n class: b([\"vueperslide__content-wrapper vueperslide__content-wrapper--outside-bottom\", t.conf.slideContentOutsideClass])\n }, [\n t.currentSlide.contentSlot ? (n(), k(u, {\n key: 0,\n vnodes: t.currentSlide.contentSlot()\n }, null, 8, [\"vnodes\"])) : (n(), r(w, { key: 1 }, [\n t.currentSlide.title ? (n(), r(\"div\", {\n key: 0,\n class: \"vueperslide__title\",\n innerHTML: t.currentSlide.title\n }, null, 8, ge)) : d(\"\", !0),\n t.currentSlide.content ? (n(), r(\"div\", {\n key: 1,\n class: \"vueperslide__content\",\n innerHTML: t.currentSlide.content\n }, null, 8, pe)) : d(\"\", !0)\n ], 64))\n ], 2)) : d(\"\", !0)\n ], 6);\n}\nconst Se = {\n name: \"vueper-slides\",\n components: {\n VueperSlide: Z,\n vnodes: {\n render() {\n return this.$attrs.vnodes;\n }\n }\n },\n provide() {\n return {\n conf: this.conf,\n slides: this.slides,\n touch: this.touch,\n updateSlide: this.updateSlide,\n addClone: this.addClone,\n addSlide: this.addSlide,\n removeSlide: this.removeSlide\n };\n },\n props: {\n alwaysRefreshClones: { type: Boolean, default: !1 },\n arrows: { type: Boolean, default: !0 },\n arrowsOutside: { type: Boolean, default: null },\n autoplay: { type: Boolean, default: !1 },\n breakpoints: { type: Object, default: () => ({}) },\n bullets: { type: Boolean, default: !0 },\n bulletsOutside: { type: Boolean, default: null },\n disable: { type: Boolean, default: !1 },\n disableArrowsOnEdges: { type: [Boolean, String], default: !1 },\n draggingDistance: { type: Number, default: null },\n duration: { type: [Number, String], default: 4e3 },\n infinite: { type: Boolean, default: !0 },\n fade: { type: Boolean, default: !1 },\n fixedHeight: { type: [Boolean, String], default: !1 },\n fractions: { type: Boolean, default: !1 },\n gap: { type: Number, default: 0 },\n initSlide: { type: Number, default: 1 },\n lazy: { type: Boolean, default: !1 },\n lazyLoadOnDrag: { type: Boolean, default: !1 },\n pauseOnHover: { type: Boolean, default: !0 },\n pauseOnTouch: { type: Boolean, default: !0 },\n parallax: { type: [Boolean, Number], default: !1 },\n pageScrollingElement: { type: String, default: \"\" },\n parallaxFixedContent: { type: Boolean, default: !1 },\n preventYScroll: { type: Boolean, default: !1 },\n progress: { type: Boolean, default: !1 },\n rtl: { type: Boolean, default: !1 },\n slideContentOutside: { type: [Boolean, String], default: !1 },\n slideContentOutsideClass: { type: String, default: \"\" },\n slideImageInside: { type: Boolean, default: !1 },\n slideMultiple: { type: [Boolean, Number], default: !1 },\n slideRatio: { type: Number, default: 1 / 3 },\n touchable: { type: Boolean, default: !0 },\n transitionSpeed: { type: [Number, String], default: 600 },\n visibleSlides: { type: Number, default: 1 },\n \"3d\": { type: Boolean, default: !1 }\n },\n emits: [\n \"ready\",\n \"next\",\n \"previous\",\n \"autoplay-pause\",\n \"autoplay-resume\",\n \"before-slide\",\n \"slide\",\n \"image-loaded\",\n \"image-failed\"\n ],\n data: () => ({\n isReady: !1,\n isPaused: !1,\n container: null,\n slides: {\n list: [],\n activeId: null,\n current: 0,\n focus: 0,\n firstVisible: 0\n },\n mouseDown: !1,\n mouseOver: !1,\n touch: {\n enabled: !0,\n dragging: !1,\n lazyloadTriggered: !1,\n justDragged: !1,\n dragStartX: 0,\n dragNowX: 0,\n dragAmount: 0\n },\n transition: { currentTranslation: 0, speed: 0, animated: !1 },\n autoplayTimer: null,\n nextSlideIsClone: !1,\n breakpointsData: { list: [], current: null },\n parallaxData: { translation: 0, slideshowOffsetTop: null, isVisible: !1 }\n }),\n computed: {\n conf() {\n const e = {\n ...this.$props,\n ...this.$props.breakpoints && this.$props.breakpoints[this.breakpointsData.current] || {}\n };\n return e.slideMultiple = e.slideMultiple ? e.visibleSlides : 1, e.gap = this.gap && parseInt(this.gap) || 0, e.visibleSlides > 1 && (e[\"3d\"] = !1), (e.fade || e.disableArrowsOnEdges || e.visibleSlides > 1 || e[\"3d\"]) && (e.infinite = !1), e.visibleSlides > 1 && e.arrowsOutside === null && (e.arrowsOutside = !0), e.visibleSlides > 1 && e.bulletsOutside === null && (e.bulletsOutside = !0), this.touch.enabled !== e.touchable && this.toggleTouchableOption(e.touchable), e.parallax && e.parallaxFixedContent && (e.slideContentOutside = \"top\", e.slideContentOutsideClass = \"parallax-fixed-content\"), e;\n },\n slidesCount() {\n return this.slides.list.length;\n },\n gapsCount() {\n const { fade: e, \"3d\": s, slideMultiple: i, gap: l } = this.conf;\n if (!l || e || s || this.multipleSlides1by1 && this.slides.current < this.preferredPosition)\n return 0;\n if (!this.slides.current && this.nextSlideIsClone)\n return this.slidesCount;\n if (this.nextSlideIsClone === 0)\n return -1;\n let o = this.slides.current / i - this.preferredPosition;\n return this.multipleSlides1by1 && this.slidePosAfterPreferred > 0 && (o -= this.slidePosAfterPreferred), o;\n },\n slidesAfterCurrent() {\n return this.slidesCount - (this.slides.current + 1);\n },\n preferredPosition() {\n return this.multipleSlides1by1 ? Math.ceil(this.conf.visibleSlides / 2) - 1 : 0;\n },\n slidePosAfterPreferred() {\n return this.conf.visibleSlides - this.preferredPosition - this.slidesAfterCurrent - 1;\n },\n multipleSlides1by1() {\n return this.conf.visibleSlides > 1 && this.conf.slideMultiple === 1;\n },\n touchEnabled: {\n get() {\n return this.slidesCount > 1 && this.touch.enabled;\n },\n set(e) {\n this.touch.enabled = e;\n }\n },\n canSlide() {\n return this.slidesCount / this.conf.visibleSlides > 1;\n },\n firstSlide() {\n const e = this.slidesCount ? this.slides.list[0] : {};\n return e.style && typeof e.style == \"string\" && (e.style = e.style.replace(/width: ?\\d+.*?;?/, \"\")), e;\n },\n lastSlide() {\n const e = this.slidesCount ? this.slides.list[this.slidesCount - 1] : {};\n return e.style && typeof e.style == \"string\" && (e.style = e.style.replace(/width: ?\\d+.*?;?/, \"\")), e;\n },\n currentSlide() {\n const e = this.slidesCount && this.slides.list[this.slides.current] || {};\n return this.slides.current < this.slidesCount && e.id !== this.slides.activeId && this.goToSlide(this.slides.current, { animation: !1, autoPlaying: !0 }), e;\n },\n vueperslidesClasses() {\n return {\n \"vueperslides--ready\": this.isReady,\n \"vueperslides--rtl\": this.conf.rtl,\n \"vueperslides--fade\": this.conf.fade,\n \"vueperslides--parallax\": this.conf.parallax,\n \"vueperslides--slide-image-inside\": this.conf.slideImageInside,\n \"vueperslides--touchable\": this.touchEnabled && !this.disable,\n \"vueperslides--fixed-height\": this.conf.fixedHeight,\n \"vueperslides--3d\": this.conf[\"3d\"],\n \"vueperslides--slide-multiple\": this.conf.slideMultiple > 1,\n \"vueperslides--bullets-outside\": this.conf.bulletsOutside,\n \"vueperslides--animated\": this.transition.animated,\n \"vueperslides--no-animation\": !this.isReady\n };\n },\n vueperslidesStyles() {\n return /^-?\\d/.test(this.conf.fixedHeight) ? `height: ${this.conf.fixedHeight}` : null;\n },\n trackStyles() {\n const e = {};\n return this.conf.parallax && (e.transform = `translate3d(0, ${this.parallaxData.translation}%, 0)`, e.willChange = this.parallaxData.isVisible ? \"transform\" : \"auto\"), e;\n },\n trackInnerStyles() {\n const e = {}, { fade: s, \"3d\": i } = this.conf;\n if (e.transitionDuration = `${this.transition.speed}ms`, i) {\n const l = this.transition.currentTranslation * 90 / 100;\n e.transform = `rotateY(-90deg) translateX(-50%) rotateY(90deg) rotateY(${l}deg)`;\n } else\n s || (e.transform = `translate3d(${this.transition.currentTranslation}%, 0, 0)`, e.willChange = this.touch.dragging || this.transition.animated ? \"transform\" : \"auto\");\n return e;\n },\n bulletIndexes() {\n return Array(Math.ceil(this.slidesCount / this.conf.slideMultiple)).fill().map((e, s) => s * this.conf.slideMultiple);\n },\n arrowPrevDisabled() {\n return !this.slides.current && this.conf.disableArrowsOnEdges;\n },\n arrowNextDisabled() {\n const { disableArrowsOnEdges: e, visibleSlides: s, slideMultiple: i } = this.conf;\n return this.slides.current + (i > 1 && s > 1 ? s - 1 : 0) === this.slidesCount - 1 && e;\n }\n },\n methods: {\n init() {\n this.container = this.$refs.vueperslides, this.touchEnabled = this.conf.touchable, this.transition.speed = this.conf.transitionSpeed, Object.keys(this.breakpoints).length && (this.setBreakpointsList(), this.setBreakpointConfig(this.getCurrentBreakpoint()));\n const e = { animation: !1, autoPlaying: this.conf.autoplay };\n this.goToSlide(this.conf.initSlide - 1, e), this.bindEvents(), this.$nextTick(() => {\n this.isReady = !0, this.emit(\"ready\");\n });\n },\n emit(e, s = !0, i = !1) {\n let l = null;\n if ((s || typeof i == \"number\") && (l = {}, s && this.slides.activeId && this.slidesCount && (l.currentSlide = this.getSlideData(this.slides.current)), typeof i == \"number\" && this.slidesCount)) {\n const { nextSlide: o } = this.getSlideInRange(i);\n l.nextSlide = this.getSlideData(o);\n }\n this.$emit(...l ? [e, l] : [e]);\n },\n getSlideData(e) {\n const s = this.slides.list[e];\n let i = {};\n return s && (i = {\n index: e,\n title: s.title,\n content: s.content,\n contentSlot: s.contentSlot,\n image: s.image,\n link: s.link\n }), i;\n },\n setBreakpointsList() {\n this.breakpointsData.list = [99999, ...Object.keys(this.breakpoints)].map((e) => parseInt(e)).sort((e, s) => parseInt(s) - parseInt(e));\n },\n getCurrentBreakpoint() {\n const e = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, s = [e, ...this.breakpointsData.list].sort((i, l) => parseInt(l) - parseInt(i));\n return this.breakpointsData.list[s.indexOf(e) - 1];\n },\n hasBreakpointChanged(e) {\n return this.breakpointsData.current !== parseInt(e);\n },\n setBreakpointConfig(e) {\n const s = this.breakpoints && this.breakpoints[e] || {}, i = s.slideMultiple && s.slideMultiple !== this.conf.slideMultiple, l = s.visibleSlides && s.visibleSlides !== this.conf.visibleSlides;\n this.breakpointsData.current = e, this.slides.current = this.getFirstVisibleSlide(this.slides.focus), i || l ? this.goToSlide(this.slides.current, { breakpointChange: !0 }) : this.updateTrackTranslation();\n },\n bindEvents() {\n const e = \"ontouchstart\" in window;\n this.touchEnabled && this.toggleTouchableOption(!0), this.conf.autoplay && (this.conf.pauseOnHover && !e ? (this.container.addEventListener(\"mouseenter\", this.onMouseEnter), this.container.addEventListener(\"mouseleave\", this.onMouseLeave)) : this.conf.pauseOnTouch && e && document.addEventListener(\"touchstart\", (s) => {\n this[this.$el.contains(s.target) ? \"onSlideshowTouch\" : \"onOustideTouch\"]();\n })), (this.breakpointsData.list.length || this.conf.parallax) && window.addEventListener(\"resize\", this.onResize), this.conf.parallax && this.enableParallax();\n },\n getSlideshowOffsetTop(e = !1) {\n if (this.parallaxData.slideshowOffsetTop === null || e) {\n let s = this.container, i = s.offsetTop;\n for (; s = s.offsetParent; )\n i += s.offsetTop;\n this.parallaxData.slideshowOffsetTop = i;\n }\n return this.parallaxData.slideshowOffsetTop;\n },\n enableParallax() {\n this.refreshParallax(), this.pageScrollingElement ? (this.parallaxData.scrollingEl = document.querySelector(this.pageScrollingElement), this.parallaxData.scrollingEl.addEventListener(\"scroll\", this.onScroll)) : document.addEventListener(\"scroll\", this.onScroll);\n },\n disableParallax() {\n (this.pageScrollingElement ? document.querySelector(this.pageScrollingElement) : document).removeEventListener(\"scroll\", this.onScroll), this.parallaxData.scrollingEl = null, this.parallaxData.isVisible = !1, this.parallaxData.translation = 0, this.parallaxData.slideshowOffsetTop = null;\n },\n onScroll() {\n const { scrollingEl: e } = this.parallaxData, s = document.documentElement;\n let i = 0;\n e ? i = e.scrollTop : i = (window.pageYOffset || s.scrollTop) - (s.clientTop || 0);\n const l = window.innerHeight || s.clientHeight || document.body.clientHeight, o = this.container.clientHeight, t = this.getSlideshowOffsetTop(), u = t + o - i, v = l + i - t;\n if (this.parallaxData.isVisible = u > 0 && v > 0, this.parallaxData.isVisible) {\n const c = l + o, a = u * 100 / c, h = this.conf.parallax === -1 ? 100 - a : a;\n this.parallaxData.translation = -h / 2;\n }\n },\n onResize() {\n if (this.breakpointsData.list.length) {\n const e = this.getCurrentBreakpoint();\n this.hasBreakpointChanged(e) && this.setBreakpointConfig(e);\n }\n this.conf.parallax && this.getSlideshowOffsetTop(!0);\n },\n onMouseEnter() {\n this.mouseOver = !0, this.conf.pauseOnHover && this.conf.autoplay && (this.isPaused = !0);\n },\n onMouseLeave() {\n this.mouseOver = !1, this.conf.pauseOnHover && this.conf.autoplay && (this.isPaused = !1);\n },\n onMouseDown(e) {\n !this.touchEnabled || this.disable || (!e.touches && this.preventYScroll && e.preventDefault(), this.mouseDown = !0, this.touch.dragStartX = this.getCurrentMouseX(e), this.conf.draggingDistance || this.updateTrackTranslation(this.touch.dragStartX));\n },\n onMouseMove(e) {\n if (this.mouseDown || this.touch.dragging)\n if (this.conf.autoplay && (this.isPaused = !0), this.preventYScroll && e.preventDefault(), this.mouseDown = !1, this.touch.dragging = !0, this.touch.dragNowX = this.getCurrentMouseX(e), this.conf.draggingDistance) {\n this.touch.dragAmount = this.touch.dragNowX - this.touch.dragStartX;\n const s = this.touch.dragAmount / this.container.clientWidth;\n this.updateTrackTranslation(), this.transition.currentTranslation += 100 * s;\n } else\n this.updateTrackTranslation(this.touch.dragNowX);\n },\n onMouseUp(e) {\n if (this.mouseDown = !1, this.touch.dragging)\n this.conf.autoplay && (!(\"ontouchstart\" in window) && !this.mouseOver ? this.isPaused = !1 : this.conf.pauseOnTouch || (this.isPaused = !1));\n else\n return this.cancelSlideChange();\n this.touch.dragging = !1;\n const s = this.conf.draggingDistance ? -this.touch.dragAmount : 0, i = (this.touch.dragStartX - this.container.offsetLeft) / this.container.clientWidth, l = (this.touch.dragNowX - this.container.offsetLeft) / this.container.clientWidth, o = ((i < 0.5 ? 0 : 1) - l) * 100;\n let t = (s || o) > 0;\n if (this.conf.rtl && (t = !t), [\n Math.abs(s) < this.conf.draggingDistance,\n !this.conf.draggingDistance && Math.abs(o) < 50,\n this.arrowPrevDisabled && !this.slides.current && !t,\n this.arrowNextDisabled && this.slides.current === this.slidesCount - 1 && t\n ].includes(!0))\n this.cancelSlideChange();\n else {\n const v = this.slides.current + this.conf.slideMultiple * (t ? 1 : -1);\n this.emit(t ? \"next\" : \"previous\"), this.goToSlide(v);\n }\n this.touch.dragStartX = null, this.touch.dragNowX = null, this.touch.dragAmount = null, this.touch.justDragged = !0, setTimeout(() => this.touch.justDragged = !1, 50), this.touch.lazyloadTriggered = !1;\n },\n onSlideshowTouch() {\n this.isPaused = !0;\n },\n onOustideTouch() {\n this.isPaused = !1;\n },\n justDragged() {\n return this.touch.justDragged;\n },\n cancelSlideChange() {\n this.conf.fade || this.updateTrackTranslation();\n },\n getCurrentMouseX(e) {\n return \"ontouchstart\" in window ? e.touches[0].clientX : e.clientX;\n },\n getBasicTranslation() {\n return this.slides.current / this.conf.visibleSlides;\n },\n updateTrackTranslation(e = null) {\n let s = this.getBasicTranslation();\n const { infinite: i, visibleSlides: l, slideMultiple: o, gap: t, \"3d\": u, lazy: v, lazyLoadOnDrag: c } = this.conf;\n if (i && this.nextSlideIsClone !== !1 && (s = (this.nextSlideIsClone ? this.slidesCount : -1) / l), t && (s += this.gapsCount / (l / o) * t / 100), this.touch.dragStartX && e && !(i && this.nextSlideIsClone !== !1)) {\n let a = 0;\n const h = (this.touch.dragStartX - this.container.offsetLeft) / this.container.clientWidth;\n let S = (e - this.container.offsetLeft) / this.container.clientWidth;\n if (u) {\n const p = Math.round(h) ? [0, 2] : [-1, 1];\n S = Math.min(Math.max(S, p[0]), p[1]);\n }\n if (a = (h < 0.5 ? 0 : 1) - S, s += a * (this.conf.rtl ? -1 : 1), v && c && !this.touch.lazyloadTriggered) {\n this.touch.lazyloadTriggered = !0;\n let p = this.slides.current + (a > 0 ? 1 : -1) * l;\n i && p === -1 ? p = this.slidesCount - 1 : i && p === this.slidesCount && (p = 0);\n for (let _ = 0; _ < l; _++) {\n const x = this.slides.list[p + _];\n x && !x.loaded && this.loadSlide(x, p + _);\n }\n }\n }\n if (this.multipleSlides1by1 && !i) {\n const a = this.slidePosAfterPreferred > 0;\n let h = Math.min(this.preferredPosition, this.slides.current);\n a && (h += this.slidePosAfterPreferred), s -= h / l;\n }\n this.transition.currentTranslation = -s * 100 * (this.conf.rtl ? -1 : 1);\n },\n pauseAutoplay() {\n this.isPaused = !0, clearTimeout(this.autoplayTimer), this.autoplayTimer = 0, this.emit(\"autoplay-pause\");\n },\n resumeAutoplay() {\n this.isPaused = !1, this.doAutoplay(), this.emit(\"autoplay-resume\");\n },\n doAutoplay() {\n clearTimeout(this.autoplayTimer), this.autoplayTimer = setTimeout(() => {\n this.goToSlide(this.slides.current + this.conf.slideMultiple, { autoPlaying: !0 });\n }, this.currentSlide.duration || this.conf.duration);\n },\n previous(e = !0) {\n e && this.emit(\"previous\"), this.goToSlide(this.slides.current - this.conf.slideMultiple);\n },\n next(e = !0) {\n e && this.emit(\"next\"), this.goToSlide(this.slides.current + this.conf.slideMultiple);\n },\n refreshParallax() {\n setTimeout(() => {\n this.onResize(), this.onScroll();\n }, 100);\n },\n getFirstVisibleSlide(e) {\n const { slideMultiple: s, visibleSlides: i } = this.conf;\n let l = this.slides.current;\n return i > 1 && s === i ? l = Math.floor(e / i) * i : this.multipleSlides1by1 && (l = e - Math.min(e, this.preferredPosition) - Math.max(this.slidePosAfterPreferred, 0)), l;\n },\n getSlideInRange(e, s) {\n let i = !1;\n this.conf.infinite && e === -1 ? i = 0 : this.conf.infinite && e === this.slidesCount && (i = 1);\n let l = (e + this.slidesCount) % this.slidesCount;\n if (this.conf.slideMultiple > 1) {\n const o = this.slidesCount % this.conf.slideMultiple || this.conf.slideMultiple, t = this.conf.slideMultiple - o;\n l += e < 0 ? t : 0, l = this.getFirstVisibleSlide(l);\n }\n return this.conf.disableArrowsOnEdges && (e < 0 || e > this.slidesCount - 1) && !s && (l = this.slides.current), { nextSlide: l, clone: i };\n },\n goToSlide(e, { animation: s = !0, autoPlaying: i = !1, jumping: l = !1, breakpointChange: o = !1, emit: t = !0 } = {}) {\n if (!this.slidesCount || this.disable)\n return;\n this.conf.autoplay && !i && !this.isPaused && (this.isPaused = !0, this.$nextTick(() => this.isPaused = !1)), this.transition.animated = s, setTimeout(() => this.transition.animated = !1, this.transitionSpeed);\n const { nextSlide: u, clone: v } = this.getSlideInRange(e, i);\n if (this.nextSlideIsClone = v, !this.slides.list[u])\n return;\n if (this.conf.lazy)\n for (let a = 0; a < this.conf.visibleSlides; a++) {\n const h = this.slides.list[u + a];\n h && !h.loaded && this.loadSlide(h, u + a);\n }\n this.isReady && !l && t && this.emit(\"before-slide\", !0, u);\n const c = this.slides.list[u];\n if (this.isReady && c.video) {\n const a = this.slides.list[this.slides.current];\n a.video && a.video.pause(), c.video.play();\n }\n if (v !== !1 && setTimeout(() => {\n const a = e === -1 && this.slides.current !== this.slidesCount - 1, h = e === this.slidesCount && this.slides.current !== 0;\n a || h || (this.transition.speed = 0, this.goToSlide(v ? 0 : this.slidesCount - 1, { animation: !1, jumping: !0 }), setTimeout(() => this.transition.speed = this.conf.transitionSpeed, 50));\n }, this.transition.speed - 50), this.slides.current = u, this.slides.firstVisible = this.getFirstVisibleSlide(u), o || (this.slides.focus = u), this.conf.fade || this.updateTrackTranslation(), this.slides.activeId = this.slides.list[this.slides.current].id, this.conf.autoplay && i && !this.isPaused && this.doAutoplay(), this.slidesCount && (this.isReady && !l && t && this.emit(\"slide\"), this.isReady && this.conf.bullets && !i && !l && this.$refs.bullets)) {\n const a = this.$refs.bullets.children, h = a && a[this.slides.current / this.conf.slideMultiple];\n if (h && h.nodeName.toLowerCase() === \"button\") {\n let S = document.documentElement;\n this.pageScrollingElement && (S = document.querySelector(this.pageScrollingElement));\n const p = S.scrollTop;\n h.focus({ preventScroll: !0 }), S.scrollTop = p;\n }\n }\n },\n addSlide(e) {\n return this.slides.list.push(e), this.isReady && this.slidesCount === 1 && this.conf.autoplay && this.isPaused && (this.isPaused = !1), this.slidesCount;\n },\n addClone() {\n return this.updateTrackTranslation(), this.slidesCount;\n },\n updateSlide(e, s) {\n let i = this.slides.list.find((l) => l.id === e);\n i && (i = Object.assign(i, s));\n },\n removeSlide(e) {\n const s = this.slides.list.findIndex((i) => i.id === e);\n s > -1 && (this.slides.list.splice(s, 1), this.slidesCount && e === this.slides.activeId && this.goToSlide(s - 1, { autoPlaying: !0 })), this.slides.current >= this.slidesCount && this.goToSlide(0, { autoPlaying: !0 });\n },\n loadSlide(e, s) {\n e.loadImage().then((i) => {\n const { image: l, style: o } = i;\n e.loaded = !0, e.image = l, e.style = o, this.$emit(\"image-loaded\", this.getSlideData(s));\n }, () => {\n e.loaded = !1, this.$emit(\"image-failed\", this.getSlideData(s));\n });\n },\n toggleTouchableOption(e) {\n const { track: s } = this.$refs;\n if (!s)\n return;\n this.touchEnabled = e;\n const i = \"ontouchstart\" in window;\n e ? (this.$refs.track.addEventListener(i ? \"touchstart\" : \"mousedown\", this.onMouseDown, { passive: !this.preventYScroll }), document.addEventListener(i ? \"touchmove\" : \"mousemove\", this.onMouseMove, { passive: !this.preventYScroll }), document.addEventListener(i ? \"touchend\" : \"mouseup\", this.onMouseUp, { passive: !0 })) : this.removeEventListeners();\n },\n removeEventListeners() {\n const e = \"ontouchstart\" in window;\n this.$refs.track.removeEventListener(e ? \"touchstart\" : \"mousedown\", this.onMouseDown, { passive: !this.preventYScroll }), document.removeEventListener(e ? \"touchmove\" : \"mousemove\", this.onMouseMove, { passive: !this.preventYScroll }), document.removeEventListener(e ? \"touchend\" : \"mouseup\", this.onMouseUp, { passive: !0 });\n }\n },\n watch: {\n isPaused(e) {\n this[e ? \"pauseAutoplay\" : \"resumeAutoplay\"]();\n },\n parallax(e) {\n this[e ? \"enableParallax\" : \"disableParallax\"]();\n }\n },\n mounted() {\n this.init();\n },\n beforeUnmount() {\n this.removeEventListeners(), this.conf.parallax && this.disableParallax(), window.removeEventListener(\"resize\", this.onResize), document.removeEventListener(\"touchstart\", (e) => {\n this[this.$el.contains(e.target) ? \"onSlideshowTouch\" : \"onOustideTouch\"]();\n }), this.container.removeEventListener(\"mouseenter\", this.onMouseEnter), this.container.removeEventListener(\"mouseleave\", this.onMouseLeave);\n }\n}, be = /* @__PURE__ */ j(Se, [[\"render\", me]]);\nexport {\n Z as VueperSlide,\n be as VueperSlides\n};\n","\n\n\n\n\n","\n\n\n\n\n","/*!\n * html2canvas 1.4.1 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nfunction __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\n\nvar Bounds = /** @class */ (function () {\n function Bounds(left, top, width, height) {\n this.left = left;\n this.top = top;\n this.width = width;\n this.height = height;\n }\n Bounds.prototype.add = function (x, y, w, h) {\n return new Bounds(this.left + x, this.top + y, this.width + w, this.height + h);\n };\n Bounds.fromClientRect = function (context, clientRect) {\n return new Bounds(clientRect.left + context.windowBounds.left, clientRect.top + context.windowBounds.top, clientRect.width, clientRect.height);\n };\n Bounds.fromDOMRectList = function (context, domRectList) {\n var domRect = Array.from(domRectList).find(function (rect) { return rect.width !== 0; });\n return domRect\n ? new Bounds(domRect.left + context.windowBounds.left, domRect.top + context.windowBounds.top, domRect.width, domRect.height)\n : Bounds.EMPTY;\n };\n Bounds.EMPTY = new Bounds(0, 0, 0, 0);\n return Bounds;\n}());\nvar parseBounds = function (context, node) {\n return Bounds.fromClientRect(context, node.getBoundingClientRect());\n};\nvar parseDocumentSize = function (document) {\n var body = document.body;\n var documentElement = document.documentElement;\n if (!body || !documentElement) {\n throw new Error(\"Unable to get document size\");\n }\n var width = Math.max(Math.max(body.scrollWidth, documentElement.scrollWidth), Math.max(body.offsetWidth, documentElement.offsetWidth), Math.max(body.clientWidth, documentElement.clientWidth));\n var height = Math.max(Math.max(body.scrollHeight, documentElement.scrollHeight), Math.max(body.offsetHeight, documentElement.offsetHeight), Math.max(body.clientHeight, documentElement.clientHeight));\n return new Bounds(0, 0, width, height);\n};\n\n/*\n * css-line-break 2.1.0 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar toCodePoints$1 = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint$1 = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar chars$2 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$2 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$2 = 0; i$2 < chars$2.length; i$2++) {\n lookup$2[chars$2.charCodeAt(i$2)] = i$2;\n}\n\n/*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$1$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1$1 = 0; i$1$1 < chars$1$1.length; i$1$1++) {\n lookup$1$1[chars$1$1.charCodeAt(i$1$1)] = i$1$1;\n}\nvar decode$1 = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1$1[base64.charCodeAt(i)];\n encoded2 = lookup$1$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array$1 = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2$1 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1$1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT$1 = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2$1 = UTRIE2_SHIFT_1$1 - UTRIE2_SHIFT_2$1;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET$1 = 0x10000 >> UTRIE2_SHIFT_2$1;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_2$1;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK$1 = UTRIE2_DATA_BLOCK_LENGTH$1 - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH$1 = 0x400 >> UTRIE2_SHIFT_2$1;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH$1 = UTRIE2_LSCP_INDEX_2_OFFSET$1 + UTRIE2_LSCP_INDEX_2_LENGTH$1;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 = UTRIE2_INDEX_2_BMP_LENGTH$1;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH$1 = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET$1 = UTRIE2_UTF8_2B_INDEX_2_OFFSET$1 + UTRIE2_UTF8_2B_INDEX_2_LENGTH$1;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 = 0x10000 >> UTRIE2_SHIFT_1$1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH$1 = 1 << UTRIE2_SHIFT_1_2$1;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK$1 = UTRIE2_INDEX_2_BLOCK_LENGTH$1 - 1;\nvar slice16$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32$1 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64$1 = function (base64, _byteLength) {\n var buffer = decode$1(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array$1(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array$1(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16$1(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16$1(view16, (headerLength + view32[4]) / 2)\n : slice32$1(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie$1(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie$1 = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2$1];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET$1 + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2$1)];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET$1 - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1 + (codePoint >> UTRIE2_SHIFT_1$1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2$1) & UTRIE2_INDEX_2_MASK$1;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT$1) + (codePoint & UTRIE2_DATA_MASK$1);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$3 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$3 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$3 = 0; i$3 < chars$3.length; i$3++) {\n lookup$3[chars$3.charCodeAt(i$3)] = i$3;\n}\n\nvar base64$1 = 'KwAAAAAAAAAACA4AUD0AADAgAAACAAAAAAAIABAAGABAAEgAUABYAGAAaABgAGgAYgBqAF8AZwBgAGgAcQB5AHUAfQCFAI0AlQCdAKIAqgCyALoAYABoAGAAaABgAGgAwgDKAGAAaADGAM4A0wDbAOEA6QDxAPkAAQEJAQ8BFwF1AH0AHAEkASwBNAE6AUIBQQFJAVEBWQFhAWgBcAF4ATAAgAGGAY4BlQGXAZ8BpwGvAbUBvQHFAc0B0wHbAeMB6wHxAfkBAQIJAvEBEQIZAiECKQIxAjgCQAJGAk4CVgJeAmQCbAJ0AnwCgQKJApECmQKgAqgCsAK4ArwCxAIwAMwC0wLbAjAA4wLrAvMC+AIAAwcDDwMwABcDHQMlAy0DNQN1AD0DQQNJA0kDSQNRA1EDVwNZA1kDdQB1AGEDdQBpA20DdQN1AHsDdQCBA4kDkQN1AHUAmQOhA3UAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AKYDrgN1AHUAtgO+A8YDzgPWAxcD3gPjA+sD8wN1AHUA+wMDBAkEdQANBBUEHQQlBCoEFwMyBDgEYABABBcDSARQBFgEYARoBDAAcAQzAXgEgASIBJAEdQCXBHUAnwSnBK4EtgS6BMIEyAR1AHUAdQB1AHUAdQCVANAEYABgAGAAYABgAGAAYABgANgEYADcBOQEYADsBPQE/AQEBQwFFAUcBSQFLAU0BWQEPAVEBUsFUwVbBWAAYgVgAGoFcgV6BYIFigWRBWAAmQWfBaYFYABgAGAAYABgAKoFYACxBbAFuQW6BcEFwQXHBcEFwQXPBdMF2wXjBeoF8gX6BQIGCgYSBhoGIgYqBjIGOgZgAD4GRgZMBmAAUwZaBmAAYABgAGAAYABgAGAAYABgAGAAYABgAGIGYABpBnAGYABgAGAAYABgAGAAYABgAGAAYAB4Bn8GhQZgAGAAYAB1AHcDFQSLBmAAYABgAJMGdQA9A3UAmwajBqsGqwaVALMGuwbDBjAAywbSBtIG1QbSBtIG0gbSBtIG0gbdBuMG6wbzBvsGAwcLBxMHAwcbByMHJwcsBywHMQcsB9IGOAdAB0gHTgfSBkgHVgfSBtIG0gbSBtIG0gbSBtIG0gbSBiwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdgAGAALAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAdbB2MHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB2kH0gZwB64EdQB1AHUAdQB1AHUAdQB1AHUHfQdgAIUHjQd1AHUAlQedB2AAYAClB6sHYACzB7YHvgfGB3UAzgfWBzMB3gfmB1EB7gf1B/0HlQENAQUIDQh1ABUIHQglCBcDLQg1CD0IRQhNCEEDUwh1AHUAdQBbCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIaQhjCGQIZQhmCGcIaAhpCGMIZAhlCGYIZwhoCGkIYwhkCGUIZghnCGgIcAh3CHoIMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIgggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAALAcsBywHLAcsBywHLAcsBywHLAcsB4oILAcsB44I0gaWCJ4Ipgh1AHUAqgiyCHUAdQB1AHUAdQB1AHUAdQB1AHUAtwh8AXUAvwh1AMUIyQjRCNkI4AjoCHUAdQB1AO4I9gj+CAYJDgkTCS0HGwkjCYIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiCCIIIggiAAIAAAAFAAYABgAGIAXwBgAHEAdQBFAJUAogCyAKAAYABgAEIA4ABGANMA4QDxAMEBDwE1AFwBLAE6AQEBUQF4QkhCmEKoQrhCgAHIQsAB0MLAAcABwAHAAeDC6ABoAHDCwMMAAcABwAHAAdDDGMMAAcAB6MM4wwjDWMNow3jDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEjDqABWw6bDqABpg6gAaABoAHcDvwOPA+gAaABfA/8DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DvwO/A78DpcPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB9cPKwkyCToJMAB1AHUAdQBCCUoJTQl1AFUJXAljCWcJawkwADAAMAAwAHMJdQB2CX4JdQCECYoJjgmWCXUAngkwAGAAYABxAHUApgn3A64JtAl1ALkJdQDACTAAMAAwADAAdQB1AHUAdQB1AHUAdQB1AHUAowYNBMUIMAAwADAAMADICcsJ0wnZCRUE4QkwAOkJ8An4CTAAMAB1AAAKvwh1AAgKDwoXCh8KdQAwACcKLgp1ADYKqAmICT4KRgowADAAdQB1AE4KMAB1AFYKdQBeCnUAZQowADAAMAAwADAAMAAwADAAMAAVBHUAbQowADAAdQC5CXUKMAAwAHwBxAijBogEMgF9CoQKiASMCpQKmgqIBKIKqgquCogEDQG2Cr4KxgrLCjAAMADTCtsKCgHjCusK8Qr5CgELMAAwADAAMAB1AIsECQsRC3UANAEZCzAAMAAwADAAMAB1ACELKQswAHUANAExCzkLdQBBC0kLMABRC1kLMAAwADAAMAAwADAAdQBhCzAAMAAwAGAAYABpC3ELdwt/CzAAMACHC4sLkwubC58Lpwt1AK4Ltgt1APsDMAAwADAAMAAwADAAMAAwAL4LwwvLC9IL1wvdCzAAMADlC+kL8Qv5C/8LSQswADAAMAAwADAAMAAwADAAMAAHDDAAMAAwADAAMAAODBYMHgx1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1ACYMMAAwADAAdQB1AHUALgx1AHUAdQB1AHUAdQA2DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AD4MdQBGDHUAdQB1AHUAdQB1AEkMdQB1AHUAdQB1AFAMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQBYDHUAdQB1AF8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUA+wMVBGcMMAAwAHwBbwx1AHcMfwyHDI8MMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAYABgAJcMMAAwADAAdQB1AJ8MlQClDDAAMACtDCwHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsB7UMLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHdQB1AHUAdQB1AHUAdQB1AHUAdQB1AHUAdQB1AA0EMAC9DDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAsBywHLAcsBywHLAcsBywHLQcwAMEMyAwsBywHLAcsBywHLAcsBywHLAcsBywHzAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAHUAdQB1ANQM2QzhDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMABgAGAAYABgAGAAYABgAOkMYADxDGAA+AwADQYNYABhCWAAYAAODTAAMAAwADAAFg1gAGAAHg37AzAAMAAwADAAYABgACYNYAAsDTQNPA1gAEMNPg1LDWAAYABgAGAAYABgAGAAYABgAGAAUg1aDYsGVglhDV0NcQBnDW0NdQ15DWAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAlQCBDZUAiA2PDZcNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAnw2nDTAAMAAwADAAMAAwAHUArw23DTAAMAAwADAAMAAwADAAMAAwADAAMAB1AL8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAB1AHUAdQB1AHUAdQDHDTAAYABgAM8NMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA1w11ANwNMAAwAD0B5A0wADAAMAAwADAAMADsDfQN/A0EDgwOFA4wABsOMAAwADAAMAAwADAAMAAwANIG0gbSBtIG0gbSBtIG0gYjDigOwQUuDsEFMw7SBjoO0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGQg5KDlIOVg7SBtIGXg5lDm0OdQ7SBtIGfQ6EDooOjQ6UDtIGmg6hDtIG0gaoDqwO0ga0DrwO0gZgAGAAYADEDmAAYAAkBtIGzA5gANIOYADaDokO0gbSBt8O5w7SBu8O0gb1DvwO0gZgAGAAxA7SBtIG0gbSBtIGYABgAGAAYAAED2AAsAUMD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHJA8sBywHLAcsBywHLAccDywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywPLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAc0D9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAccD9IG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIGFA8sBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHLAcsBywHPA/SBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gbSBtIG0gYUD0QPlQCVAJUAMAAwADAAMACVAJUAlQCVAJUAlQCVAEwPMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAA//8EAAQABAAEAAQABAAEAAQABAANAAMAAQABAAIABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQACgATABcAHgAbABoAHgAXABYAEgAeABsAGAAPABgAHABLAEsASwBLAEsASwBLAEsASwBLABgAGAAeAB4AHgATAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAGwASAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWAA0AEQAeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAFAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJABYAGgAbABsAGwAeAB0AHQAeAE8AFwAeAA0AHgAeABoAGwBPAE8ADgBQAB0AHQAdAE8ATwAXAE8ATwBPABYAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwBWAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsABAAbABsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUAAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEAA0ADQBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABABQACsAKwArACsAKwArACsAKwAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUAAaABoAUABQAFAAUABQAEwAHgAbAFAAHgAEACsAKwAEAAQABAArAFAAUABQAFAAUABQACsAKwArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQACsAUABQACsAKwAEACsABAAEAAQABAAEACsAKwArACsABAAEACsAKwAEAAQABAArACsAKwAEACsAKwArACsAKwArACsAUABQAFAAUAArAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAAQABABQAFAAUAAEAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAArACsAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AGwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAKwArACsAKwArAAQABAAEACsAKwArACsAUABQACsAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAAQAUAArAFAAUABQAFAAUABQACsAKwArAFAAUABQACsAUABQAFAAUAArACsAKwBQAFAAKwBQACsAUABQACsAKwArAFAAUAArACsAKwBQAFAAUAArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAArACsAKwAEAAQABAArAAQABAAEAAQAKwArAFAAKwArACsAKwArACsABAArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAHgAeAB4AHgAeAB4AGwAeACsAKwArACsAKwAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAUABQAFAAKwArACsAKwArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwAOAFAAUABQAFAAUABQAFAAHgBQAAQABAAEAA4AUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAKwArAAQAUAAEAAQABAAEAAQABAAEACsABAAEAAQAKwAEAAQABAAEACsAKwArACsAKwArACsABAAEACsAKwArACsAKwArACsAUAArAFAAUAAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwAEAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAXABcAFwAXABcACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAXAArAFwAXABcAFwAXABcAFwAXABcAFwAKgBcAFwAKgAqACoAKgAqACoAKgAqACoAXAArACsAXABcAFwAXABcACsAXAArACoAKgAqACoAKgAqACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwBcAFwAXABcAFAADgAOAA4ADgAeAA4ADgAJAA4ADgANAAkAEwATABMAEwATAAkAHgATAB4AHgAeAAQABAAeAB4AHgAeAB4AHgBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAADQAEAB4ABAAeAAQAFgARABYAEQAEAAQAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAAQABAAEAAQADQAEAAQAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAA0ADQAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeACsAHgAeAA4ADgANAA4AHgAeAB4AHgAeAAkACQArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgBcAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4AHgAeAB4AXABcAFwAXABcAFwAKgAqACoAKgBcAFwAXABcACoAKgAqAFwAKgAqACoAXABcACoAKgAqACoAKgAqACoAXABcAFwAKgAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwAKgBLAEsASwBLAEsASwBLAEsASwBLACoAKgAqACoAKgAqAFAAUABQAFAAUABQACsAUAArACsAKwArACsAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAKwBQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsABAAEAAQAHgANAB4AHgAeAB4AHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUAArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAWABEAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAANAA0AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUAArAAQABAArACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAA0ADQAVAFwADQAeAA0AGwBcACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwAeAB4AEwATAA0ADQAOAB4AEwATAB4ABAAEAAQACQArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAHgArACsAKwATABMASwBLAEsASwBLAEsASwBLAEsASwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAXABcAFwAXABcACsAKwArACsAKwArACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXAArACsAKwAqACoAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsAHgAeAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAqACoAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKwArAAQASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACoAKgAqACoAKgAqACoAXAAqACoAKgAqACoAKgArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABABQAFAAUABQAFAAUABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgANAA0ADQANAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwAeAB4AHgAeAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArAA0ADQANAA0ADQBLAEsASwBLAEsASwBLAEsASwBLACsAKwArAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0ADQBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUAAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArAAQABAAEAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAAQAUABQAFAAUABQAFAABABQAFAABAAEAAQAUAArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQACsAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQACsAKwAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQACsAHgAeAB4AHgAeAB4AHgAOAB4AKwANAA0ADQANAA0ADQANAAkADQANAA0ACAAEAAsABAAEAA0ACQANAA0ADAAdAB0AHgAXABcAFgAXABcAFwAWABcAHQAdAB4AHgAUABQAFAANAAEAAQAEAAQABAAEAAQACQAaABoAGgAaABoAGgAaABoAHgAXABcAHQAVABUAHgAeAB4AHgAeAB4AGAAWABEAFQAVABUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ADQAeAA0ADQANAA0AHgANAA0ADQAHAB4AHgAeAB4AKwAEAAQABAAEAAQABAAEAAQABAAEAFAAUAArACsATwBQAFAAUABQAFAAHgAeAB4AFgARAE8AUABPAE8ATwBPAFAAUABQAFAAUAAeAB4AHgAWABEAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArABsAGwAbABsAGwAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGgAbABsAGwAbABoAGwAbABoAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAFAAGgAeAB0AHgBQAB4AGgAeAB4AHgAeAB4AHgAeAB4AHgBPAB4AUAAbAB4AHgBQAFAAUABQAFAAHgAeAB4AHQAdAB4AUAAeAFAAHgBQAB4AUABPAFAAUAAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAHgBQAFAAUABQAE8ATwBQAFAAUABQAFAATwBQAFAATwBQAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAUABQAFAATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABPAB4AHgArACsAKwArAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAdAB4AHgAeAB0AHQAeAB4AHQAeAB4AHgAdAB4AHQAbABsAHgAdAB4AHgAeAB4AHQAeAB4AHQAdAB0AHQAeAB4AHQAeAB0AHgAdAB0AHQAdAB0AHQAeAB0AHgAeAB4AHgAeAB0AHQAdAB0AHgAeAB4AHgAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB0AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAdAB0AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAHgAeAB4AHgAeAB4AHQAeAB4AHgAeAB4AHgAeACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAFAAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHQAdAB0AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHQAdAB4AHgAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AJQAlAB0AHQAlAB4AJQAlACUAIAAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAeAB4AHgAeAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAeAB0AJQAdAB0AHgAdAB0AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAdAB0AHQAdACUAHgAlACUAJQAdACUAJQAdAB0AHQAlACUAHQAdACUAHQAdACUAJQAlAB4AHQAeAB4AHgAeAB0AHQAlAB0AHQAdAB0AHQAdACUAJQAlACUAJQAdACUAJQAgACUAHQAdACUAJQAlACUAJQAlACUAJQAeAB4AHgAlACUAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AFwAXABcAFwAXABcAHgATABMAJQAeAB4AHgAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARABYAEQAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANAA0AHgANAB4ADQANAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwAlACUAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACsAKwArACsAKwArACsAKwArACsAKwArAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBPAE8ATwBPAE8ATwBPAE8AJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeAAQAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUABQAAQAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUAANAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAUABQAFAAUABQAAQABAAEACsABAAEACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAKwBQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAA0ADQANAA0ADQANAA0ADQAeACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAArACsAKwArAFAAUABQAFAAUAANAA0ADQANAA0ADQAUACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQANAA0ADQANAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAANACsAKwBQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAB4AHgAeAB4AHgArACsAKwArACsAKwAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwAeACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANAFAABAAEAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAEAAQABAAEAB4ABAAEAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQACsABAAEAFAABAAEAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLAA0ADQArAB4ABABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAFAAUAAeAFAAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAAEAAQADgANAA0AEwATAB4AHgAeAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAFAAUABQAFAABAAEACsAKwAEAA0ADQAeAFAAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcAFwADQANAA0AKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQAKwAEAAQAKwArAAQABAAEAAQAUAAEAFAABAAEAA0ADQANACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABABQAA4AUAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANAFAADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAUAArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAaABoAGgAaAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAJAAkACQAJAAkACQAJABYAEQArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AHgAeACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwAEAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAARwBHABUARwAJACsAKwArACsAKwArACsAKwArACsAKwAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAKwArACsAKwArACsAKwArACsAKwArACsAKwBRAFEAUQBRACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUAArACsAHgAEAAQADQAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAeAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQAHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAKwArAFAAKwArAFAAUAArACsAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAHgAeAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeACsAKwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4ABAAeAB4AHgAeAB4AHgAeAB4AHgAeAAQAHgAeAA0ADQANAA0AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArAAQABAAEAAQABAAEAAQAKwAEAAQAKwAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAEAAQABAAEAAQABAAEAFAAUABQAFAAUABQAFAAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwBQAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArABsAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAB4AHgAeAB4ABAAEAAQABAAEAAQABABQACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArABYAFgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAGgBQAFAAUAAaAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUAArACsAKwArACsAKwBQACsAKwArACsAUAArAFAAKwBQACsAUABQAFAAKwBQAFAAKwBQACsAKwBQACsAUAArAFAAKwBQACsAUAArAFAAUAArAFAAKwArAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAUABQAFAAKwBQACsAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAKwBQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeACUAJQAlAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAHgAlACUAJQAlACUAIAAgACAAJQAlACAAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACEAIQAhACEAIQAlACUAIAAgACUAJQAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAlACUAJQAlACAAIAAgACUAIAAgACAAJQAlACUAJQAlACUAJQAgACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAlAB4AJQAeACUAJQAlACUAJQAgACUAJQAlACUAHgAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACAAIAAgACAAIAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABcAFwAXABUAFQAVAB4AHgAeAB4AJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAgACUAJQAgACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAgACAAIAAgACAAIAAgACAAIAAgACUAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAlACAAIAAlACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAgACAAIAAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAA==';\n\nvar LETTER_NUMBER_MODIFIER = 50;\n// Non-tailorable Line Breaking Classes\nvar BK = 1; // Cause a line break (after)\nvar CR$1 = 2; // Cause a line break (after), except between CR and LF\nvar LF$1 = 3; // Cause a line break (after)\nvar CM = 4; // Prohibit a line break between the character and the preceding character\nvar NL = 5; // Cause a line break (after)\nvar WJ = 7; // Prohibit line breaks before and after\nvar ZW = 8; // Provide a break opportunity\nvar GL = 9; // Prohibit line breaks before and after\nvar SP = 10; // Enable indirect line breaks\nvar ZWJ$1 = 11; // Prohibit line breaks within joiner sequences\n// Break Opportunities\nvar B2 = 12; // Provide a line break opportunity before and after the character\nvar BA = 13; // Generally provide a line break opportunity after the character\nvar BB = 14; // Generally provide a line break opportunity before the character\nvar HY = 15; // Provide a line break opportunity after the character, except in numeric context\nvar CB = 16; // Provide a line break opportunity contingent on additional information\n// Characters Prohibiting Certain Breaks\nvar CL = 17; // Prohibit line breaks before\nvar CP = 18; // Prohibit line breaks before\nvar EX = 19; // Prohibit line breaks before\nvar IN = 20; // Allow only indirect line breaks between pairs\nvar NS = 21; // Allow only indirect line breaks before\nvar OP = 22; // Prohibit line breaks after\nvar QU = 23; // Act like they are both opening and closing\n// Numeric Context\nvar IS = 24; // Prevent breaks after any and before numeric\nvar NU = 25; // Form numeric expressions for line breaking purposes\nvar PO = 26; // Do not break following a numeric expression\nvar PR = 27; // Do not break in front of a numeric expression\nvar SY = 28; // Prevent a break before; and allow a break after\n// Other Characters\nvar AI = 29; // Act like AL when the resolvedEAW is N; otherwise; act as ID\nvar AL = 30; // Are alphabetic characters or symbols that are used with alphabetic characters\nvar CJ = 31; // Treat as NS or ID for strict or normal breaking.\nvar EB = 32; // Do not break from following Emoji Modifier\nvar EM = 33; // Do not break from preceding Emoji Base\nvar H2 = 34; // Form Korean syllable blocks\nvar H3 = 35; // Form Korean syllable blocks\nvar HL = 36; // Do not break around a following hyphen; otherwise act as Alphabetic\nvar ID = 37; // Break before or after; except in some numeric context\nvar JL = 38; // Form Korean syllable blocks\nvar JV = 39; // Form Korean syllable blocks\nvar JT = 40; // Form Korean syllable blocks\nvar RI$1 = 41; // Keep pairs together. For pairs; break before and after other classes\nvar SA = 42; // Provide a line break opportunity contingent on additional, language-specific context analysis\nvar XX = 43; // Have as yet unknown line breaking behavior or unassigned code positions\nvar ea_OP = [0x2329, 0xff08];\nvar BREAK_MANDATORY = '!';\nvar BREAK_NOT_ALLOWED$1 = '×';\nvar BREAK_ALLOWED$1 = '÷';\nvar UnicodeTrie$1 = createTrieFromBase64$1(base64$1);\nvar ALPHABETICS = [AL, HL];\nvar HARD_LINE_BREAKS = [BK, CR$1, LF$1, NL];\nvar SPACE$1 = [SP, ZW];\nvar PREFIX_POSTFIX = [PR, PO];\nvar LINE_BREAKS = HARD_LINE_BREAKS.concat(SPACE$1);\nvar KOREAN_SYLLABLE_BLOCK = [JL, JV, JT, H2, H3];\nvar HYPHEN = [HY, BA];\nvar codePointsToCharacterClasses = function (codePoints, lineBreak) {\n if (lineBreak === void 0) { lineBreak = 'strict'; }\n var types = [];\n var indices = [];\n var categories = [];\n codePoints.forEach(function (codePoint, index) {\n var classType = UnicodeTrie$1.get(codePoint);\n if (classType > LETTER_NUMBER_MODIFIER) {\n categories.push(true);\n classType -= LETTER_NUMBER_MODIFIER;\n }\n else {\n categories.push(false);\n }\n if (['normal', 'auto', 'loose'].indexOf(lineBreak) !== -1) {\n // U+2010, – U+2013, 〜 U+301C, ゠ U+30A0\n if ([0x2010, 0x2013, 0x301c, 0x30a0].indexOf(codePoint) !== -1) {\n indices.push(index);\n return types.push(CB);\n }\n }\n if (classType === CM || classType === ZWJ$1) {\n // LB10 Treat any remaining combining mark or ZWJ as AL.\n if (index === 0) {\n indices.push(index);\n return types.push(AL);\n }\n // LB9 Do not break a combining character sequence; treat it as if it has the line breaking class of\n // the base character in all of the following rules. Treat ZWJ as if it were CM.\n var prev = types[index - 1];\n if (LINE_BREAKS.indexOf(prev) === -1) {\n indices.push(indices[index - 1]);\n return types.push(prev);\n }\n indices.push(index);\n return types.push(AL);\n }\n indices.push(index);\n if (classType === CJ) {\n return types.push(lineBreak === 'strict' ? NS : ID);\n }\n if (classType === SA) {\n return types.push(AL);\n }\n if (classType === AI) {\n return types.push(AL);\n }\n // For supplementary characters, a useful default is to treat characters in the range 10000..1FFFD as AL\n // and characters in the ranges 20000..2FFFD and 30000..3FFFD as ID, until the implementation can be revised\n // to take into account the actual line breaking properties for these characters.\n if (classType === XX) {\n if ((codePoint >= 0x20000 && codePoint <= 0x2fffd) || (codePoint >= 0x30000 && codePoint <= 0x3fffd)) {\n return types.push(ID);\n }\n else {\n return types.push(AL);\n }\n }\n types.push(classType);\n });\n return [indices, types, categories];\n};\nvar isAdjacentWithSpaceIgnored = function (a, b, currentIndex, classTypes) {\n var current = classTypes[currentIndex];\n if (Array.isArray(a) ? a.indexOf(current) !== -1 : a === current) {\n var i = currentIndex;\n while (i <= classTypes.length) {\n i++;\n var next = classTypes[i];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (current === SP) {\n var i = currentIndex;\n while (i > 0) {\n i--;\n var prev = classTypes[i];\n if (Array.isArray(a) ? a.indexOf(prev) !== -1 : a === prev) {\n var n = currentIndex;\n while (n <= classTypes.length) {\n n++;\n var next = classTypes[n];\n if (next === b) {\n return true;\n }\n if (next !== SP) {\n break;\n }\n }\n }\n if (prev !== SP) {\n break;\n }\n }\n }\n return false;\n};\nvar previousNonSpaceClassType = function (currentIndex, classTypes) {\n var i = currentIndex;\n while (i >= 0) {\n var type = classTypes[i];\n if (type === SP) {\n i--;\n }\n else {\n return type;\n }\n }\n return 0;\n};\nvar _lineBreakAtIndex = function (codePoints, classTypes, indicies, index, forbiddenBreaks) {\n if (indicies[index] === 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n var currentIndex = index - 1;\n if (Array.isArray(forbiddenBreaks) && forbiddenBreaks[currentIndex] === true) {\n return BREAK_NOT_ALLOWED$1;\n }\n var beforeIndex = currentIndex - 1;\n var afterIndex = currentIndex + 1;\n var current = classTypes[currentIndex];\n // LB4 Always break after hard line breaks.\n // LB5 Treat CR followed by LF, as well as CR, LF, and NL as hard line breaks.\n var before = beforeIndex >= 0 ? classTypes[beforeIndex] : 0;\n var next = classTypes[afterIndex];\n if (current === CR$1 && next === LF$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n if (HARD_LINE_BREAKS.indexOf(current) !== -1) {\n return BREAK_MANDATORY;\n }\n // LB6 Do not break before hard line breaks.\n if (HARD_LINE_BREAKS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB7 Do not break before spaces or zero width space.\n if (SPACE$1.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB8 Break before any character following a zero-width space, even if one or more spaces intervene.\n if (previousNonSpaceClassType(currentIndex, classTypes) === ZW) {\n return BREAK_ALLOWED$1;\n }\n // LB8a Do not break after a zero width joiner.\n if (UnicodeTrie$1.get(codePoints[currentIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // zwj emojis\n if ((current === EB || current === EM) && UnicodeTrie$1.get(codePoints[afterIndex]) === ZWJ$1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB11 Do not break before or after Word joiner and related characters.\n if (current === WJ || next === WJ) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12 Do not break after NBSP and related characters.\n if (current === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB12a Do not break before NBSP and related characters, except after spaces and hyphens.\n if ([SP, BA, HY].indexOf(current) === -1 && next === GL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB13 Do not break before ‘]’ or ‘!’ or ‘;’ or ‘/’, even after spaces.\n if ([CL, CP, EX, IS, SY].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB14 Do not break after ‘[’, even after spaces.\n if (previousNonSpaceClassType(currentIndex, classTypes) === OP) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB15 Do not break within ‘”[’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(QU, OP, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB16 Do not break between closing punctuation and a nonstarter (lb=NS), even with intervening spaces.\n if (isAdjacentWithSpaceIgnored([CL, CP], NS, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB17 Do not break within ‘——’, even with intervening spaces.\n if (isAdjacentWithSpaceIgnored(B2, B2, currentIndex, classTypes)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB18 Break after spaces.\n if (current === SP) {\n return BREAK_ALLOWED$1;\n }\n // LB19 Do not break before or after quotation marks, such as ‘ ” ’.\n if (current === QU || next === QU) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB20 Break before and after unresolved CB.\n if (next === CB || current === CB) {\n return BREAK_ALLOWED$1;\n }\n // LB21 Do not break before hyphen-minus, other hyphens, fixed-width spaces, small kana, and other non-starters, or after acute accents.\n if ([BA, HY, NS].indexOf(next) !== -1 || current === BB) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21a Don't break after Hebrew + Hyphen.\n if (before === HL && HYPHEN.indexOf(current) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB21b Don’t break between Solidus and Hebrew letters.\n if (current === SY && next === HL) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB22 Do not break before ellipsis.\n if (next === IN) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23 Do not break between digits and letters.\n if ((ALPHABETICS.indexOf(next) !== -1 && current === NU) || (ALPHABETICS.indexOf(current) !== -1 && next === NU)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB23a Do not break between numeric prefixes and ideographs, or between ideographs and numeric postfixes.\n if ((current === PR && [ID, EB, EM].indexOf(next) !== -1) ||\n ([ID, EB, EM].indexOf(current) !== -1 && next === PO)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB24 Do not break between numeric prefix/postfix and letters, or between letters and prefix/postfix.\n if ((ALPHABETICS.indexOf(current) !== -1 && PREFIX_POSTFIX.indexOf(next) !== -1) ||\n (PREFIX_POSTFIX.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB25 Do not break between the following pairs of classes relevant to numbers:\n if (\n // (PR | PO) × ( OP | HY )? NU\n ([PR, PO].indexOf(current) !== -1 &&\n (next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||\n // ( OP | HY ) × NU\n ([OP, HY].indexOf(current) !== -1 && next === NU) ||\n // NU ×\t(NU | SY | IS)\n (current === NU && [NU, SY, IS].indexOf(next) !== -1)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // NU (NU | SY | IS)* × (NU | SY | IS | CL | CP)\n if ([NU, SY, IS, CL, CP].indexOf(next) !== -1) {\n var prevIndex = currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // NU (NU | SY | IS)* (CL | CP)? × (PO | PR))\n if ([PR, PO].indexOf(next) !== -1) {\n var prevIndex = [CL, CP].indexOf(current) !== -1 ? beforeIndex : currentIndex;\n while (prevIndex >= 0) {\n var type = classTypes[prevIndex];\n if (type === NU) {\n return BREAK_NOT_ALLOWED$1;\n }\n else if ([SY, IS].indexOf(type) !== -1) {\n prevIndex--;\n }\n else {\n break;\n }\n }\n }\n // LB26 Do not break a Korean syllable.\n if ((JL === current && [JL, JV, H2, H3].indexOf(next) !== -1) ||\n ([JV, H2].indexOf(current) !== -1 && [JV, JT].indexOf(next) !== -1) ||\n ([JT, H3].indexOf(current) !== -1 && next === JT)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB27 Treat a Korean Syllable Block the same as ID.\n if ((KOREAN_SYLLABLE_BLOCK.indexOf(current) !== -1 && [IN, PO].indexOf(next) !== -1) ||\n (KOREAN_SYLLABLE_BLOCK.indexOf(next) !== -1 && current === PR)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB28 Do not break between alphabetics (“at”).\n if (ALPHABETICS.indexOf(current) !== -1 && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB29 Do not break between numeric punctuation and alphabetics (“e.g.”).\n if (current === IS && ALPHABETICS.indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30 Do not break between letters, numbers, or ordinary symbols and opening or closing parentheses.\n if ((ALPHABETICS.concat(NU).indexOf(current) !== -1 &&\n next === OP &&\n ea_OP.indexOf(codePoints[afterIndex]) === -1) ||\n (ALPHABETICS.concat(NU).indexOf(next) !== -1 && current === CP)) {\n return BREAK_NOT_ALLOWED$1;\n }\n // LB30a Break between two regional indicator symbols if and only if there are an even number of regional\n // indicators preceding the position of the break.\n if (current === RI$1 && next === RI$1) {\n var i = indicies[currentIndex];\n var count = 1;\n while (i > 0) {\n i--;\n if (classTypes[i] === RI$1) {\n count++;\n }\n else {\n break;\n }\n }\n if (count % 2 !== 0) {\n return BREAK_NOT_ALLOWED$1;\n }\n }\n // LB30b Do not break between an emoji base and an emoji modifier.\n if (current === EB && next === EM) {\n return BREAK_NOT_ALLOWED$1;\n }\n return BREAK_ALLOWED$1;\n};\nvar cssFormattedClasses = function (codePoints, options) {\n if (!options) {\n options = { lineBreak: 'normal', wordBreak: 'normal' };\n }\n var _a = codePointsToCharacterClasses(codePoints, options.lineBreak), indicies = _a[0], classTypes = _a[1], isLetterNumber = _a[2];\n if (options.wordBreak === 'break-all' || options.wordBreak === 'break-word') {\n classTypes = classTypes.map(function (type) { return ([NU, AL, SA].indexOf(type) !== -1 ? ID : type); });\n }\n var forbiddenBreakpoints = options.wordBreak === 'keep-all'\n ? isLetterNumber.map(function (letterNumber, i) {\n return letterNumber && codePoints[i] >= 0x4e00 && codePoints[i] <= 0x9fff;\n })\n : undefined;\n return [indicies, classTypes, forbiddenBreakpoints];\n};\nvar Break = /** @class */ (function () {\n function Break(codePoints, lineBreak, start, end) {\n this.codePoints = codePoints;\n this.required = lineBreak === BREAK_MANDATORY;\n this.start = start;\n this.end = end;\n }\n Break.prototype.slice = function () {\n return fromCodePoint$1.apply(void 0, this.codePoints.slice(this.start, this.end));\n };\n return Break;\n}());\nvar LineBreaker = function (str, options) {\n var codePoints = toCodePoints$1(str);\n var _a = cssFormattedClasses(codePoints, options), indicies = _a[0], classTypes = _a[1], forbiddenBreakpoints = _a[2];\n var length = codePoints.length;\n var lastEnd = 0;\n var nextIndex = 0;\n return {\n next: function () {\n if (nextIndex >= length) {\n return { done: true, value: null };\n }\n var lineBreak = BREAK_NOT_ALLOWED$1;\n while (nextIndex < length &&\n (lineBreak = _lineBreakAtIndex(codePoints, classTypes, indicies, ++nextIndex, forbiddenBreakpoints)) ===\n BREAK_NOT_ALLOWED$1) { }\n if (lineBreak !== BREAK_NOT_ALLOWED$1 || nextIndex === length) {\n var value = new Break(codePoints, lineBreak, lastEnd, nextIndex);\n lastEnd = nextIndex;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\n\n// https://www.w3.org/TR/css-syntax-3\nvar FLAG_UNRESTRICTED = 1 << 0;\nvar FLAG_ID = 1 << 1;\nvar FLAG_INTEGER = 1 << 2;\nvar FLAG_NUMBER = 1 << 3;\nvar LINE_FEED = 0x000a;\nvar SOLIDUS = 0x002f;\nvar REVERSE_SOLIDUS = 0x005c;\nvar CHARACTER_TABULATION = 0x0009;\nvar SPACE = 0x0020;\nvar QUOTATION_MARK = 0x0022;\nvar EQUALS_SIGN = 0x003d;\nvar NUMBER_SIGN = 0x0023;\nvar DOLLAR_SIGN = 0x0024;\nvar PERCENTAGE_SIGN = 0x0025;\nvar APOSTROPHE = 0x0027;\nvar LEFT_PARENTHESIS = 0x0028;\nvar RIGHT_PARENTHESIS = 0x0029;\nvar LOW_LINE = 0x005f;\nvar HYPHEN_MINUS = 0x002d;\nvar EXCLAMATION_MARK = 0x0021;\nvar LESS_THAN_SIGN = 0x003c;\nvar GREATER_THAN_SIGN = 0x003e;\nvar COMMERCIAL_AT = 0x0040;\nvar LEFT_SQUARE_BRACKET = 0x005b;\nvar RIGHT_SQUARE_BRACKET = 0x005d;\nvar CIRCUMFLEX_ACCENT = 0x003d;\nvar LEFT_CURLY_BRACKET = 0x007b;\nvar QUESTION_MARK = 0x003f;\nvar RIGHT_CURLY_BRACKET = 0x007d;\nvar VERTICAL_LINE = 0x007c;\nvar TILDE = 0x007e;\nvar CONTROL = 0x0080;\nvar REPLACEMENT_CHARACTER = 0xfffd;\nvar ASTERISK = 0x002a;\nvar PLUS_SIGN = 0x002b;\nvar COMMA = 0x002c;\nvar COLON = 0x003a;\nvar SEMICOLON = 0x003b;\nvar FULL_STOP = 0x002e;\nvar NULL = 0x0000;\nvar BACKSPACE = 0x0008;\nvar LINE_TABULATION = 0x000b;\nvar SHIFT_OUT = 0x000e;\nvar INFORMATION_SEPARATOR_ONE = 0x001f;\nvar DELETE = 0x007f;\nvar EOF = -1;\nvar ZERO = 0x0030;\nvar a = 0x0061;\nvar e = 0x0065;\nvar f = 0x0066;\nvar u = 0x0075;\nvar z = 0x007a;\nvar A = 0x0041;\nvar E = 0x0045;\nvar F = 0x0046;\nvar U = 0x0055;\nvar Z = 0x005a;\nvar isDigit = function (codePoint) { return codePoint >= ZERO && codePoint <= 0x0039; };\nvar isSurrogateCodePoint = function (codePoint) { return codePoint >= 0xd800 && codePoint <= 0xdfff; };\nvar isHex = function (codePoint) {\n return isDigit(codePoint) || (codePoint >= A && codePoint <= F) || (codePoint >= a && codePoint <= f);\n};\nvar isLowerCaseLetter = function (codePoint) { return codePoint >= a && codePoint <= z; };\nvar isUpperCaseLetter = function (codePoint) { return codePoint >= A && codePoint <= Z; };\nvar isLetter = function (codePoint) { return isLowerCaseLetter(codePoint) || isUpperCaseLetter(codePoint); };\nvar isNonASCIICodePoint = function (codePoint) { return codePoint >= CONTROL; };\nvar isWhiteSpace = function (codePoint) {\n return codePoint === LINE_FEED || codePoint === CHARACTER_TABULATION || codePoint === SPACE;\n};\nvar isNameStartCodePoint = function (codePoint) {\n return isLetter(codePoint) || isNonASCIICodePoint(codePoint) || codePoint === LOW_LINE;\n};\nvar isNameCodePoint = function (codePoint) {\n return isNameStartCodePoint(codePoint) || isDigit(codePoint) || codePoint === HYPHEN_MINUS;\n};\nvar isNonPrintableCodePoint = function (codePoint) {\n return ((codePoint >= NULL && codePoint <= BACKSPACE) ||\n codePoint === LINE_TABULATION ||\n (codePoint >= SHIFT_OUT && codePoint <= INFORMATION_SEPARATOR_ONE) ||\n codePoint === DELETE);\n};\nvar isValidEscape = function (c1, c2) {\n if (c1 !== REVERSE_SOLIDUS) {\n return false;\n }\n return c2 !== LINE_FEED;\n};\nvar isIdentifierStart = function (c1, c2, c3) {\n if (c1 === HYPHEN_MINUS) {\n return isNameStartCodePoint(c2) || isValidEscape(c2, c3);\n }\n else if (isNameStartCodePoint(c1)) {\n return true;\n }\n else if (c1 === REVERSE_SOLIDUS && isValidEscape(c1, c2)) {\n return true;\n }\n return false;\n};\nvar isNumberStart = function (c1, c2, c3) {\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n if (isDigit(c2)) {\n return true;\n }\n return c2 === FULL_STOP && isDigit(c3);\n }\n if (c1 === FULL_STOP) {\n return isDigit(c2);\n }\n return isDigit(c1);\n};\nvar stringToNumber = function (codePoints) {\n var c = 0;\n var sign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n sign = -1;\n }\n c++;\n }\n var integers = [];\n while (isDigit(codePoints[c])) {\n integers.push(codePoints[c++]);\n }\n var int = integers.length ? parseInt(fromCodePoint$1.apply(void 0, integers), 10) : 0;\n if (codePoints[c] === FULL_STOP) {\n c++;\n }\n var fraction = [];\n while (isDigit(codePoints[c])) {\n fraction.push(codePoints[c++]);\n }\n var fracd = fraction.length;\n var frac = fracd ? parseInt(fromCodePoint$1.apply(void 0, fraction), 10) : 0;\n if (codePoints[c] === E || codePoints[c] === e) {\n c++;\n }\n var expsign = 1;\n if (codePoints[c] === PLUS_SIGN || codePoints[c] === HYPHEN_MINUS) {\n if (codePoints[c] === HYPHEN_MINUS) {\n expsign = -1;\n }\n c++;\n }\n var exponent = [];\n while (isDigit(codePoints[c])) {\n exponent.push(codePoints[c++]);\n }\n var exp = exponent.length ? parseInt(fromCodePoint$1.apply(void 0, exponent), 10) : 0;\n return sign * (int + frac * Math.pow(10, -fracd)) * Math.pow(10, expsign * exp);\n};\nvar LEFT_PARENTHESIS_TOKEN = {\n type: 2 /* LEFT_PARENTHESIS_TOKEN */\n};\nvar RIGHT_PARENTHESIS_TOKEN = {\n type: 3 /* RIGHT_PARENTHESIS_TOKEN */\n};\nvar COMMA_TOKEN = { type: 4 /* COMMA_TOKEN */ };\nvar SUFFIX_MATCH_TOKEN = { type: 13 /* SUFFIX_MATCH_TOKEN */ };\nvar PREFIX_MATCH_TOKEN = { type: 8 /* PREFIX_MATCH_TOKEN */ };\nvar COLUMN_TOKEN = { type: 21 /* COLUMN_TOKEN */ };\nvar DASH_MATCH_TOKEN = { type: 9 /* DASH_MATCH_TOKEN */ };\nvar INCLUDE_MATCH_TOKEN = { type: 10 /* INCLUDE_MATCH_TOKEN */ };\nvar LEFT_CURLY_BRACKET_TOKEN = {\n type: 11 /* LEFT_CURLY_BRACKET_TOKEN */\n};\nvar RIGHT_CURLY_BRACKET_TOKEN = {\n type: 12 /* RIGHT_CURLY_BRACKET_TOKEN */\n};\nvar SUBSTRING_MATCH_TOKEN = { type: 14 /* SUBSTRING_MATCH_TOKEN */ };\nvar BAD_URL_TOKEN = { type: 23 /* BAD_URL_TOKEN */ };\nvar BAD_STRING_TOKEN = { type: 1 /* BAD_STRING_TOKEN */ };\nvar CDO_TOKEN = { type: 25 /* CDO_TOKEN */ };\nvar CDC_TOKEN = { type: 24 /* CDC_TOKEN */ };\nvar COLON_TOKEN = { type: 26 /* COLON_TOKEN */ };\nvar SEMICOLON_TOKEN = { type: 27 /* SEMICOLON_TOKEN */ };\nvar LEFT_SQUARE_BRACKET_TOKEN = {\n type: 28 /* LEFT_SQUARE_BRACKET_TOKEN */\n};\nvar RIGHT_SQUARE_BRACKET_TOKEN = {\n type: 29 /* RIGHT_SQUARE_BRACKET_TOKEN */\n};\nvar WHITESPACE_TOKEN = { type: 31 /* WHITESPACE_TOKEN */ };\nvar EOF_TOKEN = { type: 32 /* EOF_TOKEN */ };\nvar Tokenizer = /** @class */ (function () {\n function Tokenizer() {\n this._value = [];\n }\n Tokenizer.prototype.write = function (chunk) {\n this._value = this._value.concat(toCodePoints$1(chunk));\n };\n Tokenizer.prototype.read = function () {\n var tokens = [];\n var token = this.consumeToken();\n while (token !== EOF_TOKEN) {\n tokens.push(token);\n token = this.consumeToken();\n }\n return tokens;\n };\n Tokenizer.prototype.consumeToken = function () {\n var codePoint = this.consumeCodePoint();\n switch (codePoint) {\n case QUOTATION_MARK:\n return this.consumeStringToken(QUOTATION_MARK);\n case NUMBER_SIGN:\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isNameCodePoint(c1) || isValidEscape(c2, c3)) {\n var flags = isIdentifierStart(c1, c2, c3) ? FLAG_ID : FLAG_UNRESTRICTED;\n var value = this.consumeName();\n return { type: 5 /* HASH_TOKEN */, value: value, flags: flags };\n }\n break;\n case DOLLAR_SIGN:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUFFIX_MATCH_TOKEN;\n }\n break;\n case APOSTROPHE:\n return this.consumeStringToken(APOSTROPHE);\n case LEFT_PARENTHESIS:\n return LEFT_PARENTHESIS_TOKEN;\n case RIGHT_PARENTHESIS:\n return RIGHT_PARENTHESIS_TOKEN;\n case ASTERISK:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return SUBSTRING_MATCH_TOKEN;\n }\n break;\n case PLUS_SIGN:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case COMMA:\n return COMMA_TOKEN;\n case HYPHEN_MINUS:\n var e1 = codePoint;\n var e2 = this.peekCodePoint(0);\n var e3 = this.peekCodePoint(1);\n if (isNumberStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isIdentifierStart(e1, e2, e3)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n if (e2 === HYPHEN_MINUS && e3 === GREATER_THAN_SIGN) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDC_TOKEN;\n }\n break;\n case FULL_STOP:\n if (isNumberStart(codePoint, this.peekCodePoint(0), this.peekCodePoint(1))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n break;\n case SOLIDUS:\n if (this.peekCodePoint(0) === ASTERISK) {\n this.consumeCodePoint();\n while (true) {\n var c = this.consumeCodePoint();\n if (c === ASTERISK) {\n c = this.consumeCodePoint();\n if (c === SOLIDUS) {\n return this.consumeToken();\n }\n }\n if (c === EOF) {\n return this.consumeToken();\n }\n }\n }\n break;\n case COLON:\n return COLON_TOKEN;\n case SEMICOLON:\n return SEMICOLON_TOKEN;\n case LESS_THAN_SIGN:\n if (this.peekCodePoint(0) === EXCLAMATION_MARK &&\n this.peekCodePoint(1) === HYPHEN_MINUS &&\n this.peekCodePoint(2) === HYPHEN_MINUS) {\n this.consumeCodePoint();\n this.consumeCodePoint();\n return CDO_TOKEN;\n }\n break;\n case COMMERCIAL_AT:\n var a1 = this.peekCodePoint(0);\n var a2 = this.peekCodePoint(1);\n var a3 = this.peekCodePoint(2);\n if (isIdentifierStart(a1, a2, a3)) {\n var value = this.consumeName();\n return { type: 7 /* AT_KEYWORD_TOKEN */, value: value };\n }\n break;\n case LEFT_SQUARE_BRACKET:\n return LEFT_SQUARE_BRACKET_TOKEN;\n case REVERSE_SOLIDUS:\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n break;\n case RIGHT_SQUARE_BRACKET:\n return RIGHT_SQUARE_BRACKET_TOKEN;\n case CIRCUMFLEX_ACCENT:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return PREFIX_MATCH_TOKEN;\n }\n break;\n case LEFT_CURLY_BRACKET:\n return LEFT_CURLY_BRACKET_TOKEN;\n case RIGHT_CURLY_BRACKET:\n return RIGHT_CURLY_BRACKET_TOKEN;\n case u:\n case U:\n var u1 = this.peekCodePoint(0);\n var u2 = this.peekCodePoint(1);\n if (u1 === PLUS_SIGN && (isHex(u2) || u2 === QUESTION_MARK)) {\n this.consumeCodePoint();\n this.consumeUnicodeRangeToken();\n }\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n case VERTICAL_LINE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return DASH_MATCH_TOKEN;\n }\n if (this.peekCodePoint(0) === VERTICAL_LINE) {\n this.consumeCodePoint();\n return COLUMN_TOKEN;\n }\n break;\n case TILDE:\n if (this.peekCodePoint(0) === EQUALS_SIGN) {\n this.consumeCodePoint();\n return INCLUDE_MATCH_TOKEN;\n }\n break;\n case EOF:\n return EOF_TOKEN;\n }\n if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n return WHITESPACE_TOKEN;\n }\n if (isDigit(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeNumericToken();\n }\n if (isNameStartCodePoint(codePoint)) {\n this.reconsumeCodePoint(codePoint);\n return this.consumeIdentLikeToken();\n }\n return { type: 6 /* DELIM_TOKEN */, value: fromCodePoint$1(codePoint) };\n };\n Tokenizer.prototype.consumeCodePoint = function () {\n var value = this._value.shift();\n return typeof value === 'undefined' ? -1 : value;\n };\n Tokenizer.prototype.reconsumeCodePoint = function (codePoint) {\n this._value.unshift(codePoint);\n };\n Tokenizer.prototype.peekCodePoint = function (delta) {\n if (delta >= this._value.length) {\n return -1;\n }\n return this._value[delta];\n };\n Tokenizer.prototype.consumeUnicodeRangeToken = function () {\n var digits = [];\n var codePoint = this.consumeCodePoint();\n while (isHex(codePoint) && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var questionMarks = false;\n while (codePoint === QUESTION_MARK && digits.length < 6) {\n digits.push(codePoint);\n codePoint = this.consumeCodePoint();\n questionMarks = true;\n }\n if (questionMarks) {\n var start_1 = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? ZERO : digit); })), 16);\n var end = parseInt(fromCodePoint$1.apply(void 0, digits.map(function (digit) { return (digit === QUESTION_MARK ? F : digit); })), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start_1, end: end };\n }\n var start = parseInt(fromCodePoint$1.apply(void 0, digits), 16);\n if (this.peekCodePoint(0) === HYPHEN_MINUS && isHex(this.peekCodePoint(1))) {\n this.consumeCodePoint();\n codePoint = this.consumeCodePoint();\n var endDigits = [];\n while (isHex(codePoint) && endDigits.length < 6) {\n endDigits.push(codePoint);\n codePoint = this.consumeCodePoint();\n }\n var end = parseInt(fromCodePoint$1.apply(void 0, endDigits), 16);\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: end };\n }\n else {\n return { type: 30 /* UNICODE_RANGE_TOKEN */, start: start, end: start };\n }\n };\n Tokenizer.prototype.consumeIdentLikeToken = function () {\n var value = this.consumeName();\n if (value.toLowerCase() === 'url' && this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return this.consumeUrlToken();\n }\n else if (this.peekCodePoint(0) === LEFT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 19 /* FUNCTION_TOKEN */, value: value };\n }\n return { type: 20 /* IDENT_TOKEN */, value: value };\n };\n Tokenizer.prototype.consumeUrlToken = function () {\n var value = [];\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF) {\n return { type: 22 /* URL_TOKEN */, value: '' };\n }\n var next = this.peekCodePoint(0);\n if (next === APOSTROPHE || next === QUOTATION_MARK) {\n var stringToken = this.consumeStringToken(this.consumeCodePoint());\n if (stringToken.type === 0 /* STRING_TOKEN */) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: stringToken.value };\n }\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === EOF || codePoint === RIGHT_PARENTHESIS) {\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n else if (isWhiteSpace(codePoint)) {\n this.consumeWhiteSpace();\n if (this.peekCodePoint(0) === EOF || this.peekCodePoint(0) === RIGHT_PARENTHESIS) {\n this.consumeCodePoint();\n return { type: 22 /* URL_TOKEN */, value: fromCodePoint$1.apply(void 0, value) };\n }\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === QUOTATION_MARK ||\n codePoint === APOSTROPHE ||\n codePoint === LEFT_PARENTHESIS ||\n isNonPrintableCodePoint(codePoint)) {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n else if (codePoint === REVERSE_SOLIDUS) {\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n value.push(this.consumeEscapedCodePoint());\n }\n else {\n this.consumeBadUrlRemnants();\n return BAD_URL_TOKEN;\n }\n }\n else {\n value.push(codePoint);\n }\n }\n };\n Tokenizer.prototype.consumeWhiteSpace = function () {\n while (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n };\n Tokenizer.prototype.consumeBadUrlRemnants = function () {\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (codePoint === RIGHT_PARENTHESIS || codePoint === EOF) {\n return;\n }\n if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n this.consumeEscapedCodePoint();\n }\n }\n };\n Tokenizer.prototype.consumeStringSlice = function (count) {\n var SLICE_STACK_SIZE = 50000;\n var value = '';\n while (count > 0) {\n var amount = Math.min(SLICE_STACK_SIZE, count);\n value += fromCodePoint$1.apply(void 0, this._value.splice(0, amount));\n count -= amount;\n }\n this._value.shift();\n return value;\n };\n Tokenizer.prototype.consumeStringToken = function (endingCodePoint) {\n var value = '';\n var i = 0;\n do {\n var codePoint = this._value[i];\n if (codePoint === EOF || codePoint === undefined || codePoint === endingCodePoint) {\n value += this.consumeStringSlice(i);\n return { type: 0 /* STRING_TOKEN */, value: value };\n }\n if (codePoint === LINE_FEED) {\n this._value.splice(0, i);\n return BAD_STRING_TOKEN;\n }\n if (codePoint === REVERSE_SOLIDUS) {\n var next = this._value[i + 1];\n if (next !== EOF && next !== undefined) {\n if (next === LINE_FEED) {\n value += this.consumeStringSlice(i);\n i = -1;\n this._value.shift();\n }\n else if (isValidEscape(codePoint, next)) {\n value += this.consumeStringSlice(i);\n value += fromCodePoint$1(this.consumeEscapedCodePoint());\n i = -1;\n }\n }\n }\n i++;\n } while (true);\n };\n Tokenizer.prototype.consumeNumber = function () {\n var repr = [];\n var type = FLAG_INTEGER;\n var c1 = this.peekCodePoint(0);\n if (c1 === PLUS_SIGN || c1 === HYPHEN_MINUS) {\n repr.push(this.consumeCodePoint());\n }\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n if (c1 === FULL_STOP && isDigit(c2)) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n c1 = this.peekCodePoint(0);\n c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if ((c1 === E || c1 === e) && (((c2 === PLUS_SIGN || c2 === HYPHEN_MINUS) && isDigit(c3)) || isDigit(c2))) {\n repr.push(this.consumeCodePoint(), this.consumeCodePoint());\n type = FLAG_NUMBER;\n while (isDigit(this.peekCodePoint(0))) {\n repr.push(this.consumeCodePoint());\n }\n }\n return [stringToNumber(repr), type];\n };\n Tokenizer.prototype.consumeNumericToken = function () {\n var _a = this.consumeNumber(), number = _a[0], flags = _a[1];\n var c1 = this.peekCodePoint(0);\n var c2 = this.peekCodePoint(1);\n var c3 = this.peekCodePoint(2);\n if (isIdentifierStart(c1, c2, c3)) {\n var unit = this.consumeName();\n return { type: 15 /* DIMENSION_TOKEN */, number: number, flags: flags, unit: unit };\n }\n if (c1 === PERCENTAGE_SIGN) {\n this.consumeCodePoint();\n return { type: 16 /* PERCENTAGE_TOKEN */, number: number, flags: flags };\n }\n return { type: 17 /* NUMBER_TOKEN */, number: number, flags: flags };\n };\n Tokenizer.prototype.consumeEscapedCodePoint = function () {\n var codePoint = this.consumeCodePoint();\n if (isHex(codePoint)) {\n var hex = fromCodePoint$1(codePoint);\n while (isHex(this.peekCodePoint(0)) && hex.length < 6) {\n hex += fromCodePoint$1(this.consumeCodePoint());\n }\n if (isWhiteSpace(this.peekCodePoint(0))) {\n this.consumeCodePoint();\n }\n var hexCodePoint = parseInt(hex, 16);\n if (hexCodePoint === 0 || isSurrogateCodePoint(hexCodePoint) || hexCodePoint > 0x10ffff) {\n return REPLACEMENT_CHARACTER;\n }\n return hexCodePoint;\n }\n if (codePoint === EOF) {\n return REPLACEMENT_CHARACTER;\n }\n return codePoint;\n };\n Tokenizer.prototype.consumeName = function () {\n var result = '';\n while (true) {\n var codePoint = this.consumeCodePoint();\n if (isNameCodePoint(codePoint)) {\n result += fromCodePoint$1(codePoint);\n }\n else if (isValidEscape(codePoint, this.peekCodePoint(0))) {\n result += fromCodePoint$1(this.consumeEscapedCodePoint());\n }\n else {\n this.reconsumeCodePoint(codePoint);\n return result;\n }\n }\n };\n return Tokenizer;\n}());\n\nvar Parser = /** @class */ (function () {\n function Parser(tokens) {\n this._tokens = tokens;\n }\n Parser.create = function (value) {\n var tokenizer = new Tokenizer();\n tokenizer.write(value);\n return new Parser(tokenizer.read());\n };\n Parser.parseValue = function (value) {\n return Parser.create(value).parseComponentValue();\n };\n Parser.parseValues = function (value) {\n return Parser.create(value).parseComponentValues();\n };\n Parser.prototype.parseComponentValue = function () {\n var token = this.consumeToken();\n while (token.type === 31 /* WHITESPACE_TOKEN */) {\n token = this.consumeToken();\n }\n if (token.type === 32 /* EOF_TOKEN */) {\n throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");\n }\n this.reconsumeToken(token);\n var value = this.consumeComponentValue();\n do {\n token = this.consumeToken();\n } while (token.type === 31 /* WHITESPACE_TOKEN */);\n if (token.type === 32 /* EOF_TOKEN */) {\n return value;\n }\n throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\");\n };\n Parser.prototype.parseComponentValues = function () {\n var values = [];\n while (true) {\n var value = this.consumeComponentValue();\n if (value.type === 32 /* EOF_TOKEN */) {\n return values;\n }\n values.push(value);\n values.push();\n }\n };\n Parser.prototype.consumeComponentValue = function () {\n var token = this.consumeToken();\n switch (token.type) {\n case 11 /* LEFT_CURLY_BRACKET_TOKEN */:\n case 28 /* LEFT_SQUARE_BRACKET_TOKEN */:\n case 2 /* LEFT_PARENTHESIS_TOKEN */:\n return this.consumeSimpleBlock(token.type);\n case 19 /* FUNCTION_TOKEN */:\n return this.consumeFunction(token);\n }\n return token;\n };\n Parser.prototype.consumeSimpleBlock = function (type) {\n var block = { type: type, values: [] };\n var token = this.consumeToken();\n while (true) {\n if (token.type === 32 /* EOF_TOKEN */ || isEndingTokenFor(token, type)) {\n return block;\n }\n this.reconsumeToken(token);\n block.values.push(this.consumeComponentValue());\n token = this.consumeToken();\n }\n };\n Parser.prototype.consumeFunction = function (functionToken) {\n var cssFunction = {\n name: functionToken.value,\n values: [],\n type: 18 /* FUNCTION */\n };\n while (true) {\n var token = this.consumeToken();\n if (token.type === 32 /* EOF_TOKEN */ || token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */) {\n return cssFunction;\n }\n this.reconsumeToken(token);\n cssFunction.values.push(this.consumeComponentValue());\n }\n };\n Parser.prototype.consumeToken = function () {\n var token = this._tokens.shift();\n return typeof token === 'undefined' ? EOF_TOKEN : token;\n };\n Parser.prototype.reconsumeToken = function (token) {\n this._tokens.unshift(token);\n };\n return Parser;\n}());\nvar isDimensionToken = function (token) { return token.type === 15 /* DIMENSION_TOKEN */; };\nvar isNumberToken = function (token) { return token.type === 17 /* NUMBER_TOKEN */; };\nvar isIdentToken = function (token) { return token.type === 20 /* IDENT_TOKEN */; };\nvar isStringToken = function (token) { return token.type === 0 /* STRING_TOKEN */; };\nvar isIdentWithValue = function (token, value) {\n return isIdentToken(token) && token.value === value;\n};\nvar nonWhiteSpace = function (token) { return token.type !== 31 /* WHITESPACE_TOKEN */; };\nvar nonFunctionArgSeparator = function (token) {\n return token.type !== 31 /* WHITESPACE_TOKEN */ && token.type !== 4 /* COMMA_TOKEN */;\n};\nvar parseFunctionArgs = function (tokens) {\n var args = [];\n var arg = [];\n tokens.forEach(function (token) {\n if (token.type === 4 /* COMMA_TOKEN */) {\n if (arg.length === 0) {\n throw new Error(\"Error parsing function args, zero tokens for arg\");\n }\n args.push(arg);\n arg = [];\n return;\n }\n if (token.type !== 31 /* WHITESPACE_TOKEN */) {\n arg.push(token);\n }\n });\n if (arg.length) {\n args.push(arg);\n }\n return args;\n};\nvar isEndingTokenFor = function (token, type) {\n if (type === 11 /* LEFT_CURLY_BRACKET_TOKEN */ && token.type === 12 /* RIGHT_CURLY_BRACKET_TOKEN */) {\n return true;\n }\n if (type === 28 /* LEFT_SQUARE_BRACKET_TOKEN */ && token.type === 29 /* RIGHT_SQUARE_BRACKET_TOKEN */) {\n return true;\n }\n return type === 2 /* LEFT_PARENTHESIS_TOKEN */ && token.type === 3 /* RIGHT_PARENTHESIS_TOKEN */;\n};\n\nvar isLength = function (token) {\n return token.type === 17 /* NUMBER_TOKEN */ || token.type === 15 /* DIMENSION_TOKEN */;\n};\n\nvar isLengthPercentage = function (token) {\n return token.type === 16 /* PERCENTAGE_TOKEN */ || isLength(token);\n};\nvar parseLengthPercentageTuple = function (tokens) {\n return tokens.length > 1 ? [tokens[0], tokens[1]] : [tokens[0]];\n};\nvar ZERO_LENGTH = {\n type: 17 /* NUMBER_TOKEN */,\n number: 0,\n flags: FLAG_INTEGER\n};\nvar FIFTY_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar HUNDRED_PERCENT = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 100,\n flags: FLAG_INTEGER\n};\nvar getAbsoluteValueForTuple = function (tuple, width, height) {\n var x = tuple[0], y = tuple[1];\n return [getAbsoluteValue(x, width), getAbsoluteValue(typeof y !== 'undefined' ? y : x, height)];\n};\nvar getAbsoluteValue = function (token, parent) {\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n return (token.number / 100) * parent;\n }\n if (isDimensionToken(token)) {\n switch (token.unit) {\n case 'rem':\n case 'em':\n return 16 * token.number; // TODO use correct font-size\n case 'px':\n default:\n return token.number;\n }\n }\n return token.number;\n};\n\nvar DEG = 'deg';\nvar GRAD = 'grad';\nvar RAD = 'rad';\nvar TURN = 'turn';\nvar angle = {\n name: 'angle',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit) {\n case DEG:\n return (Math.PI * value.number) / 180;\n case GRAD:\n return (Math.PI / 200) * value.number;\n case RAD:\n return value.number;\n case TURN:\n return Math.PI * 2 * value.number;\n }\n }\n throw new Error(\"Unsupported angle type\");\n }\n};\nvar isAngle = function (value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n if (value.unit === DEG || value.unit === GRAD || value.unit === RAD || value.unit === TURN) {\n return true;\n }\n }\n return false;\n};\nvar parseNamedSide = function (tokens) {\n var sideOrCorner = tokens\n .filter(isIdentToken)\n .map(function (ident) { return ident.value; })\n .join(' ');\n switch (sideOrCorner) {\n case 'to bottom right':\n case 'to right bottom':\n case 'left top':\n case 'top left':\n return [ZERO_LENGTH, ZERO_LENGTH];\n case 'to top':\n case 'bottom':\n return deg(0);\n case 'to bottom left':\n case 'to left bottom':\n case 'right top':\n case 'top right':\n return [ZERO_LENGTH, HUNDRED_PERCENT];\n case 'to right':\n case 'left':\n return deg(90);\n case 'to top left':\n case 'to left top':\n case 'right bottom':\n case 'bottom right':\n return [HUNDRED_PERCENT, HUNDRED_PERCENT];\n case 'to bottom':\n case 'top':\n return deg(180);\n case 'to top right':\n case 'to right top':\n case 'left bottom':\n case 'bottom left':\n return [HUNDRED_PERCENT, ZERO_LENGTH];\n case 'to left':\n case 'right':\n return deg(270);\n }\n return 0;\n};\nvar deg = function (deg) { return (Math.PI * deg) / 180; };\n\nvar color$1 = {\n name: 'color',\n parse: function (context, value) {\n if (value.type === 18 /* FUNCTION */) {\n var colorFunction = SUPPORTED_COLOR_FUNCTIONS[value.name];\n if (typeof colorFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported color function \\\"\" + value.name + \"\\\"\");\n }\n return colorFunction(context, value.values);\n }\n if (value.type === 5 /* HASH_TOKEN */) {\n if (value.value.length === 3) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), 1);\n }\n if (value.value.length === 4) {\n var r = value.value.substring(0, 1);\n var g = value.value.substring(1, 2);\n var b = value.value.substring(2, 3);\n var a = value.value.substring(3, 4);\n return pack(parseInt(r + r, 16), parseInt(g + g, 16), parseInt(b + b, 16), parseInt(a + a, 16) / 255);\n }\n if (value.value.length === 6) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), 1);\n }\n if (value.value.length === 8) {\n var r = value.value.substring(0, 2);\n var g = value.value.substring(2, 4);\n var b = value.value.substring(4, 6);\n var a = value.value.substring(6, 8);\n return pack(parseInt(r, 16), parseInt(g, 16), parseInt(b, 16), parseInt(a, 16) / 255);\n }\n }\n if (value.type === 20 /* IDENT_TOKEN */) {\n var namedColor = COLORS[value.value.toUpperCase()];\n if (typeof namedColor !== 'undefined') {\n return namedColor;\n }\n }\n return COLORS.TRANSPARENT;\n }\n};\nvar isTransparent = function (color) { return (0xff & color) === 0; };\nvar asString = function (color) {\n var alpha = 0xff & color;\n var blue = 0xff & (color >> 8);\n var green = 0xff & (color >> 16);\n var red = 0xff & (color >> 24);\n return alpha < 255 ? \"rgba(\" + red + \",\" + green + \",\" + blue + \",\" + alpha / 255 + \")\" : \"rgb(\" + red + \",\" + green + \",\" + blue + \")\";\n};\nvar pack = function (r, g, b, a) {\n return ((r << 24) | (g << 16) | (b << 8) | (Math.round(a * 255) << 0)) >>> 0;\n};\nvar getTokenColorValue = function (token, i) {\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 16 /* PERCENTAGE_TOKEN */) {\n var max = i === 3 ? 1 : 255;\n return i === 3 ? (token.number / 100) * max : Math.round((token.number / 100) * max);\n }\n return 0;\n};\nvar rgb = function (_context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n if (tokens.length === 3) {\n var _a = tokens.map(getTokenColorValue), r = _a[0], g = _a[1], b = _a[2];\n return pack(r, g, b, 1);\n }\n if (tokens.length === 4) {\n var _b = tokens.map(getTokenColorValue), r = _b[0], g = _b[1], b = _b[2], a = _b[3];\n return pack(r, g, b, a);\n }\n return 0;\n};\nfunction hue2rgb(t1, t2, hue) {\n if (hue < 0) {\n hue += 1;\n }\n if (hue >= 1) {\n hue -= 1;\n }\n if (hue < 1 / 6) {\n return (t2 - t1) * hue * 6 + t1;\n }\n else if (hue < 1 / 2) {\n return t2;\n }\n else if (hue < 2 / 3) {\n return (t2 - t1) * 6 * (2 / 3 - hue) + t1;\n }\n else {\n return t1;\n }\n}\nvar hsl = function (context, args) {\n var tokens = args.filter(nonFunctionArgSeparator);\n var hue = tokens[0], saturation = tokens[1], lightness = tokens[2], alpha = tokens[3];\n var h = (hue.type === 17 /* NUMBER_TOKEN */ ? deg(hue.number) : angle.parse(context, hue)) / (Math.PI * 2);\n var s = isLengthPercentage(saturation) ? saturation.number / 100 : 0;\n var l = isLengthPercentage(lightness) ? lightness.number / 100 : 0;\n var a = typeof alpha !== 'undefined' && isLengthPercentage(alpha) ? getAbsoluteValue(alpha, 1) : 1;\n if (s === 0) {\n return pack(l * 255, l * 255, l * 255, 1);\n }\n var t2 = l <= 0.5 ? l * (s + 1) : l + s - l * s;\n var t1 = l * 2 - t2;\n var r = hue2rgb(t1, t2, h + 1 / 3);\n var g = hue2rgb(t1, t2, h);\n var b = hue2rgb(t1, t2, h - 1 / 3);\n return pack(r * 255, g * 255, b * 255, a);\n};\nvar SUPPORTED_COLOR_FUNCTIONS = {\n hsl: hsl,\n hsla: hsl,\n rgb: rgb,\n rgba: rgb\n};\nvar parseColor = function (context, value) {\n return color$1.parse(context, Parser.create(value).parseComponentValue());\n};\nvar COLORS = {\n ALICEBLUE: 0xf0f8ffff,\n ANTIQUEWHITE: 0xfaebd7ff,\n AQUA: 0x00ffffff,\n AQUAMARINE: 0x7fffd4ff,\n AZURE: 0xf0ffffff,\n BEIGE: 0xf5f5dcff,\n BISQUE: 0xffe4c4ff,\n BLACK: 0x000000ff,\n BLANCHEDALMOND: 0xffebcdff,\n BLUE: 0x0000ffff,\n BLUEVIOLET: 0x8a2be2ff,\n BROWN: 0xa52a2aff,\n BURLYWOOD: 0xdeb887ff,\n CADETBLUE: 0x5f9ea0ff,\n CHARTREUSE: 0x7fff00ff,\n CHOCOLATE: 0xd2691eff,\n CORAL: 0xff7f50ff,\n CORNFLOWERBLUE: 0x6495edff,\n CORNSILK: 0xfff8dcff,\n CRIMSON: 0xdc143cff,\n CYAN: 0x00ffffff,\n DARKBLUE: 0x00008bff,\n DARKCYAN: 0x008b8bff,\n DARKGOLDENROD: 0xb886bbff,\n DARKGRAY: 0xa9a9a9ff,\n DARKGREEN: 0x006400ff,\n DARKGREY: 0xa9a9a9ff,\n DARKKHAKI: 0xbdb76bff,\n DARKMAGENTA: 0x8b008bff,\n DARKOLIVEGREEN: 0x556b2fff,\n DARKORANGE: 0xff8c00ff,\n DARKORCHID: 0x9932ccff,\n DARKRED: 0x8b0000ff,\n DARKSALMON: 0xe9967aff,\n DARKSEAGREEN: 0x8fbc8fff,\n DARKSLATEBLUE: 0x483d8bff,\n DARKSLATEGRAY: 0x2f4f4fff,\n DARKSLATEGREY: 0x2f4f4fff,\n DARKTURQUOISE: 0x00ced1ff,\n DARKVIOLET: 0x9400d3ff,\n DEEPPINK: 0xff1493ff,\n DEEPSKYBLUE: 0x00bfffff,\n DIMGRAY: 0x696969ff,\n DIMGREY: 0x696969ff,\n DODGERBLUE: 0x1e90ffff,\n FIREBRICK: 0xb22222ff,\n FLORALWHITE: 0xfffaf0ff,\n FORESTGREEN: 0x228b22ff,\n FUCHSIA: 0xff00ffff,\n GAINSBORO: 0xdcdcdcff,\n GHOSTWHITE: 0xf8f8ffff,\n GOLD: 0xffd700ff,\n GOLDENROD: 0xdaa520ff,\n GRAY: 0x808080ff,\n GREEN: 0x008000ff,\n GREENYELLOW: 0xadff2fff,\n GREY: 0x808080ff,\n HONEYDEW: 0xf0fff0ff,\n HOTPINK: 0xff69b4ff,\n INDIANRED: 0xcd5c5cff,\n INDIGO: 0x4b0082ff,\n IVORY: 0xfffff0ff,\n KHAKI: 0xf0e68cff,\n LAVENDER: 0xe6e6faff,\n LAVENDERBLUSH: 0xfff0f5ff,\n LAWNGREEN: 0x7cfc00ff,\n LEMONCHIFFON: 0xfffacdff,\n LIGHTBLUE: 0xadd8e6ff,\n LIGHTCORAL: 0xf08080ff,\n LIGHTCYAN: 0xe0ffffff,\n LIGHTGOLDENRODYELLOW: 0xfafad2ff,\n LIGHTGRAY: 0xd3d3d3ff,\n LIGHTGREEN: 0x90ee90ff,\n LIGHTGREY: 0xd3d3d3ff,\n LIGHTPINK: 0xffb6c1ff,\n LIGHTSALMON: 0xffa07aff,\n LIGHTSEAGREEN: 0x20b2aaff,\n LIGHTSKYBLUE: 0x87cefaff,\n LIGHTSLATEGRAY: 0x778899ff,\n LIGHTSLATEGREY: 0x778899ff,\n LIGHTSTEELBLUE: 0xb0c4deff,\n LIGHTYELLOW: 0xffffe0ff,\n LIME: 0x00ff00ff,\n LIMEGREEN: 0x32cd32ff,\n LINEN: 0xfaf0e6ff,\n MAGENTA: 0xff00ffff,\n MAROON: 0x800000ff,\n MEDIUMAQUAMARINE: 0x66cdaaff,\n MEDIUMBLUE: 0x0000cdff,\n MEDIUMORCHID: 0xba55d3ff,\n MEDIUMPURPLE: 0x9370dbff,\n MEDIUMSEAGREEN: 0x3cb371ff,\n MEDIUMSLATEBLUE: 0x7b68eeff,\n MEDIUMSPRINGGREEN: 0x00fa9aff,\n MEDIUMTURQUOISE: 0x48d1ccff,\n MEDIUMVIOLETRED: 0xc71585ff,\n MIDNIGHTBLUE: 0x191970ff,\n MINTCREAM: 0xf5fffaff,\n MISTYROSE: 0xffe4e1ff,\n MOCCASIN: 0xffe4b5ff,\n NAVAJOWHITE: 0xffdeadff,\n NAVY: 0x000080ff,\n OLDLACE: 0xfdf5e6ff,\n OLIVE: 0x808000ff,\n OLIVEDRAB: 0x6b8e23ff,\n ORANGE: 0xffa500ff,\n ORANGERED: 0xff4500ff,\n ORCHID: 0xda70d6ff,\n PALEGOLDENROD: 0xeee8aaff,\n PALEGREEN: 0x98fb98ff,\n PALETURQUOISE: 0xafeeeeff,\n PALEVIOLETRED: 0xdb7093ff,\n PAPAYAWHIP: 0xffefd5ff,\n PEACHPUFF: 0xffdab9ff,\n PERU: 0xcd853fff,\n PINK: 0xffc0cbff,\n PLUM: 0xdda0ddff,\n POWDERBLUE: 0xb0e0e6ff,\n PURPLE: 0x800080ff,\n REBECCAPURPLE: 0x663399ff,\n RED: 0xff0000ff,\n ROSYBROWN: 0xbc8f8fff,\n ROYALBLUE: 0x4169e1ff,\n SADDLEBROWN: 0x8b4513ff,\n SALMON: 0xfa8072ff,\n SANDYBROWN: 0xf4a460ff,\n SEAGREEN: 0x2e8b57ff,\n SEASHELL: 0xfff5eeff,\n SIENNA: 0xa0522dff,\n SILVER: 0xc0c0c0ff,\n SKYBLUE: 0x87ceebff,\n SLATEBLUE: 0x6a5acdff,\n SLATEGRAY: 0x708090ff,\n SLATEGREY: 0x708090ff,\n SNOW: 0xfffafaff,\n SPRINGGREEN: 0x00ff7fff,\n STEELBLUE: 0x4682b4ff,\n TAN: 0xd2b48cff,\n TEAL: 0x008080ff,\n THISTLE: 0xd8bfd8ff,\n TOMATO: 0xff6347ff,\n TRANSPARENT: 0x00000000,\n TURQUOISE: 0x40e0d0ff,\n VIOLET: 0xee82eeff,\n WHEAT: 0xf5deb3ff,\n WHITE: 0xffffffff,\n WHITESMOKE: 0xf5f5f5ff,\n YELLOW: 0xffff00ff,\n YELLOWGREEN: 0x9acd32ff\n};\n\nvar backgroundClip = {\n name: 'background-clip',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundColor = {\n name: \"background-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar parseColorStop = function (context, args) {\n var color = color$1.parse(context, args[0]);\n var stop = args[1];\n return stop && isLengthPercentage(stop) ? { color: color, stop: stop } : { color: color, stop: null };\n};\nvar processColorStops = function (stops, lineLength) {\n var first = stops[0];\n var last = stops[stops.length - 1];\n if (first.stop === null) {\n first.stop = ZERO_LENGTH;\n }\n if (last.stop === null) {\n last.stop = HUNDRED_PERCENT;\n }\n var processStops = [];\n var previous = 0;\n for (var i = 0; i < stops.length; i++) {\n var stop_1 = stops[i].stop;\n if (stop_1 !== null) {\n var absoluteValue = getAbsoluteValue(stop_1, lineLength);\n if (absoluteValue > previous) {\n processStops.push(absoluteValue);\n }\n else {\n processStops.push(previous);\n }\n previous = absoluteValue;\n }\n else {\n processStops.push(null);\n }\n }\n var gapBegin = null;\n for (var i = 0; i < processStops.length; i++) {\n var stop_2 = processStops[i];\n if (stop_2 === null) {\n if (gapBegin === null) {\n gapBegin = i;\n }\n }\n else if (gapBegin !== null) {\n var gapLength = i - gapBegin;\n var beforeGap = processStops[gapBegin - 1];\n var gapValue = (stop_2 - beforeGap) / (gapLength + 1);\n for (var g = 1; g <= gapLength; g++) {\n processStops[gapBegin + g - 1] = gapValue * g;\n }\n gapBegin = null;\n }\n }\n return stops.map(function (_a, i) {\n var color = _a.color;\n return { color: color, stop: Math.max(Math.min(1, processStops[i] / lineLength), 0) };\n });\n};\nvar getAngleFromCorner = function (corner, width, height) {\n var centerX = width / 2;\n var centerY = height / 2;\n var x = getAbsoluteValue(corner[0], width) - centerX;\n var y = centerY - getAbsoluteValue(corner[1], height);\n return (Math.atan2(y, x) + Math.PI * 2) % (Math.PI * 2);\n};\nvar calculateGradientDirection = function (angle, width, height) {\n var radian = typeof angle === 'number' ? angle : getAngleFromCorner(angle, width, height);\n var lineLength = Math.abs(width * Math.sin(radian)) + Math.abs(height * Math.cos(radian));\n var halfWidth = width / 2;\n var halfHeight = height / 2;\n var halfLineLength = lineLength / 2;\n var yDiff = Math.sin(radian - Math.PI / 2) * halfLineLength;\n var xDiff = Math.cos(radian - Math.PI / 2) * halfLineLength;\n return [lineLength, halfWidth - xDiff, halfWidth + xDiff, halfHeight - yDiff, halfHeight + yDiff];\n};\nvar distance = function (a, b) { return Math.sqrt(a * a + b * b); };\nvar findCorner = function (width, height, x, y, closest) {\n var corners = [\n [0, 0],\n [0, height],\n [width, 0],\n [width, height]\n ];\n return corners.reduce(function (stat, corner) {\n var cx = corner[0], cy = corner[1];\n var d = distance(x - cx, y - cy);\n if (closest ? d < stat.optimumDistance : d > stat.optimumDistance) {\n return {\n optimumCorner: corner,\n optimumDistance: d\n };\n }\n return stat;\n }, {\n optimumDistance: closest ? Infinity : -Infinity,\n optimumCorner: null\n }).optimumCorner;\n};\nvar calculateRadius = function (gradient, x, y, width, height) {\n var rx = 0;\n var ry = 0;\n switch (gradient.size) {\n case 0 /* CLOSEST_SIDE */:\n // The ending shape is sized so that that it exactly meets the side of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, it exactly meets the closest side in each dimension.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.min(Math.abs(x), Math.abs(x - width));\n ry = Math.min(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 2 /* CLOSEST_CORNER */:\n // The ending shape is sized so that that it passes through the corner of the gradient box closest to the gradient’s center.\n // If the shape is an ellipse, the ending shape is given the same aspect-ratio it would have if closest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.min(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"closest-side\")\n var c = Math.min(Math.abs(y), Math.abs(y - height)) / Math.min(Math.abs(x), Math.abs(x - width));\n var _a = findCorner(width, height, x, y, true), cx = _a[0], cy = _a[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n case 1 /* FARTHEST_SIDE */:\n // Same as closest-side, except the ending shape is sized based on the farthest side(s)\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(Math.abs(x), Math.abs(x - width), Math.abs(y), Math.abs(y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n rx = Math.max(Math.abs(x), Math.abs(x - width));\n ry = Math.max(Math.abs(y), Math.abs(y - height));\n }\n break;\n case 3 /* FARTHEST_CORNER */:\n // Same as closest-corner, except the ending shape is sized based on the farthest corner.\n // If the shape is an ellipse, the ending shape is given the same aspect ratio it would have if farthest-side were specified.\n if (gradient.shape === 0 /* CIRCLE */) {\n rx = ry = Math.max(distance(x, y), distance(x, y - height), distance(x - width, y), distance(x - width, y - height));\n }\n else if (gradient.shape === 1 /* ELLIPSE */) {\n // Compute the ratio ry/rx (which is to be the same as for \"farthest-side\")\n var c = Math.max(Math.abs(y), Math.abs(y - height)) / Math.max(Math.abs(x), Math.abs(x - width));\n var _b = findCorner(width, height, x, y, false), cx = _b[0], cy = _b[1];\n rx = distance(cx - x, (cy - y) / c);\n ry = c * rx;\n }\n break;\n }\n if (Array.isArray(gradient.size)) {\n rx = getAbsoluteValue(gradient.size[0], width);\n ry = gradient.size.length === 2 ? getAbsoluteValue(gradient.size[1], height) : rx;\n }\n return [rx, ry];\n};\n\nvar linearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ && firstToken.value === 'to') {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = angle.parse(context, firstToken);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return { angle: angle$1, stops: stops, type: 1 /* LINEAR_GRADIENT */ };\n};\n\nvar prefixLinearGradient = function (context, tokens) {\n var angle$1 = deg(180);\n var stops = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n if (i === 0) {\n var firstToken = arg[0];\n if (firstToken.type === 20 /* IDENT_TOKEN */ &&\n ['top', 'left', 'right', 'bottom'].indexOf(firstToken.value) !== -1) {\n angle$1 = parseNamedSide(arg);\n return;\n }\n else if (isAngle(firstToken)) {\n angle$1 = (angle.parse(context, firstToken) + deg(270)) % deg(360);\n return;\n }\n }\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n });\n return {\n angle: angle$1,\n stops: stops,\n type: 1 /* LINEAR_GRADIENT */\n };\n};\n\nvar webkitGradient = function (context, tokens) {\n var angle = deg(180);\n var stops = [];\n var type = 1 /* LINEAR_GRADIENT */;\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var firstToken = arg[0];\n if (i === 0) {\n if (isIdentToken(firstToken) && firstToken.value === 'linear') {\n type = 1 /* LINEAR_GRADIENT */;\n return;\n }\n else if (isIdentToken(firstToken) && firstToken.value === 'radial') {\n type = 2 /* RADIAL_GRADIENT */;\n return;\n }\n }\n if (firstToken.type === 18 /* FUNCTION */) {\n if (firstToken.name === 'from') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: ZERO_LENGTH, color: color });\n }\n else if (firstToken.name === 'to') {\n var color = color$1.parse(context, firstToken.values[0]);\n stops.push({ stop: HUNDRED_PERCENT, color: color });\n }\n else if (firstToken.name === 'color-stop') {\n var values = firstToken.values.filter(nonFunctionArgSeparator);\n if (values.length === 2) {\n var color = color$1.parse(context, values[1]);\n var stop_1 = values[0];\n if (isNumberToken(stop_1)) {\n stops.push({\n stop: { type: 16 /* PERCENTAGE_TOKEN */, number: stop_1.number * 100, flags: stop_1.flags },\n color: color\n });\n }\n }\n }\n }\n });\n return type === 1 /* LINEAR_GRADIENT */\n ? {\n angle: (angle + deg(180)) % deg(360),\n stops: stops,\n type: type\n }\n : { size: size, shape: shape, stops: stops, position: position, type: type };\n};\n\nvar CLOSEST_SIDE = 'closest-side';\nvar FARTHEST_SIDE = 'farthest-side';\nvar CLOSEST_CORNER = 'closest-corner';\nvar FARTHEST_CORNER = 'farthest-corner';\nvar CIRCLE = 'circle';\nvar ELLIPSE = 'ellipse';\nvar COVER = 'cover';\nvar CONTAIN = 'contain';\nvar radialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n var isAtPosition_1 = false;\n isColorStop = arg.reduce(function (acc, token) {\n if (isAtPosition_1) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return acc;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return acc;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return acc;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n }\n }\n else if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case 'at':\n isAtPosition_1 = true;\n return false;\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case COVER:\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CONTAIN:\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar prefixRadialGradient = function (context, tokens) {\n var shape = 0 /* CIRCLE */;\n var size = 3 /* FARTHEST_CORNER */;\n var stops = [];\n var position = [];\n parseFunctionArgs(tokens).forEach(function (arg, i) {\n var isColorStop = true;\n if (i === 0) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'center':\n position.push(FIFTY_PERCENT);\n return false;\n case 'top':\n case 'left':\n position.push(ZERO_LENGTH);\n return false;\n case 'right':\n case 'bottom':\n position.push(HUNDRED_PERCENT);\n return false;\n }\n }\n else if (isLengthPercentage(token) || isLength(token)) {\n position.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n else if (i === 1) {\n isColorStop = arg.reduce(function (acc, token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case CIRCLE:\n shape = 0 /* CIRCLE */;\n return false;\n case ELLIPSE:\n shape = 1 /* ELLIPSE */;\n return false;\n case CONTAIN:\n case CLOSEST_SIDE:\n size = 0 /* CLOSEST_SIDE */;\n return false;\n case FARTHEST_SIDE:\n size = 1 /* FARTHEST_SIDE */;\n return false;\n case CLOSEST_CORNER:\n size = 2 /* CLOSEST_CORNER */;\n return false;\n case COVER:\n case FARTHEST_CORNER:\n size = 3 /* FARTHEST_CORNER */;\n return false;\n }\n }\n else if (isLength(token) || isLengthPercentage(token)) {\n if (!Array.isArray(size)) {\n size = [];\n }\n size.push(token);\n return false;\n }\n return acc;\n }, isColorStop);\n }\n if (isColorStop) {\n var colorStop = parseColorStop(context, arg);\n stops.push(colorStop);\n }\n });\n return { size: size, shape: shape, stops: stops, position: position, type: 2 /* RADIAL_GRADIENT */ };\n};\n\nvar isLinearGradient = function (background) {\n return background.type === 1 /* LINEAR_GRADIENT */;\n};\nvar isRadialGradient = function (background) {\n return background.type === 2 /* RADIAL_GRADIENT */;\n};\nvar image = {\n name: 'image',\n parse: function (context, value) {\n if (value.type === 22 /* URL_TOKEN */) {\n var image_1 = { url: value.value, type: 0 /* URL */ };\n context.cache.addImage(value.value);\n return image_1;\n }\n if (value.type === 18 /* FUNCTION */) {\n var imageFunction = SUPPORTED_IMAGE_FUNCTIONS[value.name];\n if (typeof imageFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported image function \\\"\" + value.name + \"\\\"\");\n }\n return imageFunction(context, value.values);\n }\n throw new Error(\"Unsupported image type \" + value.type);\n }\n};\nfunction isSupportedImage(value) {\n return (!(value.type === 20 /* IDENT_TOKEN */ && value.value === 'none') &&\n (value.type !== 18 /* FUNCTION */ || !!SUPPORTED_IMAGE_FUNCTIONS[value.name]));\n}\nvar SUPPORTED_IMAGE_FUNCTIONS = {\n 'linear-gradient': linearGradient,\n '-moz-linear-gradient': prefixLinearGradient,\n '-ms-linear-gradient': prefixLinearGradient,\n '-o-linear-gradient': prefixLinearGradient,\n '-webkit-linear-gradient': prefixLinearGradient,\n 'radial-gradient': radialGradient,\n '-moz-radial-gradient': prefixRadialGradient,\n '-ms-radial-gradient': prefixRadialGradient,\n '-o-radial-gradient': prefixRadialGradient,\n '-webkit-radial-gradient': prefixRadialGradient,\n '-webkit-gradient': webkitGradient\n};\n\nvar backgroundImage = {\n name: 'background-image',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens\n .filter(function (value) { return nonFunctionArgSeparator(value) && isSupportedImage(value); })\n .map(function (value) { return image.parse(context, value); });\n }\n};\n\nvar backgroundOrigin = {\n name: 'background-origin',\n initialValue: 'border-box',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.map(function (token) {\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'padding-box':\n return 1 /* PADDING_BOX */;\n case 'content-box':\n return 2 /* CONTENT_BOX */;\n }\n }\n return 0 /* BORDER_BOX */;\n });\n }\n};\n\nvar backgroundPosition = {\n name: 'background-position',\n initialValue: '0% 0%',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) { return values.filter(isLengthPercentage); })\n .map(parseLengthPercentageTuple);\n }\n};\n\nvar backgroundRepeat = {\n name: 'background-repeat',\n initialValue: 'repeat',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens)\n .map(function (values) {\n return values\n .filter(isIdentToken)\n .map(function (token) { return token.value; })\n .join(' ');\n })\n .map(parseBackgroundRepeat);\n }\n};\nvar parseBackgroundRepeat = function (value) {\n switch (value) {\n case 'no-repeat':\n return 1 /* NO_REPEAT */;\n case 'repeat-x':\n case 'repeat no-repeat':\n return 2 /* REPEAT_X */;\n case 'repeat-y':\n case 'no-repeat repeat':\n return 3 /* REPEAT_Y */;\n case 'repeat':\n default:\n return 0 /* REPEAT */;\n }\n};\n\nvar BACKGROUND_SIZE;\n(function (BACKGROUND_SIZE) {\n BACKGROUND_SIZE[\"AUTO\"] = \"auto\";\n BACKGROUND_SIZE[\"CONTAIN\"] = \"contain\";\n BACKGROUND_SIZE[\"COVER\"] = \"cover\";\n})(BACKGROUND_SIZE || (BACKGROUND_SIZE = {}));\nvar backgroundSize = {\n name: 'background-size',\n initialValue: '0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseFunctionArgs(tokens).map(function (values) { return values.filter(isBackgroundSizeInfoToken); });\n }\n};\nvar isBackgroundSizeInfoToken = function (value) {\n return isIdentToken(value) || isLengthPercentage(value);\n};\n\nvar borderColorForSide = function (side) { return ({\n name: \"border-\" + side + \"-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n}); };\nvar borderTopColor = borderColorForSide('top');\nvar borderRightColor = borderColorForSide('right');\nvar borderBottomColor = borderColorForSide('bottom');\nvar borderLeftColor = borderColorForSide('left');\n\nvar borderRadiusForSide = function (side) { return ({\n name: \"border-radius-\" + side,\n initialValue: '0 0',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return parseLengthPercentageTuple(tokens.filter(isLengthPercentage));\n }\n}); };\nvar borderTopLeftRadius = borderRadiusForSide('top-left');\nvar borderTopRightRadius = borderRadiusForSide('top-right');\nvar borderBottomRightRadius = borderRadiusForSide('bottom-right');\nvar borderBottomLeftRadius = borderRadiusForSide('bottom-left');\n\nvar borderStyleForSide = function (side) { return ({\n name: \"border-\" + side + \"-style\",\n initialValue: 'solid',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, style) {\n switch (style) {\n case 'none':\n return 0 /* NONE */;\n case 'dashed':\n return 2 /* DASHED */;\n case 'dotted':\n return 3 /* DOTTED */;\n case 'double':\n return 4 /* DOUBLE */;\n }\n return 1 /* SOLID */;\n }\n}); };\nvar borderTopStyle = borderStyleForSide('top');\nvar borderRightStyle = borderStyleForSide('right');\nvar borderBottomStyle = borderStyleForSide('bottom');\nvar borderLeftStyle = borderStyleForSide('left');\n\nvar borderWidthForSide = function (side) { return ({\n name: \"border-\" + side + \"-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n}); };\nvar borderTopWidth = borderWidthForSide('top');\nvar borderRightWidth = borderWidthForSide('right');\nvar borderBottomWidth = borderWidthForSide('bottom');\nvar borderLeftWidth = borderWidthForSide('left');\n\nvar color = {\n name: \"color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar direction = {\n name: 'direction',\n initialValue: 'ltr',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, direction) {\n switch (direction) {\n case 'rtl':\n return 1 /* RTL */;\n case 'ltr':\n default:\n return 0 /* LTR */;\n }\n }\n};\n\nvar display = {\n name: 'display',\n initialValue: 'inline-block',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).reduce(function (bit, token) {\n return bit | parseDisplayValue(token.value);\n }, 0 /* NONE */);\n }\n};\nvar parseDisplayValue = function (display) {\n switch (display) {\n case 'block':\n case '-webkit-box':\n return 2 /* BLOCK */;\n case 'inline':\n return 4 /* INLINE */;\n case 'run-in':\n return 8 /* RUN_IN */;\n case 'flow':\n return 16 /* FLOW */;\n case 'flow-root':\n return 32 /* FLOW_ROOT */;\n case 'table':\n return 64 /* TABLE */;\n case 'flex':\n case '-webkit-flex':\n return 128 /* FLEX */;\n case 'grid':\n case '-ms-grid':\n return 256 /* GRID */;\n case 'ruby':\n return 512 /* RUBY */;\n case 'subgrid':\n return 1024 /* SUBGRID */;\n case 'list-item':\n return 2048 /* LIST_ITEM */;\n case 'table-row-group':\n return 4096 /* TABLE_ROW_GROUP */;\n case 'table-header-group':\n return 8192 /* TABLE_HEADER_GROUP */;\n case 'table-footer-group':\n return 16384 /* TABLE_FOOTER_GROUP */;\n case 'table-row':\n return 32768 /* TABLE_ROW */;\n case 'table-cell':\n return 65536 /* TABLE_CELL */;\n case 'table-column-group':\n return 131072 /* TABLE_COLUMN_GROUP */;\n case 'table-column':\n return 262144 /* TABLE_COLUMN */;\n case 'table-caption':\n return 524288 /* TABLE_CAPTION */;\n case 'ruby-base':\n return 1048576 /* RUBY_BASE */;\n case 'ruby-text':\n return 2097152 /* RUBY_TEXT */;\n case 'ruby-base-container':\n return 4194304 /* RUBY_BASE_CONTAINER */;\n case 'ruby-text-container':\n return 8388608 /* RUBY_TEXT_CONTAINER */;\n case 'contents':\n return 16777216 /* CONTENTS */;\n case 'inline-block':\n return 33554432 /* INLINE_BLOCK */;\n case 'inline-list-item':\n return 67108864 /* INLINE_LIST_ITEM */;\n case 'inline-table':\n return 134217728 /* INLINE_TABLE */;\n case 'inline-flex':\n return 268435456 /* INLINE_FLEX */;\n case 'inline-grid':\n return 536870912 /* INLINE_GRID */;\n }\n return 0 /* NONE */;\n};\n\nvar float = {\n name: 'float',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, float) {\n switch (float) {\n case 'left':\n return 1 /* LEFT */;\n case 'right':\n return 2 /* RIGHT */;\n case 'inline-start':\n return 3 /* INLINE_START */;\n case 'inline-end':\n return 4 /* INLINE_END */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar letterSpacing = {\n name: 'letter-spacing',\n initialValue: '0',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'normal') {\n return 0;\n }\n if (token.type === 17 /* NUMBER_TOKEN */) {\n return token.number;\n }\n if (token.type === 15 /* DIMENSION_TOKEN */) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar LINE_BREAK;\n(function (LINE_BREAK) {\n LINE_BREAK[\"NORMAL\"] = \"normal\";\n LINE_BREAK[\"STRICT\"] = \"strict\";\n})(LINE_BREAK || (LINE_BREAK = {}));\nvar lineBreak = {\n name: 'line-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, lineBreak) {\n switch (lineBreak) {\n case 'strict':\n return LINE_BREAK.STRICT;\n case 'normal':\n default:\n return LINE_BREAK.NORMAL;\n }\n }\n};\n\nvar lineHeight = {\n name: 'line-height',\n initialValue: 'normal',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n};\nvar computeLineHeight = function (token, fontSize) {\n if (isIdentToken(token) && token.value === 'normal') {\n return 1.2 * fontSize;\n }\n else if (token.type === 17 /* NUMBER_TOKEN */) {\n return fontSize * token.number;\n }\n else if (isLengthPercentage(token)) {\n return getAbsoluteValue(token, fontSize);\n }\n return fontSize;\n};\n\nvar listStyleImage = {\n name: 'list-style-image',\n initialValue: 'none',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n return image.parse(context, token);\n }\n};\n\nvar listStylePosition = {\n name: 'list-style-position',\n initialValue: 'outside',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'inside':\n return 0 /* INSIDE */;\n case 'outside':\n default:\n return 1 /* OUTSIDE */;\n }\n }\n};\n\nvar listStyleType = {\n name: 'list-style-type',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, type) {\n switch (type) {\n case 'disc':\n return 0 /* DISC */;\n case 'circle':\n return 1 /* CIRCLE */;\n case 'square':\n return 2 /* SQUARE */;\n case 'decimal':\n return 3 /* DECIMAL */;\n case 'cjk-decimal':\n return 4 /* CJK_DECIMAL */;\n case 'decimal-leading-zero':\n return 5 /* DECIMAL_LEADING_ZERO */;\n case 'lower-roman':\n return 6 /* LOWER_ROMAN */;\n case 'upper-roman':\n return 7 /* UPPER_ROMAN */;\n case 'lower-greek':\n return 8 /* LOWER_GREEK */;\n case 'lower-alpha':\n return 9 /* LOWER_ALPHA */;\n case 'upper-alpha':\n return 10 /* UPPER_ALPHA */;\n case 'arabic-indic':\n return 11 /* ARABIC_INDIC */;\n case 'armenian':\n return 12 /* ARMENIAN */;\n case 'bengali':\n return 13 /* BENGALI */;\n case 'cambodian':\n return 14 /* CAMBODIAN */;\n case 'cjk-earthly-branch':\n return 15 /* CJK_EARTHLY_BRANCH */;\n case 'cjk-heavenly-stem':\n return 16 /* CJK_HEAVENLY_STEM */;\n case 'cjk-ideographic':\n return 17 /* CJK_IDEOGRAPHIC */;\n case 'devanagari':\n return 18 /* DEVANAGARI */;\n case 'ethiopic-numeric':\n return 19 /* ETHIOPIC_NUMERIC */;\n case 'georgian':\n return 20 /* GEORGIAN */;\n case 'gujarati':\n return 21 /* GUJARATI */;\n case 'gurmukhi':\n return 22 /* GURMUKHI */;\n case 'hebrew':\n return 22 /* HEBREW */;\n case 'hiragana':\n return 23 /* HIRAGANA */;\n case 'hiragana-iroha':\n return 24 /* HIRAGANA_IROHA */;\n case 'japanese-formal':\n return 25 /* JAPANESE_FORMAL */;\n case 'japanese-informal':\n return 26 /* JAPANESE_INFORMAL */;\n case 'kannada':\n return 27 /* KANNADA */;\n case 'katakana':\n return 28 /* KATAKANA */;\n case 'katakana-iroha':\n return 29 /* KATAKANA_IROHA */;\n case 'khmer':\n return 30 /* KHMER */;\n case 'korean-hangul-formal':\n return 31 /* KOREAN_HANGUL_FORMAL */;\n case 'korean-hanja-formal':\n return 32 /* KOREAN_HANJA_FORMAL */;\n case 'korean-hanja-informal':\n return 33 /* KOREAN_HANJA_INFORMAL */;\n case 'lao':\n return 34 /* LAO */;\n case 'lower-armenian':\n return 35 /* LOWER_ARMENIAN */;\n case 'malayalam':\n return 36 /* MALAYALAM */;\n case 'mongolian':\n return 37 /* MONGOLIAN */;\n case 'myanmar':\n return 38 /* MYANMAR */;\n case 'oriya':\n return 39 /* ORIYA */;\n case 'persian':\n return 40 /* PERSIAN */;\n case 'simp-chinese-formal':\n return 41 /* SIMP_CHINESE_FORMAL */;\n case 'simp-chinese-informal':\n return 42 /* SIMP_CHINESE_INFORMAL */;\n case 'tamil':\n return 43 /* TAMIL */;\n case 'telugu':\n return 44 /* TELUGU */;\n case 'thai':\n return 45 /* THAI */;\n case 'tibetan':\n return 46 /* TIBETAN */;\n case 'trad-chinese-formal':\n return 47 /* TRAD_CHINESE_FORMAL */;\n case 'trad-chinese-informal':\n return 48 /* TRAD_CHINESE_INFORMAL */;\n case 'upper-armenian':\n return 49 /* UPPER_ARMENIAN */;\n case 'disclosure-open':\n return 50 /* DISCLOSURE_OPEN */;\n case 'disclosure-closed':\n return 51 /* DISCLOSURE_CLOSED */;\n case 'none':\n default:\n return -1 /* NONE */;\n }\n }\n};\n\nvar marginForSide = function (side) { return ({\n name: \"margin-\" + side,\n initialValue: '0',\n prefix: false,\n type: 4 /* TOKEN_VALUE */\n}); };\nvar marginTop = marginForSide('top');\nvar marginRight = marginForSide('right');\nvar marginBottom = marginForSide('bottom');\nvar marginLeft = marginForSide('left');\n\nvar overflow = {\n name: 'overflow',\n initialValue: 'visible',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (overflow) {\n switch (overflow.value) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'scroll':\n return 2 /* SCROLL */;\n case 'clip':\n return 3 /* CLIP */;\n case 'auto':\n return 4 /* AUTO */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n });\n }\n};\n\nvar overflowWrap = {\n name: 'overflow-wrap',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'break-word':\n return \"break-word\" /* BREAK_WORD */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar paddingForSide = function (side) { return ({\n name: \"padding-\" + side,\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length-percentage'\n}); };\nvar paddingTop = paddingForSide('top');\nvar paddingRight = paddingForSide('right');\nvar paddingBottom = paddingForSide('bottom');\nvar paddingLeft = paddingForSide('left');\n\nvar textAlign = {\n name: 'text-align',\n initialValue: 'left',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textAlign) {\n switch (textAlign) {\n case 'right':\n return 2 /* RIGHT */;\n case 'center':\n case 'justify':\n return 1 /* CENTER */;\n case 'left':\n default:\n return 0 /* LEFT */;\n }\n }\n};\n\nvar position = {\n name: 'position',\n initialValue: 'static',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, position) {\n switch (position) {\n case 'relative':\n return 1 /* RELATIVE */;\n case 'absolute':\n return 2 /* ABSOLUTE */;\n case 'fixed':\n return 3 /* FIXED */;\n case 'sticky':\n return 4 /* STICKY */;\n }\n return 0 /* STATIC */;\n }\n};\n\nvar textShadow = {\n name: 'text-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: COLORS.TRANSPARENT,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else {\n shadow.blur = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar textTransform = {\n name: 'text-transform',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, textTransform) {\n switch (textTransform) {\n case 'uppercase':\n return 2 /* UPPERCASE */;\n case 'lowercase':\n return 1 /* LOWERCASE */;\n case 'capitalize':\n return 3 /* CAPITALIZE */;\n }\n return 0 /* NONE */;\n }\n};\n\nvar transform$1 = {\n name: 'transform',\n initialValue: 'none',\n prefix: true,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */ && token.value === 'none') {\n return null;\n }\n if (token.type === 18 /* FUNCTION */) {\n var transformFunction = SUPPORTED_TRANSFORM_FUNCTIONS[token.name];\n if (typeof transformFunction === 'undefined') {\n throw new Error(\"Attempting to parse an unsupported transform function \\\"\" + token.name + \"\\\"\");\n }\n return transformFunction(token.values);\n }\n return null;\n }\n};\nvar matrix = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n return values.length === 6 ? values : null;\n};\n// doesn't support 3D transforms at the moment\nvar matrix3d = function (args) {\n var values = args.filter(function (arg) { return arg.type === 17 /* NUMBER_TOKEN */; }).map(function (arg) { return arg.number; });\n var a1 = values[0], b1 = values[1]; values[2]; values[3]; var a2 = values[4], b2 = values[5]; values[6]; values[7]; values[8]; values[9]; values[10]; values[11]; var a4 = values[12], b4 = values[13]; values[14]; values[15];\n return values.length === 16 ? [a1, b1, a2, b2, a4, b4] : null;\n};\nvar SUPPORTED_TRANSFORM_FUNCTIONS = {\n matrix: matrix,\n matrix3d: matrix3d\n};\n\nvar DEFAULT_VALUE = {\n type: 16 /* PERCENTAGE_TOKEN */,\n number: 50,\n flags: FLAG_INTEGER\n};\nvar DEFAULT = [DEFAULT_VALUE, DEFAULT_VALUE];\nvar transformOrigin = {\n name: 'transform-origin',\n initialValue: '50% 50%',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var origins = tokens.filter(isLengthPercentage);\n if (origins.length !== 2) {\n return DEFAULT;\n }\n return [origins[0], origins[1]];\n }\n};\n\nvar visibility = {\n name: 'visible',\n initialValue: 'none',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, visibility) {\n switch (visibility) {\n case 'hidden':\n return 1 /* HIDDEN */;\n case 'collapse':\n return 2 /* COLLAPSE */;\n case 'visible':\n default:\n return 0 /* VISIBLE */;\n }\n }\n};\n\nvar WORD_BREAK;\n(function (WORD_BREAK) {\n WORD_BREAK[\"NORMAL\"] = \"normal\";\n WORD_BREAK[\"BREAK_ALL\"] = \"break-all\";\n WORD_BREAK[\"KEEP_ALL\"] = \"keep-all\";\n})(WORD_BREAK || (WORD_BREAK = {}));\nvar wordBreak = {\n name: 'word-break',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, wordBreak) {\n switch (wordBreak) {\n case 'break-all':\n return WORD_BREAK.BREAK_ALL;\n case 'keep-all':\n return WORD_BREAK.KEEP_ALL;\n case 'normal':\n default:\n return WORD_BREAK.NORMAL;\n }\n }\n};\n\nvar zIndex = {\n name: 'z-index',\n initialValue: 'auto',\n prefix: false,\n type: 0 /* VALUE */,\n parse: function (_context, token) {\n if (token.type === 20 /* IDENT_TOKEN */) {\n return { auto: true, order: 0 };\n }\n if (isNumberToken(token)) {\n return { auto: false, order: token.number };\n }\n throw new Error(\"Invalid z-index number parsed\");\n }\n};\n\nvar time = {\n name: 'time',\n parse: function (_context, value) {\n if (value.type === 15 /* DIMENSION_TOKEN */) {\n switch (value.unit.toLowerCase()) {\n case 's':\n return 1000 * value.number;\n case 'ms':\n return value.number;\n }\n }\n throw new Error(\"Unsupported time type\");\n }\n};\n\nvar opacity = {\n name: 'opacity',\n initialValue: '1',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n return 1;\n }\n};\n\nvar textDecorationColor = {\n name: \"text-decoration-color\",\n initialValue: 'transparent',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar textDecorationLine = {\n name: 'text-decoration-line',\n initialValue: 'none',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n return tokens\n .filter(isIdentToken)\n .map(function (token) {\n switch (token.value) {\n case 'underline':\n return 1 /* UNDERLINE */;\n case 'overline':\n return 2 /* OVERLINE */;\n case 'line-through':\n return 3 /* LINE_THROUGH */;\n case 'none':\n return 4 /* BLINK */;\n }\n return 0 /* NONE */;\n })\n .filter(function (line) { return line !== 0 /* NONE */; });\n }\n};\n\nvar fontFamily = {\n name: \"font-family\",\n initialValue: '',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var accumulator = [];\n var results = [];\n tokens.forEach(function (token) {\n switch (token.type) {\n case 20 /* IDENT_TOKEN */:\n case 0 /* STRING_TOKEN */:\n accumulator.push(token.value);\n break;\n case 17 /* NUMBER_TOKEN */:\n accumulator.push(token.number.toString());\n break;\n case 4 /* COMMA_TOKEN */:\n results.push(accumulator.join(' '));\n accumulator.length = 0;\n break;\n }\n });\n if (accumulator.length) {\n results.push(accumulator.join(' '));\n }\n return results.map(function (result) { return (result.indexOf(' ') === -1 ? result : \"'\" + result + \"'\"); });\n }\n};\n\nvar fontSize = {\n name: \"font-size\",\n initialValue: '0',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'length'\n};\n\nvar fontWeight = {\n name: 'font-weight',\n initialValue: 'normal',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isNumberToken(token)) {\n return token.number;\n }\n if (isIdentToken(token)) {\n switch (token.value) {\n case 'bold':\n return 700;\n case 'normal':\n default:\n return 400;\n }\n }\n return 400;\n }\n};\n\nvar fontVariant = {\n name: 'font-variant',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n return tokens.filter(isIdentToken).map(function (token) { return token.value; });\n }\n};\n\nvar fontStyle = {\n name: 'font-style',\n initialValue: 'normal',\n prefix: false,\n type: 2 /* IDENT_VALUE */,\n parse: function (_context, overflow) {\n switch (overflow) {\n case 'oblique':\n return \"oblique\" /* OBLIQUE */;\n case 'italic':\n return \"italic\" /* ITALIC */;\n case 'normal':\n default:\n return \"normal\" /* NORMAL */;\n }\n }\n};\n\nvar contains = function (bit, value) { return (bit & value) !== 0; };\n\nvar content = {\n name: 'content',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return [];\n }\n return tokens;\n }\n};\n\nvar counterIncrement = {\n name: 'counter-increment',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var increments = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (counter.type === 20 /* IDENT_TOKEN */) {\n var increment = next && isNumberToken(next) ? next.number : 1;\n increments.push({ counter: counter.value, increment: increment });\n }\n }\n return increments;\n }\n};\n\nvar counterReset = {\n name: 'counter-reset',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return [];\n }\n var resets = [];\n var filtered = tokens.filter(nonWhiteSpace);\n for (var i = 0; i < filtered.length; i++) {\n var counter = filtered[i];\n var next = filtered[i + 1];\n if (isIdentToken(counter) && counter.value !== 'none') {\n var reset = next && isNumberToken(next) ? next.number : 0;\n resets.push({ counter: counter.value, reset: reset });\n }\n }\n return resets;\n }\n};\n\nvar duration = {\n name: 'duration',\n initialValue: '0s',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (context, tokens) {\n return tokens.filter(isDimensionToken).map(function (token) { return time.parse(context, token); });\n }\n};\n\nvar quotes = {\n name: 'quotes',\n initialValue: 'none',\n prefix: true,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n if (tokens.length === 0) {\n return null;\n }\n var first = tokens[0];\n if (first.type === 20 /* IDENT_TOKEN */ && first.value === 'none') {\n return null;\n }\n var quotes = [];\n var filtered = tokens.filter(isStringToken);\n if (filtered.length % 2 !== 0) {\n return null;\n }\n for (var i = 0; i < filtered.length; i += 2) {\n var open_1 = filtered[i].value;\n var close_1 = filtered[i + 1].value;\n quotes.push({ open: open_1, close: close_1 });\n }\n return quotes;\n }\n};\nvar getQuote = function (quotes, depth, open) {\n if (!quotes) {\n return '';\n }\n var quote = quotes[Math.min(depth, quotes.length - 1)];\n if (!quote) {\n return '';\n }\n return open ? quote.open : quote.close;\n};\n\nvar boxShadow = {\n name: 'box-shadow',\n initialValue: 'none',\n type: 1 /* LIST */,\n prefix: false,\n parse: function (context, tokens) {\n if (tokens.length === 1 && isIdentWithValue(tokens[0], 'none')) {\n return [];\n }\n return parseFunctionArgs(tokens).map(function (values) {\n var shadow = {\n color: 0x000000ff,\n offsetX: ZERO_LENGTH,\n offsetY: ZERO_LENGTH,\n blur: ZERO_LENGTH,\n spread: ZERO_LENGTH,\n inset: false\n };\n var c = 0;\n for (var i = 0; i < values.length; i++) {\n var token = values[i];\n if (isIdentWithValue(token, 'inset')) {\n shadow.inset = true;\n }\n else if (isLength(token)) {\n if (c === 0) {\n shadow.offsetX = token;\n }\n else if (c === 1) {\n shadow.offsetY = token;\n }\n else if (c === 2) {\n shadow.blur = token;\n }\n else {\n shadow.spread = token;\n }\n c++;\n }\n else {\n shadow.color = color$1.parse(context, token);\n }\n }\n return shadow;\n });\n }\n};\n\nvar paintOrder = {\n name: 'paint-order',\n initialValue: 'normal',\n prefix: false,\n type: 1 /* LIST */,\n parse: function (_context, tokens) {\n var DEFAULT_VALUE = [0 /* FILL */, 1 /* STROKE */, 2 /* MARKERS */];\n var layers = [];\n tokens.filter(isIdentToken).forEach(function (token) {\n switch (token.value) {\n case 'stroke':\n layers.push(1 /* STROKE */);\n break;\n case 'fill':\n layers.push(0 /* FILL */);\n break;\n case 'markers':\n layers.push(2 /* MARKERS */);\n break;\n }\n });\n DEFAULT_VALUE.forEach(function (value) {\n if (layers.indexOf(value) === -1) {\n layers.push(value);\n }\n });\n return layers;\n }\n};\n\nvar webkitTextStrokeColor = {\n name: \"-webkit-text-stroke-color\",\n initialValue: 'currentcolor',\n prefix: false,\n type: 3 /* TYPE_VALUE */,\n format: 'color'\n};\n\nvar webkitTextStrokeWidth = {\n name: \"-webkit-text-stroke-width\",\n initialValue: '0',\n type: 0 /* VALUE */,\n prefix: false,\n parse: function (_context, token) {\n if (isDimensionToken(token)) {\n return token.number;\n }\n return 0;\n }\n};\n\nvar CSSParsedDeclaration = /** @class */ (function () {\n function CSSParsedDeclaration(context, declaration) {\n var _a, _b;\n this.animationDuration = parse(context, duration, declaration.animationDuration);\n this.backgroundClip = parse(context, backgroundClip, declaration.backgroundClip);\n this.backgroundColor = parse(context, backgroundColor, declaration.backgroundColor);\n this.backgroundImage = parse(context, backgroundImage, declaration.backgroundImage);\n this.backgroundOrigin = parse(context, backgroundOrigin, declaration.backgroundOrigin);\n this.backgroundPosition = parse(context, backgroundPosition, declaration.backgroundPosition);\n this.backgroundRepeat = parse(context, backgroundRepeat, declaration.backgroundRepeat);\n this.backgroundSize = parse(context, backgroundSize, declaration.backgroundSize);\n this.borderTopColor = parse(context, borderTopColor, declaration.borderTopColor);\n this.borderRightColor = parse(context, borderRightColor, declaration.borderRightColor);\n this.borderBottomColor = parse(context, borderBottomColor, declaration.borderBottomColor);\n this.borderLeftColor = parse(context, borderLeftColor, declaration.borderLeftColor);\n this.borderTopLeftRadius = parse(context, borderTopLeftRadius, declaration.borderTopLeftRadius);\n this.borderTopRightRadius = parse(context, borderTopRightRadius, declaration.borderTopRightRadius);\n this.borderBottomRightRadius = parse(context, borderBottomRightRadius, declaration.borderBottomRightRadius);\n this.borderBottomLeftRadius = parse(context, borderBottomLeftRadius, declaration.borderBottomLeftRadius);\n this.borderTopStyle = parse(context, borderTopStyle, declaration.borderTopStyle);\n this.borderRightStyle = parse(context, borderRightStyle, declaration.borderRightStyle);\n this.borderBottomStyle = parse(context, borderBottomStyle, declaration.borderBottomStyle);\n this.borderLeftStyle = parse(context, borderLeftStyle, declaration.borderLeftStyle);\n this.borderTopWidth = parse(context, borderTopWidth, declaration.borderTopWidth);\n this.borderRightWidth = parse(context, borderRightWidth, declaration.borderRightWidth);\n this.borderBottomWidth = parse(context, borderBottomWidth, declaration.borderBottomWidth);\n this.borderLeftWidth = parse(context, borderLeftWidth, declaration.borderLeftWidth);\n this.boxShadow = parse(context, boxShadow, declaration.boxShadow);\n this.color = parse(context, color, declaration.color);\n this.direction = parse(context, direction, declaration.direction);\n this.display = parse(context, display, declaration.display);\n this.float = parse(context, float, declaration.cssFloat);\n this.fontFamily = parse(context, fontFamily, declaration.fontFamily);\n this.fontSize = parse(context, fontSize, declaration.fontSize);\n this.fontStyle = parse(context, fontStyle, declaration.fontStyle);\n this.fontVariant = parse(context, fontVariant, declaration.fontVariant);\n this.fontWeight = parse(context, fontWeight, declaration.fontWeight);\n this.letterSpacing = parse(context, letterSpacing, declaration.letterSpacing);\n this.lineBreak = parse(context, lineBreak, declaration.lineBreak);\n this.lineHeight = parse(context, lineHeight, declaration.lineHeight);\n this.listStyleImage = parse(context, listStyleImage, declaration.listStyleImage);\n this.listStylePosition = parse(context, listStylePosition, declaration.listStylePosition);\n this.listStyleType = parse(context, listStyleType, declaration.listStyleType);\n this.marginTop = parse(context, marginTop, declaration.marginTop);\n this.marginRight = parse(context, marginRight, declaration.marginRight);\n this.marginBottom = parse(context, marginBottom, declaration.marginBottom);\n this.marginLeft = parse(context, marginLeft, declaration.marginLeft);\n this.opacity = parse(context, opacity, declaration.opacity);\n var overflowTuple = parse(context, overflow, declaration.overflow);\n this.overflowX = overflowTuple[0];\n this.overflowY = overflowTuple[overflowTuple.length > 1 ? 1 : 0];\n this.overflowWrap = parse(context, overflowWrap, declaration.overflowWrap);\n this.paddingTop = parse(context, paddingTop, declaration.paddingTop);\n this.paddingRight = parse(context, paddingRight, declaration.paddingRight);\n this.paddingBottom = parse(context, paddingBottom, declaration.paddingBottom);\n this.paddingLeft = parse(context, paddingLeft, declaration.paddingLeft);\n this.paintOrder = parse(context, paintOrder, declaration.paintOrder);\n this.position = parse(context, position, declaration.position);\n this.textAlign = parse(context, textAlign, declaration.textAlign);\n this.textDecorationColor = parse(context, textDecorationColor, (_a = declaration.textDecorationColor) !== null && _a !== void 0 ? _a : declaration.color);\n this.textDecorationLine = parse(context, textDecorationLine, (_b = declaration.textDecorationLine) !== null && _b !== void 0 ? _b : declaration.textDecoration);\n this.textShadow = parse(context, textShadow, declaration.textShadow);\n this.textTransform = parse(context, textTransform, declaration.textTransform);\n this.transform = parse(context, transform$1, declaration.transform);\n this.transformOrigin = parse(context, transformOrigin, declaration.transformOrigin);\n this.visibility = parse(context, visibility, declaration.visibility);\n this.webkitTextStrokeColor = parse(context, webkitTextStrokeColor, declaration.webkitTextStrokeColor);\n this.webkitTextStrokeWidth = parse(context, webkitTextStrokeWidth, declaration.webkitTextStrokeWidth);\n this.wordBreak = parse(context, wordBreak, declaration.wordBreak);\n this.zIndex = parse(context, zIndex, declaration.zIndex);\n }\n CSSParsedDeclaration.prototype.isVisible = function () {\n return this.display > 0 && this.opacity > 0 && this.visibility === 0 /* VISIBLE */;\n };\n CSSParsedDeclaration.prototype.isTransparent = function () {\n return isTransparent(this.backgroundColor);\n };\n CSSParsedDeclaration.prototype.isTransformed = function () {\n return this.transform !== null;\n };\n CSSParsedDeclaration.prototype.isPositioned = function () {\n return this.position !== 0 /* STATIC */;\n };\n CSSParsedDeclaration.prototype.isPositionedWithZIndex = function () {\n return this.isPositioned() && !this.zIndex.auto;\n };\n CSSParsedDeclaration.prototype.isFloating = function () {\n return this.float !== 0 /* NONE */;\n };\n CSSParsedDeclaration.prototype.isInlineLevel = function () {\n return (contains(this.display, 4 /* INLINE */) ||\n contains(this.display, 33554432 /* INLINE_BLOCK */) ||\n contains(this.display, 268435456 /* INLINE_FLEX */) ||\n contains(this.display, 536870912 /* INLINE_GRID */) ||\n contains(this.display, 67108864 /* INLINE_LIST_ITEM */) ||\n contains(this.display, 134217728 /* INLINE_TABLE */));\n };\n return CSSParsedDeclaration;\n}());\nvar CSSParsedPseudoDeclaration = /** @class */ (function () {\n function CSSParsedPseudoDeclaration(context, declaration) {\n this.content = parse(context, content, declaration.content);\n this.quotes = parse(context, quotes, declaration.quotes);\n }\n return CSSParsedPseudoDeclaration;\n}());\nvar CSSParsedCounterDeclaration = /** @class */ (function () {\n function CSSParsedCounterDeclaration(context, declaration) {\n this.counterIncrement = parse(context, counterIncrement, declaration.counterIncrement);\n this.counterReset = parse(context, counterReset, declaration.counterReset);\n }\n return CSSParsedCounterDeclaration;\n}());\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar parse = function (context, descriptor, style) {\n var tokenizer = new Tokenizer();\n var value = style !== null && typeof style !== 'undefined' ? style.toString() : descriptor.initialValue;\n tokenizer.write(value);\n var parser = new Parser(tokenizer.read());\n switch (descriptor.type) {\n case 2 /* IDENT_VALUE */:\n var token = parser.parseComponentValue();\n return descriptor.parse(context, isIdentToken(token) ? token.value : descriptor.initialValue);\n case 0 /* VALUE */:\n return descriptor.parse(context, parser.parseComponentValue());\n case 1 /* LIST */:\n return descriptor.parse(context, parser.parseComponentValues());\n case 4 /* TOKEN_VALUE */:\n return parser.parseComponentValue();\n case 3 /* TYPE_VALUE */:\n switch (descriptor.format) {\n case 'angle':\n return angle.parse(context, parser.parseComponentValue());\n case 'color':\n return color$1.parse(context, parser.parseComponentValue());\n case 'image':\n return image.parse(context, parser.parseComponentValue());\n case 'length':\n var length_1 = parser.parseComponentValue();\n return isLength(length_1) ? length_1 : ZERO_LENGTH;\n case 'length-percentage':\n var value_1 = parser.parseComponentValue();\n return isLengthPercentage(value_1) ? value_1 : ZERO_LENGTH;\n case 'time':\n return time.parse(context, parser.parseComponentValue());\n }\n break;\n }\n};\n\nvar elementDebuggerAttribute = 'data-html2canvas-debug';\nvar getElementDebugType = function (element) {\n var attribute = element.getAttribute(elementDebuggerAttribute);\n switch (attribute) {\n case 'all':\n return 1 /* ALL */;\n case 'clone':\n return 2 /* CLONE */;\n case 'parse':\n return 3 /* PARSE */;\n case 'render':\n return 4 /* RENDER */;\n default:\n return 0 /* NONE */;\n }\n};\nvar isDebugging = function (element, type) {\n var elementType = getElementDebugType(element);\n return elementType === 1 /* ALL */ || type === elementType;\n};\n\nvar ElementContainer = /** @class */ (function () {\n function ElementContainer(context, element) {\n this.context = context;\n this.textNodes = [];\n this.elements = [];\n this.flags = 0;\n if (isDebugging(element, 3 /* PARSE */)) {\n debugger;\n }\n this.styles = new CSSParsedDeclaration(context, window.getComputedStyle(element, null));\n if (isHTMLElementNode(element)) {\n if (this.styles.animationDuration.some(function (duration) { return duration > 0; })) {\n element.style.animationDuration = '0s';\n }\n if (this.styles.transform !== null) {\n // getBoundingClientRect takes transforms into account\n element.style.transform = 'none';\n }\n }\n this.bounds = parseBounds(this.context, element);\n if (isDebugging(element, 4 /* RENDER */)) {\n this.flags |= 16 /* DEBUG_RENDER */;\n }\n }\n return ElementContainer;\n}());\n\n/*\n * text-segmentation 1.0.3 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar base64 = 'AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=';\n\n/*\n * utrie 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars$1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup$1 = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars$1.length; i$1++) {\n lookup$1[chars$1.charCodeAt(i$1)] = i$1;\n}\nvar decode = function (base64) {\n var bufferLength = base64.length * 0.75, len = base64.length, i, p = 0, encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var buffer = typeof ArrayBuffer !== 'undefined' &&\n typeof Uint8Array !== 'undefined' &&\n typeof Uint8Array.prototype.slice !== 'undefined'\n ? new ArrayBuffer(bufferLength)\n : new Array(bufferLength);\n var bytes = Array.isArray(buffer) ? buffer : new Uint8Array(buffer);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup$1[base64.charCodeAt(i)];\n encoded2 = lookup$1[base64.charCodeAt(i + 1)];\n encoded3 = lookup$1[base64.charCodeAt(i + 2)];\n encoded4 = lookup$1[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return buffer;\n};\nvar polyUint16Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 2) {\n bytes.push((buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\nvar polyUint32Array = function (buffer) {\n var length = buffer.length;\n var bytes = [];\n for (var i = 0; i < length; i += 4) {\n bytes.push((buffer[i + 3] << 24) | (buffer[i + 2] << 16) | (buffer[i + 1] << 8) | buffer[i]);\n }\n return bytes;\n};\n\n/** Shift size for getting the index-2 table offset. */\nvar UTRIE2_SHIFT_2 = 5;\n/** Shift size for getting the index-1 table offset. */\nvar UTRIE2_SHIFT_1 = 6 + 5;\n/**\n * Shift size for shifting left the index array values.\n * Increases possible data size with 16-bit index values at the cost\n * of compactability.\n * This requires data blocks to be aligned by UTRIE2_DATA_GRANULARITY.\n */\nvar UTRIE2_INDEX_SHIFT = 2;\n/**\n * Difference between the two shift sizes,\n * for getting an index-1 offset from an index-2 offset. 6=11-5\n */\nvar UTRIE2_SHIFT_1_2 = UTRIE2_SHIFT_1 - UTRIE2_SHIFT_2;\n/**\n * The part of the index-2 table for U+D800..U+DBFF stores values for\n * lead surrogate code _units_ not code _points_.\n * Values for lead surrogate code _points_ are indexed with this portion of the table.\n * Length=32=0x20=0x400>>UTRIE2_SHIFT_2. (There are 1024=0x400 lead surrogates.)\n */\nvar UTRIE2_LSCP_INDEX_2_OFFSET = 0x10000 >> UTRIE2_SHIFT_2;\n/** Number of entries in a data block. 32=0x20 */\nvar UTRIE2_DATA_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_2;\n/** Mask for getting the lower bits for the in-data-block offset. */\nvar UTRIE2_DATA_MASK = UTRIE2_DATA_BLOCK_LENGTH - 1;\nvar UTRIE2_LSCP_INDEX_2_LENGTH = 0x400 >> UTRIE2_SHIFT_2;\n/** Count the lengths of both BMP pieces. 2080=0x820 */\nvar UTRIE2_INDEX_2_BMP_LENGTH = UTRIE2_LSCP_INDEX_2_OFFSET + UTRIE2_LSCP_INDEX_2_LENGTH;\n/**\n * The 2-byte UTF-8 version of the index-2 table follows at offset 2080=0x820.\n * Length 32=0x20 for lead bytes C0..DF, regardless of UTRIE2_SHIFT_2.\n */\nvar UTRIE2_UTF8_2B_INDEX_2_OFFSET = UTRIE2_INDEX_2_BMP_LENGTH;\nvar UTRIE2_UTF8_2B_INDEX_2_LENGTH = 0x800 >> 6; /* U+0800 is the first code point after 2-byte UTF-8 */\n/**\n * The index-1 table, only used for supplementary code points, at offset 2112=0x840.\n * Variable length, for code points up to highStart, where the last single-value range starts.\n * Maximum length 512=0x200=0x100000>>UTRIE2_SHIFT_1.\n * (For 0x100000 supplementary code points U+10000..U+10ffff.)\n *\n * The part of the index-2 table for supplementary code points starts\n * after this index-1 table.\n *\n * Both the index-1 table and the following part of the index-2 table\n * are omitted completely if there is only BMP data.\n */\nvar UTRIE2_INDEX_1_OFFSET = UTRIE2_UTF8_2B_INDEX_2_OFFSET + UTRIE2_UTF8_2B_INDEX_2_LENGTH;\n/**\n * Number of index-1 entries for the BMP. 32=0x20\n * This part of the index-1 table is omitted from the serialized form.\n */\nvar UTRIE2_OMITTED_BMP_INDEX_1_LENGTH = 0x10000 >> UTRIE2_SHIFT_1;\n/** Number of entries in an index-2 block. 64=0x40 */\nvar UTRIE2_INDEX_2_BLOCK_LENGTH = 1 << UTRIE2_SHIFT_1_2;\n/** Mask for getting the lower bits for the in-index-2-block offset. */\nvar UTRIE2_INDEX_2_MASK = UTRIE2_INDEX_2_BLOCK_LENGTH - 1;\nvar slice16 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint16Array(Array.prototype.slice.call(view, start, end));\n};\nvar slice32 = function (view, start, end) {\n if (view.slice) {\n return view.slice(start, end);\n }\n return new Uint32Array(Array.prototype.slice.call(view, start, end));\n};\nvar createTrieFromBase64 = function (base64, _byteLength) {\n var buffer = decode(base64);\n var view32 = Array.isArray(buffer) ? polyUint32Array(buffer) : new Uint32Array(buffer);\n var view16 = Array.isArray(buffer) ? polyUint16Array(buffer) : new Uint16Array(buffer);\n var headerLength = 24;\n var index = slice16(view16, headerLength / 2, view32[4] / 2);\n var data = view32[5] === 2\n ? slice16(view16, (headerLength + view32[4]) / 2)\n : slice32(view32, Math.ceil((headerLength + view32[4]) / 4));\n return new Trie(view32[0], view32[1], view32[2], view32[3], index, data);\n};\nvar Trie = /** @class */ (function () {\n function Trie(initialValue, errorValue, highStart, highValueIndex, index, data) {\n this.initialValue = initialValue;\n this.errorValue = errorValue;\n this.highStart = highStart;\n this.highValueIndex = highValueIndex;\n this.index = index;\n this.data = data;\n }\n /**\n * Get the value for a code point as stored in the Trie.\n *\n * @param codePoint the code point\n * @return the value\n */\n Trie.prototype.get = function (codePoint) {\n var ix;\n if (codePoint >= 0) {\n if (codePoint < 0x0d800 || (codePoint > 0x0dbff && codePoint <= 0x0ffff)) {\n // Ordinary BMP code point, excluding leading surrogates.\n // BMP uses a single level lookup. BMP index starts at offset 0 in the Trie2 index.\n // 16 bit data is stored in the index array itself.\n ix = this.index[codePoint >> UTRIE2_SHIFT_2];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0xffff) {\n // Lead Surrogate Code Point. A Separate index section is stored for\n // lead surrogate code units and code points.\n // The main index has the code unit data.\n // For this function, we need the code point data.\n // Note: this expression could be refactored for slightly improved efficiency, but\n // surrogate code points will be so rare in practice that it's not worth it.\n ix = this.index[UTRIE2_LSCP_INDEX_2_OFFSET + ((codePoint - 0xd800) >> UTRIE2_SHIFT_2)];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint < this.highStart) {\n // Supplemental code point, use two-level lookup.\n ix = UTRIE2_INDEX_1_OFFSET - UTRIE2_OMITTED_BMP_INDEX_1_LENGTH + (codePoint >> UTRIE2_SHIFT_1);\n ix = this.index[ix];\n ix += (codePoint >> UTRIE2_SHIFT_2) & UTRIE2_INDEX_2_MASK;\n ix = this.index[ix];\n ix = (ix << UTRIE2_INDEX_SHIFT) + (codePoint & UTRIE2_DATA_MASK);\n return this.data[ix];\n }\n if (codePoint <= 0x10ffff) {\n return this.data[this.highValueIndex];\n }\n }\n // Fall through. The code point is outside of the legal range of 0..0x10ffff.\n return this.errorValue;\n };\n return Trie;\n}());\n\n/*\n * base64-arraybuffer 1.0.2 \n * Copyright (c) 2022 Niklas von Hertzen \n * Released under MIT License\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nvar Prepend = 1;\nvar CR = 2;\nvar LF = 3;\nvar Control = 4;\nvar Extend = 5;\nvar SpacingMark = 7;\nvar L = 8;\nvar V = 9;\nvar T = 10;\nvar LV = 11;\nvar LVT = 12;\nvar ZWJ = 13;\nvar Extended_Pictographic = 14;\nvar RI = 15;\nvar toCodePoints = function (str) {\n var codePoints = [];\n var i = 0;\n var length = str.length;\n while (i < length) {\n var value = str.charCodeAt(i++);\n if (value >= 0xd800 && value <= 0xdbff && i < length) {\n var extra = str.charCodeAt(i++);\n if ((extra & 0xfc00) === 0xdc00) {\n codePoints.push(((value & 0x3ff) << 10) + (extra & 0x3ff) + 0x10000);\n }\n else {\n codePoints.push(value);\n i--;\n }\n }\n else {\n codePoints.push(value);\n }\n }\n return codePoints;\n};\nvar fromCodePoint = function () {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n if (String.fromCodePoint) {\n return String.fromCodePoint.apply(String, codePoints);\n }\n var length = codePoints.length;\n if (!length) {\n return '';\n }\n var codeUnits = [];\n var index = -1;\n var result = '';\n while (++index < length) {\n var codePoint = codePoints[index];\n if (codePoint <= 0xffff) {\n codeUnits.push(codePoint);\n }\n else {\n codePoint -= 0x10000;\n codeUnits.push((codePoint >> 10) + 0xd800, (codePoint % 0x400) + 0xdc00);\n }\n if (index + 1 === length || codeUnits.length > 0x4000) {\n result += String.fromCharCode.apply(String, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n};\nvar UnicodeTrie = createTrieFromBase64(base64);\nvar BREAK_NOT_ALLOWED = '×';\nvar BREAK_ALLOWED = '÷';\nvar codePointToClass = function (codePoint) { return UnicodeTrie.get(codePoint); };\nvar _graphemeBreakAtIndex = function (_codePoints, classTypes, index) {\n var prevIndex = index - 2;\n var prev = classTypes[prevIndex];\n var current = classTypes[index - 1];\n var next = classTypes[index];\n // GB3 Do not break between a CR and LF\n if (current === CR && next === LF) {\n return BREAK_NOT_ALLOWED;\n }\n // GB4 Otherwise, break before and after controls.\n if (current === CR || current === LF || current === Control) {\n return BREAK_ALLOWED;\n }\n // GB5\n if (next === CR || next === LF || next === Control) {\n return BREAK_ALLOWED;\n }\n // Do not break Hangul syllable sequences.\n // GB6\n if (current === L && [L, V, LV, LVT].indexOf(next) !== -1) {\n return BREAK_NOT_ALLOWED;\n }\n // GB7\n if ((current === LV || current === V) && (next === V || next === T)) {\n return BREAK_NOT_ALLOWED;\n }\n // GB8\n if ((current === LVT || current === T) && next === T) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9 Do not break before extending characters or ZWJ.\n if (next === ZWJ || next === Extend) {\n return BREAK_NOT_ALLOWED;\n }\n // Do not break before SpacingMarks, or after Prepend characters.\n // GB9a\n if (next === SpacingMark) {\n return BREAK_NOT_ALLOWED;\n }\n // GB9a\n if (current === Prepend) {\n return BREAK_NOT_ALLOWED;\n }\n // GB11 Do not break within emoji modifier sequences or emoji zwj sequences.\n if (current === ZWJ && next === Extended_Pictographic) {\n while (prev === Extend) {\n prev = classTypes[--prevIndex];\n }\n if (prev === Extended_Pictographic) {\n return BREAK_NOT_ALLOWED;\n }\n }\n // GB12 Do not break within emoji flag sequences.\n // That is, do not break between regional indicator (RI) symbols\n // if there is an odd number of RI characters before the break point.\n if (current === RI && next === RI) {\n var countRI = 0;\n while (prev === RI) {\n countRI++;\n prev = classTypes[--prevIndex];\n }\n if (countRI % 2 === 0) {\n return BREAK_NOT_ALLOWED;\n }\n }\n return BREAK_ALLOWED;\n};\nvar GraphemeBreaker = function (str) {\n var codePoints = toCodePoints(str);\n var length = codePoints.length;\n var index = 0;\n var lastEnd = 0;\n var classTypes = codePoints.map(codePointToClass);\n return {\n next: function () {\n if (index >= length) {\n return { done: true, value: null };\n }\n var graphemeBreak = BREAK_NOT_ALLOWED;\n while (index < length &&\n (graphemeBreak = _graphemeBreakAtIndex(codePoints, classTypes, ++index)) === BREAK_NOT_ALLOWED) { }\n if (graphemeBreak !== BREAK_NOT_ALLOWED || index === length) {\n var value = fromCodePoint.apply(null, codePoints.slice(lastEnd, index));\n lastEnd = index;\n return { value: value, done: false };\n }\n return { done: true, value: null };\n },\n };\n};\nvar splitGraphemes = function (str) {\n var breaker = GraphemeBreaker(str);\n var graphemes = [];\n var bk;\n while (!(bk = breaker.next()).done) {\n if (bk.value) {\n graphemes.push(bk.value.slice());\n }\n }\n return graphemes;\n};\n\nvar testRangeBounds = function (document) {\n var TEST_HEIGHT = 123;\n if (document.createRange) {\n var range = document.createRange();\n if (range.getBoundingClientRect) {\n var testElement = document.createElement('boundtest');\n testElement.style.height = TEST_HEIGHT + \"px\";\n testElement.style.display = 'block';\n document.body.appendChild(testElement);\n range.selectNode(testElement);\n var rangeBounds = range.getBoundingClientRect();\n var rangeHeight = Math.round(rangeBounds.height);\n document.body.removeChild(testElement);\n if (rangeHeight === TEST_HEIGHT) {\n return true;\n }\n }\n }\n return false;\n};\nvar testIOSLineBreak = function (document) {\n var testElement = document.createElement('boundtest');\n testElement.style.width = '50px';\n testElement.style.display = 'block';\n testElement.style.fontSize = '12px';\n testElement.style.letterSpacing = '0px';\n testElement.style.wordSpacing = '0px';\n document.body.appendChild(testElement);\n var range = document.createRange();\n testElement.innerHTML = typeof ''.repeat === 'function' ? '👨'.repeat(10) : '';\n var node = testElement.firstChild;\n var textList = toCodePoints$1(node.data).map(function (i) { return fromCodePoint$1(i); });\n var offset = 0;\n var prev = {};\n // ios 13 does not handle range getBoundingClientRect line changes correctly #2177\n var supports = textList.every(function (text, i) {\n range.setStart(node, offset);\n range.setEnd(node, offset + text.length);\n var rect = range.getBoundingClientRect();\n offset += text.length;\n var boundAhead = rect.x > prev.x || rect.y > prev.y;\n prev = rect;\n if (i === 0) {\n return true;\n }\n return boundAhead;\n });\n document.body.removeChild(testElement);\n return supports;\n};\nvar testCORS = function () { return typeof new Image().crossOrigin !== 'undefined'; };\nvar testResponseType = function () { return typeof new XMLHttpRequest().responseType === 'string'; };\nvar testSVG = function (document) {\n var img = new Image();\n var canvas = document.createElement('canvas');\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return false;\n }\n img.src = \"data:image/svg+xml,\";\n try {\n ctx.drawImage(img, 0, 0);\n canvas.toDataURL();\n }\n catch (e) {\n return false;\n }\n return true;\n};\nvar isGreenPixel = function (data) {\n return data[0] === 0 && data[1] === 255 && data[2] === 0 && data[3] === 255;\n};\nvar testForeignObject = function (document) {\n var canvas = document.createElement('canvas');\n var size = 100;\n canvas.width = size;\n canvas.height = size;\n var ctx = canvas.getContext('2d');\n if (!ctx) {\n return Promise.reject(false);\n }\n ctx.fillStyle = 'rgb(0, 255, 0)';\n ctx.fillRect(0, 0, size, size);\n var img = new Image();\n var greenImageSrc = canvas.toDataURL();\n img.src = greenImageSrc;\n var svg = createForeignObjectSVG(size, size, 0, 0, img);\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n return loadSerializedSVG$1(svg)\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n var data = ctx.getImageData(0, 0, size, size).data;\n ctx.fillStyle = 'red';\n ctx.fillRect(0, 0, size, size);\n var node = document.createElement('div');\n node.style.backgroundImage = \"url(\" + greenImageSrc + \")\";\n node.style.height = size + \"px\";\n // Firefox 55 does not render inline tags\n return isGreenPixel(data)\n ? loadSerializedSVG$1(createForeignObjectSVG(size, size, 0, 0, node))\n : Promise.reject(false);\n })\n .then(function (img) {\n ctx.drawImage(img, 0, 0);\n // Edge does not render background-images\n return isGreenPixel(ctx.getImageData(0, 0, size, size).data);\n })\n .catch(function () { return false; });\n};\nvar createForeignObjectSVG = function (width, height, x, y, node) {\n var xmlns = 'http://www.w3.org/2000/svg';\n var svg = document.createElementNS(xmlns, 'svg');\n var foreignObject = document.createElementNS(xmlns, 'foreignObject');\n svg.setAttributeNS(null, 'width', width.toString());\n svg.setAttributeNS(null, 'height', height.toString());\n foreignObject.setAttributeNS(null, 'width', '100%');\n foreignObject.setAttributeNS(null, 'height', '100%');\n foreignObject.setAttributeNS(null, 'x', x.toString());\n foreignObject.setAttributeNS(null, 'y', y.toString());\n foreignObject.setAttributeNS(null, 'externalResourcesRequired', 'true');\n svg.appendChild(foreignObject);\n foreignObject.appendChild(node);\n return svg;\n};\nvar loadSerializedSVG$1 = function (svg) {\n return new Promise(function (resolve, reject) {\n var img = new Image();\n img.onload = function () { return resolve(img); };\n img.onerror = reject;\n img.src = \"data:image/svg+xml;charset=utf-8,\" + encodeURIComponent(new XMLSerializer().serializeToString(svg));\n });\n};\nvar FEATURES = {\n get SUPPORT_RANGE_BOUNDS() {\n var value = testRangeBounds(document);\n Object.defineProperty(FEATURES, 'SUPPORT_RANGE_BOUNDS', { value: value });\n return value;\n },\n get SUPPORT_WORD_BREAKING() {\n var value = FEATURES.SUPPORT_RANGE_BOUNDS && testIOSLineBreak(document);\n Object.defineProperty(FEATURES, 'SUPPORT_WORD_BREAKING', { value: value });\n return value;\n },\n get SUPPORT_SVG_DRAWING() {\n var value = testSVG(document);\n Object.defineProperty(FEATURES, 'SUPPORT_SVG_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_FOREIGNOBJECT_DRAWING() {\n var value = typeof Array.from === 'function' && typeof window.fetch === 'function'\n ? testForeignObject(document)\n : Promise.resolve(false);\n Object.defineProperty(FEATURES, 'SUPPORT_FOREIGNOBJECT_DRAWING', { value: value });\n return value;\n },\n get SUPPORT_CORS_IMAGES() {\n var value = testCORS();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_IMAGES', { value: value });\n return value;\n },\n get SUPPORT_RESPONSE_TYPE() {\n var value = testResponseType();\n Object.defineProperty(FEATURES, 'SUPPORT_RESPONSE_TYPE', { value: value });\n return value;\n },\n get SUPPORT_CORS_XHR() {\n var value = 'withCredentials' in new XMLHttpRequest();\n Object.defineProperty(FEATURES, 'SUPPORT_CORS_XHR', { value: value });\n return value;\n },\n get SUPPORT_NATIVE_TEXT_SEGMENTATION() {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var value = !!(typeof Intl !== 'undefined' && Intl.Segmenter);\n Object.defineProperty(FEATURES, 'SUPPORT_NATIVE_TEXT_SEGMENTATION', { value: value });\n return value;\n }\n};\n\nvar TextBounds = /** @class */ (function () {\n function TextBounds(text, bounds) {\n this.text = text;\n this.bounds = bounds;\n }\n return TextBounds;\n}());\nvar parseTextBounds = function (context, value, styles, node) {\n var textList = breakText(value, styles);\n var textBounds = [];\n var offset = 0;\n textList.forEach(function (text) {\n if (styles.textDecorationLine.length || text.trim().length > 0) {\n if (FEATURES.SUPPORT_RANGE_BOUNDS) {\n var clientRects = createRange(node, offset, text.length).getClientRects();\n if (clientRects.length > 1) {\n var subSegments = segmentGraphemes(text);\n var subOffset_1 = 0;\n subSegments.forEach(function (subSegment) {\n textBounds.push(new TextBounds(subSegment, Bounds.fromDOMRectList(context, createRange(node, subOffset_1 + offset, subSegment.length).getClientRects())));\n subOffset_1 += subSegment.length;\n });\n }\n else {\n textBounds.push(new TextBounds(text, Bounds.fromDOMRectList(context, clientRects)));\n }\n }\n else {\n var replacementNode = node.splitText(text.length);\n textBounds.push(new TextBounds(text, getWrapperBounds(context, node)));\n node = replacementNode;\n }\n }\n else if (!FEATURES.SUPPORT_RANGE_BOUNDS) {\n node = node.splitText(text.length);\n }\n offset += text.length;\n });\n return textBounds;\n};\nvar getWrapperBounds = function (context, node) {\n var ownerDocument = node.ownerDocument;\n if (ownerDocument) {\n var wrapper = ownerDocument.createElement('html2canvaswrapper');\n wrapper.appendChild(node.cloneNode(true));\n var parentNode = node.parentNode;\n if (parentNode) {\n parentNode.replaceChild(wrapper, node);\n var bounds = parseBounds(context, wrapper);\n if (wrapper.firstChild) {\n parentNode.replaceChild(wrapper.firstChild, wrapper);\n }\n return bounds;\n }\n }\n return Bounds.EMPTY;\n};\nvar createRange = function (node, offset, length) {\n var ownerDocument = node.ownerDocument;\n if (!ownerDocument) {\n throw new Error('Node has no owner document');\n }\n var range = ownerDocument.createRange();\n range.setStart(node, offset);\n range.setEnd(node, offset + length);\n return range;\n};\nvar segmentGraphemes = function (value) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, { granularity: 'grapheme' });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return splitGraphemes(value);\n};\nvar segmentWords = function (value, styles) {\n if (FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var segmenter = new Intl.Segmenter(void 0, {\n granularity: 'word'\n });\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return Array.from(segmenter.segment(value)).map(function (segment) { return segment.segment; });\n }\n return breakWords(value, styles);\n};\nvar breakText = function (value, styles) {\n return styles.letterSpacing !== 0 ? segmentGraphemes(value) : segmentWords(value, styles);\n};\n// https://drafts.csswg.org/css-text/#word-separator\nvar wordSeparators = [0x0020, 0x00a0, 0x1361, 0x10100, 0x10101, 0x1039, 0x1091];\nvar breakWords = function (str, styles) {\n var breaker = LineBreaker(str, {\n lineBreak: styles.lineBreak,\n wordBreak: styles.overflowWrap === \"break-word\" /* BREAK_WORD */ ? 'break-word' : styles.wordBreak\n });\n var words = [];\n var bk;\n var _loop_1 = function () {\n if (bk.value) {\n var value = bk.value.slice();\n var codePoints = toCodePoints$1(value);\n var word_1 = '';\n codePoints.forEach(function (codePoint) {\n if (wordSeparators.indexOf(codePoint) === -1) {\n word_1 += fromCodePoint$1(codePoint);\n }\n else {\n if (word_1.length) {\n words.push(word_1);\n }\n words.push(fromCodePoint$1(codePoint));\n word_1 = '';\n }\n });\n if (word_1.length) {\n words.push(word_1);\n }\n }\n };\n while (!(bk = breaker.next()).done) {\n _loop_1();\n }\n return words;\n};\n\nvar TextContainer = /** @class */ (function () {\n function TextContainer(context, node, styles) {\n this.text = transform(node.data, styles.textTransform);\n this.textBounds = parseTextBounds(context, this.text, styles, node);\n }\n return TextContainer;\n}());\nvar transform = function (text, transform) {\n switch (transform) {\n case 1 /* LOWERCASE */:\n return text.toLowerCase();\n case 3 /* CAPITALIZE */:\n return text.replace(CAPITALIZE, capitalize);\n case 2 /* UPPERCASE */:\n return text.toUpperCase();\n default:\n return text;\n }\n};\nvar CAPITALIZE = /(^|\\s|:|-|\\(|\\))([a-z])/g;\nvar capitalize = function (m, p1, p2) {\n if (m.length > 0) {\n return p1 + p2.toUpperCase();\n }\n return m;\n};\n\nvar ImageElementContainer = /** @class */ (function (_super) {\n __extends(ImageElementContainer, _super);\n function ImageElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n _this.src = img.currentSrc || img.src;\n _this.intrinsicWidth = img.naturalWidth;\n _this.intrinsicHeight = img.naturalHeight;\n _this.context.cache.addImage(_this.src);\n return _this;\n }\n return ImageElementContainer;\n}(ElementContainer));\n\nvar CanvasElementContainer = /** @class */ (function (_super) {\n __extends(CanvasElementContainer, _super);\n function CanvasElementContainer(context, canvas) {\n var _this = _super.call(this, context, canvas) || this;\n _this.canvas = canvas;\n _this.intrinsicWidth = canvas.width;\n _this.intrinsicHeight = canvas.height;\n return _this;\n }\n return CanvasElementContainer;\n}(ElementContainer));\n\nvar SVGElementContainer = /** @class */ (function (_super) {\n __extends(SVGElementContainer, _super);\n function SVGElementContainer(context, img) {\n var _this = _super.call(this, context, img) || this;\n var s = new XMLSerializer();\n var bounds = parseBounds(context, img);\n img.setAttribute('width', bounds.width + \"px\");\n img.setAttribute('height', bounds.height + \"px\");\n _this.svg = \"data:image/svg+xml,\" + encodeURIComponent(s.serializeToString(img));\n _this.intrinsicWidth = img.width.baseVal.value;\n _this.intrinsicHeight = img.height.baseVal.value;\n _this.context.cache.addImage(_this.svg);\n return _this;\n }\n return SVGElementContainer;\n}(ElementContainer));\n\nvar LIElementContainer = /** @class */ (function (_super) {\n __extends(LIElementContainer, _super);\n function LIElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return LIElementContainer;\n}(ElementContainer));\n\nvar OLElementContainer = /** @class */ (function (_super) {\n __extends(OLElementContainer, _super);\n function OLElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.start = element.start;\n _this.reversed = typeof element.reversed === 'boolean' && element.reversed === true;\n return _this;\n }\n return OLElementContainer;\n}(ElementContainer));\n\nvar CHECKBOX_BORDER_RADIUS = [\n {\n type: 15 /* DIMENSION_TOKEN */,\n flags: 0,\n unit: 'px',\n number: 3\n }\n];\nvar RADIO_BORDER_RADIUS = [\n {\n type: 16 /* PERCENTAGE_TOKEN */,\n flags: 0,\n number: 50\n }\n];\nvar reformatInputBounds = function (bounds) {\n if (bounds.width > bounds.height) {\n return new Bounds(bounds.left + (bounds.width - bounds.height) / 2, bounds.top, bounds.height, bounds.height);\n }\n else if (bounds.width < bounds.height) {\n return new Bounds(bounds.left, bounds.top + (bounds.height - bounds.width) / 2, bounds.width, bounds.width);\n }\n return bounds;\n};\nvar getInputValue = function (node) {\n var value = node.type === PASSWORD ? new Array(node.value.length + 1).join('\\u2022') : node.value;\n return value.length === 0 ? node.placeholder || '' : value;\n};\nvar CHECKBOX = 'checkbox';\nvar RADIO = 'radio';\nvar PASSWORD = 'password';\nvar INPUT_COLOR = 0x2a2a2aff;\nvar InputElementContainer = /** @class */ (function (_super) {\n __extends(InputElementContainer, _super);\n function InputElementContainer(context, input) {\n var _this = _super.call(this, context, input) || this;\n _this.type = input.type.toLowerCase();\n _this.checked = input.checked;\n _this.value = getInputValue(input);\n if (_this.type === CHECKBOX || _this.type === RADIO) {\n _this.styles.backgroundColor = 0xdededeff;\n _this.styles.borderTopColor =\n _this.styles.borderRightColor =\n _this.styles.borderBottomColor =\n _this.styles.borderLeftColor =\n 0xa5a5a5ff;\n _this.styles.borderTopWidth =\n _this.styles.borderRightWidth =\n _this.styles.borderBottomWidth =\n _this.styles.borderLeftWidth =\n 1;\n _this.styles.borderTopStyle =\n _this.styles.borderRightStyle =\n _this.styles.borderBottomStyle =\n _this.styles.borderLeftStyle =\n 1 /* SOLID */;\n _this.styles.backgroundClip = [0 /* BORDER_BOX */];\n _this.styles.backgroundOrigin = [0 /* BORDER_BOX */];\n _this.bounds = reformatInputBounds(_this.bounds);\n }\n switch (_this.type) {\n case CHECKBOX:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n CHECKBOX_BORDER_RADIUS;\n break;\n case RADIO:\n _this.styles.borderTopRightRadius =\n _this.styles.borderTopLeftRadius =\n _this.styles.borderBottomRightRadius =\n _this.styles.borderBottomLeftRadius =\n RADIO_BORDER_RADIUS;\n break;\n }\n return _this;\n }\n return InputElementContainer;\n}(ElementContainer));\n\nvar SelectElementContainer = /** @class */ (function (_super) {\n __extends(SelectElementContainer, _super);\n function SelectElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n var option = element.options[element.selectedIndex || 0];\n _this.value = option ? option.text || '' : '';\n return _this;\n }\n return SelectElementContainer;\n}(ElementContainer));\n\nvar TextareaElementContainer = /** @class */ (function (_super) {\n __extends(TextareaElementContainer, _super);\n function TextareaElementContainer(context, element) {\n var _this = _super.call(this, context, element) || this;\n _this.value = element.value;\n return _this;\n }\n return TextareaElementContainer;\n}(ElementContainer));\n\nvar IFrameElementContainer = /** @class */ (function (_super) {\n __extends(IFrameElementContainer, _super);\n function IFrameElementContainer(context, iframe) {\n var _this = _super.call(this, context, iframe) || this;\n _this.src = iframe.src;\n _this.width = parseInt(iframe.width, 10) || 0;\n _this.height = parseInt(iframe.height, 10) || 0;\n _this.backgroundColor = _this.styles.backgroundColor;\n try {\n if (iframe.contentWindow &&\n iframe.contentWindow.document &&\n iframe.contentWindow.document.documentElement) {\n _this.tree = parseTree(context, iframe.contentWindow.document.documentElement);\n // http://www.w3.org/TR/css3-background/#special-backgrounds\n var documentBackgroundColor = iframe.contentWindow.document.documentElement\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.documentElement).backgroundColor)\n : COLORS.TRANSPARENT;\n var bodyBackgroundColor = iframe.contentWindow.document.body\n ? parseColor(context, getComputedStyle(iframe.contentWindow.document.body).backgroundColor)\n : COLORS.TRANSPARENT;\n _this.backgroundColor = isTransparent(documentBackgroundColor)\n ? isTransparent(bodyBackgroundColor)\n ? _this.styles.backgroundColor\n : bodyBackgroundColor\n : documentBackgroundColor;\n }\n }\n catch (e) { }\n return _this;\n }\n return IFrameElementContainer;\n}(ElementContainer));\n\nvar LIST_OWNERS = ['OL', 'UL', 'MENU'];\nvar parseNodeTree = function (context, node, parent, root) {\n for (var childNode = node.firstChild, nextNode = void 0; childNode; childNode = nextNode) {\n nextNode = childNode.nextSibling;\n if (isTextNode(childNode) && childNode.data.trim().length > 0) {\n parent.textNodes.push(new TextContainer(context, childNode, parent.styles));\n }\n else if (isElementNode(childNode)) {\n if (isSlotElement(childNode) && childNode.assignedNodes) {\n childNode.assignedNodes().forEach(function (childNode) { return parseNodeTree(context, childNode, parent, root); });\n }\n else {\n var container = createContainer(context, childNode);\n if (container.styles.isVisible()) {\n if (createsRealStackingContext(childNode, container, root)) {\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n }\n else if (createsStackingContext(container.styles)) {\n container.flags |= 2 /* CREATES_STACKING_CONTEXT */;\n }\n if (LIST_OWNERS.indexOf(childNode.tagName) !== -1) {\n container.flags |= 8 /* IS_LIST_OWNER */;\n }\n parent.elements.push(container);\n childNode.slot;\n if (childNode.shadowRoot) {\n parseNodeTree(context, childNode.shadowRoot, container, root);\n }\n else if (!isTextareaElement(childNode) &&\n !isSVGElement(childNode) &&\n !isSelectElement(childNode)) {\n parseNodeTree(context, childNode, container, root);\n }\n }\n }\n }\n }\n};\nvar createContainer = function (context, element) {\n if (isImageElement(element)) {\n return new ImageElementContainer(context, element);\n }\n if (isCanvasElement(element)) {\n return new CanvasElementContainer(context, element);\n }\n if (isSVGElement(element)) {\n return new SVGElementContainer(context, element);\n }\n if (isLIElement(element)) {\n return new LIElementContainer(context, element);\n }\n if (isOLElement(element)) {\n return new OLElementContainer(context, element);\n }\n if (isInputElement(element)) {\n return new InputElementContainer(context, element);\n }\n if (isSelectElement(element)) {\n return new SelectElementContainer(context, element);\n }\n if (isTextareaElement(element)) {\n return new TextareaElementContainer(context, element);\n }\n if (isIFrameElement(element)) {\n return new IFrameElementContainer(context, element);\n }\n return new ElementContainer(context, element);\n};\nvar parseTree = function (context, element) {\n var container = createContainer(context, element);\n container.flags |= 4 /* CREATES_REAL_STACKING_CONTEXT */;\n parseNodeTree(context, element, container, container);\n return container;\n};\nvar createsRealStackingContext = function (node, container, root) {\n return (container.styles.isPositionedWithZIndex() ||\n container.styles.opacity < 1 ||\n container.styles.isTransformed() ||\n (isBodyElement(node) && root.styles.isTransparent()));\n};\nvar createsStackingContext = function (styles) { return styles.isPositioned() || styles.isFloating(); };\nvar isTextNode = function (node) { return node.nodeType === Node.TEXT_NODE; };\nvar isElementNode = function (node) { return node.nodeType === Node.ELEMENT_NODE; };\nvar isHTMLElementNode = function (node) {\n return isElementNode(node) && typeof node.style !== 'undefined' && !isSVGElementNode(node);\n};\nvar isSVGElementNode = function (element) {\n return typeof element.className === 'object';\n};\nvar isLIElement = function (node) { return node.tagName === 'LI'; };\nvar isOLElement = function (node) { return node.tagName === 'OL'; };\nvar isInputElement = function (node) { return node.tagName === 'INPUT'; };\nvar isHTMLElement = function (node) { return node.tagName === 'HTML'; };\nvar isSVGElement = function (node) { return node.tagName === 'svg'; };\nvar isBodyElement = function (node) { return node.tagName === 'BODY'; };\nvar isCanvasElement = function (node) { return node.tagName === 'CANVAS'; };\nvar isVideoElement = function (node) { return node.tagName === 'VIDEO'; };\nvar isImageElement = function (node) { return node.tagName === 'IMG'; };\nvar isIFrameElement = function (node) { return node.tagName === 'IFRAME'; };\nvar isStyleElement = function (node) { return node.tagName === 'STYLE'; };\nvar isScriptElement = function (node) { return node.tagName === 'SCRIPT'; };\nvar isTextareaElement = function (node) { return node.tagName === 'TEXTAREA'; };\nvar isSelectElement = function (node) { return node.tagName === 'SELECT'; };\nvar isSlotElement = function (node) { return node.tagName === 'SLOT'; };\n// https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\nvar isCustomElement = function (node) { return node.tagName.indexOf('-') > 0; };\n\nvar CounterState = /** @class */ (function () {\n function CounterState() {\n this.counters = {};\n }\n CounterState.prototype.getCounterValue = function (name) {\n var counter = this.counters[name];\n if (counter && counter.length) {\n return counter[counter.length - 1];\n }\n return 1;\n };\n CounterState.prototype.getCounterValues = function (name) {\n var counter = this.counters[name];\n return counter ? counter : [];\n };\n CounterState.prototype.pop = function (counters) {\n var _this = this;\n counters.forEach(function (counter) { return _this.counters[counter].pop(); });\n };\n CounterState.prototype.parse = function (style) {\n var _this = this;\n var counterIncrement = style.counterIncrement;\n var counterReset = style.counterReset;\n var canReset = true;\n if (counterIncrement !== null) {\n counterIncrement.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n if (counter && entry.increment !== 0) {\n canReset = false;\n if (!counter.length) {\n counter.push(1);\n }\n counter[Math.max(0, counter.length - 1)] += entry.increment;\n }\n });\n }\n var counterNames = [];\n if (canReset) {\n counterReset.forEach(function (entry) {\n var counter = _this.counters[entry.counter];\n counterNames.push(entry.counter);\n if (!counter) {\n counter = _this.counters[entry.counter] = [];\n }\n counter.push(entry.reset);\n });\n }\n return counterNames;\n };\n return CounterState;\n}());\nvar ROMAN_UPPER = {\n integers: [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1],\n values: ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']\n};\nvar ARMENIAN = {\n integers: [\n 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90, 80, 70,\n 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'Ք',\n 'Փ',\n 'Ւ',\n 'Ց',\n 'Ր',\n 'Տ',\n 'Վ',\n 'Ս',\n 'Ռ',\n 'Ջ',\n 'Պ',\n 'Չ',\n 'Ո',\n 'Շ',\n 'Ն',\n 'Յ',\n 'Մ',\n 'Ճ',\n 'Ղ',\n 'Ձ',\n 'Հ',\n 'Կ',\n 'Ծ',\n 'Խ',\n 'Լ',\n 'Ի',\n 'Ժ',\n 'Թ',\n 'Ը',\n 'Է',\n 'Զ',\n 'Ե',\n 'Դ',\n 'Գ',\n 'Բ',\n 'Ա'\n ]\n};\nvar HEBREW = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 400, 300, 200, 100, 90, 80, 70, 60, 50, 40, 30, 20,\n 19, 18, 17, 16, 15, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'י׳',\n 'ט׳',\n 'ח׳',\n 'ז׳',\n 'ו׳',\n 'ה׳',\n 'ד׳',\n 'ג׳',\n 'ב׳',\n 'א׳',\n 'ת',\n 'ש',\n 'ר',\n 'ק',\n 'צ',\n 'פ',\n 'ע',\n 'ס',\n 'נ',\n 'מ',\n 'ל',\n 'כ',\n 'יט',\n 'יח',\n 'יז',\n 'טז',\n 'טו',\n 'י',\n 'ט',\n 'ח',\n 'ז',\n 'ו',\n 'ה',\n 'ד',\n 'ג',\n 'ב',\n 'א'\n ]\n};\nvar GEORGIAN = {\n integers: [\n 10000, 9000, 8000, 7000, 6000, 5000, 4000, 3000, 2000, 1000, 900, 800, 700, 600, 500, 400, 300, 200, 100, 90,\n 80, 70, 60, 50, 40, 30, 20, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1\n ],\n values: [\n 'ჵ',\n 'ჰ',\n 'ჯ',\n 'ჴ',\n 'ხ',\n 'ჭ',\n 'წ',\n 'ძ',\n 'ც',\n 'ჩ',\n 'შ',\n 'ყ',\n 'ღ',\n 'ქ',\n 'ფ',\n 'ჳ',\n 'ტ',\n 'ს',\n 'რ',\n 'ჟ',\n 'პ',\n 'ო',\n 'ჲ',\n 'ნ',\n 'მ',\n 'ლ',\n 'კ',\n 'ი',\n 'თ',\n 'ჱ',\n 'ზ',\n 'ვ',\n 'ე',\n 'დ',\n 'გ',\n 'ბ',\n 'ა'\n ]\n};\nvar createAdditiveCounter = function (value, min, max, symbols, fallback, suffix) {\n if (value < min || value > max) {\n return createCounterText(value, fallback, suffix.length > 0);\n }\n return (symbols.integers.reduce(function (string, integer, index) {\n while (value >= integer) {\n value -= integer;\n string += symbols.values[index];\n }\n return string;\n }, '') + suffix);\n};\nvar createCounterStyleWithSymbolResolver = function (value, codePointRangeLength, isNumeric, resolver) {\n var string = '';\n do {\n if (!isNumeric) {\n value--;\n }\n string = resolver(value) + string;\n value /= codePointRangeLength;\n } while (value * codePointRangeLength >= codePointRangeLength);\n return string;\n};\nvar createCounterStyleFromRange = function (value, codePointRangeStart, codePointRangeEnd, isNumeric, suffix) {\n var codePointRangeLength = codePointRangeEnd - codePointRangeStart + 1;\n return ((value < 0 ? '-' : '') +\n (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, isNumeric, function (codePoint) {\n return fromCodePoint$1(Math.floor(codePoint % codePointRangeLength) + codePointRangeStart);\n }) +\n suffix));\n};\nvar createCounterStyleFromSymbols = function (value, symbols, suffix) {\n if (suffix === void 0) { suffix = '. '; }\n var codePointRangeLength = symbols.length;\n return (createCounterStyleWithSymbolResolver(Math.abs(value), codePointRangeLength, false, function (codePoint) { return symbols[Math.floor(codePoint % codePointRangeLength)]; }) + suffix);\n};\nvar CJK_ZEROS = 1 << 0;\nvar CJK_TEN_COEFFICIENTS = 1 << 1;\nvar CJK_TEN_HIGH_COEFFICIENTS = 1 << 2;\nvar CJK_HUNDRED_COEFFICIENTS = 1 << 3;\nvar createCJKCounter = function (value, numbers, multipliers, negativeSign, suffix, flags) {\n if (value < -9999 || value > 9999) {\n return createCounterText(value, 4 /* CJK_DECIMAL */, suffix.length > 0);\n }\n var tmp = Math.abs(value);\n var string = suffix;\n if (tmp === 0) {\n return numbers[0] + string;\n }\n for (var digit = 0; tmp > 0 && digit <= 4; digit++) {\n var coefficient = tmp % 10;\n if (coefficient === 0 && contains(flags, CJK_ZEROS) && string !== '') {\n string = numbers[coefficient] + string;\n }\n else if (coefficient > 1 ||\n (coefficient === 1 && digit === 0) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_COEFFICIENTS)) ||\n (coefficient === 1 && digit === 1 && contains(flags, CJK_TEN_HIGH_COEFFICIENTS) && value > 100) ||\n (coefficient === 1 && digit > 1 && contains(flags, CJK_HUNDRED_COEFFICIENTS))) {\n string = numbers[coefficient] + (digit > 0 ? multipliers[digit - 1] : '') + string;\n }\n else if (coefficient === 1 && digit > 0) {\n string = multipliers[digit - 1] + string;\n }\n tmp = Math.floor(tmp / 10);\n }\n return (value < 0 ? negativeSign : '') + string;\n};\nvar CHINESE_INFORMAL_MULTIPLIERS = '十百千萬';\nvar CHINESE_FORMAL_MULTIPLIERS = '拾佰仟萬';\nvar JAPANESE_NEGATIVE = 'マイナス';\nvar KOREAN_NEGATIVE = '마이너스';\nvar createCounterText = function (value, type, appendSuffix) {\n var defaultSuffix = appendSuffix ? '. ' : '';\n var cjkSuffix = appendSuffix ? '、' : '';\n var koreanSuffix = appendSuffix ? ', ' : '';\n var spaceSuffix = appendSuffix ? ' ' : '';\n switch (type) {\n case 0 /* DISC */:\n return '•' + spaceSuffix;\n case 1 /* CIRCLE */:\n return '◦' + spaceSuffix;\n case 2 /* SQUARE */:\n return '◾' + spaceSuffix;\n case 5 /* DECIMAL_LEADING_ZERO */:\n var string = createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n return string.length < 4 ? \"0\" + string : string;\n case 4 /* CJK_DECIMAL */:\n return createCounterStyleFromSymbols(value, '〇一二三四五六七八九', cjkSuffix);\n case 6 /* LOWER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 7 /* UPPER_ROMAN */:\n return createAdditiveCounter(value, 1, 3999, ROMAN_UPPER, 3 /* DECIMAL */, defaultSuffix);\n case 8 /* LOWER_GREEK */:\n return createCounterStyleFromRange(value, 945, 969, false, defaultSuffix);\n case 9 /* LOWER_ALPHA */:\n return createCounterStyleFromRange(value, 97, 122, false, defaultSuffix);\n case 10 /* UPPER_ALPHA */:\n return createCounterStyleFromRange(value, 65, 90, false, defaultSuffix);\n case 11 /* ARABIC_INDIC */:\n return createCounterStyleFromRange(value, 1632, 1641, true, defaultSuffix);\n case 12 /* ARMENIAN */:\n case 49 /* UPPER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix);\n case 35 /* LOWER_ARMENIAN */:\n return createAdditiveCounter(value, 1, 9999, ARMENIAN, 3 /* DECIMAL */, defaultSuffix).toLowerCase();\n case 13 /* BENGALI */:\n return createCounterStyleFromRange(value, 2534, 2543, true, defaultSuffix);\n case 14 /* CAMBODIAN */:\n case 30 /* KHMER */:\n return createCounterStyleFromRange(value, 6112, 6121, true, defaultSuffix);\n case 15 /* CJK_EARTHLY_BRANCH */:\n return createCounterStyleFromSymbols(value, '子丑寅卯辰巳午未申酉戌亥', cjkSuffix);\n case 16 /* CJK_HEAVENLY_STEM */:\n return createCounterStyleFromSymbols(value, '甲乙丙丁戊己庚辛壬癸', cjkSuffix);\n case 17 /* CJK_IDEOGRAPHIC */:\n case 48 /* TRAD_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 47 /* TRAD_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹貳參肆伍陸柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '負', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 42 /* SIMP_CHINESE_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', CHINESE_INFORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 41 /* SIMP_CHINESE_FORMAL */:\n return createCJKCounter(value, '零壹贰叁肆伍陆柒捌玖', CHINESE_FORMAL_MULTIPLIERS, '负', cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS | CJK_HUNDRED_COEFFICIENTS);\n case 26 /* JAPANESE_INFORMAL */:\n return createCJKCounter(value, '〇一二三四五六七八九', '十百千万', JAPANESE_NEGATIVE, cjkSuffix, 0);\n case 25 /* JAPANESE_FORMAL */:\n return createCJKCounter(value, '零壱弐参四伍六七八九', '拾百千万', JAPANESE_NEGATIVE, cjkSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 31 /* KOREAN_HANGUL_FORMAL */:\n return createCJKCounter(value, '영일이삼사오육칠팔구', '십백천만', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 33 /* KOREAN_HANJA_INFORMAL */:\n return createCJKCounter(value, '零一二三四五六七八九', '十百千萬', KOREAN_NEGATIVE, koreanSuffix, 0);\n case 32 /* KOREAN_HANJA_FORMAL */:\n return createCJKCounter(value, '零壹貳參四五六七八九', '拾百千', KOREAN_NEGATIVE, koreanSuffix, CJK_ZEROS | CJK_TEN_COEFFICIENTS | CJK_TEN_HIGH_COEFFICIENTS);\n case 18 /* DEVANAGARI */:\n return createCounterStyleFromRange(value, 0x966, 0x96f, true, defaultSuffix);\n case 20 /* GEORGIAN */:\n return createAdditiveCounter(value, 1, 19999, GEORGIAN, 3 /* DECIMAL */, defaultSuffix);\n case 21 /* GUJARATI */:\n return createCounterStyleFromRange(value, 0xae6, 0xaef, true, defaultSuffix);\n case 22 /* GURMUKHI */:\n return createCounterStyleFromRange(value, 0xa66, 0xa6f, true, defaultSuffix);\n case 22 /* HEBREW */:\n return createAdditiveCounter(value, 1, 10999, HEBREW, 3 /* DECIMAL */, defaultSuffix);\n case 23 /* HIRAGANA */:\n return createCounterStyleFromSymbols(value, 'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん');\n case 24 /* HIRAGANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす');\n case 27 /* KANNADA */:\n return createCounterStyleFromRange(value, 0xce6, 0xcef, true, defaultSuffix);\n case 28 /* KATAKANA */:\n return createCounterStyleFromSymbols(value, 'アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン', cjkSuffix);\n case 29 /* KATAKANA_IROHA */:\n return createCounterStyleFromSymbols(value, 'イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス', cjkSuffix);\n case 34 /* LAO */:\n return createCounterStyleFromRange(value, 0xed0, 0xed9, true, defaultSuffix);\n case 37 /* MONGOLIAN */:\n return createCounterStyleFromRange(value, 0x1810, 0x1819, true, defaultSuffix);\n case 38 /* MYANMAR */:\n return createCounterStyleFromRange(value, 0x1040, 0x1049, true, defaultSuffix);\n case 39 /* ORIYA */:\n return createCounterStyleFromRange(value, 0xb66, 0xb6f, true, defaultSuffix);\n case 40 /* PERSIAN */:\n return createCounterStyleFromRange(value, 0x6f0, 0x6f9, true, defaultSuffix);\n case 43 /* TAMIL */:\n return createCounterStyleFromRange(value, 0xbe6, 0xbef, true, defaultSuffix);\n case 44 /* TELUGU */:\n return createCounterStyleFromRange(value, 0xc66, 0xc6f, true, defaultSuffix);\n case 45 /* THAI */:\n return createCounterStyleFromRange(value, 0xe50, 0xe59, true, defaultSuffix);\n case 46 /* TIBETAN */:\n return createCounterStyleFromRange(value, 0xf20, 0xf29, true, defaultSuffix);\n case 3 /* DECIMAL */:\n default:\n return createCounterStyleFromRange(value, 48, 57, true, defaultSuffix);\n }\n};\n\nvar IGNORE_ATTRIBUTE = 'data-html2canvas-ignore';\nvar DocumentCloner = /** @class */ (function () {\n function DocumentCloner(context, element, options) {\n this.context = context;\n this.options = options;\n this.scrolledElements = [];\n this.referenceElement = element;\n this.counters = new CounterState();\n this.quoteDepth = 0;\n if (!element.ownerDocument) {\n throw new Error('Cloned element does not have an owner document');\n }\n this.documentElement = this.cloneNode(element.ownerDocument.documentElement, false);\n }\n DocumentCloner.prototype.toIFrame = function (ownerDocument, windowSize) {\n var _this = this;\n var iframe = createIFrameContainer(ownerDocument, windowSize);\n if (!iframe.contentWindow) {\n return Promise.reject(\"Unable to find iframe window\");\n }\n var scrollX = ownerDocument.defaultView.pageXOffset;\n var scrollY = ownerDocument.defaultView.pageYOffset;\n var cloneWindow = iframe.contentWindow;\n var documentClone = cloneWindow.document;\n /* Chrome doesn't detect relative background-images assigned in inline \n\n\n","export default \"__VITE_ASSET__FGa7Dzkm__\"","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","\n","\n","\n","export default \"__VITE_ASSET__DuodanUT__\"","\n\n\n","/*!\n * vue-router v4.3.2\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof document !== 'undefined';\n\nfunction isESModule(obj) {\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\n/**\n * Encoding Rules (␣ = Space)\n * - Path: ␣ \" < > # ? { }\n * - Query: ␣ \" < > # & =\n * - Hash: ␣ \" < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash: decode(hash),\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments.slice(toPosition).join('/'));\n}\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.scrollX,\n top: window.scrollY,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [START];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push(location);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // TODO: should be kept in queue\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to);\n },\n push(to, data) {\n setLocation(to);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [START];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\n/**\n * Creates a typed NavigationFailure object.\n * @internal\n * @param type - NavigationFailureType\n * @param params - { from, to }\n */\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if (to.path != null)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict)\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [\n mainNormalizedRecord,\n ];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n }));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher))\n removeRoute(record.name);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if ((matcher.record.components &&\n Object.keys(matcher.record.components).length) ||\n matcher.record.name ||\n matcher.record.redirect) {\n insertMatcher(matcher);\n }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n let i = 0;\n while (i < matchers.length &&\n comparePathParserScore(matcher, matchers[i]) >= 0 &&\n // Adding children with empty path should still appear before the parent\n // https://github.com/vuejs/router/issues/1124\n (matcher.record.path !== matchers[i].record.path ||\n !isRecordChildOf(matcher, matchers[i])))\n i++;\n matchers.splice(i, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n matcher.keys\n .filter(k => !k.optional)\n .concat(matcher.parent ? matcher.parent.keys.filter(k => k.optional) : [])\n .map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if (location.path != null) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n return {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: undefined,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\nfunction isRecordChildOf(record, parent) {\n return parent.children.some(child => child === record || isRecordChildOf(record, child));\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = fn => fn()) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next));\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = fn => fn()) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard &&\n guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return (guard &&\n guardToPromiseFn(guard, to, from, record, name, runWithContext)());\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to ``.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n let hasPrevious = false;\n let previousTo = null;\n const route = computed(() => {\n const to = unref(props.to);\n if ((process.env.NODE_ENV !== 'production') && (!hasPrevious || to !== previousTo)) {\n if (!isRouteLocation(to)) {\n if (hasPrevious) {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n }\n else {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n }\n }\n previousTo = to;\n hasPrevious = true;\n }\n return router.resolve(to);\n });\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n error: null,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n linkContextDevtools.error = isRouteLocation(unref(props.to))\n ? null\n : 'Invalid \"to\" value';\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && slots.default(link);\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with & \n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(` can no longer be used directly inside or .\\n` +\n `Use slot props instead:\\n\\n` +\n `\\n` +\n ` <${comp}>\\n` +\n ` \\n` +\n ` \\n` +\n ``);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let label = devtoolsData.route.path;\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n let textColor = 0;\n if (devtoolsData.error) {\n label = devtoolsData.error;\n backgroundColor = RED_100;\n textColor = RED_700;\n }\n else if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label,\n textColor,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nconst RED_100 = 0xfee2e2;\nconst RED_700 = 0xb91c1c;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://next.router.vuejs.org/api/#history.');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n if ((process.env.NODE_ENV !== 'production') && !parent) {\n warn(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n }\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n if ((process.env.NODE_ENV !== 'production') && !isRouteLocation(rawLocation)) {\n warn(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n rawLocation = {};\n }\n let matcherLocation;\n // path could be relative in object as well\n if (rawLocation.path != null) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n newTargetLocation.path == null &&\n !('name' in newTargetLocation)) {\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: newTargetLocation.path != null ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from, runWithContext);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(error.to, toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute() {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","import StartView from '@/views/start/StartView.vue'\nimport FoodView from './views/food/FoodView.vue'\nimport ConsumptionView from './views/consumption/ConsumptionView.vue'\nimport HousingView from './views/housing/HousingView.vue'\nimport ResultsView from './views/results/ResultsView.vue'\nimport TransportView from './views/transport/TransportView.vue'\nimport WasteView from './views/waste/WasteView.vue'\nimport CalculationInfo from './views/calculationInfo/CalculationInfo.vue'\nimport ActionsView from './views/actions/ActionsView.vue'\nimport ServiceDescription from './views/common/ServiceDescription.vue'\nimport AccessibilityNotice from './views/common/AccessibilityNotice.vue'\nimport PrivacyNotice from './views/common/PrivacyNotice.vue'\nimport TermsOfUse from './views/common/TermsOfUse.vue'\nimport NotFound from './views/common/NotFound.vue'\nimport { createRouter, createWebHashHistory } from 'vue-router'\n\nexport default createRouter({\n history: createWebHashHistory(import.meta.env.BASE_URL),\n routes: [\n {\n path: '/',\n name: 'start',\n component: StartView,\n },\n {\n path: '/consumption',\n name: 'consumption',\n component: ConsumptionView,\n },\n {\n path: '/food',\n name: 'food',\n component: FoodView,\n },\n {\n path: '/housing',\n name: 'housing',\n component: HousingView,\n },\n {\n path: '/results',\n name: 'results',\n component: ResultsView,\n },\n {\n path: '/transport',\n name: 'transport',\n component: TransportView,\n },\n {\n path: '/waste',\n name: 'waste',\n component: WasteView,\n },\n {\n path: '/calculationinfo',\n name: 'calculationInfo',\n component: CalculationInfo,\n },\n {\n path: '/actions',\n name: 'actions',\n component: ActionsView,\n },\n {\n path: '/serviceDescription',\n name: 'serviceDescription',\n component: ServiceDescription,\n },\n {\n path: '/accessibility',\n name: 'accessibilityNotice',\n component: AccessibilityNotice,\n },\n {\n path: '/privacyNotice',\n name: 'privacyNotice',\n component: PrivacyNotice,\n },\n {\n path: '/termsOfUse',\n name: 'termsOfUse',\n component: TermsOfUse,\n },\n { path: '/:pathMatch(.*)', component: NotFound },\n ],\n scrollBehavior(to) {\n if (to.hash) {\n return {\n el: to.hash,\n }\n }\n return { top: 0 }\n },\n})\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","export default {\n install(app) {\n const componentFiles = import.meta.glob('./components/forms/*.vue', {\n eager: true,\n })\n\n Object.entries(componentFiles).forEach(([path, m]) => {\n const componentName = path\n .split('/')\n .pop()\n .replace(/\\.\\w+$/, '')\n\n app.component(componentName, m.default)\n })\n },\n}\n","// src/normalize.ts\nfunction isObject(v) {\n return typeof v === \"object\" && v !== null;\n}\nfunction normalizeOptions(options, factoryOptions) {\n options = isObject(options) ? options : /* @__PURE__ */ Object.create(null);\n return new Proxy(options, {\n get(target, key, receiver) {\n if (key === \"key\")\n return Reflect.get(target, key, receiver);\n return Reflect.get(target, key, receiver) || Reflect.get(factoryOptions, key, receiver);\n }\n });\n}\n\n// src/pick.ts\nfunction get(state, path) {\n return path.reduce((obj, p) => {\n return obj == null ? void 0 : obj[p];\n }, state);\n}\nfunction set(state, path, val) {\n return path.slice(0, -1).reduce((obj, p) => {\n if (/^(__proto__)$/.test(p))\n return {};\n else\n return obj[p] = obj[p] || {};\n }, state)[path[path.length - 1]] = val, state;\n}\nfunction pick(baseState, paths) {\n return paths.reduce((substate, path) => {\n const pathArray = path.split(\".\");\n return set(substate, pathArray, get(baseState, pathArray));\n }, {});\n}\n\n// src/plugin.ts\nfunction parsePersistence(factoryOptions, store) {\n return (o) => {\n var _a;\n try {\n const {\n storage = localStorage,\n beforeRestore = void 0,\n afterRestore = void 0,\n serializer = {\n serialize: JSON.stringify,\n deserialize: JSON.parse\n },\n key = store.$id,\n paths = null,\n debug = false\n } = o;\n return {\n storage,\n beforeRestore,\n afterRestore,\n serializer,\n key: ((_a = factoryOptions.key) != null ? _a : (k) => k)(typeof key == \"string\" ? key : key(store.$id)),\n paths,\n debug\n };\n } catch (e) {\n if (o.debug)\n console.error(\"[pinia-plugin-persistedstate]\", e);\n return null;\n }\n };\n}\nfunction hydrateStore(store, { storage, serializer, key, debug }) {\n try {\n const fromStorage = storage == null ? void 0 : storage.getItem(key);\n if (fromStorage)\n store.$patch(serializer == null ? void 0 : serializer.deserialize(fromStorage));\n } catch (e) {\n if (debug)\n console.error(\"[pinia-plugin-persistedstate]\", e);\n }\n}\nfunction persistState(state, { storage, serializer, key, paths, debug }) {\n try {\n const toStore = Array.isArray(paths) ? pick(state, paths) : state;\n storage.setItem(key, serializer.serialize(toStore));\n } catch (e) {\n if (debug)\n console.error(\"[pinia-plugin-persistedstate]\", e);\n }\n}\nfunction createPersistedState(factoryOptions = {}) {\n return (context) => {\n const { auto = false } = factoryOptions;\n const {\n options: { persist = auto },\n store,\n pinia\n } = context;\n if (!persist)\n return;\n if (!(store.$id in pinia.state.value)) {\n const original_store = pinia._s.get(store.$id.replace(\"__hot:\", \"\"));\n if (original_store)\n Promise.resolve().then(() => original_store.$persist());\n return;\n }\n const persistences = (Array.isArray(persist) ? persist.map((p) => normalizeOptions(p, factoryOptions)) : [normalizeOptions(persist, factoryOptions)]).map(parsePersistence(factoryOptions, store)).filter(Boolean);\n store.$persist = () => {\n persistences.forEach((persistence) => {\n persistState(store.$state, persistence);\n });\n };\n store.$hydrate = ({ runHooks = true } = {}) => {\n persistences.forEach((persistence) => {\n const { beforeRestore, afterRestore } = persistence;\n if (runHooks)\n beforeRestore == null ? void 0 : beforeRestore(context);\n hydrateStore(store, persistence);\n if (runHooks)\n afterRestore == null ? void 0 : afterRestore(context);\n });\n };\n persistences.forEach((persistence) => {\n const { beforeRestore, afterRestore } = persistence;\n beforeRestore == null ? void 0 : beforeRestore(context);\n hydrateStore(store, persistence);\n afterRestore == null ? void 0 : afterRestore(context);\n store.$subscribe(\n (_mutation, state) => {\n persistState(state, persistence);\n },\n {\n detached: true\n }\n );\n });\n };\n}\n\n// src/index.ts\nvar src_default = createPersistedState();\nexport {\n createPersistedState,\n src_default as default\n};\n","import i18n from '@/locale/i18n'\nimport { createApp } from 'vue'\nimport App from './App.vue'\nimport router from './router'\nimport GlobalComponents from './globals'\nimport { createPinia } from 'pinia'\nimport piniaPluginPersistedstate from 'pinia-plugin-persistedstate'\n\nconst store = createPinia()\nstore.use(piniaPluginPersistedstate)\n\nconst app = createApp(App)\napp.use(GlobalComponents)\napp.use(store)\napp.use(router)\napp.use(i18n)\n\napp.mount('#app')\n"],"names":["inBrowser","mark","measure","perf","tag","name","startTag","endTag","RE_ARGS","format","message","args","isObject","match","identifier","makeSymbol","shareable","generateFormatCacheKey","locale","key","source","friendlyJSONstringify","json","isNumber","val","isDate","toTypeString","isRegExp","isEmptyObject","isPlainObject","assign","_globalThis","getGlobalThis","escapeHtml","rawText","hasOwnProperty","hasOwn","obj","isArray","isFunction","isString","isBoolean","isPromise","objectToString","value","proto","toDisplayString","join","items","separator","str","item","index","RANGE","generateCodeFrame","start","end","lines","count","res","i","j","line","lineLength","pad","length","incrementer","code","current","warn","msg","err","hasWarned","warnOnce","createEmitter","events","event","handler","handlers","payload","isNotObjectOrIsArray","deepCopy","src","des","stack","createPosition","column","offset","createLocation","CompileWarnCodes","warnMessages","createCompileWarn","loc","CompileErrorCodes","errorMessages","createCompileError","options","domain","messages","error","defaultOnError","RE_HTML_TAG","detectHtmlTag","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isTextStart","isPluralStart","detectModuloStart","spaces","hasSpace","prev","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","sequence","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","onWarn","tokenzer","emitWarn","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","modulo","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","body","optimizeMessageNode","c","values","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","list","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","generatePluralNode","generateResource","generate","mode","helpers","s","map","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","pathStateMachine","literalValueRE","exp","stripQuotes","a","b","getPathCharType","formatSubPath","path","trimmed","keys","subPathDepth","newChar","transition","action","typeMap","actions","maybeUnescapeQuote","nextChar","cache","resolveWithKeyValue","resolveValue","hit","len","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","normalizeNamed","pluralIndex","props","createMessageContext","pluralRule","orgPluralRule","_list","_named","_modifier","normalize","interpolate","arg1","arg2","modifier","devtools","setDevToolsHook","hook","initI18nDevTools","i18n","version","meta","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","getWarnMessage","format$1","inc","CoreErrorCodes","createCoreError","getLocale","resolveLocale","_resolveLocale","resolve","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","chain","block","appendBlockToChain","defaults","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","getDefaultLinkedModifiers","_compiler","registerMessageCompiler","compiler","_resolver","registerMessageResolver","resolver","_fallbacker","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","_locale","fallbackLocale","datetimeFormats","numberFormats","modifiers","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","isTranslateFallbackWarn","isTranslateMissingWarn","handleMissing","emitter","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","formatParts","formatMessageParts","_static","acm","formatMessagePart","text","linkedKey","linkedModifier","WARN_MESSAGE","checkHtmlMessage","defaultOnCacheKey","compileCache","onCompileWarn","_warn","isMessageAST","detectError","baseCompile$1","compileToFunction","cacheKey","cached","compile","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","from","to","missingRet","getCompileContext","msgCtx","arg3","_source","getSourceForCodeFrame","codeFrame","intlDefined","Availabilities","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","id","formatter","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","clearDateTimeFormat","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","makeMap","expectsLowerCase","set","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","el","isMap","isSet","isSymbol","toRawType","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","camelizeRE","camelize","_","hyphenateRE","hyphenate","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","writable","looseToNumber","normalizeStyle","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","tmp","normalizeClass","HTML_TAGS","SVG_TAGS","MATH_TAGS","isHTMLTag","isSVGTag","isMathMLTag","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","effectScope","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","activeEffect","ReactiveEffect","trigger","scheduler","pauseTracking","dep","triggerComputed","resetTracking","lastShouldTrack","shouldTrack","lastEffect","preCleanupEffect","postCleanupEffect","computed","effect2","cleanupDepEffect","trackId","pauseScheduleStack","trackStack","pauseScheduling","resetScheduling","queueEffectSchedulers","trackEffect","debuggerEventExtraInfo","oldDep","triggerEffects","dirtyLevel","tracking","createDep","cleanup","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","track","depsMap","newValue","oldTarget","deps","newLength","key2","getDepFromReactive","object","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","isShallow","hadKey","result","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","get2","checkIdentityKeys","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","shallow","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","COMPUTED_SIDE_EFFECT_WARN","ComputedRefImpl","getter","_setter","isSSR","triggerRefValue","self","trackRefValue","getterOrOptions","debugOptions","setter","onlyGetter","cRef","ref2","newVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","toRefs","propertyToRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","defaultValue","pushWarningContext","vnode","popWarningContext","warn$1","instance","appWarnHandler","trace","getComponentTrace","callWithErrorHandling","_b","formatComponentName","warnArgs","formatTrace","currentVNode","normalizedStack","parentInstance","logs","entry","formatTraceEntry","recurseCount","postfix","isRoot","open","close","formatProps","formatProp","ErrorTypeStrings$1","handleError","callWithAsyncErrorHandling","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","info","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","RECURSION_LIMIT","nextTick","p","findInsertionIndex","middle","middleJob","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","checkRecursiveUpdates","flushPostFlushCbs","deduped","comparator","diff","check","componentName","getComponentName","isHmrUpdating","hmrDirtyComponents","tryWrap","createRecord","rerender","reload","registerHMR","record","unregisterHMR","initialDef","normalizeClassComponent","component","isClassComponent","newRender","newComp","updateComponentDef","instances","oldComp","e","devtools$1","buffer","devtoolsNotInstalled","emit$1","setDevtoolsHook$1","newHook","devtoolsInitApp","app","Fragment","Text","Comment","Static","devtoolsUnmountApp","devtoolsComponentAdded","createDevtoolsComponentHook","devtoolsComponentUpdated","_devtoolsComponentRemoved","devtoolsComponentRemoved","devtoolsPerfStart","createDevtoolsPerformanceHook","devtoolsPerfEnd","time","devtoolsComponentEmit","params","emit","rawArgs","emitsOptions","propsOptions","validator","modelArg","modifiersKey","trim","lowerCaseEvent","handlerName","onceHandler","normalizeEmitsOptions","comp","appContext","asMixin","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","pushScopeId","popScopeId","withCtx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","accessedAttrs","markAttrsAccessed","renderComponentRoot","Component","withProxy","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","root","setRoot","getChildRoot","shapeFlag","filterModelListeners","cloneVNode","allAttrs","eventAttrs","extraAttrs","isElementRoot","rawChildren","dynamicChildren","childRoot","filterSingleRoot","dynamicIndex","updatedRoot","children","recurse","singleRoot","child","isVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","parent","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","warnMissing","currentInstance","selfName","registry","isSuspense","queueEffectWithSuspense","suspense","ssrContextKey","useSSRContext","inject","watchEffect","doWatch","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","once","onTrack","onTrigger","_cb","unwatch","warnInvalidSource","reactiveGetter","source2","traverse","forceTrigger","isMultiSource","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","queuePostRenderEffect","instanceWatch","publicThis","createPathGetter","setCurrentInstance","segments","depth","validateDirectiveName","withDirectives","directives","getExposeProxy","bindings","dir","invokeDirectiveHook","oldBindings","binding","defineComponent","extraOptions","isAsyncWrapper","isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","hooks","apiName","createHook","lifecycle","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","createSlots","dynamicSlots","slot","renderSlot","noSlotted","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","vnodes","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","isReservedPrefix","hasSetupBinding","state","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","descriptor","createDevRenderContext","exposePropsOnRenderContext","exposeSetupStateOnRenderContext","normalizePropsOrEmits","createDuplicateChecker","applyOptions","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","checkDuplicateProperties","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","normalizeInject","h","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","installedPlugins","isMounted","plugin","mixin","validateComponentName","directive","rootContainer","isHydrate","namespace","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","initProps","rawProps","isStateful","setFullProps","validateProps","isInHmrContext","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","isSameType","expectedTypes","t","resolvedValues","validateProp","required","skipCheck","isValid","types","valid","expectedType","assertType","getInvalidTypeMessage","isSimpleType","receivedType","expectedValue","styleValue","receivedValue","isExplicable","elem","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","supported","startMeasure","isSupported","endMeasure","needWarn","multi","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","processText","processCommentNode","mountStaticNode","patchStaticNode","processFragment","processElement","processComponent","internals","removeStaticNode","moveStaticNode","nextSibling","mountElement","patchElement","vnodeHook","dirs","mountChildren","resolveChildrenNamespace","setScopeId","unmountChildren","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","parentVNode","cloneIfMounted","oldProps","newProps","toggleRecurse","patchBlockChildren","traverseStaticChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","currentNamespace","allowed","ch1","ch2","arrI","subComponent","isTeleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","createVNodeWithArgsTransform","_createVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","cloned","guardReactiveProps","klass","style","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","deepCloneVNode","createTextVNode","flag","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","getCurrentInstance","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","isBuiltInTag","isNativeTag","setupResult","setupStatefulComponent","names","isRuntimeOnly","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","finishComponentSetup","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","getSlotsProxy","exposedType","attrsProxy","classifyRE","classify","includeInferred","inferFromRegistry","computed$1","propsOrChildren","initCustomFormatter","vueStyle","numberStyle","stringStyle","keywordStyle","genRefFlag","formatValue","formatInstance","createInstanceBlock","extractKeys","asRaw","Comp","extracted","isKeyOfType","opts","svgNS","mathmlNS","doc","templateContainer","nodeOps","is","selector","content","before","wrapper","vtcKey","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","vShow","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","semicolonRE","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","patchDOMProp","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","sanitizeEventValue","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","propName","originalStop","isNativeOn","patchProp","shouldSetAsProp","getModelAssigner","onCompositionStart","onCompositionEnd","assignKey","vModelText","lazy","castToNumber","domValue","elValue","vModelCheckbox","modelValue","elementValue","getValue","checked","found","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","o","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","systemModifiers","modifierGuards","withModifiers","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","injectNativeTagCheck","injectCompilerOptionsCheck","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","initDev","getDevtoolsGlobalHook","getTarget","isProxyAvailable","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","isPerformanceSupported","now","ApiProxy","defaultSettings","localSettingsSaveId","currentSettings","pluginId","_target","setupDevtoolsPlugin","pluginDescriptor","setupFn","enableProxy","I18nWarnCodes","I18nErrorCodes","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","EnableEmitter","DisableEmitter","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","adjustI18nResources","gl","componentOptions","createTextNode","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","VueI18nLegacy","__root","__injectWithOption","_isGlobal","_ref","translateExistCompatible","_inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","trackReactivityValues","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","isResolvedTranslateMessage","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","rt","d","translateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","_message","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","composer","convertComposerOptions","fallbackRoot","pluralizationRules","inheritLocale","sharedMessages","createVueI18n","__extender","vueI18n","__composer","baseFormatProps","getInterpolateArg","getFragmentableTag","TranslationImpl","useI18n","assignedAttrs","Translation","renderFormatter","slotKeys","partFormatter","parts","NumberFormatImpl","NumberFormat","DatetimeFormatImpl","DatetimeFormat","getComposer$2","i18nInternal","vTDirective","_process","parsedValue","parseValue","makeParams","textContent","apply","pluginOptions","useI18nComponentName","globalInstall","VueDevToolsLabels","VueDevToolsPlaceholders","VueDevToolsTimelineColors","VUE_I18N_COMPONENT_TYPES","devtoolsApi","enableDevTools","reject","api","componentInstance","treeNode","updateComponentTreeTags","instanceData","inspectComposer","registerScope","roots","inspectScope","getComponentInstance","editScope","getI18nScopeLable","global","getLocaleMessageValue","getMessageFunctionDetails","ESC","escape","escapeChar","func","keyInstance","nodeId","getComposer$1","makeScopeInspectState","localeType","localeStates","localeMessagesType","localeMessagesStates","datetimeFormatsType","datetimeFormatsStates","numberFormatsType","numberFormatsStates","addTimelineEvent","groupId","field","defineMixin","vuei18n","optionsI18n","mergeToGlobal","_vueI18n","I18nInjectionKey","createI18n","__legacyMode","__globalInjection","__allowComposition","__instances","globalScope","__global","createGlobal","symbol","__getInstance","__setInstance","__deleteInstance","globalReleaseHandler","injectGlobalFields","unmountApp","_composer","getI18nInstance","getGlobalComposer","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","useComponent","getParentComponentInstance","dispose","isLocalScope","warpWithDeps","sync","globalExportProps","globalExportMethods","desc","en","en$1","actionsView","consumption","createGroupCode","errors","food","footer","header","housing","login","navigation","results","waste","transport","serviceDescription","privacyNotice","termsOfUse","calculationInfo","accessibility","fi","sv","browserLang","dateTimeFormats","_imports_0$4","_imports_1","_imports_0$3","_imports_3","_withScopeId","_pushScopeId","_popScopeId","_createElementVNode","_imports_0","_hoisted_5","_hoisted_6","_hoisted_8","_hoisted_9","_imports_2","_hoisted_12","_hoisted_14","_hoisted_15","_hoisted_16","_openBlock","_createElementBlock","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_toDisplayString","_ctx","$t","_createTextVNode","$i18n","_hoisted_11","_component_router_link","_withCtx","isVue2","del","activePinia","setActivePinia","pinia","piniaSymbol","MutationType","IS_CLIENT","USE_DEVTOOLS","_global","bom","blob","autoBom","download","url","xhr","saveAs","corsEnabled","click","evt","_navigator","isMacOSWebView","downloadSaveAs","msSaveAs","fileSaverSaveAs","popup","force","isSafari","isChromeIOS","reader","toastMessage","piniaMessage","isPinia","checkClipboardAccess","checkNotFocusedError","actionGlobalCopyState","actionGlobalPasteState","loadStoresState","actionGlobalSaveState","fileInput","getFileOpener","openFile","files","file","actionGlobalOpenStateFile","storeState","formatDisplay","display","PINIA_ROOT_LABEL","PINIA_ROOT_ID","formatStoreForInspectorTree","store","formatStoreForInspectorState","storeNames","storeMap","storeId","getters","getterName","formatEventData","formatMutationType","isTimelineActive","componentStateTypes","MUTATIONS_LAYER_ID","INSPECTOR_ID","assign$1","getStoreType","registerPiniaDevtools","piniaStores","stores","inspectedStore","addStoreToDevtools","after","runningActionId","activeAction","eventData","hotUpdate","newStore","$dispose","patchActionForGrouping","actionNames","wrapWithProxy","storeActions","actionName","_actionId","trackedStore","retValue","devtoolsPlugin","originalHotUpdate","createPinia","_p","toBeInstalled","patchObject","newState","oldState","subPatch","targetValue","noop","addSubscription","subscriptions","removeSubscription","idx","triggerSubscriptions","fallbackRunWithContext","mergeReactiveObjects","patchToApply","skipHydrateSymbol","shouldHydrate","isComputed","createOptionsStore","hot","initialState","localState","computedGetters","createSetupStore","$id","isOptionsStore","optionsForPlugin","$subscribeOptions","isListening","debuggerEvents","isSyncListening","actionSubscriptions","hotState","activeListener","$patch","partialStateOrMutator","subscriptionMutation","myListenerId","$reset","$state","wrapAction","afterCallbackList","onErrorCallbackList","_hmrPayload","partialStore","stopWatcher","setupStore","actionValue","stateKey","newStateTarget","oldStateSource","getterValue","nonEnumerable","extender","extensions","defineStore","idOrOptions","setupOptions","isSetupStore","useStore","hasContext","hotId","vm","mapStoreSuffix","mapStores","reduced","bind","toString","getPrototypeOf","kindOf","thing","kindOfTest","typeOfTest","isUndefined","isBuffer","isArrayBuffer","isArrayBufferView","prototype","isFile","isBlob","isFileList","isStream","isFormData","kind","isURLSearchParams","isReadableStream","isRequest","isResponse","isHeaders","forEach","allOwnKeys","findKey","isContextDefined","merge","caseless","assignValue","targetKey","stripBOM","inherits","constructor","superConstructor","descriptors","toFlatObject","sourceObj","destObj","filter","propFilter","endsWith","searchString","position","toArray","isTypedArray","TypedArray","forEachEntry","iterator","pair","matchAll","regExp","isHTMLForm","toCamelCase","p1","p2","reduceDescriptors","reducer","reducedDescriptors","freezeMethods","toObjectSet","arrayOrString","delimiter","define","toFiniteNumber","ALPHA","DIGIT","ALPHABET","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","utils$1","AxiosError","config","request","response","utils","customProps","axiosError","httpAdapter","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","metaTokens","visitor","defaultVisitor","indexes","useBlob","convertValue","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","fulfilled","rejected","transitionalDefaults","URLSearchParams$1","FormData$1","Blob$1","platform$1","URLSearchParams","FormData","Blob","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","origin","platform","toURLEncodedForm","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","parser","headers","contentType","hasJSONContentType","isObjectPayload","_FormData","transitional","forcedJSONParsing","JSONRequested","strictJSONParsing","status","ignoreDuplicateOf","parseHeaders","rawHeaders","$internals","normalizeHeader","normalizeValue","parseTokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","w","char","buildAccessors","accessorName","methodName","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","matcher","deleted","deleteHeader","targets","asStrings","first","accessors","defineAccessor","mapped","headerValue","transformData","isCancel","CanceledError","settle","validateStatus","parseProtocol","speedometer","samplesCount","min","bytes","timestamps","head","tail","firstSampleTS","chunkLength","startedAt","bytesCount","passed","throttle","freq","timestamp","threshold","timer","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","progressBytes","rate","inRange","isURLSameOrigin","msie","urlParsingNode","originURL","resolveURL","href","requestURL","cookies","expires","secure","cookie","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","resolveConfig","newConfig","withXSRFToken","xsrfHeaderName","xsrfCookieName","auth","xsrfValue","isXHRAdapterSupported","xhrAdapter","_config","requestData","requestHeaders","responseType","onCanceled","onloadend","responseHeaders","timeoutErrorMessage","cancel","protocol","composeSignals","signals","timeout","controller","aborted","onabort","unsubscribe","signal","streamChunk","chunk","chunkSize","readBytes","iterable","trackStream","stream","onProgress","onFinish","reason","fetchProgressDecorator","lengthComputable","isFetchSupported","isReadableStreamSupported","encodeText","supportsRequestStream","duplexAccessed","hasContentType","DEFAULT_CHUNK_SIZE","supportsResponseStream","resolvers","getBodyLength","resolveBodyLength","fetchAdapter","cancelToken","onDownloadProgress","onUploadProgress","withCredentials","fetchOptions","composedSignal","stopTimeout","finished","requestContentLength","_request","contentTypeHeader","isStreamResponse","responseContentLength","responseData","knownAdapters","renderReason","isResolvedHandle","adapter","adapters$1","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","dispatchRequest","validators","deprecatedWarnings","formatMessage","assertOptions","schema","allowUnknown","Axios","instanceConfig","configOrUrl","dummy","paramsSerializer","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","promise","onFulfilled","onRejected","fullPath","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","onfulfilled","_resolve","spread","isAxiosError","HttpStatusCode","createInstance","defaultConfig","axios","promises","apiURL","serv","parseErrorData","param","sessionId","fieldErrors","model","useBaseDataStore","glob","useGlobalStateStore","createNew","decade","income","Sections","Sections2","HeatingModes","WinterHeatingOptions","HouseTypes","getInitialHouse","isPrimary","getElectricityDefaults","getHeatingDefaults","getPurchaseDefaults","familySize","sendHouse","testInstanceId","he","house","getHouse","defaultArea","startView","area","useHousingStore","par","updateConsumption","primaryHouse","secondaryHouse","electricity","heating","purchases","section","currentlyShownResults","buildingData","electricityData","heatingData","purchaseData","addAction","linkDisplayText","heat","heatingEstimatesUsed","heatingEstimatesExceeded","heatingConsumptionBelowEstimates","links","ConsumptionFields","defaultLevels","useConsumptionStore","Frequencies","AmountEstimates","useWasteStore","Diets","FoodSections","FoodSections2","foodConsumptionAverages","eggCountToRatio","singleEggPercentage","useFoodStore","eggs","ratio","TransportSections","TransportSections2","BoatTypes","Fuels","Sizes","carsToSendFormat","cars","retCars","car","getFuelDetails","fuel","details","f","getCarFuelPercentageTotal","sum","useTransportStore","publicResult","order","sumAfter","detail","remainder","carResultSum","baseData","totalCarDistance","x","y","hasBioGasCar","postalCodeAsNumber","parseResponse","date","useResultsComparisonStore","withSecondaryHouse","diet","ex","postalCode","duplicateIndex","image","address","email","startViewState","housingState","consumptionState","wasteState","foodState","transportState","resultState","_sfc_main$K","_imports_0$2","_sfc_render","_cache","$props","$setup","$data","$options","$event","_normalizeClass","_sfc_main$J","_imports_0$1","_resolveComponent","isVisible","globalStateStore","baseDataSubmitted","housingStore","foodStore","transportStore","consumptionStore","wasteStore","hasAnySubmitted","_createBlock","_createCommentVNode","validateForm","form","input","prevErrorElements","errorElement","isOldInternetExplorer","ua","scrollToElement","elementId","element","top","roundResults","_sfc_main$H","DialogBase","_component_DialogBase","_withKeys","_withModifiers","emailSent","_withDirectives","_sfc_main$G","expirationDate","monthsToAdd","daysToAdd","allowedDate","expiresHour","expiresMinutes","expiresDateTime","_hoisted_7","_hoisted_10","_hoisted_13","_hoisted_17","contact","_hoisted_18","_hoisted_19","backgroundUrl","smallBackgroundUrl","_sfc_main$F","BaseHeader","BaseNavigation","BaseFooter","LoginDialog","CreateGroupCodeDialog","$route","_component_BaseHeader","_component_BaseNavigation","baseDataStore","_component_router_view","_component_BaseFooter","_component_LoginDialog","mobileMenuVisible","_component_CreateGroupCodeDialog","_sfc_main$E","withRegistration","_component_IntegerInput","_component_SubFormSection","_Fragment","_renderList","incomeOptions","gender","_vModelRadio","groupCode","_vModelText","round","lim","p2b","n2b","b2n","n2p","map$1","hex","h1","h2","eq","isShort","hexParse","alpha","hexString","HUE_RE","hsl2rgbn","hsv2rgbn","hwb2rgbn","rgb","hueValue","max","rgb2hsl","calln","hsl2rgb","hwb2rgb","hsv2rgb","hue","hueParse","rotate","deg","hslString","names$1","unpack","unpacked","tkeys","ok","nk","nameParse","RGB_RE","rgbParse","rgbString","rgb1","rgb2","modHSL","clone","fromObject","functionParse","Color","color","weight","w2","w1","isNullOrUndef","isNumberFinite","finiteOrDefault","valueOrDefault","toPercentage","dimension","toDimension","each","loopable","reverse","_elementsEqual","a0","a1","ilen","v0","v1","klen","isValidKey","_merger","tval","sval","sources","merger","mergeIf","_mergerIf","keyResolvers","_splitKey","_getKeyResolver","resolveObjectKey","_capitalize","defined","setsEqual","_isClickEvent","PI","TAU","INFINITY","RAD_PER_DEG","HALF_PI","QUARTER_PI","TWO_THIRDS_PI","log10","sign","almostEquals","epsilon","niceNum","range","roundedRange","niceRange","fraction","_factorize","sqrt","almostWhole","rounded","_setMinAndMaxByKey","array","property","toRadians","degrees","toDegrees","radians","_decimalPlaces","getAngleFromPoint","centrePoint","anglePoint","distanceFromXCenter","distanceFromYCenter","radialDistanceFromCenter","angle","_normalizeAngle","_angleBetween","sameAngleIsFullCircle","angleToStart","angleToEnd","startToAngle","endToAngle","_limitValue","_int16Range","_isBetween","_lookup","table","cmp","hi","lo","mid","_lookupByKey","ti","_rlookupByKey","_filterBetween","arrayEvents","listenArrayEvents","unlistenArrayEvents","stub","listeners","_arrayUnique","requestAnimFrame","throttled","argsToUse","ticking","debounce","delay","_toLeftRightCenter","align","_alignStartEnd","_textX","left","right","rtl","atEdge","elasticIn","elasticOut","effects","isPatternOrGradient","getHoverColor","numbers","colors","applyAnimationsDefaults","applyLayoutsDefaults","intlCache","formatNumber","formatters","tickValue","ticks","notation","delta","maxTick","calculateDelta","logDelta","numDecimal","remain","Ticks","applyScaleDefaults","getScope$1","Defaults","_descriptors","_appliers","targetScope","targetName","scopeObject","targetScopeObject","privateName","local","appliers","toFontString","font","_measureText","gc","longest","string","textWidth","_longestText","arrayOfThings","jlen","nestedThing","gcLen","_alignPixel","chart","pixel","width","devicePixelRatio","halfWidth","clearCanvas","canvas","drawPointLegend","xOffset","yOffset","cornerRadius","xOffsetW","yOffsetW","rotation","radius","rad","_isPointInArea","point","margin","clipArea","unclipArea","setRenderOpts","decorateText","metrics","bottom","yDecoration","drawBackdrop","oldColor","renderText","stroke","addRoundedRectPath","rect","LINE_HEIGHT","FONT_STYLE","toLineHeight","numberOrZero","_readValueToProps","objProps","read","toTRBL","toTRBLCorners","toPadding","toFont","inputs","_addGrace","minmax","grace","beginAtZero","change","keepZero","createContext","parentContext","_createResolver","scopes","rootScopes","finalRootScopes","_cached","_resolveWithPrefixes","getKeysFromAllScopes","storage","_attachContext","subProxy","descriptorDefaults","_resolveWithContext","_scriptable","_indexable","_allKeys","readKey","prefix","needsSubResolver","_proxy","_subProxy","_resolveScriptable","_resolveArray","_stack","createSubResolver","isIndexable","resolveFallback","addScopes","parentScopes","parentFallback","allScopes","addScopesFromKey","subGetTarget","resolveKeysFromAllScopes","_isDomSupported","_getParentNode","domNode","parseMaxStyle","parentProperty","valueInPixels","getComputedStyle","getStyle","positions","getPositionedStyle","styles","suffix","useOffsetPos","getCanvasPosition","touches","offsetX","offsetY","box","getRelativePosition","currentDevicePixelRatio","borderBox","paddings","borders","height","getContainerSize","maxWidth","maxHeight","containerStyle","containerBorder","containerPadding","round1","getMaximumSize","bbWidth","bbHeight","aspectRatio","margins","containerSize","retinaScale","forceRatio","forceStyle","pixelRatio","deviceHeight","deviceWidth","supportsEventListenerOptions","passiveSupported","readUsedSize","getRightToLeftAdapter","rectX","itemWidth","getLeftToRightAdapter","_itemWidth","getRtlAdapter","overrideTextDirection","direction","original","restoreTextDirection","Animator","anims","callbacks","numSteps","remaining","draw","charts","acc","animator","transparent","interpolators","factor","c0","Animation","cfg","currentValue","elapsed","duration","loop","rej","Animations","animationOptions","animatedProps","newOptions","resolveTargetOptions","animations","awaitAll","running","animation","properties","anim","scaleClip","scale","allowedOverflow","defaultClip","xScale","yScale","toClip","getSortedDatasetIndices","filterVisible","metasets","applyStack","dsIndex","singleMode","datasetIndex","otherValue","convertObjectDataToArray","iScale","vScale","iAxisKey","vAxisKey","adata","isStacked","stacked","getStackKey","indexScale","valueScale","getUserBounds","minDefined","maxDefined","getOrCreateStack","stacks","stackKey","indexValue","subStack","getLastIndexInStack","positive","updateStacks","iAxis","vAxis","itemStacks","visualValues","getFirstScaleId","axis","scales","createDatasetContext","createDataContext","clearStacks","isDirectUpdateMode","cloneIfNotShared","shared","createStack","canStack","DatasetController","dataset","chooseId","xid","yid","rid","indexAxis","iid","vid","scaleID","_data","resetNewElements","stackChanged","oldStacked","scopeKeys","_stacked","sorted","isNotInOrderComparedToPrev","labels","singleScale","xAxisKey","yAxisKey","_parsed","otherScale","otherMin","otherMax","_skip","elements","active","drawActiveElementsOnTop","elementType","sharing","sharedOptions","firstOpts","previouslySharedOptions","includeOptions","numMeta","numData","removed","newCount","__publicField","getAllScaleValues","visibleMetas","computeMinSampleSize","curr","updateMinAndPrev","computeFitCategoryTraits","ruler","stackCount","thickness","computeFlexCategoryTraits","pixels","percent","parseFloatBar","startValue","endValue","barStart","barEnd","parseArrayOrPrimitive","isFloatBar","barSign","actualBase","borderProps","setBorderSkipped","edge","parseEdge","swap","startEnd","orig","v2","setInflateAmount","inflateAmount","BarController","bars","horizontal","vpixels","ipixels","dataIndex","skipNull","barThickness","baseValue","minBarLength","floating","startPixel","endPixel","halfGrid","maxBarThickness","center","stackIndex","rects","getRatioAndOffset","circumference","cutout","ratioX","ratioY","startAngle","endAngle","startX","startY","endX","endY","calcMax","calcMin","maxX","maxY","minX","minY","DoughnutController","chartArea","arcs","spacing","maxSize","chartWeight","maxRadius","outerRadius","innerRadius","radiusLength","animationOpts","centerX","centerY","animateScale","arc","metaData","ringWeightOffset","pointStyle","label","legendItem","legend","abstract","DateAdapterBase","members","binarySearch","metaset","intersect","_sorted","lookupMethod","evaluateInteractionItems","getDistanceMetricForAxis","useX","useY","pt1","pt2","deltaX","deltaY","getIntersectItems","useFinalPosition","includeInvisible","getNearestRadialItems","evaluationFunc","getNearestCartesianItems","distanceMetric","minDistance","distance","getNearestItems","getAxisItems","rangeMethod","intersectsItem","Interaction","STATIC_POSITIONS","filterByPosition","filterDynamicPositionByAxis","sortByWeight","wrapBoxes","boxes","layoutBoxes","stackWeight","buildStacks","layouts","setLayoutDims","vBoxMaxWidth","hBoxMaxHeight","layout","fullSize","buildLayoutBoxes","centerHorizontal","centerVertical","getCombinedMax","maxPadding","updateMaxPadding","boxPadding","updateDims","newWidth","newHeight","widthChanged","heightChanged","handleMaxPadding","updatePos","getMargins","marginForPositions","fitBoxes","refitBoxes","refit","changed","same","other","setBoxDims","placeBoxes","userPadding","layoutItem","minPadding","padding","availableWidth","availableHeight","verticalBoxes","horizontalBoxes","visibleVerticalBoxCount","BasePlatform","BasicPlatform","EXPANDO_KEY","EVENT_TYPES","isNullOrEmpty","initCanvas","renderHeight","renderWidth","displayWidth","displayHeight","eventListenerOptions","addListener","removeListener","fromNativeEvent","nodeListContains","nodeList","createAttachObserver","observer","createDetachObserver","drpListeningCharts","oldDevicePixelRatio","onWindowResize","dpr","resize","listenDevicePixelRatioChanges","unlistenDevicePixelRatioChanges","createResizeObserver","releaseObserver","createProxyAndListen","DomPlatform","initial","proxies","_detectPlatform","Element$1","final","autoSkip","tickOpts","determinedMaxTicks","determineMaxTicks","ticksLimit","majorIndices","getMajorIndices","numMajorIndices","newTicks","skipMajors","calculateSpacing","avgMajorSpacing","skip","tickLength","maxScale","maxChart","evenMajorSpacing","getEvenSpacing","factors","majorStart","majorEnd","reverseAlign","offsetFromEdge","getTicksLimit","ticksLength","maxTicksLimit","sample","numItems","increment","getPixelForGridLine","offsetGridLines","validIndex","lineValue","garbageCollect","caches","getTickMarkLength","getTitleHeight","createScaleContext","createTickContext","tick","titleAlign","titleArgs","titleX","titleY","positionAxisID","Scale","Element","_userMin","_userMax","_suggestedMin","_suggestedMax","metas","sampleSize","samplingEnabled","reversePixels","numTicks","minRotation","maxRotation","labelRotation","tickWidth","maxLabelDiagonal","labelSizes","maxLabelWidth","maxLabelHeight","minSize","titleOpts","gridOpts","isHorizontal","titleHeight","widest","highest","tickPadding","angleRadians","cos","sin","labelHeight","labelWidth","isRotated","labelsBelowTicks","offsetLeft","offsetRight","paddingLeft","paddingRight","paddingTop","paddingBottom","widths","heights","widestLabelSize","highestLabelSize","tickFont","fontString","lineHeight","nestedLabel","valueAt","decimal","optionTicks","rot","grid","border","tl","borderOpts","axisWidth","axisHalfWidth","alignBorderValue","borderValue","alignedLineValue","tx1","ty1","tx2","ty2","x1","y1","x2","y2","limit","step","optsAtIndex","optsAtIndexBorder","lineWidth","lineColor","borderDash","borderDashOffset","tickColor","tickBorderDash","tickBorderDashOffset","crossAlign","mirror","tickAndPadding","hTickAndPadding","textAlign","lineCount","textOffset","textBaseline","halfCount","strokeColor","strokeWidth","tickTextAlign","backdrop","labelPadding","backgroundColor","drawLine","lastLineWidth","renderTextOptions","title","tz","gz","bz","axisID","fontSize","TypedRegistry","override","parentScope","isIChartComponent","registerDefaults","itemDefaults","routeDefaults","routes","propertyParts","sourceName","sourceScope","Registry","typedRegistry","reg","itemReg","camelMethod","PluginService","all","plugins","allPlugins","createDescriptors","previousDescriptors","localIds","getOpts","pluginOpts","getIndexAxis","datasetDefaults","getAxisFromDefaultScaleID","getDefaultScaleIDFromAxis","idMatchesAxis","axisFromPosition","determineAxis","scaleOptions","getAxisFromDataset","retrieveAxisFromDatasets","boundDs","mergeScaleConfig","chartDefaults","configScales","chartIndexAxis","scaleConf","defaultId","defaultScaleOptions","defaultID","initOptions","initData","initConfig","keyCache","keysCached","cachedKeys","addIfFound","Config","datasetType","mainScope","resetCache","_scopeCache","keyLists","subPrefixes","getResolver","needContext","subResolver","resolverCache","hasFunction","isScriptable","scriptable","indexable","KNOWN_POSITIONS","positionIsHorizontal","compare2Level","l1","onAnimationsComplete","onAnimationProgress","getCanvas","getChart","moveNumericKeys","intKey","determineLastEvent","lastEvent","inChartArea","isClick","getSizeForArea","getDatasetArea","Chart$1","invalidatePlugins","userConfig","initialCanvas","existingChart","maintainAspectRatio","_aspectRatio","newSize","newRatio","scalesOptions","axisOptions","scaleOpts","isRadial","scaleType","scaleClass","hasUpdated","datasets","newControllers","ControllerClass","datasetElementType","dataElementType","animsDisabled","_active","_lastEvent","existingEvents","newEvents","_hiddenIndices","changes","_dataChanges","datasetCount","makeSet","changeSet","noArea","layers","clip","useClip","visible","_add","_remove","attached","enabled","activeElements","lastActive","replay","hoverOptions","eventFilter","Chart","clipArc","pixelMargin","angleMargin","toRadiusCorners","parseBorderRadius$1","angleDelta","halfThickness","innerLimit","computeOuterLimit","outerArcLimit","rThetaToXY","theta","pathArc","circular","innerR","spacingOffset","noSpacingInnerRadius","noSpacingOuterRadius","avNogSpacingRadius","adjustedAngle","beta","angleOffset","outerStart","outerEnd","innerStart","innerEnd","outerStartAdjustedRadius","outerEndAdjustedRadius","outerStartAdjustedAngle","outerEndAdjustedAngle","innerStartAdjustedRadius","innerEndAdjustedRadius","innerStartAdjustedAngle","innerEndAdjustedAngle","outerMidAdjustedAngle","pCenter","p4","innerMidAdjustedAngle","p8","outerStartX","outerStartY","outerEndX","outerEndY","drawArc","fullCircles","drawBorder","borderWidth","borderJoinStyle","inner","ArcElement","chartX","chartY","rAdjust","betweenAngles","withinRadius","halfAngle","halfRadius","fix","radiusOffset","getBarBounds","bar","half","skipOrLimit","parseBorderWidth","maxW","maxH","parseBorderRadius","enableBorderRadius","maxR","enableBorder","boundingRects","bounds","skipX","skipY","hasRadius","addNormalRectPath","inflateRect","amount","refRect","BarElement","borderColor","outer","addRectPath","mouseX","mouseY","getBoxSize","labelOpts","boxHeight","boxWidth","itemsEqual","Legend","legendItems","labelFont","itemHeight","hitboxes","lineWidths","totalHeight","row","_itemHeight","columnSizes","heightLimit","totalWidth","currentColWidth","currentColHeight","col","calculateItemSize","rtlHelper","hitbox","defaultColor","halfFontSize","cursor","drawLegendBox","drawOptions","yBoxTop","xBoxLeft","borderRadius","fillText","realX","fontLineHeight","calculateLegendItemHeight","titleFont","titlePadding","topPaddingPlusHalfFontSize","hitBox","lh","isListened","hoveredItem","previous","sameItem","calculateItemWidth","calculateItemHeight","legendItemText","plugin_legend","_args","ci","usePointStyle","useBorderRadius","addIfString","addedLabels","findOrAddLabel","_getLabelForValue","CategoryScale","added","generateTicks$1","generationOptions","dataRange","precision","maxTicks","maxDigits","includeBounds","unit","maxSpaces","rmin","rmax","countDefined","minSpacing","niceMin","niceMax","numSpaces","decimalPlaces","relativeLabelSize","LinearScaleBase","setMin","setMax","minSign","maxSign","stepSize","numericGeneratorOptions","LinearScale","log10Floor","changeExponent","isMajor","tickVal","steps","rangeExp","rangeStep","startExp","generateTicks","minExp","significand","lastTick","LogarithmicScale","getTickBackdropHeight","measureLabelSize","determineLimits","fitWithPointLabels","limits","valueCount","pointLabelOpts","additionalAngle","pointPosition","plFont","textSize","hLimits","vLimits","updateLimits","buildPointLabelItems","createPointLabelItem","itemOpts","outerDistance","extra","pointLabelPosition","yForAngle","getTextAlignForAngle","leftForTextAlign","isNotOverlapped","centerPointLabels","drawPointLabelBox","backdropColor","backdropLeft","backdropTop","backdropWidth","backdropHeight","drawPointLabels","labelCount","pointLabels","pathRadiusLine","drawRadiusLine","gridLineOpts","createPointLabelContext","RadialLinearScale","leftMovement","rightMovement","topMovement","bottomMovement","angleMultiplier","scalingFactor","scaledDistance","pointLabel","distanceFromCenter","angleLines","INTERVALS","UNITS","sorter","isoWeekday","determineUnitForAutoTicks","minUnit","capacity","interval","determineUnitForFormatting","determineMajorUnit","addTick","setMajorTicks","majorUnit","major","ticksFromTimestamps","TimeScale","_applyBounds","timeOpts","minor","weekday","hasWeekday","formats","fmt","minorFormat","majorFormat","offsets","ticksOpts","tickLabelWidth","cosRotation","sinRotation","tickFontSize","exampleTime","displayFormats","exampleLabel","prevSource","nextSource","prevTarget","nextTarget","span","TimeSeriesScale","CommonProps","A11yProps","Props","compatProps","toRawIfProxy","cloneProxy","setOptions","nextOptions","setLabels","currentData","nextLabels","setDatasets","nextDatasets","datasetIdKey","addedDatasets","nextDataset","currentDataset","cloneData","nextData","canvasRef","chartRef","renderChart","clonedData","proxiedData","destroyChart","param1","nextOptionsProxy","nextDataProxy","prevOptionsProxy","prevDataProxy","shouldUpdate","prevOptions","prevLabels","prevDatasets","createTypedChart","registerables","reforwardRef","Bar","Doughnut","fontStyle","textX","textY","ChartJS","_sfc_main$D","chartData","percentage","html","_component_Doughnut","_sfc_main$C","isExpanded","link","_renderSlot","_sfc_main$B","SubSection","DoughnutChart","_component_DoughnutChart","buttons","button","_sfc_main$A","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_component_SubForm","consumptionTitleClicked","_hoisted_25","_sfc_main$z","dietTitleClicked","lowCarbonPreference","_vModelCheckbox","_sfc_main$y","restaurantTitleClicked","_sfc_main$x","FoodConsumption","FoodDiet","FoodRestaurant","ResultBase","targetSection","_component_FoodDiet","_component_FoodConsumption","_component_FoodRestaurant","_component_ResultBase","_sfc_main$w","_component_DetailsButton","_component_RangeInput","updateLowCarbon","yearTotal","_sfc_main$v","titleClicked","_component_DecimalInput","_sfc_main$u","isEnabled","isActive","_sfc_main$t","shown","_sfc_main$s","DetailsButton","_component_SubFormRadioSection","mainHeatingMode","additionalHeatingModes","_sfc_main$r","furniture","appliances","misc","renovations","cleaning","_sfc_main$q","winterHeating","_sfc_main$p","HousingBasics","HousingElectricity","HousingHeating","HousingPurchases","HousingWinterHeating","secondHouseReady","currentSection","sectionsNeedingSaves","waitHeating","waitElectricity","waitHeatingResult","waitElectricityResults","updateDistrictConsumption","updateOilConsumption","updateCons","_component_HousingBasics","changeSection","_component_HousingHeating","_component_HousingElectricity","_component_HousingPurchases","_component_HousingWinterHeating","submitEnabled","N","V","z","A","R","X","W","F","Y","q","K","U","G","J","H","T","D","B","O","M","I","Q","Z","$","ee","se","ie","le","ne","re","ae","de","oe","ue","ce","fe","ve","ge","pe","me","P","E","C","L","Se","S","be","_sfc_main$o","VueperSlides","VueperSlide","_component_VueperSlides","slide","_component_VueperSlide","_sfc_main$n","_component_Bar","extendStatics","__extends","__","__assign","__awaiter","_arguments","adopt","__generator","verb","op","__spreadArray","pack","ar","Bounds","clientRect","domRectList","domRect","parseBounds","parseDocumentSize","document","documentElement","toCodePoints$1","codePoints","fromCodePoint$1","_i","codeUnits","chars$2","lookup$2","i$2","chars$1$1","lookup$1$1","i$1$1","decode$1","base64","bufferLength","encoded1","encoded2","encoded3","encoded4","polyUint16Array$1","polyUint32Array$1","UTRIE2_SHIFT_2$1","UTRIE2_SHIFT_1$1","UTRIE2_INDEX_SHIFT$1","UTRIE2_SHIFT_1_2$1","UTRIE2_LSCP_INDEX_2_OFFSET$1","UTRIE2_DATA_BLOCK_LENGTH$1","UTRIE2_DATA_MASK$1","UTRIE2_LSCP_INDEX_2_LENGTH$1","UTRIE2_INDEX_2_BMP_LENGTH$1","UTRIE2_UTF8_2B_INDEX_2_OFFSET$1","UTRIE2_UTF8_2B_INDEX_2_LENGTH$1","UTRIE2_INDEX_1_OFFSET$1","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH$1","UTRIE2_INDEX_2_BLOCK_LENGTH$1","UTRIE2_INDEX_2_MASK$1","slice16$1","view","slice32$1","createTrieFromBase64$1","_byteLength","view32","view16","headerLength","Trie$1","Trie","errorValue","highStart","highValueIndex","ix","chars$3","lookup$3","i$3","base64$1","LETTER_NUMBER_MODIFIER","BK","CR$1","LF$1","CM","NL","WJ","ZW","GL","SP","ZWJ$1","B2","BA","BB","HY","CB","CL","CP","EX","IN","NS","OP","QU","IS","NU","PO","PR","SY","AI","AL","CJ","EB","EM","H2","H3","HL","ID","JL","JV","JT","RI$1","SA","XX","ea_OP","BREAK_MANDATORY","BREAK_NOT_ALLOWED$1","BREAK_ALLOWED$1","UnicodeTrie$1","ALPHABETICS","HARD_LINE_BREAKS","SPACE$1","PREFIX_POSTFIX","LINE_BREAKS","KOREAN_SYLLABLE_BLOCK","HYPHEN","codePointsToCharacterClasses","lineBreak","indices","categories","classType","isAdjacentWithSpaceIgnored","currentIndex","classTypes","previousNonSpaceClassType","_lineBreakAtIndex","indicies","forbiddenBreaks","beforeIndex","afterIndex","prevIndex","cssFormattedClasses","isLetterNumber","forbiddenBreakpoints","letterNumber","Break","LineBreaker","lastEnd","FLAG_UNRESTRICTED","FLAG_ID","FLAG_INTEGER","FLAG_NUMBER","LINE_FEED","SOLIDUS","REVERSE_SOLIDUS","CHARACTER_TABULATION","SPACE","QUOTATION_MARK","EQUALS_SIGN","NUMBER_SIGN","DOLLAR_SIGN","PERCENTAGE_SIGN","APOSTROPHE","LEFT_PARENTHESIS","RIGHT_PARENTHESIS","LOW_LINE","HYPHEN_MINUS","EXCLAMATION_MARK","LESS_THAN_SIGN","GREATER_THAN_SIGN","COMMERCIAL_AT","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","CIRCUMFLEX_ACCENT","LEFT_CURLY_BRACKET","QUESTION_MARK","RIGHT_CURLY_BRACKET","VERTICAL_LINE","TILDE","CONTROL","REPLACEMENT_CHARACTER","ASTERISK","PLUS_SIGN","COMMA","COLON","SEMICOLON","FULL_STOP","NULL","BACKSPACE","LINE_TABULATION","SHIFT_OUT","INFORMATION_SEPARATOR_ONE","DELETE","ZERO","isSurrogateCodePoint","isHex","isLowerCaseLetter","isUpperCaseLetter","isLetter","isNonASCIICodePoint","isWhiteSpace","isNameStartCodePoint","isNameCodePoint","isNonPrintableCodePoint","isValidEscape","c3","stringToNumber","integers","int","fracd","frac","expsign","exponent","LEFT_PARENTHESIS_TOKEN","RIGHT_PARENTHESIS_TOKEN","COMMA_TOKEN","SUFFIX_MATCH_TOKEN","PREFIX_MATCH_TOKEN","COLUMN_TOKEN","DASH_MATCH_TOKEN","INCLUDE_MATCH_TOKEN","LEFT_CURLY_BRACKET_TOKEN","RIGHT_CURLY_BRACKET_TOKEN","SUBSTRING_MATCH_TOKEN","BAD_URL_TOKEN","BAD_STRING_TOKEN","CDO_TOKEN","CDC_TOKEN","COLON_TOKEN","SEMICOLON_TOKEN","LEFT_SQUARE_BRACKET_TOKEN","RIGHT_SQUARE_BRACKET_TOKEN","WHITESPACE_TOKEN","EOF_TOKEN","Tokenizer","flags","e3","a2","a3","u1","u2","questionMarks","start_1","digit","endDigits","stringToken","SLICE_STACK_SIZE","endingCodePoint","repr","hexCodePoint","Parser","isEndingTokenFor","functionToken","cssFunction","isDimensionToken","isNumberToken","isIdentToken","isStringToken","isIdentWithValue","nonWhiteSpace","nonFunctionArgSeparator","parseFunctionArgs","isLength","isLengthPercentage","parseLengthPercentageTuple","ZERO_LENGTH","FIFTY_PERCENT","HUNDRED_PERCENT","getAbsoluteValueForTuple","tuple","getAbsoluteValue","DEG","GRAD","RAD","TURN","isAngle","parseNamedSide","sideOrCorner","ident","color$1","colorFunction","SUPPORTED_COLOR_FUNCTIONS","namedColor","COLORS","isTransparent","asString","blue","green","red","getTokenColorValue","hue2rgb","t1","t2","hsl","saturation","lightness","parseColor","backgroundClip","parseColorStop","stop","processColorStops","stops","processStops","stop_1","absoluteValue","gapBegin","stop_2","gapLength","beforeGap","gapValue","getAngleFromCorner","corner","calculateGradientDirection","radian","halfHeight","halfLineLength","yDiff","xDiff","findCorner","closest","corners","stat","cx","cy","calculateRadius","gradient","rx","ry","linearGradient","angle$1","firstToken","colorStop","prefixLinearGradient","webkitGradient","shape","CLOSEST_SIDE","FARTHEST_SIDE","CLOSEST_CORNER","FARTHEST_CORNER","CIRCLE","ELLIPSE","COVER","CONTAIN","radialGradient","isColorStop","isAtPosition_1","prefixRadialGradient","isLinearGradient","background","isRadialGradient","image_1","imageFunction","SUPPORTED_IMAGE_FUNCTIONS","isSupportedImage","backgroundImage","backgroundOrigin","backgroundPosition","backgroundRepeat","parseBackgroundRepeat","BACKGROUND_SIZE","backgroundSize","isBackgroundSizeInfoToken","borderColorForSide","side","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","borderRadiusForSide","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyleForSide","borderTopStyle","borderRightStyle","borderBottomStyle","borderLeftStyle","borderWidthForSide","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","bit","parseDisplayValue","float","letterSpacing","LINE_BREAK","computeLineHeight","listStyleImage","listStylePosition","listStyleType","marginForSide","marginTop","marginRight","marginBottom","marginLeft","overflow","overflowWrap","paddingForSide","textShadow","shadow","textTransform","transform$1","transformFunction","SUPPORTED_TRANSFORM_FUNCTIONS","matrix","matrix3d","b1","b2","a4","b4","DEFAULT_VALUE","DEFAULT","transformOrigin","origins","visibility","WORD_BREAK","wordBreak","zIndex","opacity","textDecorationColor","textDecorationLine","fontFamily","accumulator","fontWeight","fontVariant","contains","counterIncrement","increments","counter","counterReset","resets","quotes","open_1","close_1","getQuote","quote","boxShadow","paintOrder","webkitTextStrokeColor","webkitTextStrokeWidth","CSSParsedDeclaration","declaration","overflowTuple","CSSParsedPseudoDeclaration","CSSParsedCounterDeclaration","length_1","value_1","elementDebuggerAttribute","getElementDebugType","attribute","isDebugging","ElementContainer","isHTMLElementNode","chars$1","lookup$1","i$1","decode","polyUint16Array","polyUint32Array","UTRIE2_SHIFT_2","UTRIE2_SHIFT_1","UTRIE2_INDEX_SHIFT","UTRIE2_SHIFT_1_2","UTRIE2_LSCP_INDEX_2_OFFSET","UTRIE2_DATA_BLOCK_LENGTH","UTRIE2_DATA_MASK","UTRIE2_LSCP_INDEX_2_LENGTH","UTRIE2_INDEX_2_BMP_LENGTH","UTRIE2_UTF8_2B_INDEX_2_OFFSET","UTRIE2_UTF8_2B_INDEX_2_LENGTH","UTRIE2_INDEX_1_OFFSET","UTRIE2_OMITTED_BMP_INDEX_1_LENGTH","UTRIE2_INDEX_2_BLOCK_LENGTH","UTRIE2_INDEX_2_MASK","slice16","slice32","createTrieFromBase64","chars","lookup","Prepend","CR","LF","Control","Extend","SpacingMark","LV","LVT","ZWJ","Extended_Pictographic","RI","toCodePoints","fromCodePoint","UnicodeTrie","BREAK_NOT_ALLOWED","BREAK_ALLOWED","codePointToClass","_graphemeBreakAtIndex","_codePoints","countRI","GraphemeBreaker","graphemeBreak","splitGraphemes","breaker","graphemes","bk","testRangeBounds","TEST_HEIGHT","testElement","rangeBounds","rangeHeight","testIOSLineBreak","textList","supports","boundAhead","testCORS","testResponseType","testSVG","img","isGreenPixel","testForeignObject","greenImageSrc","svg","createForeignObjectSVG","loadSerializedSVG$1","xmlns","foreignObject","FEATURES","TextBounds","parseTextBounds","breakText","textBounds","clientRects","createRange","subSegments","segmentGraphemes","subOffset_1","subSegment","replacementNode","getWrapperBounds","ownerDocument","parentNode","segmenter","segment","segmentWords","breakWords","wordSeparators","words","_loop_1","word_1","TextContainer","CAPITALIZE","ImageElementContainer","_super","_this","CanvasElementContainer","SVGElementContainer","LIElementContainer","OLElementContainer","CHECKBOX_BORDER_RADIUS","RADIO_BORDER_RADIUS","reformatInputBounds","getInputValue","PASSWORD","CHECKBOX","RADIO","INPUT_COLOR","InputElementContainer","SelectElementContainer","TextareaElementContainer","IFrameElementContainer","iframe","parseTree","documentBackgroundColor","bodyBackgroundColor","LIST_OWNERS","parseNodeTree","childNode","nextNode","isTextNode","isElementNode","isSlotElement","createContainer","createsRealStackingContext","createsStackingContext","isTextareaElement","isSVGElement","isSelectElement","isImageElement","isCanvasElement","isLIElement","isOLElement","isInputElement","isIFrameElement","isBodyElement","isSVGElementNode","isHTMLElement","isVideoElement","isStyleElement","isScriptElement","CounterState","counters","canReset","counterNames","ROMAN_UPPER","ARMENIAN","HEBREW","GEORGIAN","createAdditiveCounter","symbols","createCounterText","integer","createCounterStyleWithSymbolResolver","codePointRangeLength","isNumeric","createCounterStyleFromRange","codePointRangeStart","codePointRangeEnd","createCounterStyleFromSymbols","CJK_ZEROS","CJK_TEN_COEFFICIENTS","CJK_TEN_HIGH_COEFFICIENTS","CJK_HUNDRED_COEFFICIENTS","createCJKCounter","multipliers","negativeSign","coefficient","CHINESE_INFORMAL_MULTIPLIERS","CHINESE_FORMAL_MULTIPLIERS","JAPANESE_NEGATIVE","KOREAN_NEGATIVE","appendSuffix","defaultSuffix","cjkSuffix","koreanSuffix","spaceSuffix","IGNORE_ATTRIBUTE","DocumentCloner","windowSize","createIFrameContainer","scrollX","scrollY","cloneWindow","documentClone","iframeLoad","iframeLoader","onclone","referenceElement","restoreNodeScroll","imagesReady","serializeDoctype","restoreOwnerScroll","copyCSSStyles","sheet","css","rule","clonedCanvas","clonedCtx","attribs","video","blankCanvas","copyStyles","assignedNodes","assignedNode","window","styleBefore","styleAfter","createPseudoHideStyles","PseudoElementType","pseudoElt","anonymousReplacedElement","attr","counterStyle","counterState","counterType","delim","counterStates","counterType_1","PSEUDO_HIDE_ELEMENT_CLASS_BEFORE","PSEUDO_HIDE_ELEMENT_CLASS_AFTER","newClassName","cloneIframeContainer","imageReady","ignoredStyleProperties","doctype","PSEUDO_BEFORE","PSEUDO_AFTER","PSEUDO_HIDE_ELEMENT_STYLE","createStyles","CacheStorage","Cache","_options","isBlobImage","isRenderable","isSameOrigin","useCORS","useProxy","isInlineImage","isInlineBase64Image","reader_1","queryString","timeout_1","INLINE_SVG","INLINE_BASE64","INLINE_IMG","Vector","lerp","BezierCurve","startControl","endControl","firstHalf","ab","bc","cd","abbc","bccd","dest","isBezierCurve","BoundCurves","tlh","tlv","trh","trv","_c","brh","brv","_d","blh","blv","maxFactor","topWidth","rightHeight","bottomWidth","leftHeight","getCurvePoints","CORNER","r1","r2","kappa","ox","oy","xm","ym","calculateBorderBoxPath","curves","calculateContentBoxPath","calculatePaddingBoxPath","TransformEffect","ClipEffect","OpacityEffect","isTransformEffect","isClipEffect","isOpacityEffect","equalPath","transformPath","deltaW","deltaH","StackingContext","ElementPaint","paddingBox","inFlow","croplessEffects","parseStackTree","stackingContext","realStackingContext","listItems","treatAsRealStackingContext","paintContainer","listOwnerItems","parentStack","order_1","index_1","index_2","processListItems","numbering","reversed","parseStackingContexts","parsePathForBorder","borderSide","createPathFromCurves","parsePathForBorderDoubleOuter","parsePathForBorderDoubleInner","parsePathForBorderStroke","createStrokePathFromCurves","outer1","outer2","inner1","inner2","contentBox","calculateBackgroundPositioningArea","calculateBackgroundPaintingArea","calculateBackgroundRendering","intrinsicSize","backgroundPositioningArea","getBackgroundValueForIndex","backgroundPaintingArea","backgroundImageSize","calculateBackgroundSize","sizeWidth","sizeHeight","calculateBackgroundRepeatPath","isAuto","hasIntrinsicValue","intrinsicWidth","intrinsicHeight","intrinsicProportion","second","hasIntrinsicProportion","targetRatio","hasIntrinsicWidth","hasIntrinsicHeight","hasIntrinsicDimensions","width_1","height_1","width_2","height_2","width_3","height_3","repeat","SMALL_IMAGE","SAMPLE_TEXT","FontMetrics","baseline","Renderer","MASK_OFFSET","CanvasRenderer","paint","letters","letter","variant","fixIOSSystemFonts","paintOrderLayer","textShadows","iframeRenderer","isTextInputElement","canvasTextAlign","_e","_f","_g","_h","_j","_k","_l","_m","_o","paths","pattern","this_1","x0","y0","gradient_1","top_1","radialGradient_1","midX","midY","invF","curvePoints","outerPaths","innerPaths","hasBackground","borders_1","calculateBackgroundCurvedPaintingArea","borderBoxArea","maskOffset","shadowPaintingArea","strokePaths","boxPaths","dashLength","spaceLength","useLineDash","multiplier","numberOfDashes","minSpace","maxSpace","path1","path2","iOSBrokenFonts","fontFamilies","ForeignObjectRenderer","loadSerializedSVG","Logger","Context","windowBounds","html2canvas","renderElement","defaultView","resourceOptions","contextOptions","windowOptions","foreignObjectRendering","cloneOptions","documentCloner","clonedElement","renderOptions","_q","_r","_s","_t","_u","parseBackgroundColor","backgroundColorOverride","defaultBackgroundColor","_sfc_main$m","BarChart","CarouselBase","sets","ownResult","comparisonOptions","shareWindow","averageCompareWith","_component_BarChart","initialPageWidth","comparisonTarget","userHistorySelectedIndex","totalResult","_component_SubSection","_component_CarouselBase","doughnutData","_sfc_main$l","constant","carDistance","walking","cigarettes","carbon","_sfc_main$k","boatTitleClicked","boatType","usageHours","power","fuelConsumption","_sfc_main$j","sizes","fuels","fuelDetailsAsPercentage","updateFuelPercentage","updateFuelConsumption","_sfc_main$i","_sfc_main$h","CarSection","CarDetailsSection","carTitleClicked","_component_CarDetailsSection","_sfc_main$g","publicTransportTitleClicked","_sfc_main$f","travelTitleClicked","_sfc_main$e","TransportBoat","TransportCar","TransportPublic","TransportTravel","WalkingCyclingCalculator","_component_TransportCar","_component_TransportPublic","_component_TransportTravel","_component_TransportBoat","_component_WalkingCyclingCalculator","_sfc_main$d","_sfc_main$c","documentationUrl","toggleSection","visibleSections","subSection","toggleSubSection","visibleSubSections","_sfc_main$b","sitraUrl","sitraLinkText","housingSitraAction","foodSitraAction","transportSitraAction","consumptionSitraAction","wasteSitraAction","carbonOffset","activeView","showView","_sfc_main$a","isBrowser","isESModule","applyToParams","newParams","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","query","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","toPosition","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","foundEl","getScrollKey","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","search","slicePos","pathFromHash","useHistoryListeners","historyState","replace","teardowns","pauseState","popStateHandler","fromState","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","NavigationFailureSymbol","NavigationFailureType","ErrorTypeMessages","stringifyRoute","createRouterError","isNavigationFailure","propertiesToLog","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","subPattern","stringify","avoidDuplicatedSlash","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","existingKeys","createRouterMatcher","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","checkChildMissingNameWithEmptyPath","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","checkMissingParamsInAbsolutePath","checkSameParams","isAliasRecord","removeRoute","insertMatcher","matcherRef","getRoutes","isRecordChildOf","invalidParams","paramName","paramsFromLocation","matched","parentMatcher","mergeMetaFields","normalizeRecordProps","propsObject","partialOptions","isSameParam","searchParams","searchParam","eqPos","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","runWithContext","enterCallbackArray","guardReturn","canOnlyBeCalledOnce","guardCall","resolvedValue","called","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","hasPrevious","previousTo","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","linkContextDevtools","RouterLinkImpl","elClass","getLinkClass","RouterLink","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","warnDeprecatedUsage","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","parentName","parentSubTreeType","formatRouteLocation","routeLocation","tooltip","copy","omit","routerId","addDevtools","PINK_500","devtoolsData","ORANGE_400","textColor","RED_100","RED_700","LIME_500","BLUE_600","refreshRoutesView","routerInspectorId","navigationsLayerId","navigationId","failure","activeRoutesPayload","resetMatchStateOnRouteRecord","isRouteMatching","markRouteRecordActive","formatRouteRecordForInspector","formatRouteRecordMatcherForStateInspector","modifierForKey","fields","CYAN_400","DARK","tags","routeRecordId","EXTRACT_REGEXP_RE","childRoute","decodedPath","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","matcherLocation","targetParams","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","shouldRedirect","toLocation","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","readyHandlers","errorListeners","ready","isReady","scrollBehavior","started","reactiveRoute","recordFrom","recordTo","StartView","ConsumptionView","FoodView","HousingView","ResultsView","TransportView","WasteView","CalculationInfo","ActionsView","ServiceDescription","AccessibilityNotice","PrivacyNotice","TermsOfUse","NotFound","_sfc_main$5","isOldIE","disabled","_sfc_main$4","_sfc_main$3","pow","numberValue","exponential","valueToPosition","_sfc_main$2","calcInfoHash","_sfc_main$1","detailsContentKey","_sfc_main","titleFor","GlobalComponents","__vite_glob_0_0","__vite_glob_0_1","__vite_glob_0_2","__vite_glob_0_3","__vite_glob_0_4","__vite_glob_0_5","__vite_glob_0_6","normalizeOptions","factoryOptions","pick","baseState","substate","pathArray","parsePersistence","beforeRestore","afterRestore","serializer","debug","hydrateStore","fromStorage","persistState","toStore","createPersistedState","auto","persist","original_store","persistences","persistence","runHooks","_mutation","src_default","piniaPluginPersistedstate","App"],"mappings":"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Ac,cACd,wBAAyB,qBACzB,oBACE,yKACF,cAAe,gBACf,iBACE,0GACF,mBACE,6EACF,WAAY,wBACZ,yBACE,qLACF,4BAA6B,mCAC7B,qBAAsB,2BACtB,mBAAoB,wCACpB,SAAU,UACV,gBAAiB,qJACjB,oBAAqB,mBACrB,oBAAqB,cACrB,eAAgB,MAChB,gBAAiB,0BACjB,mBAAoB,gBACpB,yBAA0B,kCAC1B,gBAAiB,qBACjB,mBACE,2EACF,sBAAuB,+CACvB,WAAY,eACZ,gBAAiB,uBACjB,iBAAkB,uBAClB,WAAY,eACZ,iBAAkB,iBAClB,eAAgB,OAChB,cAAe,iBACf,2BACE,uJACF,qCACE,8JACF,+CACE,iLACF,uCACE,yMACF,sCACE,+LACF,iCACE,+LACF,4CACE,oJACF,wCACE,qMACF,wBACE,2NACF,+BACE,4FACF,6BACE,yRACF,4BACE,4MACF,0BACE,iFACF,uBACE,kZACF,qBAAsB,2BACtB,sBAAuB,kDACvB,cAAe,oBACf,yBACE,sDACF,iBACE,mHACF,iBAAkB,oBAClB,eAAgB,mCAChB,mBAAoB,wDACpB,WAAY,8CACZ,wBACE,wDACF,2BACE,kEACF,kBAAmB,+BACnB,cAAe,OACf,8BACE,iRACF,qBACE,wOACF,uBAAwB,qDACxB,yBACE,qDACF,gBAAiB,qBACjB,aAAc,cACd,mBAAoB,qBACpB,gBAAiB,cACjB,iCACE,kFACF,gCACE,mKACF,8BAA+B,0BAC/B,yBACE,8HACF,uBACE,mHACF,2BAA4B,eAC5B,kCACE,sFACF,2BAA4B,iDAC5B,sCACE,oEACF,8BACE,sEACF,qBAAsB,0CACtB,wBACE,iEACF,sBACE,iJACF,kBAAmB,6BACnB,gBACE,6FACF,eAAgB,0BAChB,eAAgB,iBAChB,eAAgB,+BAChB,uBACE,wGACF,sBACE,iOACF,oBACE,6IACF,qBACE,qXACF,0BAA2B,qTAC3B,0BACE,mRACF,iBAAkB,kDAClB,oBACE,6DACF,sBAAuB,uCACvB,yBACE,qDACF,gBAAiB,4BACjB,mBAAoB,gDACpB,kBAAmB,2CACnB,qBACE,gE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ClB,OAAQ,WACR,WAAY,IACZ,YAAa,YACb,oBAAqB,uBACrB,cAAe,UACf,UAAW,QACX,YAAa,KACb,kBAAmB,gBACnB,cAAe,yCACf,kBAAmB,uBACnB,WAAY,KACZ,UAAW,SACX,UAAW,QACX,MAAO,WACP,mBAAoB,uBACpB,uBAAwB,sDACxB,YAAa,UACb,UAAW,OACX,QAAS,cACT,kCACE,mEACF,sBAAuB,yBACvB,iBACE,yEACF,eAAgB,oBAChB,qBACE,iIACF,aAAc,KAChB,ECjCMA,GAA0B,CAC9B,WAAY,gBACd,ECDMA,GAA2B,CAC/B,YAAa,0BACb,UAAW,WACX,UAAW,kBACX,SAAU,QACV,sBACE,sFACF,cAAe,gCACf,aAAc,QACd,wBAAyB,mBACzB,oBACE,8KACF,cAAe,mBACf,iBACE,0GACF,mBACE,4DACF,WAAY,sBACZ,yBACE,0PACF,4BAA6B,uBAC7B,qBAAsB,uBACtB,mBAAoB,8CACpB,SAAU,WACV,gBACE,wKACF,oBAAqB,aACrB,oBAAqB,QACrB,eAAgB,OAChB,gBAAiB,iBACjB,mBAAoB,kBACpB,yBAA0B,qBAC1B,gBAAiB,eACjB,mBAAoB,+BACpB,sBAAuB,+CACvB,WAAY,YACZ,gBAAiB,gBACjB,iBAAkB,YAClB,WAAY,cACZ,iBAAkB,cAClB,eAAgB,aAChB,cAAe,WACf,2BACE,+KACF,qCACE,mJACF,+CACE,6KACF,uCACE,8LACF,sCACE,wRACF,iCACE,yRACF,4CACE,8HACF,wCACE,4KACF,wBACE,mLACF,+BACE,uHACF,6BACE,uLACF,4BACE,oKACF,0BACE,4FACF,uBACE,6aACF,qBAAsB,2BACtB,sBAAuB,gCACvB,cAAe,eACf,yBACE,mEACF,iBACE,mHACF,iBAAkB,mBAClB,eAAgB,wCAChB,mBACE,2EACF,WAAY,yCACZ,wBAAyB,6BACzB,2BACE,kEACF,kBAAmB,wBACnB,cAAe,OACf,8BACE,uTACF,qBACE,sPACF,uBAAwB,qCACxB,yBAA0B,yCAC1B,gBAAiB,sBACjB,aAAc,WACd,mBAAoB,eACpB,gBAAiB,oBACjB,iCAC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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,164,165,166,167,183,186,206,215]} \ No newline at end of file diff --git a/pr-preview/pr-2/assets/index-DvQHYdwR.css b/pr-preview/pr-2/assets/index-DvQHYdwR.css deleted file mode 100644 index 3939c29..0000000 --- a/pr-preview/pr-2/assets/index-DvQHYdwR.css +++ /dev/null @@ -1 +0,0 @@ -@charset "UTF-8";footer[data-v-79f2e8f9]{width:100%;background:#204161;color:#fff;font-size:1em;font-weight:600;display:flex;align-content:center;text-align:center}#fill1[data-v-79f2e8f9],#fill2[data-v-79f2e8f9]{flex-grow:1}#logo[data-v-79f2e8f9]{margin:0 auto;max-height:80%;max-width:8em}#canemure[data-v-79f2e8f9]{margin:0 auto;max-height:80%;max-width:18em}#canemure-text[data-v-79f2e8f9]{font-size:.7em}#copyright-and-social[data-v-79f2e8f9]{flex-grow:1}#copyright[data-v-79f2e8f9]{border-bottom:1px solid white}#footer-links[data-v-79f2e8f9]{text-align:left;margin:1em;font-weight:700}#footer-links a[data-v-79f2e8f9]{display:block;color:inherit;font-weight:700;text-decoration:none}#footer-links a[data-v-79f2e8f9]:hover{color:#4e8dcc}#social[data-v-79f2e8f9]{margin-top:.5em;display:inline-flex;align-items:center}#social a[data-v-79f2e8f9]{display:inline-block;margin-left:.5em}@supports (display: grid){footer[data-v-79f2e8f9]{display:grid;align-items:center;grid-template:". logo copyright links ." auto/1fr 12em 2fr 12em 1fr}@media (max-width: 500px){footer[data-v-79f2e8f9]{justify-items:center;grid-template:"links" auto "copyright" auto "logo" minmax(100px,auto)/auto}#footer-links[data-v-79f2e8f9]{text-align:center}}#logo-link[data-v-79f2e8f9]{grid-area:logo;margin:1em}#copyright-and-social[data-v-79f2e8f9]{grid-area:copyright}#footer-links[data-v-79f2e8f9]{grid-area:links}}header[data-v-52715995]{width:100%;height:60px;background:#3f6f9d;color:#fff;text-transform:uppercase;display:flex;align-items:center}h1[data-v-52715995]{text-align:center;display:inline-block;flex-grow:1;font-size:1.5em}a[data-v-52715995]{margin:6px;color:#fff;font-size:.9em;text-decoration:underline}a.current[data-v-52715995]{font-weight:700;text-decoration:none;opacity:.5;cursor:default}a[data-v-52715995]:active{text-decoration:none;outline:0}a[data-v-52715995]:visited{color:#fff}a[data-v-52715995]:focus{text-decoration:none;outline:0}#user-email[data-v-52715995]{text-transform:none;overflow:hidden;text-overflow:ellipsis;display:flex}#user-email img[data-v-52715995]{max-height:1.5em}#login[data-v-52715995]{height:2em;padding:0;font-size:.9em;display:none}#lang[data-v-52715995]{display:none}@media (min-width: 800px){#fill1[data-v-52715995],#fill2[data-v-52715995]{flex-grow:1}#login[data-v-52715995],#lang[data-v-52715995]{display:block}h1[data-v-52715995]{margin:0 1em;text-align:left;white-space:nowrap}}@supports (display: grid){header[data-v-52715995]{display:grid;grid-template:"title" 60px/auto}@media (min-width: 800px){header[data-v-52715995]{grid-template:". title login lang ." 60px/1fr minmax(auto,500px) auto 100px 1fr}}h1[data-v-52715995]{grid-area:title}#login[data-v-52715995]{grid-area:login}#social[data-v-52715995]{grid-area:social}#lang[data-v-52715995]{grid-area:lang}}nav[data-v-c2bb5936]{background:#fff;text-align:center}a[data-v-c2bb5936]{display:inline-block;padding:1em 2em;text-decoration:none;font-weight:600;font-size:1em}a.router-link-exact-active[data-v-c2bb5936]{color:#3f6f9d;border-color:#3f6f9d;border-bottom:4px solid;line-height:16px}a.ready[data-v-c2bb5936]{color:#82a733;border-color:#82a733}a.ready[data-v-c2bb5936]:before{content:"✓";margin-right:.2em}a.disabled[data-v-c2bb5936]{color:gray}#mobile-menu-login[data-v-c2bb5936],#mobile-menu-logout[data-v-c2bb5936]{border-bottom:2px solid #e1e1e1}#mobile-menu-logout[data-v-c2bb5936]{text-transform:none;overflow:hidden;text-overflow:ellipsis;max-width:200px}#mobile-menu-logout img[data-v-c2bb5936]{max-height:1.5em}#mobile-menu-language[data-v-c2bb5936]{border-top:2px solid #e1e1e1}#mobile-menu-language a[data-v-c2bb5936]{color:inherit}#mobile-menu-language a.current[data-v-c2bb5936]{color:gray;cursor:default}#mobile-menu-language a.current[data-v-c2bb5936]:before{content:"✓";color:#82a733}@media (min-width: 800px){#mobile-menu-login[data-v-c2bb5936],#mobile-menu-logout[data-v-c2bb5936],#mobile-menu-language[data-v-c2bb5936]{display:none}}#wrapper[data-v-77a5eae1]{position:fixed;background-color:#16161580;z-index:998;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:start;overflow:auto}hr[data-v-77a5eae1]{border-top:1px solid #e1e1e1}#dialog-content[data-v-77a5eae1]{text-transform:none;color:#333;min-width:150px;max-width:800px;min-height:100px;background:#f9f9f9;border:8px solid #3f6f9d;padding:1.5em;margin:60px 0;position:relative;flex:1 1 100%}#close-button[data-v-c1724875]{position:absolute;top:0;right:0;width:auto;height:auto;padding:.5em}.error-container[data-v-c1724875]{padding:1em;margin-top:2em;margin-bottom:2em;max-width:fit-content;background-color:#f4cece}#email-block[data-v-c1724875]{display:flex;align-items:center;flex-wrap:wrap}#email-block span[data-v-c1724875]{margin-right:1em}#email-block input[data-v-c1724875]{max-width:30em;flex:1 1 0%}.button-primary[data-v-c1724875]{display:block;margin-left:0}#close-button[data-v-90d6fc3a]{position:absolute;top:0;right:0;width:auto;height:auto;padding:.5em}.button-primary[data-v-90d6fc3a]{display:block;margin-left:0}.button-primary.bg-color-grey[data-v-90d6fc3a]{background-color:gray}.input-block[data-v-90d6fc3a]{padding:.5em 0;display:flex;flex-wrap:wrap;text-align:left;align-items:center}.input-block .input-container[data-v-90d6fc3a]{min-width:20em;max-width:30em;flex:1 1 0%;text-align:left;margin-bottom:1em;display:flex}.input-block label[data-v-90d6fc3a]{flex:1 1 0%;min-width:10em;max-width:16em;margin-right:1em;margin-bottom:1em}.text-input[data-v-90d6fc3a]{min-width:20em;max-width:27em;flex:1 1 0%}textarea[data-v-90d6fc3a]{height:8em;font-family:Open Sans,sans-serif;font-size:1em;border:1px solid #e1e1e1;padding:.3em;margin-right:.5em}.mb-2[data-v-90d6fc3a]{margin-bottom:2em}.mt-0[data-v-90d6fc3a]{margin-top:0}.info-block[data-v-90d6fc3a]{padding:1em;margin-top:2em;margin-bottom:2em;max-width:fit-content}.error-bg-color[data-v-90d6fc3a]{background-color:#f4cece}@font-face{font-family:Open Sans;src:url(./OpenSans-Regular-D_5PeaXC.woff2) format("woff2"),url(./OpenSans-Regular-D0LNdIuH.woff) format("woff"),url(./OpenSans-Regular-7s9KL9Bb.ttf) format("truetype")}@font-face{font-family:Open Sans;font-weight:700;src:url(./OpenSans-Bold-B6RzugBC.woff2) format("woff2"),url(./OpenSans-Bold-Zo72i-Y_.woff) format("woff"),url(./OpenSans-Bold-DqUvPboT.ttf) format("truetype")}@font-face{font-family:Open Sans;font-weight:600;src:url(./OpenSans-SemiBold-C7OkNJpS.woff2) format("woff2"),url(./OpenSans-SemiBold-pC11pJ5m.woff) format("woff"),url(./OpenSans-SemiBold-gN-3ccKH.ttf) format("truetype")}@font-face{font-family:Open Sans;font-weight:800;src:url(./OpenSans-ExtraBold-QLQ1ofwe.woff2) format("woff2"),url(./OpenSans-ExtraBold-DDPRfZHf.woff) format("woff"),url(./OpenSans-ExtraBold-fqOqBv5P.ttf) format("truetype")}@font-face{font-family:Raleway;font-weight:700;src:url(./Raleway-Bold-N8_9CUZn.woff2) format("woff2"),url(./Raleway-Bold-RiCvOKBQ.woff) format("woff"),url(./Raleway-Bold-BNCCa7ZO.ttf) format("truetype")}input[type=radio],input[type=checkbox]{position:absolute;opacity:0}input[type=radio]:checked+label:before,input[type=checkbox]:checked+label:before{background:#4e8dcc;border:2px solid #4e8dcc;box-shadow:inset 0 0 0 3px #fff}input[type=radio]:not(:checked):focus+label:before,input[type=checkbox]:not(:checked):focus+label:before{border:2px solid #666666}input[type=radio]:disabled+label:before,input[type=checkbox]:disabled+label:before{pointer-events:none;background:#f9f9f9;border:2px solid #e1e1e1}input[type=radio]:disabled+label:hover:before,input[type=checkbox]:disabled+label:hover:before{border:2px solid #e1e1e1}input[type=radio]:checked+label:after,input[type=checkbox]:checked+label:after{background:#4e8dcc;border:2px solid #4e8dcc;box-shadow:inset 0 0 0 3px #fff}input[type=radio]:not(:checked):focus+label:after,input[type=checkbox]:not(:checked):focus+label:after{border:2px solid #666666}input[type=radio]:disabled+label:after,input[type=checkbox]:disabled+label:after{pointer-events:none;background:#f9f9f9;border:2px solid #e1e1e1}input[type=radio]:disabled+label:hover:after,input[type=checkbox]:disabled+label:hover:after{border:2px solid #e1e1e1}.radio-item{display:inline-block;padding:0;margin:0}.radio-item label{margin-right:.5em}.radio-item label:before{content:"✓";display:inline-block;width:1.8em;height:1.6em;padding-top:.2em;border:2px solid #e1e1e1;background-color:#fff;color:transparent;text-align:center}.radio-item label:hover:before{border:2px solid #666666}.radio-item label:after{content:"✓";display:inline-block;width:1.8em;height:1.6em;padding-top:.2em;border:2px solid #e1e1e1;background-color:#fff;color:transparent;text-align:center}.radio-item label:hover:after{border:2px solid #666666}.radio-item label:before{border-radius:20px;font-weight:700;margin-right:.25em}.radio-item label:after{display:none}.checkbox-item{display:inline-block;padding:0;margin:0}.checkbox-item label{margin-right:.5em}.checkbox-item label:before{content:"✓";display:inline-block;width:1.8em;height:1.6em;padding-top:.2em;border:2px solid #e1e1e1;background-color:#fff;color:transparent;text-align:center}.checkbox-item label:hover:before{border:2px solid #666666}.checkbox-item label:after{content:"✓";display:inline-block;width:1.8em;height:1.6em;padding-top:.2em;border:2px solid #e1e1e1;background-color:#fff;color:transparent;text-align:center}.checkbox-item label:hover:after{border:2px solid #666666}.checkbox-item input[type=checkbox]:checked+label:before{color:#fff}.checkbox-item input[type=checkbox]:checked+label:after{color:#fff}.checkbox-item label:after{display:none}.checkbox-item label:before{margin-right:.25em}.checkbox-item.flipped label{margin-right:0}.checkbox-item.flipped label:after{margin-left:.25em;display:inline-block}.checkbox-item.flipped label:before{display:none}.range-item{padding:1em 0;text-align:left;display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid #e1e1e1}.range-item .range-label{width:220px;font-weight:600;margin-right:1em}.range-item input[type=range]{flex:1 1 0%;margin:1em 1em 1em 0;border:none;background:transparent}.range-item .range-contents{display:inline-flex;align-items:center;flex-wrap:wrap}input{font-size:1em;font-family:Open Sans,sans-serif;border:1px solid #e1e1e1;padding:.3em;margin-right:.5em}input[type=number]{width:9ch}input[type=submit]{font-family:Raleway;font-weight:700;font-size:1em;color:#fff;background:#7daccd;border:none;border-radius:4px;word-wrap:break-word;white-space:normal;display:inline-block;text-transform:uppercase;vertical-align:middle;max-width:300px;cursor:pointer;width:10em;height:3em;width:12em;padding:0 4px;height:4em;margin:1em}input[type=submit].button-primary{background:#82a733}input[type=submit].active{background:#4e8dcc}input[type=submit].large{width:12em}input[type=submit]:not(:disabled):hover{background:#4e8dcc}input[type=submit]:disabled{background:gray}input[type=range]{-webkit-appearance:none;min-width:200px;max-width:300px;width:100%;margin:8px}input[type=range]:focus{outline:none}input[type=range]::-webkit-slider-runnable-track{width:100%;height:8px;cursor:pointer;background:#a1b3c5;border-radius:10px}input[type=range]::-webkit-slider-thumb{height:26px;width:26px;border-radius:15px;background:#4e8dcc;cursor:pointer;-webkit-appearance:none;margin-top:-9.1px}input[type=range]::-moz-range-track{width:100%;height:7px;cursor:pointer;background:#a1b3c5;border-radius:10px}input[type=range]::-moz-range-thumb{height:20px;width:20px;border-radius:15px;background:#4e8dcc;cursor:pointer}input[type=range]::-ms-track{height:10px;cursor:pointer;background:#a1b3c5;border:none;color:transparent;border-radius:33px}input[type=range]::-ms-fill-lower{background:#a1b3c5;border-radius:33px}input[type=range]::-ms-fill-upper{background:#a1b3c5;border-radius:33px}input[type=range]::-ms-thumb{height:100%;width:20px;border-radius:15px;background:#4e8dcc;cursor:pointer;height:8px;border:none}input[type=range]:disabled::-moz-range-thumb{background:gray}input[type=range]:disabled::-ms-thumb{background:gray}input[type=range]:disabled::-webkit-slider-thumb{background:gray}button{font-family:Raleway;font-weight:700;font-size:1em;color:#fff;background:#7daccd;border:none;border-radius:4px;word-wrap:break-word;white-space:normal;display:inline-block;text-transform:uppercase;vertical-align:middle;max-width:300px;cursor:pointer;margin:4px;width:10em;height:3em}button.button-primary{background:#82a733}button.active{background:#4e8dcc}button.large{width:12em}button:not(:disabled):hover{background:#4e8dcc}button:disabled{background:gray}select{border:1px solid #e1e1e1;padding:.2em;margin-right:.5em;font-size:1em;font-family:Open Sans,sans-serif}body{width:100vw;margin:0;padding:0;font-family:Open Sans,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background-color:#f9f9f9;overflow-x:hidden}.calc-form .action-wrapper{text-align:center}a{text-decoration:none;color:#4e8dcc;font-weight:700}a:visited{color:#4e8dcc;font-weight:400}a:hover{color:#3f6f9d}table,th,td{border:1px solid black}.separator{display:inline-block;background:#e1e1e1;border:1px solid #e1e1e1;height:2em;margin:0 4px -10px 8px}*[hidden=hidden],*.hidden{display:none}*.invisible{visibility:hidden}.field-unit{font-size:.9em}.inner-label{width:11em}.wrapped-text{white-space:pre-line}.full-page-text{padding:2em}label,h3{-webkit-user-select:none;user-select:none}#reset-button{display:block;margin-left:0}@media (min-width: 1920px){body{background-size:contain}}#picture-padder[data-v-7a7a37b1]{max-width:100%;height:100%;margin:0 auto}#picture-padder img[data-v-7a7a37b1]{max-width:100%}#busy-indicator[data-v-7a7a37b1]{position:fixed;bottom:10%;left:0;right:0;margin:0 auto;line-height:3em;width:200px;border:2px solid #3f6f9d;border-radius:20px;text-align:center;color:#3f6f9d;background:#fff;z-index:999}#navigation.hidden[data-v-7a7a37b1]{display:block}#content[data-v-7a7a37b1]{background:#fff;width:100%;max-width:800px;display:block;margin:0 auto;min-height:85vh}#global-error[data-v-7a7a37b1]{background:red;color:#fff;text-align:center;padding:.5em;position:fixed;bottom:0;width:100%;z-index:997}#global-error #error-text[data-v-7a7a37b1]{display:block;padding:0 2em}#global-error #clear-error[data-v-7a7a37b1]{height:2em}#menu-button[data-v-7a7a37b1]{display:none}#mobile-menu-overlay[data-v-7a7a37b1]{background-color:#16161580;position:fixed;top:0;left:0;width:100%;height:100%}#base-data-notification[data-v-7a7a37b1]{text-align:center;color:#fff;padding:1em;background:#4e8dcc}.spinner[data-v-7a7a37b1]{width:40px;height:40px;position:relative;vertical-align:middle;display:inline-block}.double-bounce1[data-v-7a7a37b1],.double-bounce2[data-v-7a7a37b1]{width:100%;height:100%;border-radius:50%;background-color:#3f6f9d;opacity:.7;position:absolute;top:0;left:0;-webkit-animation:sk-bounce-7a7a37b1 2s infinite ease-in-out;animation:sk-bounce-7a7a37b1 2s infinite ease-in-out}.double-bounce2[data-v-7a7a37b1]{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes sk-bounce-7a7a37b1{0%,to{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes sk-bounce-7a7a37b1{0%,to{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}@media (min-width: 800px){#content[data-v-7a7a37b1]{padding:8px;margin-top:10px}#app-content.with-background[data-v-7a7a37b1]{background-image:url(./background-C-9v9KoP.png);background-repeat:no-repeat;background-size:contain;background-position:0px 7.2em}}@supports (display: grid){#app-content[data-v-7a7a37b1]{min-height:100vh;display:grid;align-items:unset;grid-template:"head" 60px "pict" auto "cont" 1fr "foot" auto}#menu-button[data-v-7a7a37b1]{display:unset;background:#82a733;color:#fff;width:50px;height:50px;border-radius:100px;position:fixed;bottom:85px;right:0;z-index:990}#menu-button div[data-v-7a7a37b1]{width:60%;height:3px;background-color:#fff;margin:3px auto}#navigation[data-v-7a7a37b1]{width:unset;z-index:991;right:0;bottom:0;position:fixed;display:inline-grid;border:2px solid #e1e1e1}#navigation.hidden[data-v-7a7a37b1]{display:none}#header[data-v-7a7a37b1]{grid-area:head}#content[data-v-7a7a37b1]{grid-area:cont;min-height:unset}#footer[data-v-7a7a37b1]{grid-area:foot}#picture-padder[data-v-7a7a37b1]{grid-area:pict}@media (min-width: 800px){#app-content[data-v-7a7a37b1]{grid-template:"head head head" 60px "nav nav nav" auto "pict pict pict" auto ". cont ." 1fr "foot foot foot" auto/1fr minmax(auto,800px) 1fr}#navigation[data-v-7a7a37b1]{grid-area:nav;z-index:initial;right:initial;top:initial;position:initial;display:initial;transform:initial;border:none}#navigation.hidden[data-v-7a7a37b1]{display:initial}#menu-button[data-v-7a7a37b1]{display:none}}}h1[data-v-2124d57d]{font-family:Raleway;font-weight:800;font-size:1.5em;color:#3f6f9d;max-width:800px;text-align:center}.infoBox[data-v-2124d57d]{margin:2.5em;border:.5em solid #3f6f9d;border-radius:1em;padding:1em;text-align:center;font-weight:600}@media (min-width: 800px){h1[data-v-2124d57d]{margin-top:0;font-size:1.8em}}#chart-legend,.chart-legend{display:inline-block;color:#000}#chart-legend ul,.chart-legend ul{list-style:none}#chart-legend ul li,.chart-legend ul li{text-align:left;margin:.5em}#chart-legend ul li .legend-color-block,.chart-legend ul li .legend-color-block{margin-right:.5em;width:1em;height:1em;border-radius:100px;display:inline-block}#doughnut-chart{margin:2em 0}.sub-section[data-v-272aeb36]{margin:10px 0}h3[data-v-272aeb36]{text-align:left;padding-left:1em;background:#fff;line-height:44px;margin:0;font-weight:600;font-size:1.5em;border:1px solid #e1e1e1;cursor:pointer;position:relative}h3[data-v-272aeb36]:before{content:"";width:8px;height:100%;position:absolute;left:0;top:0;background:#4e8dcc}h3[data-v-272aeb36]:after{content:"+";position:absolute;right:1em}h3.active[data-v-272aeb36]{background:#4e8dcc;color:#fff;border-bottom:none}h3.active[data-v-272aeb36]:after{content:"–";position:absolute;right:1em}.contents[data-v-272aeb36]{text-align:left;background:#fff;border:1px solid #e1e1e1;padding:10px}#links a[data-v-272aeb36]{text-transform:capitalize;margin-right:1ch}#actions li[data-v-272aeb36]{margin-bottom:6px}ul[data-v-272aeb36]{list-style:none;text-align:left;padding:0}h3[data-v-1c3c76ba]{text-transform:uppercase;text-align:left;margin-bottom:0}h1[data-v-1c3c76ba]{text-align:left;font-size:24px;margin-top:5px}summary[data-v-1c3c76ba]{margin:1em 0}#close-button[data-v-1c3c76ba]{position:absolute;top:0;right:0;width:auto;height:auto;padding:.5em}#continue[data-v-1c3c76ba]{display:block;margin:0 auto}#chart-wrapper[data-v-1c3c76ba]{display:flex;background:#fff;border:1px solid #e1e1e1;align-items:center;justify-content:center;flex-wrap:wrap}#result-selection-buttons button[data-v-1c3c76ba]{height:3em;margin-top:10px;margin-left:4px;word-wrap:break-word}#result-selection-buttons button.active[data-v-1c3c76ba]{background:#4e8dcc}#range-details-text[data-v-96d8d4ae]{text-align:center;display:block}#low-carbon-services[data-v-661a40a2]{margin-top:1em}.low-carbon-choice[data-v-661a40a2]{margin-left:.5em}.consumption-group[data-v-661a40a2]{display:inline-flex;text-align:right;align-items:center}#total[data-v-661a40a2]{font-weight:700;text-align:center;display:block;margin-top:1em}#secondary-house-checker[data-v-366d5263]{border:none;padding:0;margin:0}.details-button-wrapper[data-v-e1367da4]{display:inline;position:relative}button[data-v-e1367da4]{height:2em;width:2em;padding:0;border-radius:30px;color:#fff;background:#ec9a1e;font-size:.9em}button[data-v-e1367da4]:disabled{background:gray;pointer-events:none}#text[data-v-e1367da4]{display:block;border:1px solid #4e8dcc;background:#fff;font-size:1em;font-weight:400;text-transform:none;text-align:center;padding:1em;color:#333;position:absolute;z-index:995;max-width:400px;min-width:250px;-webkit-user-select:none;user-select:none}#purchase-sum[data-v-5f55f72f]{font-weight:700;text-align:center;display:block;margin-top:1em}.range-item[data-v-5f55f72f]{clear:both;border-bottom:1px solid #e1e1e1}.vueperslide{white-space:normal;background-size:cover;flex-shrink:0;display:block;width:100%;position:relative}.vueperslide--clone-1{position:absolute;top:0;bottom:0;right:100%}.vueperslides--rtl .vueperslide--clone-1{right:auto;left:100%}.vueperslide[href]{-webkit-user-drag:none}.vueperslide__image{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover}.vueperslide__loader{position:absolute;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.vueperslide__content-wrapper:not(.vueperslide__content-wrapper--outside-top):not(.vueperslide__content-wrapper--outside-bottom){height:100%;margin:auto}.vueperslides--fade .vueperslide{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;transition:ease-in-out opacity;transition-duration:inherit}.vueperslides--fade .vueperslide--active,.vueperslides--fade .vueperslide--visible{z-index:1;opacity:1}.vueperslides--slide-image-inside .vueperslide{overflow:hidden}.vueperslides--3d .vueperslide{position:absolute;z-index:-1;height:100%}.vueperslides--3d .vueperslide--previous-slide,.vueperslides--3d .vueperslide--active,.vueperslides--3d .vueperslide--next-slide{z-index:0}.vueperslides--3d .vueperslide--active{z-index:1}.vueperslides--3d .vueperslide[face=front]{transform:rotateY(90deg) translate(-50%) rotateY(-90deg)}.vueperslides--3d .vueperslide[face=right]{transform:rotateY(90deg) translate(50%);transform-origin:100% 0}.vueperslides--3d .vueperslide[face=back]{transform:rotateY(270deg) translate(-50%) rotateY(-90deg)}.vueperslides--3d .vueperslide[face=left]{transform:rotateY(270deg) translate(-50%);transform-origin:0 0}.vueperslides:not(.no-shadow):not(.vueperslides--3d) .vueperslides__parallax-wrapper:before,.vueperslides:not(.no-shadow):not(.vueperslides--3d) .vueperslides__parallax-wrapper:after{content:"";position:absolute;bottom:100%;left:-1em;right:-1em;height:2em;box-shadow:0 0 20px #00000040;z-index:2}.vueperslides:not(.no-shadow):not(.vueperslides--3d) .vueperslides__parallax-wrapper:after{top:100%;bottom:auto}.vueperslides__arrows{color:#fff}.vueperslides__arrows--outside{color:currentColor}.vueperslides__arrow{top:50%;background-color:transparent;border:none;opacity:.7}.vueperslides__arrow--prev,.vueperslides--rtl .vueperslides__arrow--next{right:auto;left:.5em}.vueperslides__arrow--next,.vueperslides--rtl .vueperslides__arrow--prev{left:auto;right:.5em}.vueperslides__arrow:hover{opacity:1}.vueperslides__arrows--outside .vueperslides__arrow--prev,.vueperslides--rtl .vueperslides__arrows--outside .vueperslides__arrow--next{right:auto;left:-3.5em}.vueperslides__arrows--outside .vueperslides__arrow--next,.vueperslides--rtl .vueperslides__arrows--outside .vueperslides__arrow--prev{left:auto;right:-3.5em}.vueperslides__paused{top:.7em;right:.7em;opacity:0;text-shadow:0 0 3px rgba(0,0,0,.4);z-index:1}.vueperslides:hover .vueperslides__paused{opacity:1}.vueperslides__bullets:not(.vueperslides__bullets--outside){color:#fff}.vueperslides__bullet{margin:1.5em .6em;padding:0;border:none;background:none}.vueperslides__bullet .default{width:12px;height:12px;border-radius:12px;border:1px solid currentColor;background-color:transparent;box-shadow:0 0 1px #00000080,0 0 3px #0000004d;transition:.4s ease-in-out;box-sizing:border-box}.vueperslides__bullet .default span{display:none}.vueperslides__bullet--active .default{border-width:6px}.vueperslide,.vueperslide__image{background-position:center}.vueperslide__video{outline:none}.vueperslide--no-pointer-events:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0}.vueperslide__content-wrapper:not(.vueperslide__content-wrapper--outside-top):not(.vueperslide__content-wrapper--outside-bottom){display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;text-align:center}.vueperslide__content-wrapper.parallax-fixed-content,.vueperslide--has-image-inside .vueperslide__content-wrapper,.vueperslide--has-video .vueperslide__content-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;right:0;display:flex;flex-direction:column;justify-content:center;align-items:center;pointer-events:none}.vueperslides{position:relative}.vueperslides--fixed-height .vueperslides__inner,.vueperslides--fixed-height .vueperslides__parallax-wrapper,.vueperslides--fixed-height .vueperslide{height:inherit}.vueperslides--fixed-height .vueperslides__parallax-wrapper{padding-bottom:0!important}.vueperslides--fixed-height.vueperslides--bullets-outside{margin-bottom:4em}.vueperslides__inner{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vueperslides__parallax-wrapper{position:relative;overflow:hidden}.vueperslides--3d .vueperslides__parallax-wrapper{overflow:visible}.vueperslides__track{position:absolute;top:0;height:100%;left:0;right:0;overflow:hidden;z-index:1}.vueperslides--parallax .vueperslides__track{height:200%;transform:translateY(0)}.vueperslides--touchable .vueperslides__track{cursor:ew-resize;cursor:grab}.vueperslides--touchable .vueperslides__track--mousedown,.vueperslides--touchable .vueperslides__track--dragging{cursor:grabbing}.vueperslides--3d .vueperslides__track{overflow:visible;perspective:100em}.vueperslides__track-inner{white-space:nowrap;transition:.5s ease-in-out transform;height:100%;display:flex}.vueperslides--no-animation .vueperslides__track-inner{transition-duration:0s!important}.vueperslides--fade .vueperslides__track-inner{white-space:normal;transition:none}.vueperslides--3d .vueperslides__track-inner{transform-style:preserve-3d}.vueperslides__track--mousedown .vueperslides__track-inner{transition:.25s ease-in-out transform!important}.vueperslides__track--dragging .vueperslides__track-inner{transition:none}.vueperslides__arrow{position:absolute;font-size:inherit;color:inherit;text-align:center;transform:translateY(-50%);transition:.3s ease-in-out;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;z-index:2;line-height:1}.vueperslides__arrow svg{vertical-align:middle;stroke:currentColor;fill:none;width:3.5em;padding:1em;stroke-width:1;transition:.3s ease-in-out;box-sizing:border-box}.vueperslides__arrow svg:hover{stroke-width:1.3}.vueperslides__paused{position:absolute;transition:.3s ease-in-out}.vueperslides__bullets{display:flex;justify-content:center;position:absolute;bottom:0;left:0;right:0}.vueperslides__bullets--outside{position:relative}.vueperslides__bullets button,.vueperslides__bullet{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;outline:none;z-index:2;display:flex;justify-content:center;align-items:center;color:inherit}.vueperslides__bullets button::-moz-focus-inner,.vueperslides__bullet::-moz-focus-inner{border:0}.vueperslides__fractions{position:absolute;top:.8em;left:.5em;z-index:2;padding:.2em 1em;border:1px solid rgba(255,255,255,.5);border-radius:2em;background:#fff3;color:#fff}.vueperslides__progress{position:absolute;top:0;left:0;right:0;z-index:2;height:6px;color:#000000b3}.vueperslides__progress>*{position:absolute;top:0;bottom:0;left:0;background:currentColor;transition:.3s ease-in-out}button.vueperslides__arrow{opacity:.8;padding:0;height:fit-content;width:fit-content;color:#fff;background:#4e8dcc;transform:translateY(-50%);transition:.1s ease-in-out}button.vueperslides__arrow:hover{background:#3f6f9d}.vueperslides{display:flex;justify-content:center}.vueperslides__parallax-wrapper{width:41em;margin:0 .5em}#chart-legend{display:inline-block}#chart-legend ul{list-style:none}#chart-legend ul li{text-align:left}#chart-legend ul li .legend-color-block{width:1em;height:1em;border-radius:100px;display:inline-block}button[data-v-43583d6e]{height:3em;margin-top:10px;margin-left:4px;word-wrap:break-word}h1[data-v-43583d6e],p[data-v-43583d6e],label[data-v-43583d6e]{padding:.5em}.social-share-button[data-v-43583d6e]{padding:0}#societal-change img[data-v-43583d6e]{width:100%}#chart-wrapper[data-v-43583d6e]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}#hide-social[data-v-43583d6e]{height:0;overflow:hidden}#social-share-chart-wrapper[data-v-43583d6e]{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;color:#3f6f9d;background:#f9f9f9}#social-share-chart-wrapper h2[data-v-43583d6e]{display:block;flex-basis:100%;text-align:center;margin-top:0;margin-bottom:0;padding-bottom:0}#social-share-chart-wrapper #share-footer[data-v-43583d6e]{background:#fff;text-align:center;padding-bottom:10px;flex-basis:100%;height:40px;text-transform:uppercase;font-size:1em;font-weight:700}#social-share-chart-wrapper #share-footer #share-logo[data-v-43583d6e]{height:100%;margin:0 10px;vertical-align:middle}#calc-base[data-v-a152f294]{background:#fff;border:1px solid gray;padding:1em}.car-details[data-v-a08e35a6]{background:#d4e0ee;padding:1em;width:100%}.fuel-details .fuel-detail-label[data-v-a08e35a6]{width:220px;display:inline-block;font-weight:600}.fuel-details-wrapper[data-v-a08e35a6]{display:inline-block}footer[data-v-2247646d]{font-size:.9em;color:#666}.car-details-button[data-v-2247646d]{margin-left:0}.car-wrapper[data-v-2247646d]{display:inline-block}.car-label[data-v-2247646d]{font-size:1em;width:11em;display:inline-block}.car-section[data-v-c454a621]{display:flex;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e1e1e1}.car-index[data-v-c454a621]{display:block;margin:.5em 0 0;text-transform:none}.remove-car[data-v-c454a621]{background:red;color:#fff;height:1.5em;width:1.5em;border-radius:1em;text-align:center;font-weight:600;text-transform:none;padding:0;margin:0}#long-distance-label[data-v-24d19350]{margin-top:1em}h4[data-v-130d9f03]{margin-bottom:0}#sorting-title[data-v-ceb32794]{margin-top:1em}main[data-v-f6c2de76]{padding:0 20px;position:relative;white-space:pre-line}h1[data-v-f6c2de76]{clear:both}section[data-v-f6c2de76]{border-bottom:1px solid #e1e1e1;text-align:left}section h2[data-v-f6c2de76],section h3[data-v-f6c2de76]{cursor:pointer;color:#3f6f9d;margin:0;-webkit-user-select:none;user-select:none}section h2[data-v-f6c2de76]{font-size:1em;font-weight:700;padding:5px 0}section h3[data-v-f6c2de76]{margin-left:20px;font-size:1em;font-weight:600;padding:3px 0}section .section-content[data-v-f6c2de76]{margin-left:20px}section .subsection-content[data-v-f6c2de76]{margin-left:40px}#return-button[data-v-f6c2de76]{margin-bottom:0;margin-left:0;float:left}.padding[data-v-3bab971b]{padding:1.5em}#not-found[data-v-7a2bb5ed]{text-align:center}.number-input-wrapper[data-v-081a6ecb],.number-input-wrapper[data-v-9d79bb81]{display:inline-block}.range-contents[data-v-e6103e1f]{flex:1 1 0%}.calc-sub-form[data-v-2747011d]{margin:5px 0}.calc-sub-form>fieldset[data-v-2747011d]{padding:1.5em;background:#f9f9f9;border:1px solid #e1e1e1;margin:0}.calc-sub-form h3[data-v-2747011d]{text-align:left;padding-left:1em;background:#fff;line-height:44px;margin:0;font-weight:600;font-size:1.5em;border:1px solid #e1e1e1;cursor:pointer;position:relative}.calc-sub-form h3[data-v-2747011d]:before{content:"";width:8px;height:100%;position:absolute;left:0;top:0;background:gray}.calc-sub-form h3[data-v-2747011d]:not([disabled]):before{background:#4e8dcc}.calc-sub-form h3[data-v-2747011d]:after{content:"+";color:#666;position:absolute;right:1em}.calc-sub-form h3[disabled][data-v-2747011d]{color:gray}.calc-sub-form h3:not([disabled]).active[data-v-2747011d]{background:#4e8dcc;color:#fff}.calc-sub-form h3.active[data-v-2747011d]{border-bottom:none}.calc-sub-form h3.active[data-v-2747011d]:after{content:""}.calc-sub-form summary[data-v-2747011d]{font-size:1em;display:block;text-align:left;max-width:800px}.calc-sub-form-nested[data-v-2747011d]{margin-left:20px;margin-top:10px}#calc-info[data-v-2747011d]{font-size:1em;margin-top:1em}.section-title{font-weight:700;font-size:1em;text-transform:uppercase;margin:0;width:220px;word-wrap:break-word;display:inline-block}.section-title.lower-case{font-weight:600;text-transform:none}.input-selection[data-v-054f56d6]{display:flex;text-align:left;flex-wrap:wrap;padding:1em;margin:0 1em;border-bottom:1px solid #e1e1e1;align-items:center}.input-selection.active[data-v-054f56d6]{background:#fff}.input-selection .radio-item[data-v-054f56d6]{flex:1 1 0%}.input-selection .amount[data-v-054f56d6]{flex:2 1 0%;display:inline-block}.input-selection .extra[data-v-054f56d6]{flex:1 1 100%;display:flex;align-items:center;margin-top:.5em}.input-selection .extra .extra-label[data-v-054f56d6]{flex:1 1 0%}.input-selection .extra .extra-content[data-v-054f56d6]{flex:2 1 0%}.section-title[data-v-054f56d6]{float:left;max-width:100%;min-width:220px;width:unset}#options[data-v-054f56d6]{clear:both}.sub-form-section[data-v-977fe0ab]{padding:1.5em 0;display:flex;flex-wrap:wrap;text-align:left;align-items:center;border-bottom:1px solid #e1e1e1}.sub-form-section.no-border[data-v-977fe0ab]{border-bottom:none}.sub-form-section fieldset[data-v-977fe0ab]{flex:1 1 0%;min-width:200px;text-align:left;display:inline-block;border:0;padding:0}.sub-form-section fieldset label[data-v-977fe0ab]{display:inline-block;font-size:.9em}.sub-form-section footer[data-v-977fe0ab]{margin-top:.5em;flex-basis:100%;font-size:.9em;color:#666}.field-unit[data-v-977fe0ab]{font-size:.9em} diff --git a/pr-preview/pr-2/assets/logo-CXWBCEIw.png b/pr-preview/pr-2/assets/logo-CXWBCEIw.png deleted file mode 100644 index dabf171..0000000 Binary files a/pr-preview/pr-2/assets/logo-CXWBCEIw.png and /dev/null differ diff --git a/pr-preview/pr-2/assets/logo_color-WNFCb0cS.png b/pr-preview/pr-2/assets/logo_color-WNFCb0cS.png deleted file mode 100644 index e18c26c..0000000 Binary files a/pr-preview/pr-2/assets/logo_color-WNFCb0cS.png and /dev/null differ diff --git a/pr-preview/pr-2/index.html b/pr-preview/pr-2/index.html deleted file mode 100644 index 77fee68..0000000 --- a/pr-preview/pr-2/index.html +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - Ilmastodieetti - - - - - - - - - - - - - - - -
- -