diff --git a/Build/Gruntfile.js b/Build/Gruntfile.js
index f3616ac3eed59418297431513f3fa5a0691ca08c..1c3ac0f3a3ea83fbc5bab3fcba2b4f72e90ec369 100644
--- a/Build/Gruntfile.js
+++ b/Build/Gruntfile.js
@@ -232,7 +232,7 @@ module.exports = function (grunt) {
     },
     exec: {
       ts: ((process.platform === 'win32') ? 'node_modules\\.bin\\tsc.cmd' : './node_modules/.bin/tsc') + ' --project tsconfig.json',
-      ckeditor: ((process.platform === 'win32') ? 'node_modules\\.bin\\rollup.cmd' : './node_modules/.bin/rollup') + ' -c ckeditor5.rollup.config.js',
+      rollup: ((process.platform === 'win32') ? 'node_modules\\.bin\\rollup.cmd' : './node_modules/.bin/rollup') + ' -c rollup.config.js',
       stylefix: ((process.platform === 'win32') ? 'node_modules\\.bin\\stylelint.cmd' : './node_modules/.bin/stylelint') + ' "<%= paths.sass %>**/*.scss" --fix --formatter verbose --cache --cache-location .cache/.stylelintcache --cache-strategy content',
       lintspaces: ((process.platform === 'win32') ? 'node_modules\\.bin\\lintspaces.cmd' : './node_modules/.bin/lintspaces') + ' --editorconfig ../.editorconfig "../typo3/sysext/*/Resources/Private/**/*.html"',
       'npm-install': 'npm install'
@@ -459,126 +459,6 @@ module.exports = function (grunt) {
         cache: './.cache/grunt-newer/'
       }
     },
-    rollup: {
-      options: {
-        format: 'esm',
-        entryFileNames: '[name].js'
-      },
-      'bootstrap': {
-        options: {
-          preserveModules: false,
-          plugins: () => [
-            {
-              name: 'terser',
-              renderChunk: code => require('terser').minify(code, grunt.config.get('terser.options'))
-            },
-            {
-              name: 'externals',
-              resolveId: (source) => {
-                if (source === '@popperjs/core') {
-                  return { id: 'node_modules/@popperjs/core/dist/esm/index.js' }
-                }
-                return null
-              }
-            }
-          ]
-        },
-        files: {
-          '<%= paths.core %>Public/JavaScript/Contrib/bootstrap.js': [
-            'node_modules/bootstrap/dist/js/bootstrap.esm.js'
-          ]
-        }
-      },
-      'lodash-es': {
-        options: {
-          preserveModules: false,
-          plugins: () => [
-            {
-              name: 'terser',
-              renderChunk: code => require('terser').minify(code, grunt.config.get('terser.options'))
-            },
-            {
-              name: 'externals',
-              resolveId: (source, importer) => {
-                if (source.startsWith('.') && importer) {
-                  const path = require('path');
-                  return require.resolve(path.resolve(path.dirname(importer), source))
-                }
-                return null;
-              }
-            }
-          ]
-        },
-        files: {
-          '<%= paths.backend %>Public/JavaScript/Contrib/lodash-es.js': [
-            'node_modules/lodash-es/lodash.js'
-          ]
-        }
-      },
-      'select-pure': {
-        options: {
-          preserveModules: false,
-          plugins: () => [
-            {
-              name: 'terser',
-              renderChunk: code => require('terser').minify(code, grunt.config.get('terser.options'))
-            },
-            {
-              name: 'externals',
-              resolveId: (source, importer) => {
-                if (source === 'autobind-decorator') {
-                  return { id: 'node_modules/autobind-decorator/lib/esm/index.js' }
-                }
-                if (source === 'lit' || source.startsWith('lit/')) {
-                  return { id: source, external: true }
-                }
-                if (source.startsWith('lit-html/')) {
-                  return { id: source.replace('lit-html/', 'lit/'), external: true }
-                }
-                if (source.startsWith('.') && importer) {
-                  const path = require('path');
-                  return require.resolve(path.resolve(path.dirname(importer), source))
-                }
-                return null;
-              }
-            }
-          ]
-        },
-        files: {
-          '<%= paths.backend %>Public/JavaScript/Contrib/select-pure.js': [
-            'node_modules/select-pure/lib/index.js'
-          ]
-        }
-      },
-      'chart.js': {
-        options: {
-          preserveModules: false,
-          plugins: () => [
-            {
-              name: 'terser',
-              renderChunk: code => require('terser').minify(code, grunt.config.get('terser.options'))
-            },
-            {
-              name: 'externals',
-              resolveId: (source) => {
-                if (source === 'chunks/helpers.segment.js') {
-                  return { id: 'node_modules/chart.js/dist/chunks/helpers.segment.js' }
-                }
-                if (source === '@kurkle/color') {
-                  return { id: 'node_modules/@kurkle/color/dist/color.esm.js' }
-                }
-                return null
-              }
-            }
-          ]
-        },
-        files: {
-          '<%= paths.dashboard %>Public/JavaScript/Contrib/chartjs.js': [
-            'node_modules/chart.js/dist/chart.js'
-          ]
-        }
-      }
-    },
     npmcopy: {
       options: {
         clean: false,
@@ -755,7 +635,6 @@ module.exports = function (grunt) {
   // Register tasks
   grunt.loadNpmTasks('grunt-sass');
   grunt.loadNpmTasks('grunt-contrib-watch');
-  grunt.loadNpmTasks('grunt-rollup');
   grunt.loadNpmTasks('grunt-npmcopy');
   grunt.loadNpmTasks('grunt-terser');
   grunt.loadNpmTasks('@lodder/grunt-postcss');
@@ -799,7 +678,7 @@ module.exports = function (grunt) {
    * this task does the following things:
    * - copy some components to a specific destinations because they need to be included via PHP
    */
-  grunt.registerTask('update', ['ckeditor:compile-locales', 'rollup', 'exec:ckeditor', 'concurrent:npmcopy']);
+  grunt.registerTask('update', ['ckeditor:compile-locales', 'exec:rollup', 'concurrent:npmcopy']);
 
   /**
    * grunt compile-typescript task
diff --git a/Build/package-lock.json b/Build/package-lock.json
index d5bc824274dd4bfd715b331d94038a87de1a378b..800eb8497a72b4a137a5cdab81139af9e4921fd1 100644
--- a/Build/package-lock.json
+++ b/Build/package-lock.json
@@ -90,6 +90,7 @@
         "@rollup/plugin-commonjs": "^25.0.0",
         "@rollup/plugin-node-resolve": "^14.1.0",
         "@rollup/plugin-replace": "^2.4.2",
+        "@rollup/plugin-terser": "^0.4.4",
         "@types/autosize": "^4.0.1",
         "@types/bootstrap": "^5.2.6",
         "@types/css-tree": "^2.3.2",
@@ -122,7 +123,6 @@
         "grunt-exec": "^3.0.0",
         "grunt-newer": "^1.3.0",
         "grunt-npmcopy": "^0.2.0",
-        "grunt-rollup": "^11.5.0",
         "grunt-sass": "^3.1.0",
         "grunt-stylelint": "^0.18.0",
         "grunt-terser": "^2.0.0",
@@ -136,7 +136,6 @@
         "rollup-plugin-glob-import": "^0.5.0",
         "rollup-plugin-postcss": "^4.0.2",
         "rollup-plugin-svg": "^2.0.0",
-        "rollup-plugin-terser": "^7.0.2",
         "sass": "^1.75.0",
         "sharp": "^0.33.3",
         "sinon": "^17.0.1",
@@ -2533,6 +2532,28 @@
         "rollup": "^1.20.0 || ^2.0.0"
       }
     },
+    "node_modules/@rollup/plugin-terser": {
+      "version": "0.4.4",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz",
+      "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==",
+      "dev": true,
+      "dependencies": {
+        "serialize-javascript": "^6.0.1",
+        "smob": "^1.0.0",
+        "terser": "^5.17.4"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@rollup/pluginutils": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
@@ -8715,22 +8736,6 @@
         "node": ">= 0.10.0"
       }
     },
-    "node_modules/grunt-rollup": {
-      "version": "11.5.0",
-      "resolved": "https://registry.npmjs.org/grunt-rollup/-/grunt-rollup-11.5.0.tgz",
-      "integrity": "sha512-Xa/1g0G4HlMIAsJYLZgDEDi8w2jZ5sLpo6XKezJqGdpTGe8qGWcXG7kopiyCUYiXs3LLv58y/DhGIXwbkCAkvQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "rollup": "^2.32.0"
-      },
-      "engines": {
-        "node": ">=8.6.0"
-      },
-      "peerDependencies": {
-        "grunt": ">=0.4.0"
-      }
-    },
     "node_modules/grunt-sass": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/grunt-sass/-/grunt-sass-3.1.0.tgz",
@@ -12987,21 +12992,6 @@
         "minimatch": "^3.0.2"
       }
     },
-    "node_modules/rollup-plugin-terser": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
-      "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
-      "dev": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.10.4",
-        "jest-worker": "^26.2.1",
-        "serialize-javascript": "^4.0.0",
-        "terser": "^5.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^2.0.0"
-      }
-    },
     "node_modules/rollup-pluginutils": {
       "version": "2.8.2",
       "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
@@ -13164,9 +13154,9 @@
       }
     },
     "node_modules/serialize-javascript": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
-      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+      "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
       "dev": true,
       "dependencies": {
         "randombytes": "^2.1.0"
@@ -13358,6 +13348,12 @@
         "npm": ">= 3.0.0"
       }
     },
+    "node_modules/smob": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
+      "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==",
+      "dev": true
+    },
     "node_modules/socks": {
       "version": "2.7.1",
       "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
@@ -14681,16 +14677,6 @@
         "node": ">= 10.13.0"
       }
     },
-    "node_modules/webpack/node_modules/serialize-javascript": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
-      "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
-      "dev": true,
-      "peer": true,
-      "dependencies": {
-        "randombytes": "^2.1.0"
-      }
-    },
     "node_modules/webpack/node_modules/supports-color": {
       "version": "8.1.1",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
diff --git a/Build/package.json b/Build/package.json
index dfb91d0df526f8f12c16d2b1f5c449e77e5cf3b7..6cd571b59956ec5a6b9e67c967d2c74346c50896 100644
--- a/Build/package.json
+++ b/Build/package.json
@@ -17,6 +17,7 @@
     "@rollup/plugin-commonjs": "^25.0.0",
     "@rollup/plugin-node-resolve": "^14.1.0",
     "@rollup/plugin-replace": "^2.4.2",
+    "@rollup/plugin-terser": "^0.4.4",
     "@types/autosize": "^4.0.1",
     "@types/bootstrap": "^5.2.6",
     "@types/css-tree": "^2.3.2",
@@ -49,7 +50,6 @@
     "grunt-exec": "^3.0.0",
     "grunt-newer": "^1.3.0",
     "grunt-npmcopy": "^0.2.0",
-    "grunt-rollup": "^11.5.0",
     "grunt-sass": "^3.1.0",
     "grunt-stylelint": "^0.18.0",
     "grunt-terser": "^2.0.0",
@@ -63,7 +63,6 @@
     "rollup-plugin-glob-import": "^0.5.0",
     "rollup-plugin-postcss": "^4.0.2",
     "rollup-plugin-svg": "^2.0.0",
-    "rollup-plugin-terser": "^7.0.2",
     "sass": "^1.75.0",
     "sharp": "^0.33.3",
     "sinon": "^17.0.1",
diff --git a/Build/rollup.config.js b/Build/rollup.config.js
new file mode 100644
index 0000000000000000000000000000000000000000..8eed9411238d2a16df8974a71eb22d28f78fd57b
--- /dev/null
+++ b/Build/rollup.config.js
@@ -0,0 +1,13 @@
+import bootstrap from './rollup/bootstrap';
+import chartjs from './rollup/chartjs';
+import ckeditor from './rollup/ckeditor';
+import lodash from './rollup/lodash';
+import selectPure from './rollup/select-pure';
+
+export default [
+  ...ckeditor,
+  bootstrap,
+  chartjs,
+  lodash,
+  selectPure,
+]
diff --git a/Build/rollup/bootstrap.js b/Build/rollup/bootstrap.js
new file mode 100644
index 0000000000000000000000000000000000000000..79f082b0b740a7cbda10047fbc4bf563dce6ed27
--- /dev/null
+++ b/Build/rollup/bootstrap.js
@@ -0,0 +1,21 @@
+import terser from '@rollup/plugin-terser';
+
+export default {
+  input: 'node_modules/bootstrap/dist/js/bootstrap.esm.js',
+  output: {
+    file: '../typo3/sysext/core/Resources/Public/JavaScript/Contrib/bootstrap.js',
+    format: 'esm',
+  },
+  plugins: [
+    terser({ ecma: 8 }),
+    {
+      name: 'externals',
+      resolveId: (source) => {
+        if (source === '@popperjs/core') {
+          return { id: 'node_modules/@popperjs/core/dist/esm/index.js' }
+        }
+        return null
+      }
+    }
+  ],
+};
diff --git a/Build/rollup/chartjs.js b/Build/rollup/chartjs.js
new file mode 100644
index 0000000000000000000000000000000000000000..b60362a87bb12c8a1350882ae483c4993b2fae0d
--- /dev/null
+++ b/Build/rollup/chartjs.js
@@ -0,0 +1,24 @@
+import terser from '@rollup/plugin-terser';
+
+export default {
+  input: 'node_modules/chart.js/dist/chart.js',
+  output: {
+    file: '../typo3/sysext/dashboard/Resources/Public/JavaScript/Contrib/chartjs.js',
+    format: 'esm',
+  },
+  plugins: [
+    terser({ ecma: 8 }),
+    {
+      name: 'externals',
+      resolveId: (source) => {
+        if (source === 'chunks/helpers.segment.js') {
+          return { id: 'node_modules/chart.js/dist/chunks/helpers.segment.js' }
+        }
+        if (source === '@kurkle/color') {
+          return { id: 'node_modules/@kurkle/color/dist/color.esm.js' }
+        }
+        return null
+      }
+    }
+  ],
+};
diff --git a/Build/ckeditor5.rollup.config.js b/Build/rollup/ckeditor.js
similarity index 92%
rename from Build/ckeditor5.rollup.config.js
rename to Build/rollup/ckeditor.js
index 25473ded8d82041454fc620f226e2ec821d04685..995bee61f15145dbff20506e534844cc0accb420 100644
--- a/Build/ckeditor5.rollup.config.js
+++ b/Build/rollup/ckeditor.js
@@ -2,9 +2,9 @@ import resolve from '@rollup/plugin-node-resolve';
 import commonjs from '@rollup/plugin-commonjs';
 import postcss from 'rollup-plugin-postcss';
 import svg from 'rollup-plugin-svg';
-import { terser } from 'rollup-plugin-terser';
+import terser from '@rollup/plugin-terser';
 import * as path from 'path';
-import { buildConfigForTranslations } from './ckeditor5.rollup.helpers';
+import { buildConfigForTranslations } from './ckeditor/build-translations-config.js';
 import { readdirSync, statSync, existsSync } from 'fs';
 import { createRequire } from 'node:module';
 
@@ -26,7 +26,7 @@ const packages = readdirSync('node_modules/@ckeditor')
 export default [
   ...packages.map(pkg => {
     const packageName = `@ckeditor/${pkg}`;
-    const packageJson = `./node_modules/${packageName}/package.json`;
+    const packageJson = `../node_modules/${packageName}/package.json`;
     const require = createRequire(import.meta.url);
     let input = `./node_modules/${packageName}/${require(packageJson).main}`;
     if (packageName === '@ckeditor/ckeditor5-link') {
@@ -40,7 +40,7 @@ export default [
         compact: true,
         file: `../typo3/sysext/rte_ckeditor/Resources/Public/Contrib/${packageName}.js`,
         format: 'es',
-        plugins: [terser()],
+        plugins: [terser({ ecma: 8 })],
       },
       plugins: [
         {
@@ -75,7 +75,7 @@ export default [
               source !== 'color-name' &&
               source !== 'color-parse'
             ) {
-              throw new Error(`HEADS UP: New CKEditor5 import "${source}" (import from ${from}). Please decide whether to bundle or package separately and adapt Build/ckeditor5.rollup.config.js accordingly.`);
+              throw new Error(`HEADS UP: New CKEditor5 import "${source}" (import from ${from}). Please decide whether to bundle or package separately and adapt Build/rollup/ckeditor.js accordingly.`);
             }
             return null
           }
@@ -103,7 +103,7 @@ export default [
           ...postCssConfig,
           inject: function (cssVariableName, fileId) {
             // overrides functionality of native `style-inject` package, now applies `window.litNonce` to `<style>`
-            const importPath = path.resolve('./ckeditor5.rollup.functions.js');
+            const importPath = path.resolve('./rollup/shim/style-inject.js');
             return `import styleInject from '${importPath}';\n` + `styleInject(${cssVariableName});`;
           },
         }),
diff --git a/Build/ckeditor5.rollup.helpers.js b/Build/rollup/ckeditor/build-translations-config.js
similarity index 100%
rename from Build/ckeditor5.rollup.helpers.js
rename to Build/rollup/ckeditor/build-translations-config.js
diff --git a/Build/rollup/lodash.js b/Build/rollup/lodash.js
new file mode 100644
index 0000000000000000000000000000000000000000..cae962334a54323d24e92dc1a3cdc8dd34c97880
--- /dev/null
+++ b/Build/rollup/lodash.js
@@ -0,0 +1,22 @@
+import terser from '@rollup/plugin-terser';
+
+export default {
+  input: 'node_modules/lodash-es/lodash.js',
+  output: {
+    file: '../typo3/sysext/backend/Resources/Public/JavaScript/Contrib/lodash-es.js',
+    format: 'esm',
+  },
+  plugins: [
+    terser({ ecma: 8 }),
+    {
+      name: 'externals',
+      resolveId: (source, importer) => {
+        if (source.startsWith('.') && importer) {
+          const path = require('path');
+          return require.resolve(path.resolve(path.dirname(importer), source))
+        }
+        return null
+      }
+    }
+  ],
+};
diff --git a/Build/rollup/select-pure.js b/Build/rollup/select-pure.js
new file mode 100644
index 0000000000000000000000000000000000000000..86d2ec9f833ee482181c01ff02ec529d09f436eb
--- /dev/null
+++ b/Build/rollup/select-pure.js
@@ -0,0 +1,31 @@
+import terser from '@rollup/plugin-terser';
+
+export default {
+  input: 'node_modules/select-pure/lib/index.js',
+  output: {
+    file: '../typo3/sysext/backend/Resources/Public/JavaScript/Contrib/select-pure.js',
+    format: 'esm',
+  },
+  plugins: [
+    terser({ ecma: 8 }),
+    {
+      name: 'externals',
+      resolveId: (source, importer) => {
+        if (source === 'autobind-decorator') {
+          return { id: 'node_modules/autobind-decorator/lib/esm/index.js' }
+        }
+        if (source === 'lit' || source.startsWith('lit/')) {
+          return { id: source, external: true }
+        }
+        if (source.startsWith('lit-html/')) {
+          return { id: source.replace('lit-html/', 'lit/'), external: true }
+        }
+        if (source.startsWith('.') && importer) {
+          const path = require('path');
+          return require.resolve(path.resolve(path.dirname(importer), source))
+        }
+        return null
+      }
+    }
+  ],
+};
diff --git a/Build/ckeditor5.rollup.functions.js b/Build/rollup/shim/style-inject.js
similarity index 100%
rename from Build/ckeditor5.rollup.functions.js
rename to Build/rollup/shim/style-inject.js
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Contrib/lodash-es.js b/typo3/sysext/backend/Resources/Public/JavaScript/Contrib/lodash-es.js
index 64975ca1111f231adbdc72b450a61a2235838525..3f5b55077810b6a688d5c7fdcb46a73bdbdba377 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Contrib/lodash-es.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Contrib/lodash-es.js
@@ -1,4 +1,4 @@
-var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),Symbol=root.Symbol,objectProto$s=Object.prototype,hasOwnProperty$o=objectProto$s.hasOwnProperty,nativeObjectToString$3=objectProto$s.toString,symToStringTag$1=Symbol?Symbol.toStringTag:void 0;function getRawTag(e){var t=hasOwnProperty$o.call(e,symToStringTag$1),r=e[symToStringTag$1];try{e[symToStringTag$1]=void 0;var a=!0}catch(e){}var n=nativeObjectToString$3.call(e);return a&&(t?e[symToStringTag$1]=r:delete e[symToStringTag$1]),n}var objectProto$r=Object.prototype,nativeObjectToString$2=objectProto$r.toString;function objectToString(e){return nativeObjectToString$2.call(e)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol?Symbol.toStringTag:void 0;function baseGetTag(e){return null==e?void 0===e?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(e)?getRawTag(e):objectToString(e)}function isObjectLike(e){return null!=e&&"object"==typeof e}var symbolTag$3="[object Symbol]";function isSymbol(e){return"symbol"==typeof e||isObjectLike(e)&&baseGetTag(e)==symbolTag$3}var NAN$2=NaN;function baseToNumber(e){return"number"==typeof e?e:isSymbol(e)?NAN$2:+e}function arrayMap(e,t){for(var r=-1,a=null==e?0:e.length,n=Array(a);++r<a;)n[r]=t(e[r],r,e);return n}var isArray=Array.isArray,INFINITY$5=1/0,symbolProto$2=Symbol?Symbol.prototype:void 0,symbolToString=symbolProto$2?symbolProto$2.toString:void 0;function baseToString(e){if("string"==typeof e)return e;if(isArray(e))return arrayMap(e,baseToString)+"";if(isSymbol(e))return symbolToString?symbolToString.call(e):"";var t=e+"";return"0"==t&&1/e==-INFINITY$5?"-0":t}function createMathOperation(e,t){return function(r,a){var n;if(void 0===r&&void 0===a)return t;if(void 0!==r&&(n=r),void 0!==a){if(void 0===n)return a;"string"==typeof r||"string"==typeof a?(r=baseToString(r),a=baseToString(a)):(r=baseToNumber(r),a=baseToNumber(a)),n=e(r,a)}return n}}var add=createMathOperation((function(e,t){return e+t}),0),reWhitespace=/\s/;function trimmedEndIndex(e){for(var t=e.length;t--&&reWhitespace.test(e.charAt(t)););return t}var reTrimStart$2=/^\s+/;function baseTrim(e){return e?e.slice(0,trimmedEndIndex(e)+1).replace(reTrimStart$2,""):e}function isObject(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}var NAN$1=NaN,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber(e){if("number"==typeof e)return e;if(isSymbol(e))return NAN$1;if(isObject(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=isObject(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=baseTrim(e);var r=reIsBinary.test(e);return r||reIsOctal.test(e)?freeParseInt(e.slice(2),r?2:8):reIsBadHex.test(e)?NAN$1:+e}var INFINITY$4=1/0,MAX_INTEGER=17976931348623157e292;function toFinite(e){return e?(e=toNumber(e))===INFINITY$4||e===-INFINITY$4?(e<0?-1:1)*MAX_INTEGER:e==e?e:0:0===e?e:0}function toInteger(e){var t=toFinite(e),r=t%1;return t==t?r?t-r:t:0}var FUNC_ERROR_TEXT$b="Expected a function";function after(e,t){if("function"!=typeof t)throw new TypeError(FUNC_ERROR_TEXT$b);return e=toInteger(e),function(){if(--e<1)return t.apply(this,arguments)}}function identity(e){return e}var asyncTag="[object AsyncFunction]",funcTag$2="[object Function]",genTag$1="[object GeneratorFunction]",proxyTag="[object Proxy]";function isFunction(e){if(!isObject(e))return!1;var t=baseGetTag(e);return t==funcTag$2||t==genTag$1||t==asyncTag||t==proxyTag}var coreJsData=root["__core-js_shared__"],maskSrcKey=function(){var e=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function isMasked(e){return!!maskSrcKey&&maskSrcKey in e}var funcProto$2=Function.prototype,funcToString$2=funcProto$2.toString;function toSource(e){if(null!=e){try{return funcToString$2.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var reRegExpChar$1=/[\\^$.*+?()[\]{}|]/g,reIsHostCtor=/^\[object .+?Constructor\]$/,funcProto$1=Function.prototype,objectProto$q=Object.prototype,funcToString$1=funcProto$1.toString,hasOwnProperty$n=objectProto$q.hasOwnProperty,reIsNative=RegExp("^"+funcToString$1.call(hasOwnProperty$n).replace(reRegExpChar$1,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function baseIsNative(e){return!(!isObject(e)||isMasked(e))&&(isFunction(e)?reIsNative:reIsHostCtor).test(toSource(e))}function getValue(e,t){return null==e?void 0:e[t]}function getNative(e,t){var r=getValue(e,t);return baseIsNative(r)?r:void 0}var WeakMap=getNative(root,"WeakMap"),metaMap=WeakMap&&new WeakMap,baseSetData=metaMap?function(e,t){return metaMap.set(e,t),e}:identity,objectCreate=Object.create,baseCreate=function(){function e(){}return function(t){if(!isObject(t))return{};if(objectCreate)return objectCreate(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function createCtor(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=baseCreate(e.prototype),a=e.apply(r,t);return isObject(a)?a:r}}var WRAP_BIND_FLAG$8=1;function createBind(e,t,r){var a=t&WRAP_BIND_FLAG$8,n=createCtor(e);return function t(){return(this&&this!==root&&this instanceof t?n:e).apply(a?r:this,arguments)}}function apply(e,t,r){switch(r.length){case 0:return e.call(t);case 1:return e.call(t,r[0]);case 2:return e.call(t,r[0],r[1]);case 3:return e.call(t,r[0],r[1],r[2])}return e.apply(t,r)}var nativeMax$g=Math.max;function composeArgs(e,t,r,a){for(var n=-1,o=e.length,i=r.length,s=-1,u=t.length,l=nativeMax$g(o-i,0),c=Array(u+l),f=!a;++s<u;)c[s]=t[s];for(;++n<i;)(f||n<o)&&(c[r[n]]=e[n]);for(;l--;)c[s++]=e[n++];return c}var nativeMax$f=Math.max;function composeArgsRight(e,t,r,a){for(var n=-1,o=e.length,i=-1,s=r.length,u=-1,l=t.length,c=nativeMax$f(o-s,0),f=Array(c+l),p=!a;++n<c;)f[n]=e[n];for(var h=n;++u<l;)f[h+u]=t[u];for(;++i<s;)(p||n<o)&&(f[h+r[i]]=e[n++]);return f}function countHolders(e,t){for(var r=e.length,a=0;r--;)e[r]===t&&++a;return a}function baseLodash(){}var MAX_ARRAY_LENGTH$6=4294967295;function LazyWrapper(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=MAX_ARRAY_LENGTH$6,this.__views__=[]}function noop(){}LazyWrapper.prototype=baseCreate(baseLodash.prototype),LazyWrapper.prototype.constructor=LazyWrapper;var getData=metaMap?function(e){return metaMap.get(e)}:noop,realNames={},objectProto$p=Object.prototype,hasOwnProperty$m=objectProto$p.hasOwnProperty;function getFuncName(e){for(var t=e.name+"",r=realNames[t],a=hasOwnProperty$m.call(realNames,t)?r.length:0;a--;){var n=r[a],o=n.func;if(null==o||o==e)return n.name}return t}function LodashWrapper(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=void 0}function copyArray(e,t){var r=-1,a=e.length;for(t||(t=Array(a));++r<a;)t[r]=e[r];return t}function wrapperClone(e){if(e instanceof LazyWrapper)return e.clone();var t=new LodashWrapper(e.__wrapped__,e.__chain__);return t.__actions__=copyArray(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}LodashWrapper.prototype=baseCreate(baseLodash.prototype),LodashWrapper.prototype.constructor=LodashWrapper;var objectProto$o=Object.prototype,hasOwnProperty$l=objectProto$o.hasOwnProperty;function lodash(e){if(isObjectLike(e)&&!isArray(e)&&!(e instanceof LazyWrapper)){if(e instanceof LodashWrapper)return e;if(hasOwnProperty$l.call(e,"__wrapped__"))return wrapperClone(e)}return new LodashWrapper(e)}function isLaziable(e){var t=getFuncName(e),r=lodash[t];if("function"!=typeof r||!(t in LazyWrapper.prototype))return!1;if(e===r)return!0;var a=getData(r);return!!a&&e===a[0]}lodash.prototype=baseLodash.prototype,lodash.prototype.constructor=lodash;var HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;function shortOut(e){var t=0,r=0;return function(){var a=nativeNow(),n=HOT_SPAN-(a-r);if(r=a,n>0){if(++t>=HOT_COUNT)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var setData=shortOut(baseSetData),reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /;function getWrapDetails(e){var t=e.match(reWrapDetails);return t?t[1].split(reSplitDetails):[]}var reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function insertWrapDetails(e,t){var r=t.length;if(!r)return e;var a=r-1;return t[a]=(r>1?"& ":"")+t[a],t=t.join(r>2?", ":" "),e.replace(reWrapComment,"{\n/* [wrapped with "+t+"] */\n")}function constant(e){return function(){return e}}var defineProperty=function(){try{var e=getNative(Object,"defineProperty");return e({},"",{}),e}catch(e){}}(),baseSetToString=defineProperty?function(e,t){return defineProperty(e,"toString",{configurable:!0,enumerable:!1,value:constant(t),writable:!0})}:identity,setToString=shortOut(baseSetToString);function arrayEach(e,t){for(var r=-1,a=null==e?0:e.length;++r<a&&!1!==t(e[r],r,e););return e}function baseFindIndex(e,t,r,a){for(var n=e.length,o=r+(a?1:-1);a?o--:++o<n;)if(t(e[o],o,e))return o;return-1}function baseIsNaN(e){return e!=e}function strictIndexOf(e,t,r){for(var a=r-1,n=e.length;++a<n;)if(e[a]===t)return a;return-1}function baseIndexOf(e,t,r){return t==t?strictIndexOf(e,t,r):baseFindIndex(e,baseIsNaN,r)}function arrayIncludes(e,t){return!!(null==e?0:e.length)&&baseIndexOf(e,t,0)>-1}var WRAP_BIND_FLAG$7=1,WRAP_BIND_KEY_FLAG$6=2,WRAP_CURRY_FLAG$6=8,WRAP_CURRY_RIGHT_FLAG$3=16,WRAP_PARTIAL_FLAG$6=32,WRAP_PARTIAL_RIGHT_FLAG$3=64,WRAP_ARY_FLAG$4=128,WRAP_REARG_FLAG$3=256,WRAP_FLIP_FLAG$2=512,wrapFlags=[["ary",WRAP_ARY_FLAG$4],["bind",WRAP_BIND_FLAG$7],["bindKey",WRAP_BIND_KEY_FLAG$6],["curry",WRAP_CURRY_FLAG$6],["curryRight",WRAP_CURRY_RIGHT_FLAG$3],["flip",WRAP_FLIP_FLAG$2],["partial",WRAP_PARTIAL_FLAG$6],["partialRight",WRAP_PARTIAL_RIGHT_FLAG$3],["rearg",WRAP_REARG_FLAG$3]];function updateWrapDetails(e,t){return arrayEach(wrapFlags,(function(r){var a="_."+r[0];t&r[1]&&!arrayIncludes(e,a)&&e.push(a)})),e.sort()}function setWrapToString(e,t,r){var a=t+"";return setToString(e,insertWrapDetails(a,updateWrapDetails(getWrapDetails(a),r)))}var WRAP_BIND_FLAG$6=1,WRAP_BIND_KEY_FLAG$5=2,WRAP_CURRY_BOUND_FLAG$1=4,WRAP_CURRY_FLAG$5=8,WRAP_PARTIAL_FLAG$5=32,WRAP_PARTIAL_RIGHT_FLAG$2=64;function createRecurry(e,t,r,a,n,o,i,s,u,l){var c=t&WRAP_CURRY_FLAG$5;t|=c?WRAP_PARTIAL_FLAG$5:WRAP_PARTIAL_RIGHT_FLAG$2,(t&=~(c?WRAP_PARTIAL_RIGHT_FLAG$2:WRAP_PARTIAL_FLAG$5))&WRAP_CURRY_BOUND_FLAG$1||(t&=~(WRAP_BIND_FLAG$6|WRAP_BIND_KEY_FLAG$5));var f=[e,t,n,c?o:void 0,c?i:void 0,c?void 0:o,c?void 0:i,s,u,l],p=r.apply(void 0,f);return isLaziable(e)&&setData(p,f),p.placeholder=a,setWrapToString(p,e,t)}function getHolder(e){return e.placeholder}var MAX_SAFE_INTEGER$5=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(e,t){var r=typeof e;return!!(t=null==t?MAX_SAFE_INTEGER$5:t)&&("number"==r||"symbol"!=r&&reIsUint.test(e))&&e>-1&&e%1==0&&e<t}var nativeMin$e=Math.min;function reorder(e,t){for(var r=e.length,a=nativeMin$e(t.length,r),n=copyArray(e);a--;){var o=t[a];e[a]=isIndex(o,r)?n[o]:void 0}return e}var PLACEHOLDER$1="__lodash_placeholder__";function replaceHolders(e,t){for(var r=-1,a=e.length,n=0,o=[];++r<a;){var i=e[r];i!==t&&i!==PLACEHOLDER$1||(e[r]=PLACEHOLDER$1,o[n++]=r)}return o}var WRAP_BIND_FLAG$5=1,WRAP_BIND_KEY_FLAG$4=2,WRAP_CURRY_FLAG$4=8,WRAP_CURRY_RIGHT_FLAG$2=16,WRAP_ARY_FLAG$3=128,WRAP_FLIP_FLAG$1=512;function createHybrid(e,t,r,a,n,o,i,s,u,l){var c=t&WRAP_ARY_FLAG$3,f=t&WRAP_BIND_FLAG$5,p=t&WRAP_BIND_KEY_FLAG$4,h=t&(WRAP_CURRY_FLAG$4|WRAP_CURRY_RIGHT_FLAG$2),d=t&WRAP_FLIP_FLAG$1,g=p?void 0:createCtor(e);return function y(){for(var b=arguments.length,v=Array(b),_=b;_--;)v[_]=arguments[_];if(h)var A=getHolder(y),m=countHolders(v,A);if(a&&(v=composeArgs(v,a,n,h)),o&&(v=composeArgsRight(v,o,i,h)),b-=m,h&&b<l){var R=replaceHolders(v,A);return createRecurry(e,t,createHybrid,y.placeholder,r,v,R,s,u,l-b)}var $=f?r:this,T=p?$[e]:e;return b=v.length,s?v=reorder(v,s):d&&b>1&&v.reverse(),c&&u<b&&(v.length=u),this&&this!==root&&this instanceof y&&(T=g||createCtor(T)),T.apply($,v)}}function createCurry(e,t,r){var a=createCtor(e);return function n(){for(var o=arguments.length,i=Array(o),s=o,u=getHolder(n);s--;)i[s]=arguments[s];var l=o<3&&i[0]!==u&&i[o-1]!==u?[]:replaceHolders(i,u);return(o-=l.length)<r?createRecurry(e,t,createHybrid,n.placeholder,void 0,i,l,void 0,void 0,r-o):apply(this&&this!==root&&this instanceof n?a:e,this,i)}}var WRAP_BIND_FLAG$4=1;function createPartial(e,t,r,a){var n=t&WRAP_BIND_FLAG$4,o=createCtor(e);return function t(){for(var i=-1,s=arguments.length,u=-1,l=a.length,c=Array(l+s),f=this&&this!==root&&this instanceof t?o:e;++u<l;)c[u]=a[u];for(;s--;)c[u++]=arguments[++i];return apply(f,n?r:this,c)}}var PLACEHOLDER="__lodash_placeholder__",WRAP_BIND_FLAG$3=1,WRAP_BIND_KEY_FLAG$3=2,WRAP_CURRY_BOUND_FLAG=4,WRAP_CURRY_FLAG$3=8,WRAP_ARY_FLAG$2=128,WRAP_REARG_FLAG$2=256,nativeMin$d=Math.min;function mergeData(e,t){var r=e[1],a=t[1],n=r|a,o=n<(WRAP_BIND_FLAG$3|WRAP_BIND_KEY_FLAG$3|WRAP_ARY_FLAG$2),i=a==WRAP_ARY_FLAG$2&&r==WRAP_CURRY_FLAG$3||a==WRAP_ARY_FLAG$2&&r==WRAP_REARG_FLAG$2&&e[7].length<=t[8]||a==(WRAP_ARY_FLAG$2|WRAP_REARG_FLAG$2)&&t[7].length<=t[8]&&r==WRAP_CURRY_FLAG$3;if(!o&&!i)return e;a&WRAP_BIND_FLAG$3&&(e[2]=t[2],n|=r&WRAP_BIND_FLAG$3?0:WRAP_CURRY_BOUND_FLAG);var s=t[3];if(s){var u=e[3];e[3]=u?composeArgs(u,s,t[4]):s,e[4]=u?replaceHolders(e[3],PLACEHOLDER):t[4]}return(s=t[5])&&(u=e[5],e[5]=u?composeArgsRight(u,s,t[6]):s,e[6]=u?replaceHolders(e[5],PLACEHOLDER):t[6]),(s=t[7])&&(e[7]=s),a&WRAP_ARY_FLAG$2&&(e[8]=null==e[8]?t[8]:nativeMin$d(e[8],t[8])),null==e[9]&&(e[9]=t[9]),e[0]=t[0],e[1]=n,e}var FUNC_ERROR_TEXT$a="Expected a function",WRAP_BIND_FLAG$2=1,WRAP_BIND_KEY_FLAG$2=2,WRAP_CURRY_FLAG$2=8,WRAP_CURRY_RIGHT_FLAG$1=16,WRAP_PARTIAL_FLAG$4=32,WRAP_PARTIAL_RIGHT_FLAG$1=64,nativeMax$e=Math.max;function createWrap(e,t,r,a,n,o,i,s){var u=t&WRAP_BIND_KEY_FLAG$2;if(!u&&"function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$a);var l=a?a.length:0;if(l||(t&=~(WRAP_PARTIAL_FLAG$4|WRAP_PARTIAL_RIGHT_FLAG$1),a=n=void 0),i=void 0===i?i:nativeMax$e(toInteger(i),0),s=void 0===s?s:toInteger(s),l-=n?n.length:0,t&WRAP_PARTIAL_RIGHT_FLAG$1){var c=a,f=n;a=n=void 0}var p=u?void 0:getData(e),h=[e,t,r,a,n,c,f,o,i,s];if(p&&mergeData(h,p),e=h[0],t=h[1],r=h[2],a=h[3],n=h[4],!(s=h[9]=void 0===h[9]?u?0:e.length:nativeMax$e(h[9]-l,0))&&t&(WRAP_CURRY_FLAG$2|WRAP_CURRY_RIGHT_FLAG$1)&&(t&=~(WRAP_CURRY_FLAG$2|WRAP_CURRY_RIGHT_FLAG$1)),t&&t!=WRAP_BIND_FLAG$2)d=t==WRAP_CURRY_FLAG$2||t==WRAP_CURRY_RIGHT_FLAG$1?createCurry(e,t,s):t!=WRAP_PARTIAL_FLAG$4&&t!=(WRAP_BIND_FLAG$2|WRAP_PARTIAL_FLAG$4)||n.length?createHybrid.apply(void 0,h):createPartial(e,t,r,a);else var d=createBind(e,t,r);return setWrapToString((p?baseSetData:setData)(d,h),e,t)}var WRAP_ARY_FLAG$1=128;function ary(e,t,r){return t=r?void 0:t,t=e&&null==t?e.length:t,createWrap(e,WRAP_ARY_FLAG$1,void 0,void 0,void 0,void 0,t)}function baseAssignValue(e,t,r){"__proto__"==t&&defineProperty?defineProperty(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function eq(e,t){return e===t||e!=e&&t!=t}var objectProto$n=Object.prototype,hasOwnProperty$k=objectProto$n.hasOwnProperty;function assignValue(e,t,r){var a=e[t];hasOwnProperty$k.call(e,t)&&eq(a,r)&&(void 0!==r||t in e)||baseAssignValue(e,t,r)}function copyObject(e,t,r,a){var n=!r;r||(r={});for(var o=-1,i=t.length;++o<i;){var s=t[o],u=a?a(r[s],e[s],s,r,e):void 0;void 0===u&&(u=e[s]),n?baseAssignValue(r,s,u):assignValue(r,s,u)}return r}var nativeMax$d=Math.max;function overRest(e,t,r){return t=nativeMax$d(void 0===t?e.length-1:t,0),function(){for(var a=arguments,n=-1,o=nativeMax$d(a.length-t,0),i=Array(o);++n<o;)i[n]=a[t+n];n=-1;for(var s=Array(t+1);++n<t;)s[n]=a[n];return s[t]=r(i),apply(e,this,s)}}function baseRest(e,t){return setToString(overRest(e,t,identity),e+"")}var MAX_SAFE_INTEGER$4=9007199254740991;function isLength(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=MAX_SAFE_INTEGER$4}function isArrayLike(e){return null!=e&&isLength(e.length)&&!isFunction(e)}function isIterateeCall(e,t,r){if(!isObject(r))return!1;var a=typeof t;return!!("number"==a?isArrayLike(r)&&isIndex(t,r.length):"string"==a&&t in r)&&eq(r[t],e)}function createAssigner(e){return baseRest((function(t,r){var a=-1,n=r.length,o=n>1?r[n-1]:void 0,i=n>2?r[2]:void 0;for(o=e.length>3&&"function"==typeof o?(n--,o):void 0,i&&isIterateeCall(r[0],r[1],i)&&(o=n<3?void 0:o,n=1),t=Object(t);++a<n;){var s=r[a];s&&e(t,s,a,o)}return t}))}var objectProto$m=Object.prototype;function isPrototype(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||objectProto$m)}function baseTimes(e,t){for(var r=-1,a=Array(e);++r<e;)a[r]=t(r);return a}var argsTag$3="[object Arguments]";function baseIsArguments(e){return isObjectLike(e)&&baseGetTag(e)==argsTag$3}var objectProto$l=Object.prototype,hasOwnProperty$j=objectProto$l.hasOwnProperty,propertyIsEnumerable$1=objectProto$l.propertyIsEnumerable,isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(e){return isObjectLike(e)&&hasOwnProperty$j.call(e,"callee")&&!propertyIsEnumerable$1.call(e,"callee")};function stubFalse(){return!1}var freeExports$2="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$2=freeExports$2&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports$2=freeModule$2&&freeModule$2.exports===freeExports$2,Buffer$1=moduleExports$2?root.Buffer:void 0,nativeIsBuffer=Buffer$1?Buffer$1.isBuffer:void 0,isBuffer=nativeIsBuffer||stubFalse,argsTag$2="[object Arguments]",arrayTag$2="[object Array]",boolTag$4="[object Boolean]",dateTag$4="[object Date]",errorTag$3="[object Error]",funcTag$1="[object Function]",mapTag$9="[object Map]",numberTag$4="[object Number]",objectTag$4="[object Object]",regexpTag$4="[object RegExp]",setTag$9="[object Set]",stringTag$4="[object String]",weakMapTag$3="[object WeakMap]",arrayBufferTag$4="[object ArrayBuffer]",dataViewTag$4="[object DataView]",float32Tag$2="[object Float32Array]",float64Tag$2="[object Float64Array]",int8Tag$2="[object Int8Array]",int16Tag$2="[object Int16Array]",int32Tag$2="[object Int32Array]",uint8Tag$2="[object Uint8Array]",uint8ClampedTag$2="[object Uint8ClampedArray]",uint16Tag$2="[object Uint16Array]",uint32Tag$2="[object Uint32Array]",typedArrayTags={};function baseIsTypedArray(e){return isObjectLike(e)&&isLength(e.length)&&!!typedArrayTags[baseGetTag(e)]}function baseUnary(e){return function(t){return e(t)}}typedArrayTags[float32Tag$2]=typedArrayTags[float64Tag$2]=typedArrayTags[int8Tag$2]=typedArrayTags[int16Tag$2]=typedArrayTags[int32Tag$2]=typedArrayTags[uint8Tag$2]=typedArrayTags[uint8ClampedTag$2]=typedArrayTags[uint16Tag$2]=typedArrayTags[uint32Tag$2]=!0,typedArrayTags[argsTag$2]=typedArrayTags[arrayTag$2]=typedArrayTags[arrayBufferTag$4]=typedArrayTags[boolTag$4]=typedArrayTags[dataViewTag$4]=typedArrayTags[dateTag$4]=typedArrayTags[errorTag$3]=typedArrayTags[funcTag$1]=typedArrayTags[mapTag$9]=typedArrayTags[numberTag$4]=typedArrayTags[objectTag$4]=typedArrayTags[regexpTag$4]=typedArrayTags[setTag$9]=typedArrayTags[stringTag$4]=typedArrayTags[weakMapTag$3]=!1;var freeExports$1="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule$1=freeExports$1&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports$1=freeModule$1&&freeModule$1.exports===freeExports$1,freeProcess=moduleExports$1&&freeGlobal.process,nodeUtil=function(){try{var e=freeModule$1&&freeModule$1.require&&freeModule$1.require("util").types;return e||freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,objectProto$k=Object.prototype,hasOwnProperty$i=objectProto$k.hasOwnProperty;function arrayLikeKeys(e,t){var r=isArray(e),a=!r&&isArguments(e),n=!r&&!a&&isBuffer(e),o=!r&&!a&&!n&&isTypedArray(e),i=r||a||n||o,s=i?baseTimes(e.length,String):[],u=s.length;for(var l in e)!t&&!hasOwnProperty$i.call(e,l)||i&&("length"==l||n&&("offset"==l||"parent"==l)||o&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||isIndex(l,u))||s.push(l);return s}function overArg(e,t){return function(r){return e(t(r))}}var nativeKeys=overArg(Object.keys,Object),objectProto$j=Object.prototype,hasOwnProperty$h=objectProto$j.hasOwnProperty;function baseKeys(e){if(!isPrototype(e))return nativeKeys(e);var t=[];for(var r in Object(e))hasOwnProperty$h.call(e,r)&&"constructor"!=r&&t.push(r);return t}function keys(e){return isArrayLike(e)?arrayLikeKeys(e):baseKeys(e)}var objectProto$i=Object.prototype,hasOwnProperty$g=objectProto$i.hasOwnProperty,assign=createAssigner((function(e,t){if(isPrototype(t)||isArrayLike(t))copyObject(t,keys(t),e);else for(var r in t)hasOwnProperty$g.call(t,r)&&assignValue(e,r,t[r])}));function nativeKeysIn(e){var t=[];if(null!=e)for(var r in Object(e))t.push(r);return t}var objectProto$h=Object.prototype,hasOwnProperty$f=objectProto$h.hasOwnProperty;function baseKeysIn(e){if(!isObject(e))return nativeKeysIn(e);var t=isPrototype(e),r=[];for(var a in e)("constructor"!=a||!t&&hasOwnProperty$f.call(e,a))&&r.push(a);return r}function keysIn(e){return isArrayLike(e)?arrayLikeKeys(e,!0):baseKeysIn(e)}var assignIn=createAssigner((function(e,t){copyObject(t,keysIn(t),e)})),assignInWith=createAssigner((function(e,t,r,a){copyObject(t,keysIn(t),e,a)})),assignWith=createAssigner((function(e,t,r,a){copyObject(t,keys(t),e,a)})),reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/;function isKey(e,t){if(isArray(e))return!1;var r=typeof e;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=e&&!isSymbol(e))||(reIsPlainProp.test(e)||!reIsDeepProp.test(e)||null!=t&&e in Object(t))}var nativeCreate=getNative(Object,"create");function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}function hashDelete(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var HASH_UNDEFINED$2="__lodash_hash_undefined__",objectProto$g=Object.prototype,hasOwnProperty$e=objectProto$g.hasOwnProperty;function hashGet(e){var t=this.__data__;if(nativeCreate){var r=t[e];return r===HASH_UNDEFINED$2?void 0:r}return hasOwnProperty$e.call(t,e)?t[e]:void 0}var objectProto$f=Object.prototype,hasOwnProperty$d=objectProto$f.hasOwnProperty;function hashHas(e){var t=this.__data__;return nativeCreate?void 0!==t[e]:hasOwnProperty$d.call(t,e)}var HASH_UNDEFINED$1="__lodash_hash_undefined__";function hashSet(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=nativeCreate&&void 0===t?HASH_UNDEFINED$1:t,this}function Hash(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}function listCacheClear(){this.__data__=[],this.size=0}function assocIndexOf(e,t){for(var r=e.length;r--;)if(eq(e[r][0],t))return r;return-1}Hash.prototype.clear=hashClear,Hash.prototype.delete=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet;var arrayProto$5=Array.prototype,splice$2=arrayProto$5.splice;function listCacheDelete(e){var t=this.__data__,r=assocIndexOf(t,e);return!(r<0)&&(r==t.length-1?t.pop():splice$2.call(t,r,1),--this.size,!0)}function listCacheGet(e){var t=this.__data__,r=assocIndexOf(t,e);return r<0?void 0:t[r][1]}function listCacheHas(e){return assocIndexOf(this.__data__,e)>-1}function listCacheSet(e,t){var r=this.__data__,a=assocIndexOf(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}function ListCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}ListCache.prototype.clear=listCacheClear,ListCache.prototype.delete=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet;var Map=getNative(root,"Map");function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}function isKeyable(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}function getMapData(e,t){var r=e.__data__;return isKeyable(t)?r["string"==typeof t?"string":"hash"]:r.map}function mapCacheDelete(e){var t=getMapData(this,e).delete(e);return this.size-=t?1:0,t}function mapCacheGet(e){return getMapData(this,e).get(e)}function mapCacheHas(e){return getMapData(this,e).has(e)}function mapCacheSet(e,t){var r=getMapData(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}function MapCache(e){var t=-1,r=null==e?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}MapCache.prototype.clear=mapCacheClear,MapCache.prototype.delete=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet;var FUNC_ERROR_TEXT$9="Expected a function";function memoize(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(FUNC_ERROR_TEXT$9);var r=function(){var a=arguments,n=t?t.apply(this,a):a[0],o=r.cache;if(o.has(n))return o.get(n);var i=e.apply(this,a);return r.cache=o.set(n,i)||o,i};return r.cache=new(memoize.Cache||MapCache),r}memoize.Cache=MapCache;var MAX_MEMOIZE_SIZE=500;function memoizeCapped(e){var t=memoize(e,(function(e){return r.size===MAX_MEMOIZE_SIZE&&r.clear(),e})),r=t.cache;return t}var rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reEscapeChar=/\\(\\)?/g,stringToPath=memoizeCapped((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(rePropName,(function(e,r,a,n){t.push(a?n.replace(reEscapeChar,"$1"):r||e)})),t}));function toString(e){return null==e?"":baseToString(e)}function castPath(e,t){return isArray(e)?e:isKey(e,t)?[e]:stringToPath(toString(e))}var INFINITY$3=1/0;function toKey(e){if("string"==typeof e||isSymbol(e))return e;var t=e+"";return"0"==t&&1/e==-INFINITY$3?"-0":t}function baseGet(e,t){for(var r=0,a=(t=castPath(t,e)).length;null!=e&&r<a;)e=e[toKey(t[r++])];return r&&r==a?e:void 0}function get(e,t,r){var a=null==e?void 0:baseGet(e,t);return void 0===a?r:a}function baseAt(e,t){for(var r=-1,a=t.length,n=Array(a),o=null==e;++r<a;)n[r]=o?void 0:get(e,t[r]);return n}function arrayPush(e,t){for(var r=-1,a=t.length,n=e.length;++r<a;)e[n+r]=t[r];return e}var spreadableSymbol=Symbol?Symbol.isConcatSpreadable:void 0;function isFlattenable(e){return isArray(e)||isArguments(e)||!!(spreadableSymbol&&e&&e[spreadableSymbol])}function baseFlatten(e,t,r,a,n){var o=-1,i=e.length;for(r||(r=isFlattenable),n||(n=[]);++o<i;){var s=e[o];t>0&&r(s)?t>1?baseFlatten(s,t-1,r,a,n):arrayPush(n,s):a||(n[n.length]=s)}return n}function flatten(e){return(null==e?0:e.length)?baseFlatten(e,1):[]}function flatRest(e){return setToString(overRest(e,void 0,flatten),e+"")}var at=flatRest(baseAt),getPrototype=overArg(Object.getPrototypeOf,Object),objectTag$3="[object Object]",funcProto=Function.prototype,objectProto$e=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$c=objectProto$e.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject(e){if(!isObjectLike(e)||baseGetTag(e)!=objectTag$3)return!1;var t=getPrototype(e);if(null===t)return!0;var r=hasOwnProperty$c.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&funcToString.call(r)==objectCtorString}var domExcTag="[object DOMException]",errorTag$2="[object Error]";function isError(e){if(!isObjectLike(e))return!1;var t=baseGetTag(e);return t==errorTag$2||t==domExcTag||"string"==typeof e.message&&"string"==typeof e.name&&!isPlainObject(e)}var attempt=baseRest((function(e,t){try{return apply(e,void 0,t)}catch(e){return isError(e)?e:new Error(e)}})),FUNC_ERROR_TEXT$8="Expected a function";function before(e,t){var r;if("function"!=typeof t)throw new TypeError(FUNC_ERROR_TEXT$8);return e=toInteger(e),function(){return--e>0&&(r=t.apply(this,arguments)),e<=1&&(t=void 0),r}}var WRAP_BIND_FLAG$1=1,WRAP_PARTIAL_FLAG$3=32,bind=baseRest((function(e,t,r){var a=WRAP_BIND_FLAG$1;if(r.length){var n=replaceHolders(r,getHolder(bind));a|=WRAP_PARTIAL_FLAG$3}return createWrap(e,a,t,r,n)}));bind.placeholder={};var bindAll=flatRest((function(e,t){return arrayEach(t,(function(t){t=toKey(t),baseAssignValue(e,t,bind(e[t],e))})),e})),WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG$1=2,WRAP_PARTIAL_FLAG$2=32,bindKey=baseRest((function(e,t,r){var a=WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG$1;if(r.length){var n=replaceHolders(r,getHolder(bindKey));a|=WRAP_PARTIAL_FLAG$2}return createWrap(t,a,e,r,n)}));function baseSlice(e,t,r){var a=-1,n=e.length;t<0&&(t=-t>n?0:n+t),(r=r>n?n:r)<0&&(r+=n),n=t>r?0:r-t>>>0,t>>>=0;for(var o=Array(n);++a<n;)o[a]=e[a+t];return o}function castSlice(e,t,r){var a=e.length;return r=void 0===r?a:r,!t&&r>=a?e:baseSlice(e,t,r)}bindKey.placeholder={};var rsAstralRange$3="\\ud800-\\udfff",rsComboMarksRange$4="\\u0300-\\u036f",reComboHalfMarksRange$4="\\ufe20-\\ufe2f",rsComboSymbolsRange$4="\\u20d0-\\u20ff",rsComboRange$4=rsComboMarksRange$4+reComboHalfMarksRange$4+rsComboSymbolsRange$4,rsVarRange$3="\\ufe0e\\ufe0f",rsZWJ$3="\\u200d",reHasUnicode=RegExp("["+rsZWJ$3+rsAstralRange$3+rsComboRange$4+rsVarRange$3+"]");function hasUnicode(e){return reHasUnicode.test(e)}function asciiToArray(e){return e.split("")}var rsAstralRange$2="\\ud800-\\udfff",rsComboMarksRange$3="\\u0300-\\u036f",reComboHalfMarksRange$3="\\ufe20-\\ufe2f",rsComboSymbolsRange$3="\\u20d0-\\u20ff",rsComboRange$3=rsComboMarksRange$3+reComboHalfMarksRange$3+rsComboSymbolsRange$3,rsVarRange$2="\\ufe0e\\ufe0f",rsAstral$1="["+rsAstralRange$2+"]",rsCombo$3="["+rsComboRange$3+"]",rsFitz$2="\\ud83c[\\udffb-\\udfff]",rsModifier$2="(?:"+rsCombo$3+"|"+rsFitz$2+")",rsNonAstral$2="[^"+rsAstralRange$2+"]",rsRegional$2="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair$2="[\\ud800-\\udbff][\\udc00-\\udfff]",rsZWJ$2="\\u200d",reOptMod$2=rsModifier$2+"?",rsOptVar$2="["+rsVarRange$2+"]?",rsOptJoin$2="(?:"+rsZWJ$2+"(?:"+[rsNonAstral$2,rsRegional$2,rsSurrPair$2].join("|")+")"+rsOptVar$2+reOptMod$2+")*",rsSeq$2=rsOptVar$2+reOptMod$2+rsOptJoin$2,rsSymbol$1="(?:"+[rsNonAstral$2+rsCombo$3+"?",rsCombo$3,rsRegional$2,rsSurrPair$2,rsAstral$1].join("|")+")",reUnicode$1=RegExp(rsFitz$2+"(?="+rsFitz$2+")|"+rsSymbol$1+rsSeq$2,"g");function unicodeToArray(e){return e.match(reUnicode$1)||[]}function stringToArray(e){return hasUnicode(e)?unicodeToArray(e):asciiToArray(e)}function createCaseFirst(e){return function(t){var r=hasUnicode(t=toString(t))?stringToArray(t):void 0,a=r?r[0]:t.charAt(0),n=r?castSlice(r,1).join(""):t.slice(1);return a[e]()+n}}var upperFirst=createCaseFirst("toUpperCase");function capitalize(e){return upperFirst(toString(e).toLowerCase())}function arrayReduce(e,t,r,a){var n=-1,o=null==e?0:e.length;for(a&&o&&(r=e[++n]);++n<o;)r=t(r,e[n],n,e);return r}function basePropertyOf(e){return function(t){return null==e?void 0:e[t]}}var deburredLetters={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},deburrLetter=basePropertyOf(deburredLetters),reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,rsComboMarksRange$2="\\u0300-\\u036f",reComboHalfMarksRange$2="\\ufe20-\\ufe2f",rsComboSymbolsRange$2="\\u20d0-\\u20ff",rsComboRange$2=rsComboMarksRange$2+reComboHalfMarksRange$2+rsComboSymbolsRange$2,rsCombo$2="["+rsComboRange$2+"]",reComboMark=RegExp(rsCombo$2,"g");function deburr(e){return(e=toString(e))&&e.replace(reLatin,deburrLetter).replace(reComboMark,"")}var reAsciiWord=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function asciiWords(e){return e.match(reAsciiWord)||[]}var reHasUnicodeWord=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function hasUnicodeWord(e){return reHasUnicodeWord.test(e)}var rsAstralRange$1="\\ud800-\\udfff",rsComboMarksRange$1="\\u0300-\\u036f",reComboHalfMarksRange$1="\\ufe20-\\ufe2f",rsComboSymbolsRange$1="\\u20d0-\\u20ff",rsComboRange$1=rsComboMarksRange$1+reComboHalfMarksRange$1+rsComboSymbolsRange$1,rsDingbatRange="\\u2700-\\u27bf",rsLowerRange="a-z\\xdf-\\xf6\\xf8-\\xff",rsMathOpRange="\\xac\\xb1\\xd7\\xf7",rsNonCharRange="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",rsPunctuationRange="\\u2000-\\u206f",rsSpaceRange=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rsUpperRange="A-Z\\xc0-\\xd6\\xd8-\\xde",rsVarRange$1="\\ufe0e\\ufe0f",rsBreakRange=rsMathOpRange+rsNonCharRange+rsPunctuationRange+rsSpaceRange,rsApos$1="['’]",rsBreak="["+rsBreakRange+"]",rsCombo$1="["+rsComboRange$1+"]",rsDigits="\\d+",rsDingbat="["+rsDingbatRange+"]",rsLower="["+rsLowerRange+"]",rsMisc="[^"+rsAstralRange$1+rsBreakRange+rsDigits+rsDingbatRange+rsLowerRange+rsUpperRange+"]",rsFitz$1="\\ud83c[\\udffb-\\udfff]",rsModifier$1="(?:"+rsCombo$1+"|"+rsFitz$1+")",rsNonAstral$1="[^"+rsAstralRange$1+"]",rsRegional$1="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair$1="[\\ud800-\\udbff][\\udc00-\\udfff]",rsUpper="["+rsUpperRange+"]",rsZWJ$1="\\u200d",rsMiscLower="(?:"+rsLower+"|"+rsMisc+")",rsMiscUpper="(?:"+rsUpper+"|"+rsMisc+")",rsOptContrLower="(?:"+rsApos$1+"(?:d|ll|m|re|s|t|ve))?",rsOptContrUpper="(?:"+rsApos$1+"(?:D|LL|M|RE|S|T|VE))?",reOptMod$1=rsModifier$1+"?",rsOptVar$1="["+rsVarRange$1+"]?",rsOptJoin$1="(?:"+rsZWJ$1+"(?:"+[rsNonAstral$1,rsRegional$1,rsSurrPair$1].join("|")+")"+rsOptVar$1+reOptMod$1+")*",rsOrdLower="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",rsOrdUpper="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",rsSeq$1=rsOptVar$1+reOptMod$1+rsOptJoin$1,rsEmoji="(?:"+[rsDingbat,rsRegional$1,rsSurrPair$1].join("|")+")"+rsSeq$1,reUnicodeWord=RegExp([rsUpper+"?"+rsLower+"+"+rsOptContrLower+"(?="+[rsBreak,rsUpper,"$"].join("|")+")",rsMiscUpper+"+"+rsOptContrUpper+"(?="+[rsBreak,rsUpper+rsMiscLower,"$"].join("|")+")",rsUpper+"?"+rsMiscLower+"+"+rsOptContrLower,rsUpper+"+"+rsOptContrUpper,rsOrdUpper,rsOrdLower,rsDigits,rsEmoji].join("|"),"g");function unicodeWords(e){return e.match(reUnicodeWord)||[]}function words(e,t,r){return e=toString(e),void 0===(t=r?void 0:t)?hasUnicodeWord(e)?unicodeWords(e):asciiWords(e):e.match(t)||[]}var rsApos="['’]",reApos=RegExp(rsApos,"g");function createCompounder(e){return function(t){return arrayReduce(words(deburr(t).replace(reApos,"")),e,"")}}var camelCase=createCompounder((function(e,t,r){return t=t.toLowerCase(),e+(r?capitalize(t):t)}));function castArray(){if(!arguments.length)return[];var e=arguments[0];return isArray(e)?e:[e]}var nativeIsFinite$1=root.isFinite,nativeMin$c=Math.min;function createRound(e){var t=Math[e];return function(e,r){if(e=toNumber(e),(r=null==r?0:nativeMin$c(toInteger(r),292))&&nativeIsFinite$1(e)){var a=(toString(e)+"e").split("e");return+((a=(toString(t(a[0]+"e"+(+a[1]+r)))+"e").split("e"))[0]+"e"+(+a[1]-r))}return t(e)}}var ceil=createRound("ceil");function chain(e){var t=lodash(e);return t.__chain__=!0,t}var nativeCeil$3=Math.ceil,nativeMax$c=Math.max;function chunk(e,t,r){t=(r?isIterateeCall(e,t,r):void 0===t)?1:nativeMax$c(toInteger(t),0);var a=null==e?0:e.length;if(!a||t<1)return[];for(var n=0,o=0,i=Array(nativeCeil$3(a/t));n<a;)i[o++]=baseSlice(e,n,n+=t);return i}function baseClamp(e,t,r){return e==e&&(void 0!==r&&(e=e<=r?e:r),void 0!==t&&(e=e>=t?e:t)),e}function clamp(e,t,r){return void 0===r&&(r=t,t=void 0),void 0!==r&&(r=(r=toNumber(r))==r?r:0),void 0!==t&&(t=(t=toNumber(t))==t?t:0),baseClamp(toNumber(e),t,r)}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function stackGet(e){return this.__data__.get(e)}function stackHas(e){return this.__data__.has(e)}var LARGE_ARRAY_SIZE$2=200;function stackSet(e,t){var r=this.__data__;if(r instanceof ListCache){var a=r.__data__;if(!Map||a.length<LARGE_ARRAY_SIZE$2-1)return a.push([e,t]),this.size=++r.size,this;r=this.__data__=new MapCache(a)}return r.set(e,t),this.size=r.size,this}function Stack(e){var t=this.__data__=new ListCache(e);this.size=t.size}function baseAssign(e,t){return e&&copyObject(t,keys(t),e)}function baseAssignIn(e,t){return e&&copyObject(t,keysIn(t),e)}Stack.prototype.clear=stackClear,Stack.prototype.delete=stackDelete,Stack.prototype.get=stackGet,Stack.prototype.has=stackHas,Stack.prototype.set=stackSet;var freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,Buffer=moduleExports?root.Buffer:void 0,allocUnsafe=Buffer?Buffer.allocUnsafe:void 0;function cloneBuffer(e,t){if(t)return e.slice();var r=e.length,a=allocUnsafe?allocUnsafe(r):new e.constructor(r);return e.copy(a),a}function arrayFilter(e,t){for(var r=-1,a=null==e?0:e.length,n=0,o=[];++r<a;){var i=e[r];t(i,r,e)&&(o[n++]=i)}return o}function stubArray(){return[]}var objectProto$d=Object.prototype,propertyIsEnumerable=objectProto$d.propertyIsEnumerable,nativeGetSymbols$1=Object.getOwnPropertySymbols,getSymbols=nativeGetSymbols$1?function(e){return null==e?[]:(e=Object(e),arrayFilter(nativeGetSymbols$1(e),(function(t){return propertyIsEnumerable.call(e,t)})))}:stubArray;function copySymbols(e,t){return copyObject(e,getSymbols(e),t)}var nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn=nativeGetSymbols?function(e){for(var t=[];e;)arrayPush(t,getSymbols(e)),e=getPrototype(e);return t}:stubArray;function copySymbolsIn(e,t){return copyObject(e,getSymbolsIn(e),t)}function baseGetAllKeys(e,t,r){var a=t(e);return isArray(e)?a:arrayPush(a,r(e))}function getAllKeys(e){return baseGetAllKeys(e,keys,getSymbols)}function getAllKeysIn(e){return baseGetAllKeys(e,keysIn,getSymbolsIn)}var DataView=getNative(root,"DataView"),Promise$1=getNative(root,"Promise"),Set=getNative(root,"Set"),mapTag$8="[object Map]",objectTag$2="[object Object]",promiseTag="[object Promise]",setTag$8="[object Set]",weakMapTag$2="[object WeakMap]",dataViewTag$3="[object DataView]",dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise$1),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap),getTag=baseGetTag;(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag$3||Map&&getTag(new Map)!=mapTag$8||Promise$1&&getTag(Promise$1.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag$8||WeakMap&&getTag(new WeakMap)!=weakMapTag$2)&&(getTag=function(e){var t=baseGetTag(e),r=t==objectTag$2?e.constructor:void 0,a=r?toSource(r):"";if(a)switch(a){case dataViewCtorString:return dataViewTag$3;case mapCtorString:return mapTag$8;case promiseCtorString:return promiseTag;case setCtorString:return setTag$8;case weakMapCtorString:return weakMapTag$2}return t});var getTag$1=getTag,objectProto$c=Object.prototype,hasOwnProperty$b=objectProto$c.hasOwnProperty;function initCloneArray(e){var t=e.length,r=new e.constructor(t);return t&&"string"==typeof e[0]&&hasOwnProperty$b.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var Uint8Array=root.Uint8Array;function cloneArrayBuffer(e){var t=new e.constructor(e.byteLength);return new Uint8Array(t).set(new Uint8Array(e)),t}function cloneDataView(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var reFlags$1=/\w*$/;function cloneRegExp(e){var t=new e.constructor(e.source,reFlags$1.exec(e));return t.lastIndex=e.lastIndex,t}var symbolProto$1=Symbol?Symbol.prototype:void 0,symbolValueOf$1=symbolProto$1?symbolProto$1.valueOf:void 0;function cloneSymbol(e){return symbolValueOf$1?Object(symbolValueOf$1.call(e)):{}}function cloneTypedArray(e,t){var r=t?cloneArrayBuffer(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var boolTag$3="[object Boolean]",dateTag$3="[object Date]",mapTag$7="[object Map]",numberTag$3="[object Number]",regexpTag$3="[object RegExp]",setTag$7="[object Set]",stringTag$3="[object String]",symbolTag$2="[object Symbol]",arrayBufferTag$3="[object ArrayBuffer]",dataViewTag$2="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag(e,t,r){var a=e.constructor;switch(t){case arrayBufferTag$3:return cloneArrayBuffer(e);case boolTag$3:case dateTag$3:return new a(+e);case dataViewTag$2:return cloneDataView(e,r);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(e,r);case mapTag$7:return new a;case numberTag$3:case stringTag$3:return new a(e);case regexpTag$3:return cloneRegExp(e);case setTag$7:return new a;case symbolTag$2:return cloneSymbol(e)}}function initCloneObject(e){return"function"!=typeof e.constructor||isPrototype(e)?{}:baseCreate(getPrototype(e))}var mapTag$6="[object Map]";function baseIsMap(e){return isObjectLike(e)&&getTag$1(e)==mapTag$6}var nodeIsMap=nodeUtil&&nodeUtil.isMap,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,setTag$6="[object Set]";function baseIsSet(e){return isObjectLike(e)&&getTag$1(e)==setTag$6}var nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,CLONE_DEEP_FLAG$7=1,CLONE_FLAT_FLAG$1=2,CLONE_SYMBOLS_FLAG$5=4,argsTag$1="[object Arguments]",arrayTag$1="[object Array]",boolTag$2="[object Boolean]",dateTag$2="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag$5="[object Map]",numberTag$2="[object Number]",objectTag$1="[object Object]",regexpTag$2="[object RegExp]",setTag$5="[object Set]",stringTag$2="[object String]",symbolTag$1="[object Symbol]",weakMapTag$1="[object WeakMap]",arrayBufferTag$2="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};function baseClone(e,t,r,a,n,o){var i,s=t&CLONE_DEEP_FLAG$7,u=t&CLONE_FLAT_FLAG$1,l=t&CLONE_SYMBOLS_FLAG$5;if(r&&(i=n?r(e,a,n,o):r(e)),void 0!==i)return i;if(!isObject(e))return e;var c=isArray(e);if(c){if(i=initCloneArray(e),!s)return copyArray(e,i)}else{var f=getTag$1(e),p=f==funcTag||f==genTag;if(isBuffer(e))return cloneBuffer(e,s);if(f==objectTag$1||f==argsTag$1||p&&!n){if(i=u||p?{}:initCloneObject(e),!s)return u?copySymbolsIn(e,baseAssignIn(i,e)):copySymbols(e,baseAssign(i,e))}else{if(!cloneableTags[f])return n?e:{};i=initCloneByTag(e,f,s)}}o||(o=new Stack);var h=o.get(e);if(h)return h;o.set(e,i),isSet(e)?e.forEach((function(a){i.add(baseClone(a,t,r,a,e,o))})):isMap(e)&&e.forEach((function(a,n){i.set(n,baseClone(a,t,r,n,e,o))}));var d=c?void 0:(l?u?getAllKeysIn:getAllKeys:u?keysIn:keys)(e);return arrayEach(d||e,(function(a,n){d&&(a=e[n=a]),assignValue(i,n,baseClone(a,t,r,n,e,o))})),i}cloneableTags[argsTag$1]=cloneableTags[arrayTag$1]=cloneableTags[arrayBufferTag$2]=cloneableTags[dataViewTag$1]=cloneableTags[boolTag$2]=cloneableTags[dateTag$2]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag$5]=cloneableTags[numberTag$2]=cloneableTags[objectTag$1]=cloneableTags[regexpTag$2]=cloneableTags[setTag$5]=cloneableTags[stringTag$2]=cloneableTags[symbolTag$1]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag$1]=!1;var CLONE_SYMBOLS_FLAG$4=4;function clone(e){return baseClone(e,CLONE_SYMBOLS_FLAG$4)}var CLONE_DEEP_FLAG$6=1,CLONE_SYMBOLS_FLAG$3=4;function cloneDeep(e){return baseClone(e,CLONE_DEEP_FLAG$6|CLONE_SYMBOLS_FLAG$3)}var CLONE_DEEP_FLAG$5=1,CLONE_SYMBOLS_FLAG$2=4;function cloneDeepWith(e,t){return baseClone(e,CLONE_DEEP_FLAG$5|CLONE_SYMBOLS_FLAG$2,t="function"==typeof t?t:void 0)}var CLONE_SYMBOLS_FLAG$1=4;function cloneWith(e,t){return baseClone(e,CLONE_SYMBOLS_FLAG$1,t="function"==typeof t?t:void 0)}function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}function compact(e){for(var t=-1,r=null==e?0:e.length,a=0,n=[];++t<r;){var o=e[t];o&&(n[a++]=o)}return n}function concat(){var e=arguments.length;if(!e)return[];for(var t=Array(e-1),r=arguments[0],a=e;a--;)t[a-1]=arguments[a];return arrayPush(isArray(r)?copyArray(r):[r],baseFlatten(t,1))}var HASH_UNDEFINED="__lodash_hash_undefined__";function setCacheAdd(e){return this.__data__.set(e,HASH_UNDEFINED),this}function setCacheHas(e){return this.__data__.has(e)}function SetCache(e){var t=-1,r=null==e?0:e.length;for(this.__data__=new MapCache;++t<r;)this.add(e[t])}function arraySome(e,t){for(var r=-1,a=null==e?0:e.length;++r<a;)if(t(e[r],r,e))return!0;return!1}function cacheHas(e,t){return e.has(t)}SetCache.prototype.add=SetCache.prototype.push=setCacheAdd,SetCache.prototype.has=setCacheHas;var COMPARE_PARTIAL_FLAG$5=1,COMPARE_UNORDERED_FLAG$3=2;function equalArrays(e,t,r,a,n,o){var i=r&COMPARE_PARTIAL_FLAG$5,s=e.length,u=t.length;if(s!=u&&!(i&&u>s))return!1;var l=o.get(e),c=o.get(t);if(l&&c)return l==t&&c==e;var f=-1,p=!0,h=r&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(o.set(e,t),o.set(t,e);++f<s;){var d=e[f],g=t[f];if(a)var y=i?a(g,d,f,t,e,o):a(d,g,f,e,t,o);if(void 0!==y){if(y)continue;p=!1;break}if(h){if(!arraySome(t,(function(e,t){if(!cacheHas(h,t)&&(d===e||n(d,e,r,a,o)))return h.push(t)}))){p=!1;break}}else if(d!==g&&!n(d,g,r,a,o)){p=!1;break}}return o.delete(e),o.delete(t),p}function mapToArray(e){var t=-1,r=Array(e.size);return e.forEach((function(e,a){r[++t]=[a,e]})),r}function setToArray(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=e})),r}var COMPARE_PARTIAL_FLAG$4=1,COMPARE_UNORDERED_FLAG$2=2,boolTag$1="[object Boolean]",dateTag$1="[object Date]",errorTag="[object Error]",mapTag$4="[object Map]",numberTag$1="[object Number]",regexpTag$1="[object RegExp]",setTag$4="[object Set]",stringTag$1="[object String]",symbolTag="[object Symbol]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag="[object DataView]",symbolProto=Symbol?Symbol.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function equalByTag(e,t,r,a,n,o,i){switch(r){case dataViewTag:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case arrayBufferTag$1:return!(e.byteLength!=t.byteLength||!o(new Uint8Array(e),new Uint8Array(t)));case boolTag$1:case dateTag$1:case numberTag$1:return eq(+e,+t);case errorTag:return e.name==t.name&&e.message==t.message;case regexpTag$1:case stringTag$1:return e==t+"";case mapTag$4:var s=mapToArray;case setTag$4:var u=a&COMPARE_PARTIAL_FLAG$4;if(s||(s=setToArray),e.size!=t.size&&!u)return!1;var l=i.get(e);if(l)return l==t;a|=COMPARE_UNORDERED_FLAG$2,i.set(e,t);var c=equalArrays(s(e),s(t),a,n,o,i);return i.delete(e),c;case symbolTag:if(symbolValueOf)return symbolValueOf.call(e)==symbolValueOf.call(t)}return!1}var COMPARE_PARTIAL_FLAG$3=1,objectProto$b=Object.prototype,hasOwnProperty$a=objectProto$b.hasOwnProperty;function equalObjects(e,t,r,a,n,o){var i=r&COMPARE_PARTIAL_FLAG$3,s=getAllKeys(e),u=s.length;if(u!=getAllKeys(t).length&&!i)return!1;for(var l=u;l--;){var c=s[l];if(!(i?c in t:hasOwnProperty$a.call(t,c)))return!1}var f=o.get(e),p=o.get(t);if(f&&p)return f==t&&p==e;var h=!0;o.set(e,t),o.set(t,e);for(var d=i;++l<u;){var g=e[c=s[l]],y=t[c];if(a)var b=i?a(y,g,c,t,e,o):a(g,y,c,e,t,o);if(!(void 0===b?g===y||n(g,y,r,a,o):b)){h=!1;break}d||(d="constructor"==c)}if(h&&!d){var v=e.constructor,_=t.constructor;v==_||!("constructor"in e)||!("constructor"in t)||"function"==typeof v&&v instanceof v&&"function"==typeof _&&_ instanceof _||(h=!1)}return o.delete(e),o.delete(t),h}var COMPARE_PARTIAL_FLAG$2=1,argsTag="[object Arguments]",arrayTag="[object Array]",objectTag="[object Object]",objectProto$a=Object.prototype,hasOwnProperty$9=objectProto$a.hasOwnProperty;function baseIsEqualDeep(e,t,r,a,n,o){var i=isArray(e),s=isArray(t),u=i?arrayTag:getTag$1(e),l=s?arrayTag:getTag$1(t),c=(u=u==argsTag?objectTag:u)==objectTag,f=(l=l==argsTag?objectTag:l)==objectTag,p=u==l;if(p&&isBuffer(e)){if(!isBuffer(t))return!1;i=!0,c=!1}if(p&&!c)return o||(o=new Stack),i||isTypedArray(e)?equalArrays(e,t,r,a,n,o):equalByTag(e,t,u,r,a,n,o);if(!(r&COMPARE_PARTIAL_FLAG$2)){var h=c&&hasOwnProperty$9.call(e,"__wrapped__"),d=f&&hasOwnProperty$9.call(t,"__wrapped__");if(h||d){var g=h?e.value():e,y=d?t.value():t;return o||(o=new Stack),n(g,y,r,a,o)}}return!!p&&(o||(o=new Stack),equalObjects(e,t,r,a,n,o))}function baseIsEqual(e,t,r,a,n){return e===t||(null==e||null==t||!isObjectLike(e)&&!isObjectLike(t)?e!=e&&t!=t:baseIsEqualDeep(e,t,r,a,baseIsEqual,n))}var COMPARE_PARTIAL_FLAG$1=1,COMPARE_UNORDERED_FLAG$1=2;function baseIsMatch(e,t,r,a){var n=r.length,o=n,i=!a;if(null==e)return!o;for(e=Object(e);n--;){var s=r[n];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++n<o;){var u=(s=r[n])[0],l=e[u],c=s[1];if(i&&s[2]){if(void 0===l&&!(u in e))return!1}else{var f=new Stack;if(a)var p=a(l,c,u,e,t,f);if(!(void 0===p?baseIsEqual(c,l,COMPARE_PARTIAL_FLAG$1|COMPARE_UNORDERED_FLAG$1,a,f):p))return!1}}return!0}function isStrictComparable(e){return e==e&&!isObject(e)}function getMatchData(e){for(var t=keys(e),r=t.length;r--;){var a=t[r],n=e[a];t[r]=[a,n,isStrictComparable(n)]}return t}function matchesStrictComparable(e,t){return function(r){return null!=r&&(r[e]===t&&(void 0!==t||e in Object(r)))}}function baseMatches(e){var t=getMatchData(e);return 1==t.length&&t[0][2]?matchesStrictComparable(t[0][0],t[0][1]):function(r){return r===e||baseIsMatch(r,e,t)}}function baseHasIn(e,t){return null!=e&&t in Object(e)}function hasPath(e,t,r){for(var a=-1,n=(t=castPath(t,e)).length,o=!1;++a<n;){var i=toKey(t[a]);if(!(o=null!=e&&r(e,i)))break;e=e[i]}return o||++a!=n?o:!!(n=null==e?0:e.length)&&isLength(n)&&isIndex(i,n)&&(isArray(e)||isArguments(e))}function hasIn(e,t){return null!=e&&hasPath(e,t,baseHasIn)}var COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2;function baseMatchesProperty(e,t){return isKey(e)&&isStrictComparable(t)?matchesStrictComparable(toKey(e),t):function(r){var a=get(r,e);return void 0===a&&a===t?hasIn(r,e):baseIsEqual(t,a,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}function baseProperty(e){return function(t){return null==t?void 0:t[e]}}function basePropertyDeep(e){return function(t){return baseGet(t,e)}}function property(e){return isKey(e)?baseProperty(toKey(e)):basePropertyDeep(e)}function baseIteratee(e){return"function"==typeof e?e:null==e?identity:"object"==typeof e?isArray(e)?baseMatchesProperty(e[0],e[1]):baseMatches(e):property(e)}var FUNC_ERROR_TEXT$7="Expected a function";function cond(e){var t=null==e?0:e.length,r=baseIteratee;return e=t?arrayMap(e,(function(e){if("function"!=typeof e[1])throw new TypeError(FUNC_ERROR_TEXT$7);return[r(e[0]),e[1]]})):[],baseRest((function(r){for(var a=-1;++a<t;){var n=e[a];if(apply(n[0],this,r))return apply(n[1],this,r)}}))}function baseConformsTo(e,t,r){var a=r.length;if(null==e)return!a;for(e=Object(e);a--;){var n=r[a],o=t[n],i=e[n];if(void 0===i&&!(n in e)||!o(i))return!1}return!0}function baseConforms(e){var t=keys(e);return function(r){return baseConformsTo(r,e,t)}}var CLONE_DEEP_FLAG$4=1;function conforms(e){return baseConforms(baseClone(e,CLONE_DEEP_FLAG$4))}function conformsTo(e,t){return null==t||baseConformsTo(e,t,keys(t))}function arrayAggregator(e,t,r,a){for(var n=-1,o=null==e?0:e.length;++n<o;){var i=e[n];t(a,i,r(i),e)}return a}function createBaseFor(e){return function(t,r,a){for(var n=-1,o=Object(t),i=a(t),s=i.length;s--;){var u=i[e?s:++n];if(!1===r(o[u],u,o))break}return t}}var baseFor=createBaseFor();function baseForOwn(e,t){return e&&baseFor(e,t,keys)}function createBaseEach(e,t){return function(r,a){if(null==r)return r;if(!isArrayLike(r))return e(r,a);for(var n=r.length,o=t?n:-1,i=Object(r);(t?o--:++o<n)&&!1!==a(i[o],o,i););return r}}var baseEach=createBaseEach(baseForOwn);function baseAggregator(e,t,r,a){return baseEach(e,(function(e,n,o){t(a,e,r(e),o)})),a}function createAggregator(e,t){return function(r,a){var n=isArray(r)?arrayAggregator:baseAggregator,o=t?t():{};return n(r,e,baseIteratee(a),o)}}var objectProto$9=Object.prototype,hasOwnProperty$8=objectProto$9.hasOwnProperty,countBy=createAggregator((function(e,t,r){hasOwnProperty$8.call(e,r)?++e[r]:baseAssignValue(e,r,1)}));function create(e,t){var r=baseCreate(e);return null==t?r:baseAssign(r,t)}var WRAP_CURRY_FLAG$1=8;function curry(e,t,r){var a=createWrap(e,WRAP_CURRY_FLAG$1,void 0,void 0,void 0,void 0,void 0,t=r?void 0:t);return a.placeholder=curry.placeholder,a}curry.placeholder={};var WRAP_CURRY_RIGHT_FLAG=16;function curryRight(e,t,r){var a=createWrap(e,WRAP_CURRY_RIGHT_FLAG,void 0,void 0,void 0,void 0,void 0,t=r?void 0:t);return a.placeholder=curryRight.placeholder,a}curryRight.placeholder={};var now=function(){return root.Date.now()},FUNC_ERROR_TEXT$6="Expected a function",nativeMax$b=Math.max,nativeMin$b=Math.min;function debounce(e,t,r){var a,n,o,i,s,u,l=0,c=!1,f=!1,p=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$6);function h(t){var r=a,o=n;return a=n=void 0,l=t,i=e.apply(o,r)}function d(e){var r=e-u;return void 0===u||r>=t||r<0||f&&e-l>=o}function g(){var e=now();if(d(e))return y(e);s=setTimeout(g,function(e){var r=t-(e-u);return f?nativeMin$b(r,o-(e-l)):r}(e))}function y(e){return s=void 0,p&&a?h(e):(a=n=void 0,i)}function b(){var e=now(),r=d(e);if(a=arguments,n=this,u=e,r){if(void 0===s)return function(e){return l=e,s=setTimeout(g,t),c?h(e):i}(u);if(f)return clearTimeout(s),s=setTimeout(g,t),h(u)}return void 0===s&&(s=setTimeout(g,t)),i}return t=toNumber(t)||0,isObject(r)&&(c=!!r.leading,o=(f="maxWait"in r)?nativeMax$b(toNumber(r.maxWait)||0,t):o,p="trailing"in r?!!r.trailing:p),b.cancel=function(){void 0!==s&&clearTimeout(s),l=0,a=u=n=s=void 0},b.flush=function(){return void 0===s?i:y(now())},b}function defaultTo(e,t){return null==e||e!=e?t:e}var objectProto$8=Object.prototype,hasOwnProperty$7=objectProto$8.hasOwnProperty,defaults=baseRest((function(e,t){e=Object(e);var r=-1,a=t.length,n=a>2?t[2]:void 0;for(n&&isIterateeCall(t[0],t[1],n)&&(a=1);++r<a;)for(var o=t[r],i=keysIn(o),s=-1,u=i.length;++s<u;){var l=i[s],c=e[l];(void 0===c||eq(c,objectProto$8[l])&&!hasOwnProperty$7.call(e,l))&&(e[l]=o[l])}return e}));function assignMergeValue(e,t,r){(void 0!==r&&!eq(e[t],r)||void 0===r&&!(t in e))&&baseAssignValue(e,t,r)}function isArrayLikeObject(e){return isObjectLike(e)&&isArrayLike(e)}function safeGet(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]}function toPlainObject(e){return copyObject(e,keysIn(e))}function baseMergeDeep(e,t,r,a,n,o,i){var s=safeGet(e,r),u=safeGet(t,r),l=i.get(u);if(l)assignMergeValue(e,r,l);else{var c=o?o(s,u,r+"",e,t,i):void 0,f=void 0===c;if(f){var p=isArray(u),h=!p&&isBuffer(u),d=!p&&!h&&isTypedArray(u);c=u,p||h||d?isArray(s)?c=s:isArrayLikeObject(s)?c=copyArray(s):h?(f=!1,c=cloneBuffer(u,!0)):d?(f=!1,c=cloneTypedArray(u,!0)):c=[]:isPlainObject(u)||isArguments(u)?(c=s,isArguments(s)?c=toPlainObject(s):isObject(s)&&!isFunction(s)||(c=initCloneObject(u))):f=!1}f&&(i.set(u,c),n(c,u,a,o,i),i.delete(u)),assignMergeValue(e,r,c)}}function baseMerge(e,t,r,a,n){e!==t&&baseFor(t,(function(o,i){if(n||(n=new Stack),isObject(o))baseMergeDeep(e,t,i,r,baseMerge,a,n);else{var s=a?a(safeGet(e,i),o,i+"",e,t,n):void 0;void 0===s&&(s=o),assignMergeValue(e,i,s)}}),keysIn)}function customDefaultsMerge(e,t,r,a,n,o){return isObject(e)&&isObject(t)&&(o.set(t,e),baseMerge(e,t,void 0,customDefaultsMerge,o),o.delete(t)),e}var mergeWith=createAssigner((function(e,t,r,a){baseMerge(e,t,r,a)})),defaultsDeep=baseRest((function(e){return e.push(void 0,customDefaultsMerge),apply(mergeWith,void 0,e)})),FUNC_ERROR_TEXT$5="Expected a function";function baseDelay(e,t,r){if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$5);return setTimeout((function(){e.apply(void 0,r)}),t)}var defer=baseRest((function(e,t){return baseDelay(e,1,t)})),delay=baseRest((function(e,t,r){return baseDelay(e,toNumber(t)||0,r)}));function arrayIncludesWith(e,t,r){for(var a=-1,n=null==e?0:e.length;++a<n;)if(r(t,e[a]))return!0;return!1}var LARGE_ARRAY_SIZE$1=200;function baseDifference(e,t,r,a){var n=-1,o=arrayIncludes,i=!0,s=e.length,u=[],l=t.length;if(!s)return u;r&&(t=arrayMap(t,baseUnary(r))),a?(o=arrayIncludesWith,i=!1):t.length>=LARGE_ARRAY_SIZE$1&&(o=cacheHas,i=!1,t=new SetCache(t));e:for(;++n<s;){var c=e[n],f=null==r?c:r(c);if(c=a||0!==c?c:0,i&&f==f){for(var p=l;p--;)if(t[p]===f)continue e;u.push(c)}else o(t,f,a)||u.push(c)}return u}var difference=baseRest((function(e,t){return isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0)):[]}));function last(e){var t=null==e?0:e.length;return t?e[t-1]:void 0}var differenceBy=baseRest((function(e,t){var r=last(t);return isArrayLikeObject(r)&&(r=void 0),isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0),baseIteratee(r)):[]})),differenceWith=baseRest((function(e,t){var r=last(t);return isArrayLikeObject(r)&&(r=void 0),isArrayLikeObject(e)?baseDifference(e,baseFlatten(t,1,isArrayLikeObject,!0),void 0,r):[]})),divide=createMathOperation((function(e,t){return e/t}),1);function drop(e,t,r){var a=null==e?0:e.length;return a?baseSlice(e,(t=r||void 0===t?1:toInteger(t))<0?0:t,a):[]}function dropRight(e,t,r){var a=null==e?0:e.length;return a?baseSlice(e,0,(t=a-(t=r||void 0===t?1:toInteger(t)))<0?0:t):[]}function baseWhile(e,t,r,a){for(var n=e.length,o=a?n:-1;(a?o--:++o<n)&&t(e[o],o,e););return r?baseSlice(e,a?0:o,a?o+1:n):baseSlice(e,a?o+1:0,a?n:o)}function dropRightWhile(e,t){return e&&e.length?baseWhile(e,baseIteratee(t),!0,!0):[]}function dropWhile(e,t){return e&&e.length?baseWhile(e,baseIteratee(t),!0):[]}function castFunction(e){return"function"==typeof e?e:identity}function forEach(e,t){return(isArray(e)?arrayEach:baseEach)(e,castFunction(t))}function arrayEachRight(e,t){for(var r=null==e?0:e.length;r--&&!1!==t(e[r],r,e););return e}var baseForRight=createBaseFor(!0);function baseForOwnRight(e,t){return e&&baseForRight(e,t,keys)}var baseEachRight=createBaseEach(baseForOwnRight,!0);function forEachRight(e,t){return(isArray(e)?arrayEachRight:baseEachRight)(e,castFunction(t))}function endsWith(e,t,r){e=toString(e),t=baseToString(t);var a=e.length,n=r=void 0===r?a:baseClamp(toInteger(r),0,a);return(r-=t.length)>=0&&e.slice(r,n)==t}function baseToPairs(e,t){return arrayMap(t,(function(t){return[t,e[t]]}))}function setToPairs(e){var t=-1,r=Array(e.size);return e.forEach((function(e){r[++t]=[e,e]})),r}var mapTag$3="[object Map]",setTag$3="[object Set]";function createToPairs(e){return function(t){var r=getTag$1(t);return r==mapTag$3?mapToArray(t):r==setTag$3?setToPairs(t):baseToPairs(t,e(t))}}var toPairs=createToPairs(keys),toPairsIn=createToPairs(keysIn),htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},escapeHtmlChar=basePropertyOf(htmlEscapes),reUnescapedHtml=/[&<>"']/g,reHasUnescapedHtml=RegExp(reUnescapedHtml.source);function escape(e){return(e=toString(e))&&reHasUnescapedHtml.test(e)?e.replace(reUnescapedHtml,escapeHtmlChar):e}var reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reHasRegExpChar=RegExp(reRegExpChar.source);function escapeRegExp(e){return(e=toString(e))&&reHasRegExpChar.test(e)?e.replace(reRegExpChar,"\\$&"):e}function arrayEvery(e,t){for(var r=-1,a=null==e?0:e.length;++r<a;)if(!t(e[r],r,e))return!1;return!0}function baseEvery(e,t){var r=!0;return baseEach(e,(function(e,a,n){return r=!!t(e,a,n)})),r}function every(e,t,r){var a=isArray(e)?arrayEvery:baseEvery;return r&&isIterateeCall(e,t,r)&&(t=void 0),a(e,baseIteratee(t))}var MAX_ARRAY_LENGTH$5=4294967295;function toLength(e){return e?baseClamp(toInteger(e),0,MAX_ARRAY_LENGTH$5):0}function baseFill(e,t,r,a){var n=e.length;for((r=toInteger(r))<0&&(r=-r>n?0:n+r),(a=void 0===a||a>n?n:toInteger(a))<0&&(a+=n),a=r>a?0:toLength(a);r<a;)e[r++]=t;return e}function fill(e,t,r,a){var n=null==e?0:e.length;return n?(r&&"number"!=typeof r&&isIterateeCall(e,t,r)&&(r=0,a=n),baseFill(e,t,r,a)):[]}function baseFilter(e,t){var r=[];return baseEach(e,(function(e,a,n){t(e,a,n)&&r.push(e)})),r}function filter(e,t){return(isArray(e)?arrayFilter:baseFilter)(e,baseIteratee(t))}function createFind(e){return function(t,r,a){var n=Object(t);if(!isArrayLike(t)){var o=baseIteratee(r);t=keys(t),r=function(e){return o(n[e],e,n)}}var i=e(t,r,a);return i>-1?n[o?t[i]:i]:void 0}}var nativeMax$a=Math.max;function findIndex(e,t,r){var a=null==e?0:e.length;if(!a)return-1;var n=null==r?0:toInteger(r);return n<0&&(n=nativeMax$a(a+n,0)),baseFindIndex(e,baseIteratee(t),n)}var find=createFind(findIndex);function baseFindKey(e,t,r){var a;return r(e,(function(e,r,n){if(t(e,r,n))return a=r,!1})),a}function findKey(e,t){return baseFindKey(e,baseIteratee(t),baseForOwn)}var nativeMax$9=Math.max,nativeMin$a=Math.min;function findLastIndex(e,t,r){var a=null==e?0:e.length;if(!a)return-1;var n=a-1;return void 0!==r&&(n=toInteger(r),n=r<0?nativeMax$9(a+n,0):nativeMin$a(n,a-1)),baseFindIndex(e,baseIteratee(t),n,!0)}var findLast=createFind(findLastIndex);function findLastKey(e,t){return baseFindKey(e,baseIteratee(t),baseForOwnRight)}function head(e){return e&&e.length?e[0]:void 0}function baseMap(e,t){var r=-1,a=isArrayLike(e)?Array(e.length):[];return baseEach(e,(function(e,n,o){a[++r]=t(e,n,o)})),a}function map(e,t){return(isArray(e)?arrayMap:baseMap)(e,baseIteratee(t))}function flatMap(e,t){return baseFlatten(map(e,t),1)}var INFINITY$2=1/0;function flatMapDeep(e,t){return baseFlatten(map(e,t),INFINITY$2)}function flatMapDepth(e,t,r){return r=void 0===r?1:toInteger(r),baseFlatten(map(e,t),r)}var INFINITY$1=1/0;function flattenDeep(e){return(null==e?0:e.length)?baseFlatten(e,INFINITY$1):[]}function flattenDepth(e,t){return(null==e?0:e.length)?baseFlatten(e,t=void 0===t?1:toInteger(t)):[]}var WRAP_FLIP_FLAG=512;function flip(e){return createWrap(e,WRAP_FLIP_FLAG)}var floor=createRound("floor"),FUNC_ERROR_TEXT$4="Expected a function",WRAP_CURRY_FLAG=8,WRAP_PARTIAL_FLAG$1=32,WRAP_ARY_FLAG=128,WRAP_REARG_FLAG$1=256;function createFlow(e){return flatRest((function(t){var r=t.length,a=r,n=LodashWrapper.prototype.thru;for(e&&t.reverse();a--;){var o=t[a];if("function"!=typeof o)throw new TypeError(FUNC_ERROR_TEXT$4);if(n&&!i&&"wrapper"==getFuncName(o))var i=new LodashWrapper([],!0)}for(a=i?a:r;++a<r;){var s=getFuncName(o=t[a]),u="wrapper"==s?getData(o):void 0;i=u&&isLaziable(u[0])&&u[1]==(WRAP_ARY_FLAG|WRAP_CURRY_FLAG|WRAP_PARTIAL_FLAG$1|WRAP_REARG_FLAG$1)&&!u[4].length&&1==u[9]?i[getFuncName(u[0])].apply(i,u[3]):1==o.length&&isLaziable(o)?i[s]():i.thru(o)}return function(){var e=arguments,a=e[0];if(i&&1==e.length&&isArray(a))return i.plant(a).value();for(var n=0,o=r?t[n].apply(this,e):a;++n<r;)o=t[n].call(this,o);return o}}))}var flow=createFlow(),flowRight=createFlow(!0);function forIn(e,t){return null==e?e:baseFor(e,castFunction(t),keysIn)}function forInRight(e,t){return null==e?e:baseForRight(e,castFunction(t),keysIn)}function forOwn(e,t){return e&&baseForOwn(e,castFunction(t))}function forOwnRight(e,t){return e&&baseForOwnRight(e,castFunction(t))}function fromPairs(e){for(var t=-1,r=null==e?0:e.length,a={};++t<r;){var n=e[t];a[n[0]]=n[1]}return a}function baseFunctions(e,t){return arrayFilter(t,(function(t){return isFunction(e[t])}))}function functions(e){return null==e?[]:baseFunctions(e,keys(e))}function functionsIn(e){return null==e?[]:baseFunctions(e,keysIn(e))}var objectProto$7=Object.prototype,hasOwnProperty$6=objectProto$7.hasOwnProperty,groupBy=createAggregator((function(e,t,r){hasOwnProperty$6.call(e,r)?e[r].push(t):baseAssignValue(e,r,[t])}));function baseGt(e,t){return e>t}function createRelationalOperation(e){return function(t,r){return"string"==typeof t&&"string"==typeof r||(t=toNumber(t),r=toNumber(r)),e(t,r)}}var gt=createRelationalOperation(baseGt),gte=createRelationalOperation((function(e,t){return e>=t})),objectProto$6=Object.prototype,hasOwnProperty$5=objectProto$6.hasOwnProperty;function baseHas(e,t){return null!=e&&hasOwnProperty$5.call(e,t)}function has(e,t){return null!=e&&hasPath(e,t,baseHas)}var nativeMax$8=Math.max,nativeMin$9=Math.min;function baseInRange(e,t,r){return e>=nativeMin$9(t,r)&&e<nativeMax$8(t,r)}function inRange(e,t,r){return t=toFinite(t),void 0===r?(r=t,t=0):r=toFinite(r),baseInRange(e=toNumber(e),t,r)}var stringTag="[object String]";function isString(e){return"string"==typeof e||!isArray(e)&&isObjectLike(e)&&baseGetTag(e)==stringTag}function baseValues(e,t){return arrayMap(t,(function(t){return e[t]}))}function values(e){return null==e?[]:baseValues(e,keys(e))}var nativeMax$7=Math.max;function includes(e,t,r,a){e=isArrayLike(e)?e:values(e),r=r&&!a?toInteger(r):0;var n=e.length;return r<0&&(r=nativeMax$7(n+r,0)),isString(e)?r<=n&&e.indexOf(t,r)>-1:!!n&&baseIndexOf(e,t,r)>-1}var nativeMax$6=Math.max;function indexOf(e,t,r){var a=null==e?0:e.length;if(!a)return-1;var n=null==r?0:toInteger(r);return n<0&&(n=nativeMax$6(a+n,0)),baseIndexOf(e,t,n)}function initial(e){return(null==e?0:e.length)?baseSlice(e,0,-1):[]}var nativeMin$8=Math.min;function baseIntersection(e,t,r){for(var a=r?arrayIncludesWith:arrayIncludes,n=e[0].length,o=e.length,i=o,s=Array(o),u=1/0,l=[];i--;){var c=e[i];i&&t&&(c=arrayMap(c,baseUnary(t))),u=nativeMin$8(c.length,u),s[i]=!r&&(t||n>=120&&c.length>=120)?new SetCache(i&&c):void 0}c=e[0];var f=-1,p=s[0];e:for(;++f<n&&l.length<u;){var h=c[f],d=t?t(h):h;if(h=r||0!==h?h:0,!(p?cacheHas(p,d):a(l,d,r))){for(i=o;--i;){var g=s[i];if(!(g?cacheHas(g,d):a(e[i],d,r)))continue e}p&&p.push(d),l.push(h)}}return l}function castArrayLikeObject(e){return isArrayLikeObject(e)?e:[]}var intersection=baseRest((function(e){var t=arrayMap(e,castArrayLikeObject);return t.length&&t[0]===e[0]?baseIntersection(t):[]})),intersectionBy=baseRest((function(e){var t=last(e),r=arrayMap(e,castArrayLikeObject);return t===last(r)?t=void 0:r.pop(),r.length&&r[0]===e[0]?baseIntersection(r,baseIteratee(t)):[]})),intersectionWith=baseRest((function(e){var t=last(e),r=arrayMap(e,castArrayLikeObject);return(t="function"==typeof t?t:void 0)&&r.pop(),r.length&&r[0]===e[0]?baseIntersection(r,void 0,t):[]}));function baseInverter(e,t,r,a){return baseForOwn(e,(function(e,n,o){t(a,r(e),n,o)})),a}function createInverter(e,t){return function(r,a){return baseInverter(r,e,t(a),{})}}var objectProto$5=Object.prototype,nativeObjectToString$1=objectProto$5.toString,invert=createInverter((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=nativeObjectToString$1.call(t)),e[t]=r}),constant(identity)),objectProto$4=Object.prototype,hasOwnProperty$4=objectProto$4.hasOwnProperty,nativeObjectToString=objectProto$4.toString,invertBy=createInverter((function(e,t,r){null!=t&&"function"!=typeof t.toString&&(t=nativeObjectToString.call(t)),hasOwnProperty$4.call(e,t)?e[t].push(r):e[t]=[r]}),baseIteratee);function parent(e,t){return t.length<2?e:baseGet(e,baseSlice(t,0,-1))}function baseInvoke(e,t,r){var a=null==(e=parent(e,t=castPath(t,e)))?e:e[toKey(last(t))];return null==a?void 0:apply(a,e,r)}var invoke=baseRest(baseInvoke),invokeMap=baseRest((function(e,t,r){var a=-1,n="function"==typeof t,o=isArrayLike(e)?Array(e.length):[];return baseEach(e,(function(e){o[++a]=n?apply(t,e,r):baseInvoke(e,t,r)})),o})),arrayBufferTag="[object ArrayBuffer]";function baseIsArrayBuffer(e){return isObjectLike(e)&&baseGetTag(e)==arrayBufferTag}var nodeIsArrayBuffer=nodeUtil&&nodeUtil.isArrayBuffer,isArrayBuffer=nodeIsArrayBuffer?baseUnary(nodeIsArrayBuffer):baseIsArrayBuffer,boolTag="[object Boolean]";function isBoolean(e){return!0===e||!1===e||isObjectLike(e)&&baseGetTag(e)==boolTag}var dateTag="[object Date]";function baseIsDate(e){return isObjectLike(e)&&baseGetTag(e)==dateTag}var nodeIsDate=nodeUtil&&nodeUtil.isDate,isDate=nodeIsDate?baseUnary(nodeIsDate):baseIsDate;function isElement(e){return isObjectLike(e)&&1===e.nodeType&&!isPlainObject(e)}var mapTag$2="[object Map]",setTag$2="[object Set]",objectProto$3=Object.prototype,hasOwnProperty$3=objectProto$3.hasOwnProperty;function isEmpty(e){if(null==e)return!0;if(isArrayLike(e)&&(isArray(e)||"string"==typeof e||"function"==typeof e.splice||isBuffer(e)||isTypedArray(e)||isArguments(e)))return!e.length;var t=getTag$1(e);if(t==mapTag$2||t==setTag$2)return!e.size;if(isPrototype(e))return!baseKeys(e).length;for(var r in e)if(hasOwnProperty$3.call(e,r))return!1;return!0}function isEqual(e,t){return baseIsEqual(e,t)}function isEqualWith(e,t,r){var a=(r="function"==typeof r?r:void 0)?r(e,t):void 0;return void 0===a?baseIsEqual(e,t,void 0,r):!!a}var nativeIsFinite=root.isFinite;function isFinite(e){return"number"==typeof e&&nativeIsFinite(e)}function isInteger(e){return"number"==typeof e&&e==toInteger(e)}function isMatch(e,t){return e===t||baseIsMatch(e,t,getMatchData(t))}function isMatchWith(e,t,r){return r="function"==typeof r?r:void 0,baseIsMatch(e,t,getMatchData(t),r)}var numberTag="[object Number]";function isNumber(e){return"number"==typeof e||isObjectLike(e)&&baseGetTag(e)==numberTag}function isNaN(e){return isNumber(e)&&e!=+e}var isMaskable=coreJsData?isFunction:stubFalse,CORE_ERROR_TEXT="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.";function isNative(e){if(isMaskable(e))throw new Error(CORE_ERROR_TEXT);return baseIsNative(e)}function isNil(e){return null==e}function isNull(e){return null===e}var regexpTag="[object RegExp]";function baseIsRegExp(e){return isObjectLike(e)&&baseGetTag(e)==regexpTag}var nodeIsRegExp=nodeUtil&&nodeUtil.isRegExp,isRegExp=nodeIsRegExp?baseUnary(nodeIsRegExp):baseIsRegExp,MAX_SAFE_INTEGER$3=9007199254740991;function isSafeInteger(e){return isInteger(e)&&e>=-MAX_SAFE_INTEGER$3&&e<=MAX_SAFE_INTEGER$3}function isUndefined(e){return void 0===e}var weakMapTag="[object WeakMap]";function isWeakMap(e){return isObjectLike(e)&&getTag$1(e)==weakMapTag}var weakSetTag="[object WeakSet]";function isWeakSet(e){return isObjectLike(e)&&baseGetTag(e)==weakSetTag}var CLONE_DEEP_FLAG$3=1;function iteratee(e){return baseIteratee("function"==typeof e?e:baseClone(e,CLONE_DEEP_FLAG$3))}var arrayProto$4=Array.prototype,nativeJoin=arrayProto$4.join;function join(e,t){return null==e?"":nativeJoin.call(e,t)}var kebabCase=createCompounder((function(e,t,r){return e+(r?"-":"")+t.toLowerCase()})),keyBy=createAggregator((function(e,t,r){baseAssignValue(e,r,t)}));function strictLastIndexOf(e,t,r){for(var a=r+1;a--;)if(e[a]===t)return a;return a}var nativeMax$5=Math.max,nativeMin$7=Math.min;function lastIndexOf(e,t,r){var a=null==e?0:e.length;if(!a)return-1;var n=a;return void 0!==r&&(n=(n=toInteger(r))<0?nativeMax$5(a+n,0):nativeMin$7(n,a-1)),t==t?strictLastIndexOf(e,t,n):baseFindIndex(e,baseIsNaN,n,!0)}var lowerCase=createCompounder((function(e,t,r){return e+(r?" ":"")+t.toLowerCase()})),lowerFirst=createCaseFirst("toLowerCase");function baseLt(e,t){return e<t}var lt=createRelationalOperation(baseLt),lte=createRelationalOperation((function(e,t){return e<=t}));function mapKeys(e,t){var r={};return t=baseIteratee(t),baseForOwn(e,(function(e,a,n){baseAssignValue(r,t(e,a,n),e)})),r}function mapValues(e,t){var r={};return t=baseIteratee(t),baseForOwn(e,(function(e,a,n){baseAssignValue(r,a,t(e,a,n))})),r}var CLONE_DEEP_FLAG$2=1;function matches(e){return baseMatches(baseClone(e,CLONE_DEEP_FLAG$2))}var CLONE_DEEP_FLAG$1=1;function matchesProperty(e,t){return baseMatchesProperty(e,baseClone(t,CLONE_DEEP_FLAG$1))}function baseExtremum(e,t,r){for(var a=-1,n=e.length;++a<n;){var o=e[a],i=t(o);if(null!=i&&(void 0===s?i==i&&!isSymbol(i):r(i,s)))var s=i,u=o}return u}function max(e){return e&&e.length?baseExtremum(e,identity,baseGt):void 0}function maxBy(e,t){return e&&e.length?baseExtremum(e,baseIteratee(t),baseGt):void 0}function baseSum(e,t){for(var r,a=-1,n=e.length;++a<n;){var o=t(e[a]);void 0!==o&&(r=void 0===r?o:r+o)}return r}var NAN=NaN;function baseMean(e,t){var r=null==e?0:e.length;return r?baseSum(e,t)/r:NAN}function mean(e){return baseMean(e,identity)}function meanBy(e,t){return baseMean(e,baseIteratee(t))}var merge=createAssigner((function(e,t,r){baseMerge(e,t,r)})),method=baseRest((function(e,t){return function(r){return baseInvoke(r,e,t)}})),methodOf=baseRest((function(e,t){return function(r){return baseInvoke(e,r,t)}}));function min(e){return e&&e.length?baseExtremum(e,identity,baseLt):void 0}function minBy(e,t){return e&&e.length?baseExtremum(e,baseIteratee(t),baseLt):void 0}function mixin$1(e,t,r){var a=keys(t),n=baseFunctions(t,a),o=!(isObject(r)&&"chain"in r&&!r.chain),i=isFunction(e);return arrayEach(n,(function(r){var a=t[r];e[r]=a,i&&(e.prototype[r]=function(){var t=this.__chain__;if(o||t){var r=e(this.__wrapped__);return(r.__actions__=copyArray(this.__actions__)).push({func:a,args:arguments,thisArg:e}),r.__chain__=t,r}return a.apply(e,arrayPush([this.value()],arguments))})})),e}var multiply=createMathOperation((function(e,t){return e*t}),1),FUNC_ERROR_TEXT$3="Expected a function";function negate(e){if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$3);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function iteratorToArray(e){for(var t,r=[];!(t=e.next()).done;)r.push(t.value);return r}var mapTag$1="[object Map]",setTag$1="[object Set]",symIterator$1=Symbol?Symbol.iterator:void 0;function toArray(e){if(!e)return[];if(isArrayLike(e))return isString(e)?stringToArray(e):copyArray(e);if(symIterator$1&&e[symIterator$1])return iteratorToArray(e[symIterator$1]());var t=getTag$1(e);return(t==mapTag$1?mapToArray:t==setTag$1?setToArray:values)(e)}function wrapperNext(){void 0===this.__values__&&(this.__values__=toArray(this.value()));var e=this.__index__>=this.__values__.length;return{done:e,value:e?void 0:this.__values__[this.__index__++]}}function baseNth(e,t){var r=e.length;if(r)return isIndex(t+=t<0?r:0,r)?e[t]:void 0}function nth(e,t){return e&&e.length?baseNth(e,toInteger(t)):void 0}function nthArg(e){return e=toInteger(e),baseRest((function(t){return baseNth(t,e)}))}function baseUnset(e,t){return null==(e=parent(e,t=castPath(t,e)))||delete e[toKey(last(t))]}function customOmitClone(e){return isPlainObject(e)?void 0:e}var CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4,omit=flatRest((function(e,t){var r={};if(null==e)return r;var a=!1;t=arrayMap(t,(function(t){return t=castPath(t,e),a||(a=t.length>1),t})),copyObject(e,getAllKeysIn(e),r),a&&(r=baseClone(r,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var n=t.length;n--;)baseUnset(r,t[n]);return r}));function baseSet(e,t,r,a){if(!isObject(e))return e;for(var n=-1,o=(t=castPath(t,e)).length,i=o-1,s=e;null!=s&&++n<o;){var u=toKey(t[n]),l=r;if("__proto__"===u||"constructor"===u||"prototype"===u)return e;if(n!=i){var c=s[u];void 0===(l=a?a(c,u,s):void 0)&&(l=isObject(c)?c:isIndex(t[n+1])?[]:{})}assignValue(s,u,l),s=s[u]}return e}function basePickBy(e,t,r){for(var a=-1,n=t.length,o={};++a<n;){var i=t[a],s=baseGet(e,i);r(s,i)&&baseSet(o,castPath(i,e),s)}return o}function pickBy(e,t){if(null==e)return{};var r=arrayMap(getAllKeysIn(e),(function(e){return[e]}));return t=baseIteratee(t),basePickBy(e,r,(function(e,r){return t(e,r[0])}))}function omitBy(e,t){return pickBy(e,negate(baseIteratee(t)))}function once(e){return before(2,e)}function baseSortBy(e,t){var r=e.length;for(e.sort(t);r--;)e[r]=e[r].value;return e}function compareAscending(e,t){if(e!==t){var r=void 0!==e,a=null===e,n=e==e,o=isSymbol(e),i=void 0!==t,s=null===t,u=t==t,l=isSymbol(t);if(!s&&!l&&!o&&e>t||o&&i&&u&&!s&&!l||a&&i&&u||!r&&u||!n)return 1;if(!a&&!o&&!l&&e<t||l&&r&&n&&!a&&!o||s&&r&&n||!i&&n||!u)return-1}return 0}function compareMultiple(e,t,r){for(var a=-1,n=e.criteria,o=t.criteria,i=n.length,s=r.length;++a<i;){var u=compareAscending(n[a],o[a]);if(u)return a>=s?u:u*("desc"==r[a]?-1:1)}return e.index-t.index}function baseOrderBy(e,t,r){t=t.length?arrayMap(t,(function(e){return isArray(e)?function(t){return baseGet(t,1===e.length?e[0]:e)}:e})):[identity];var a=-1;t=arrayMap(t,baseUnary(baseIteratee));var n=baseMap(e,(function(e,r,n){var o=arrayMap(t,(function(t){return t(e)}));return{criteria:o,index:++a,value:e}}));return baseSortBy(n,(function(e,t){return compareMultiple(e,t,r)}))}function orderBy(e,t,r,a){return null==e?[]:(isArray(t)||(t=null==t?[]:[t]),isArray(r=a?void 0:r)||(r=null==r?[]:[r]),baseOrderBy(e,t,r))}function createOver(e){return flatRest((function(t){return t=arrayMap(t,baseUnary(baseIteratee)),baseRest((function(r){var a=this;return e(t,(function(e){return apply(e,a,r)}))}))}))}var over=createOver(arrayMap),castRest=baseRest,nativeMin$6=Math.min,overArgs=castRest((function(e,t){var r=(t=1==t.length&&isArray(t[0])?arrayMap(t[0],baseUnary(baseIteratee)):arrayMap(baseFlatten(t,1),baseUnary(baseIteratee))).length;return baseRest((function(a){for(var n=-1,o=nativeMin$6(a.length,r);++n<o;)a[n]=t[n].call(this,a[n]);return apply(e,this,a)}))})),overEvery=createOver(arrayEvery),overSome=createOver(arraySome),MAX_SAFE_INTEGER$2=9007199254740991,nativeFloor$3=Math.floor;function baseRepeat(e,t){var r="";if(!e||t<1||t>MAX_SAFE_INTEGER$2)return r;do{t%2&&(r+=e),(t=nativeFloor$3(t/2))&&(e+=e)}while(t);return r}var asciiSize=baseProperty("length"),rsAstralRange="\\ud800-\\udfff",rsComboMarksRange="\\u0300-\\u036f",reComboHalfMarksRange="\\ufe20-\\ufe2f",rsComboSymbolsRange="\\u20d0-\\u20ff",rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange,rsVarRange="\\ufe0e\\ufe0f",rsAstral="["+rsAstralRange+"]",rsCombo="["+rsComboRange+"]",rsFitz="\\ud83c[\\udffb-\\udfff]",rsModifier="(?:"+rsCombo+"|"+rsFitz+")",rsNonAstral="[^"+rsAstralRange+"]",rsRegional="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair="[\\ud800-\\udbff][\\udc00-\\udfff]",rsZWJ="\\u200d",reOptMod=rsModifier+"?",rsOptVar="["+rsVarRange+"]?",rsOptJoin="(?:"+rsZWJ+"(?:"+[rsNonAstral,rsRegional,rsSurrPair].join("|")+")"+rsOptVar+reOptMod+")*",rsSeq=rsOptVar+reOptMod+rsOptJoin,rsSymbol="(?:"+[rsNonAstral+rsCombo+"?",rsCombo,rsRegional,rsSurrPair,rsAstral].join("|")+")",reUnicode=RegExp(rsFitz+"(?="+rsFitz+")|"+rsSymbol+rsSeq,"g");function unicodeSize(e){for(var t=reUnicode.lastIndex=0;reUnicode.test(e);)++t;return t}function stringSize(e){return hasUnicode(e)?unicodeSize(e):asciiSize(e)}var nativeCeil$2=Math.ceil;function createPadding(e,t){var r=(t=void 0===t?" ":baseToString(t)).length;if(r<2)return r?baseRepeat(t,e):t;var a=baseRepeat(t,nativeCeil$2(e/stringSize(t)));return hasUnicode(t)?castSlice(stringToArray(a),0,e).join(""):a.slice(0,e)}var nativeCeil$1=Math.ceil,nativeFloor$2=Math.floor;function pad(e,t,r){e=toString(e);var a=(t=toInteger(t))?stringSize(e):0;if(!t||a>=t)return e;var n=(t-a)/2;return createPadding(nativeFloor$2(n),r)+e+createPadding(nativeCeil$1(n),r)}function padEnd(e,t,r){e=toString(e);var a=(t=toInteger(t))?stringSize(e):0;return t&&a<t?e+createPadding(t-a,r):e}function padStart(e,t,r){e=toString(e);var a=(t=toInteger(t))?stringSize(e):0;return t&&a<t?createPadding(t-a,r)+e:e}var reTrimStart$1=/^\s+/,nativeParseInt=root.parseInt;function parseInt$1(e,t,r){return r||null==t?t=0:t&&(t=+t),nativeParseInt(toString(e).replace(reTrimStart$1,""),t||0)}var WRAP_PARTIAL_FLAG=32,partial=baseRest((function(e,t){var r=replaceHolders(t,getHolder(partial));return createWrap(e,WRAP_PARTIAL_FLAG,void 0,t,r)}));partial.placeholder={};var WRAP_PARTIAL_RIGHT_FLAG=64,partialRight=baseRest((function(e,t){var r=replaceHolders(t,getHolder(partialRight));return createWrap(e,WRAP_PARTIAL_RIGHT_FLAG,void 0,t,r)}));partialRight.placeholder={};var partition=createAggregator((function(e,t,r){e[r?0:1].push(t)}),(function(){return[[],[]]}));function basePick(e,t){return basePickBy(e,t,(function(t,r){return hasIn(e,r)}))}var pick=flatRest((function(e,t){return null==e?{}:basePick(e,t)}));function wrapperPlant(e){for(var t,r=this;r instanceof baseLodash;){var a=wrapperClone(r);a.__index__=0,a.__values__=void 0,t?n.__wrapped__=a:t=a;var n=a;r=r.__wrapped__}return n.__wrapped__=e,t}function propertyOf(e){return function(t){return null==e?void 0:baseGet(e,t)}}function baseIndexOfWith(e,t,r,a){for(var n=r-1,o=e.length;++n<o;)if(a(e[n],t))return n;return-1}var arrayProto$3=Array.prototype,splice$1=arrayProto$3.splice;function basePullAll(e,t,r,a){var n=a?baseIndexOfWith:baseIndexOf,o=-1,i=t.length,s=e;for(e===t&&(t=copyArray(t)),r&&(s=arrayMap(e,baseUnary(r)));++o<i;)for(var u=0,l=t[o],c=r?r(l):l;(u=n(s,c,u,a))>-1;)s!==e&&splice$1.call(s,u,1),splice$1.call(e,u,1);return e}function pullAll(e,t){return e&&e.length&&t&&t.length?basePullAll(e,t):e}var pull=baseRest(pullAll);function pullAllBy(e,t,r){return e&&e.length&&t&&t.length?basePullAll(e,t,baseIteratee(r)):e}function pullAllWith(e,t,r){return e&&e.length&&t&&t.length?basePullAll(e,t,void 0,r):e}var arrayProto$2=Array.prototype,splice=arrayProto$2.splice;function basePullAt(e,t){for(var r=e?t.length:0,a=r-1;r--;){var n=t[r];if(r==a||n!==o){var o=n;isIndex(n)?splice.call(e,n,1):baseUnset(e,n)}}return e}var pullAt=flatRest((function(e,t){var r=null==e?0:e.length,a=baseAt(e,t);return basePullAt(e,arrayMap(t,(function(e){return isIndex(e,r)?+e:e})).sort(compareAscending)),a})),nativeFloor$1=Math.floor,nativeRandom$1=Math.random;function baseRandom(e,t){return e+nativeFloor$1(nativeRandom$1()*(t-e+1))}var freeParseFloat=parseFloat,nativeMin$5=Math.min,nativeRandom=Math.random;function random(e,t,r){if(r&&"boolean"!=typeof r&&isIterateeCall(e,t,r)&&(t=r=void 0),void 0===r&&("boolean"==typeof t?(r=t,t=void 0):"boolean"==typeof e&&(r=e,e=void 0)),void 0===e&&void 0===t?(e=0,t=1):(e=toFinite(e),void 0===t?(t=e,e=0):t=toFinite(t)),e>t){var a=e;e=t,t=a}if(r||e%1||t%1){var n=nativeRandom();return nativeMin$5(e+n*(t-e+freeParseFloat("1e-"+((n+"").length-1))),t)}return baseRandom(e,t)}var nativeCeil=Math.ceil,nativeMax$4=Math.max;function baseRange(e,t,r,a){for(var n=-1,o=nativeMax$4(nativeCeil((t-e)/(r||1)),0),i=Array(o);o--;)i[a?o:++n]=e,e+=r;return i}function createRange(e){return function(t,r,a){return a&&"number"!=typeof a&&isIterateeCall(t,r,a)&&(r=a=void 0),t=toFinite(t),void 0===r?(r=t,t=0):r=toFinite(r),baseRange(t,r,a=void 0===a?t<r?1:-1:toFinite(a),e)}}var range=createRange(),rangeRight=createRange(!0),WRAP_REARG_FLAG=256,rearg=flatRest((function(e,t){return createWrap(e,WRAP_REARG_FLAG,void 0,void 0,void 0,t)}));function baseReduce(e,t,r,a,n){return n(e,(function(e,n,o){r=a?(a=!1,e):t(r,e,n,o)})),r}function reduce(e,t,r){var a=isArray(e)?arrayReduce:baseReduce,n=arguments.length<3;return a(e,baseIteratee(t),r,n,baseEach)}function arrayReduceRight(e,t,r,a){var n=null==e?0:e.length;for(a&&n&&(r=e[--n]);n--;)r=t(r,e[n],n,e);return r}function reduceRight(e,t,r){var a=isArray(e)?arrayReduceRight:baseReduce,n=arguments.length<3;return a(e,baseIteratee(t),r,n,baseEachRight)}function reject(e,t){return(isArray(e)?arrayFilter:baseFilter)(e,negate(baseIteratee(t)))}function remove(e,t){var r=[];if(!e||!e.length)return r;var a=-1,n=[],o=e.length;for(t=baseIteratee(t);++a<o;){var i=e[a];t(i,a,e)&&(r.push(i),n.push(a))}return basePullAt(e,n),r}function repeat(e,t,r){return t=(r?isIterateeCall(e,t,r):void 0===t)?1:toInteger(t),baseRepeat(toString(e),t)}function replace(){var e=arguments,t=toString(e[0]);return e.length<3?t:t.replace(e[1],e[2])}var FUNC_ERROR_TEXT$2="Expected a function";function rest(e,t){if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$2);return baseRest(e,t=void 0===t?t:toInteger(t))}function result(e,t,r){var a=-1,n=(t=castPath(t,e)).length;for(n||(n=1,e=void 0);++a<n;){var o=null==e?void 0:e[toKey(t[a])];void 0===o&&(a=n,o=r),e=isFunction(o)?o.call(e):o}return e}var arrayProto$1=Array.prototype,nativeReverse=arrayProto$1.reverse;function reverse(e){return null==e?e:nativeReverse.call(e)}var round=createRound("round");function arraySample(e){var t=e.length;return t?e[baseRandom(0,t-1)]:void 0}function baseSample(e){return arraySample(values(e))}function sample(e){return(isArray(e)?arraySample:baseSample)(e)}function shuffleSelf(e,t){var r=-1,a=e.length,n=a-1;for(t=void 0===t?a:t;++r<t;){var o=baseRandom(r,n),i=e[o];e[o]=e[r],e[r]=i}return e.length=t,e}function arraySampleSize(e,t){return shuffleSelf(copyArray(e),baseClamp(t,0,e.length))}function baseSampleSize(e,t){var r=values(e);return shuffleSelf(r,baseClamp(t,0,r.length))}function sampleSize(e,t,r){return t=(r?isIterateeCall(e,t,r):void 0===t)?1:toInteger(t),(isArray(e)?arraySampleSize:baseSampleSize)(e,t)}function set(e,t,r){return null==e?e:baseSet(e,t,r)}function setWith(e,t,r,a){return a="function"==typeof a?a:void 0,null==e?e:baseSet(e,t,r,a)}function arrayShuffle(e){return shuffleSelf(copyArray(e))}function baseShuffle(e){return shuffleSelf(values(e))}function shuffle(e){return(isArray(e)?arrayShuffle:baseShuffle)(e)}var mapTag="[object Map]",setTag="[object Set]";function size(e){if(null==e)return 0;if(isArrayLike(e))return isString(e)?stringSize(e):e.length;var t=getTag$1(e);return t==mapTag||t==setTag?e.size:baseKeys(e).length}function slice(e,t,r){var a=null==e?0:e.length;return a?(r&&"number"!=typeof r&&isIterateeCall(e,t,r)?(t=0,r=a):(t=null==t?0:toInteger(t),r=void 0===r?a:toInteger(r)),baseSlice(e,t,r)):[]}var snakeCase=createCompounder((function(e,t,r){return e+(r?"_":"")+t.toLowerCase()}));function baseSome(e,t){var r;return baseEach(e,(function(e,a,n){return!(r=t(e,a,n))})),!!r}function some(e,t,r){var a=isArray(e)?arraySome:baseSome;return r&&isIterateeCall(e,t,r)&&(t=void 0),a(e,baseIteratee(t))}var sortBy=baseRest((function(e,t){if(null==e)return[];var r=t.length;return r>1&&isIterateeCall(e,t[0],t[1])?t=[]:r>2&&isIterateeCall(t[0],t[1],t[2])&&(t=[t[0]]),baseOrderBy(e,baseFlatten(t,1),[])})),MAX_ARRAY_LENGTH$4=4294967295,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH$4-1,nativeFloor=Math.floor,nativeMin$4=Math.min;function baseSortedIndexBy(e,t,r,a){var n=0,o=null==e?0:e.length;if(0===o)return 0;for(var i=(t=r(t))!=t,s=null===t,u=isSymbol(t),l=void 0===t;n<o;){var c=nativeFloor((n+o)/2),f=r(e[c]),p=void 0!==f,h=null===f,d=f==f,g=isSymbol(f);if(i)var y=a||d;else y=l?d&&(a||p):s?d&&p&&(a||!h):u?d&&p&&!h&&(a||!g):!h&&!g&&(a?f<=t:f<t);y?n=c+1:o=c}return nativeMin$4(o,MAX_ARRAY_INDEX)}var MAX_ARRAY_LENGTH$3=4294967295,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH$3>>>1;function baseSortedIndex(e,t,r){var a=0,n=null==e?a:e.length;if("number"==typeof t&&t==t&&n<=HALF_MAX_ARRAY_LENGTH){for(;a<n;){var o=a+n>>>1,i=e[o];null!==i&&!isSymbol(i)&&(r?i<=t:i<t)?a=o+1:n=o}return n}return baseSortedIndexBy(e,t,identity,r)}function sortedIndex(e,t){return baseSortedIndex(e,t)}function sortedIndexBy(e,t,r){return baseSortedIndexBy(e,t,baseIteratee(r))}function sortedIndexOf(e,t){var r=null==e?0:e.length;if(r){var a=baseSortedIndex(e,t);if(a<r&&eq(e[a],t))return a}return-1}function sortedLastIndex(e,t){return baseSortedIndex(e,t,!0)}function sortedLastIndexBy(e,t,r){return baseSortedIndexBy(e,t,baseIteratee(r),!0)}function sortedLastIndexOf(e,t){if(null==e?0:e.length){var r=baseSortedIndex(e,t,!0)-1;if(eq(e[r],t))return r}return-1}function baseSortedUniq(e,t){for(var r=-1,a=e.length,n=0,o=[];++r<a;){var i=e[r],s=t?t(i):i;if(!r||!eq(s,u)){var u=s;o[n++]=0===i?0:i}}return o}function sortedUniq(e){return e&&e.length?baseSortedUniq(e):[]}function sortedUniqBy(e,t){return e&&e.length?baseSortedUniq(e,baseIteratee(t)):[]}var MAX_ARRAY_LENGTH$2=4294967295;function split(e,t,r){return r&&"number"!=typeof r&&isIterateeCall(e,t,r)&&(t=r=void 0),(r=void 0===r?MAX_ARRAY_LENGTH$2:r>>>0)?(e=toString(e))&&("string"==typeof t||null!=t&&!isRegExp(t))&&!(t=baseToString(t))&&hasUnicode(e)?castSlice(stringToArray(e),0,r):e.split(t,r):[]}var FUNC_ERROR_TEXT$1="Expected a function",nativeMax$3=Math.max;function spread(e,t){if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT$1);return t=null==t?0:nativeMax$3(toInteger(t),0),baseRest((function(r){var a=r[t],n=castSlice(r,0,t);return a&&arrayPush(n,a),apply(e,this,n)}))}var startCase=createCompounder((function(e,t,r){return e+(r?" ":"")+upperFirst(t)}));function startsWith(e,t,r){return e=toString(e),r=null==r?0:baseClamp(toInteger(r),0,e.length),t=baseToString(t),e.slice(r,r+t.length)==t}function stubObject(){return{}}function stubString(){return""}function stubTrue(){return!0}var subtract=createMathOperation((function(e,t){return e-t}),0);function sum(e){return e&&e.length?baseSum(e,identity):0}function sumBy(e,t){return e&&e.length?baseSum(e,baseIteratee(t)):0}function tail(e){var t=null==e?0:e.length;return t?baseSlice(e,1,t):[]}function take(e,t,r){return e&&e.length?baseSlice(e,0,(t=r||void 0===t?1:toInteger(t))<0?0:t):[]}function takeRight(e,t,r){var a=null==e?0:e.length;return a?baseSlice(e,(t=a-(t=r||void 0===t?1:toInteger(t)))<0?0:t,a):[]}function takeRightWhile(e,t){return e&&e.length?baseWhile(e,baseIteratee(t),!1,!0):[]}function takeWhile(e,t){return e&&e.length?baseWhile(e,baseIteratee(t)):[]}function tap(e,t){return t(e),e}var objectProto$2=Object.prototype,hasOwnProperty$2=objectProto$2.hasOwnProperty;function customDefaultsAssignIn(e,t,r,a){return void 0===e||eq(e,objectProto$2[r])&&!hasOwnProperty$2.call(a,r)?t:e}var stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function escapeStringChar(e){return"\\"+stringEscapes[e]}var reInterpolate=/<%=([\s\S]+?)%>/g,reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,templateSettings={escape:reEscape,evaluate:reEvaluate,interpolate:reInterpolate,variable:"",imports:{_:{escape}}},INVALID_TEMPL_VAR_ERROR_TEXT="Invalid `variable` option passed into `_.template`",reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g,reForbiddenIdentifierChars=/[()=,{}\[\]\/\s]/,reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,reNoMatch=/($^)/,reUnescapedString=/['\n\r\u2028\u2029\\]/g,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function template(e,t,r){var a=templateSettings.imports._.templateSettings||templateSettings;r&&isIterateeCall(e,t,r)&&(t=void 0),e=toString(e),t=assignInWith({},t,a,customDefaultsAssignIn);var n,o,i=assignInWith({},t.imports,a.imports,customDefaultsAssignIn),s=keys(i),u=baseValues(i,s),l=0,c=t.interpolate||reNoMatch,f="__p += '",p=RegExp((t.escape||reNoMatch).source+"|"+c.source+"|"+(c===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(t.evaluate||reNoMatch).source+"|$","g"),h=hasOwnProperty$1.call(t,"sourceURL")?"//# sourceURL="+(t.sourceURL+"").replace(/\s/g," ")+"\n":"";e.replace(p,(function(t,r,a,i,s,u){return a||(a=i),f+=e.slice(l,u).replace(reUnescapedString,escapeStringChar),r&&(n=!0,f+="' +\n__e("+r+") +\n'"),s&&(o=!0,f+="';\n"+s+";\n__p += '"),a&&(f+="' +\n((__t = ("+a+")) == null ? '' : __t) +\n'"),l=u+t.length,t})),f+="';\n";var d=hasOwnProperty$1.call(t,"variable")&&t.variable;if(d){if(reForbiddenIdentifierChars.test(d))throw new Error(INVALID_TEMPL_VAR_ERROR_TEXT)}else f="with (obj) {\n"+f+"\n}\n";f=(o?f.replace(reEmptyStringLeading,""):f).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;"),f="function("+(d||"obj")+") {\n"+(d?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(n?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+f+"return __p\n}";var g=attempt((function(){return Function(s,h+"return "+f).apply(void 0,u)}));if(g.source=f,isError(g))throw g;return g}var FUNC_ERROR_TEXT="Expected a function";function throttle(e,t,r){var a=!0,n=!0;if("function"!=typeof e)throw new TypeError(FUNC_ERROR_TEXT);return isObject(r)&&(a="leading"in r?!!r.leading:a,n="trailing"in r?!!r.trailing:n),debounce(e,t,{leading:a,maxWait:t,trailing:n})}function thru(e,t){return t(e)}var MAX_SAFE_INTEGER$1=9007199254740991,MAX_ARRAY_LENGTH$1=4294967295,nativeMin$3=Math.min;function times(e,t){if((e=toInteger(e))<1||e>MAX_SAFE_INTEGER$1)return[];var r=MAX_ARRAY_LENGTH$1,a=nativeMin$3(e,MAX_ARRAY_LENGTH$1);t=castFunction(t),e-=MAX_ARRAY_LENGTH$1;for(var n=baseTimes(a,t);++r<e;)t(r);return n}function wrapperToIterator(){return this}function baseWrapperValue(e,t){var r=e;return r instanceof LazyWrapper&&(r=r.value()),arrayReduce(t,(function(e,t){return t.func.apply(t.thisArg,arrayPush([e],t.args))}),r)}function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}function toLower(e){return toString(e).toLowerCase()}function toPath(e){return isArray(e)?arrayMap(e,toKey):isSymbol(e)?[e]:copyArray(stringToPath(toString(e)))}var MAX_SAFE_INTEGER=9007199254740991;function toSafeInteger(e){return e?baseClamp(toInteger(e),-MAX_SAFE_INTEGER,MAX_SAFE_INTEGER):0===e?e:0}function toUpper(e){return toString(e).toUpperCase()}function transform(e,t,r){var a=isArray(e),n=a||isBuffer(e)||isTypedArray(e);if(t=baseIteratee(t),null==r){var o=e&&e.constructor;r=n?a?new o:[]:isObject(e)&&isFunction(o)?baseCreate(getPrototype(e)):{}}return(n?arrayEach:baseForOwn)(e,(function(e,a,n){return t(r,e,a,n)})),r}function charsEndIndex(e,t){for(var r=e.length;r--&&baseIndexOf(t,e[r],0)>-1;);return r}function charsStartIndex(e,t){for(var r=-1,a=e.length;++r<a&&baseIndexOf(t,e[r],0)>-1;);return r}function trim(e,t,r){if((e=toString(e))&&(r||void 0===t))return baseTrim(e);if(!e||!(t=baseToString(t)))return e;var a=stringToArray(e),n=stringToArray(t);return castSlice(a,charsStartIndex(a,n),charsEndIndex(a,n)+1).join("")}function trimEnd(e,t,r){if((e=toString(e))&&(r||void 0===t))return e.slice(0,trimmedEndIndex(e)+1);if(!e||!(t=baseToString(t)))return e;var a=stringToArray(e);return castSlice(a,0,charsEndIndex(a,stringToArray(t))+1).join("")}var reTrimStart=/^\s+/;function trimStart(e,t,r){if((e=toString(e))&&(r||void 0===t))return e.replace(reTrimStart,"");if(!e||!(t=baseToString(t)))return e;var a=stringToArray(e);return castSlice(a,charsStartIndex(a,stringToArray(t))).join("")}var DEFAULT_TRUNC_LENGTH=30,DEFAULT_TRUNC_OMISSION="...",reFlags=/\w*$/;function truncate(e,t){var r=DEFAULT_TRUNC_LENGTH,a=DEFAULT_TRUNC_OMISSION;if(isObject(t)){var n="separator"in t?t.separator:n;r="length"in t?toInteger(t.length):r,a="omission"in t?baseToString(t.omission):a}var o=(e=toString(e)).length;if(hasUnicode(e)){var i=stringToArray(e);o=i.length}if(r>=o)return e;var s=r-stringSize(a);if(s<1)return a;var u=i?castSlice(i,0,s).join(""):e.slice(0,s);if(void 0===n)return u+a;if(i&&(s+=u.length-s),isRegExp(n)){if(e.slice(s).search(n)){var l,c=u;for(n.global||(n=RegExp(n.source,toString(reFlags.exec(n))+"g")),n.lastIndex=0;l=n.exec(c);)var f=l.index;u=u.slice(0,void 0===f?s:f)}}else if(e.indexOf(baseToString(n),s)!=s){var p=u.lastIndexOf(n);p>-1&&(u=u.slice(0,p))}return u+a}function unary(e){return ary(e,1)}var htmlUnescapes={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},unescapeHtmlChar=basePropertyOf(htmlUnescapes),reEscapedHtml=/&(?:amp|lt|gt|quot|#39);/g,reHasEscapedHtml=RegExp(reEscapedHtml.source);function unescape(e){return(e=toString(e))&&reHasEscapedHtml.test(e)?e.replace(reEscapedHtml,unescapeHtmlChar):e}var INFINITY=1/0,createSet=Set&&1/setToArray(new Set([,-0]))[1]==INFINITY?function(e){return new Set(e)}:noop,LARGE_ARRAY_SIZE=200;function baseUniq(e,t,r){var a=-1,n=arrayIncludes,o=e.length,i=!0,s=[],u=s;if(r)i=!1,n=arrayIncludesWith;else if(o>=LARGE_ARRAY_SIZE){var l=t?null:createSet(e);if(l)return setToArray(l);i=!1,n=cacheHas,u=new SetCache}else u=t?[]:s;e:for(;++a<o;){var c=e[a],f=t?t(c):c;if(c=r||0!==c?c:0,i&&f==f){for(var p=u.length;p--;)if(u[p]===f)continue e;t&&u.push(f),s.push(c)}else n(u,f,r)||(u!==s&&u.push(f),s.push(c))}return s}var union=baseRest((function(e){return baseUniq(baseFlatten(e,1,isArrayLikeObject,!0))})),unionBy=baseRest((function(e){var t=last(e);return isArrayLikeObject(t)&&(t=void 0),baseUniq(baseFlatten(e,1,isArrayLikeObject,!0),baseIteratee(t))})),unionWith=baseRest((function(e){var t=last(e);return t="function"==typeof t?t:void 0,baseUniq(baseFlatten(e,1,isArrayLikeObject,!0),void 0,t)}));function uniq(e){return e&&e.length?baseUniq(e):[]}function uniqBy(e,t){return e&&e.length?baseUniq(e,baseIteratee(t)):[]}function uniqWith(e,t){return t="function"==typeof t?t:void 0,e&&e.length?baseUniq(e,void 0,t):[]}var idCounter=0;function uniqueId(e){var t=++idCounter;return toString(e)+t}function unset(e,t){return null==e||baseUnset(e,t)}var nativeMax$2=Math.max;function unzip(e){if(!e||!e.length)return[];var t=0;return e=arrayFilter(e,(function(e){if(isArrayLikeObject(e))return t=nativeMax$2(e.length,t),!0})),baseTimes(t,(function(t){return arrayMap(e,baseProperty(t))}))}function unzipWith(e,t){if(!e||!e.length)return[];var r=unzip(e);return null==t?r:arrayMap(r,(function(e){return apply(t,void 0,e)}))}function baseUpdate(e,t,r,a){return baseSet(e,t,r(baseGet(e,t)),a)}function update(e,t,r){return null==e?e:baseUpdate(e,t,castFunction(r))}function updateWith(e,t,r,a){return a="function"==typeof a?a:void 0,null==e?e:baseUpdate(e,t,castFunction(r),a)}var upperCase=createCompounder((function(e,t,r){return e+(r?" ":"")+t.toUpperCase()}));function valuesIn(e){return null==e?[]:baseValues(e,keysIn(e))}var without=baseRest((function(e,t){return isArrayLikeObject(e)?baseDifference(e,t):[]}));function wrap(e,t){return partial(castFunction(t),e)}var wrapperAt=flatRest((function(e){var t=e.length,r=t?e[0]:0,a=this.__wrapped__,n=function(t){return baseAt(t,e)};return!(t>1||this.__actions__.length)&&a instanceof LazyWrapper&&isIndex(r)?((a=a.slice(r,+r+(t?1:0))).__actions__.push({func:thru,args:[n],thisArg:void 0}),new LodashWrapper(a,this.__chain__).thru((function(e){return t&&!e.length&&e.push(void 0),e}))):this.thru(n)}));function wrapperChain(){return chain(this)}function wrapperReverse(){var e=this.__wrapped__;if(e instanceof LazyWrapper){var t=e;return this.__actions__.length&&(t=new LazyWrapper(this)),(t=t.reverse()).__actions__.push({func:thru,args:[reverse],thisArg:void 0}),new LodashWrapper(t,this.__chain__)}return this.thru(reverse)}function baseXor(e,t,r){var a=e.length;if(a<2)return a?baseUniq(e[0]):[];for(var n=-1,o=Array(a);++n<a;)for(var i=e[n],s=-1;++s<a;)s!=n&&(o[n]=baseDifference(o[n]||i,e[s],t,r));return baseUniq(baseFlatten(o,1),t,r)}var xor=baseRest((function(e){return baseXor(arrayFilter(e,isArrayLikeObject))})),xorBy=baseRest((function(e){var t=last(e);return isArrayLikeObject(t)&&(t=void 0),baseXor(arrayFilter(e,isArrayLikeObject),baseIteratee(t))})),xorWith=baseRest((function(e){var t=last(e);return t="function"==typeof t?t:void 0,baseXor(arrayFilter(e,isArrayLikeObject),void 0,t)})),zip=baseRest(unzip);function baseZipObject(e,t,r){for(var a=-1,n=e.length,o=t.length,i={};++a<n;){var s=a<o?t[a]:void 0;r(i,e[a],s)}return i}function zipObject(e,t){return baseZipObject(e||[],t||[],assignValue)}function zipObjectDeep(e,t){return baseZipObject(e||[],t||[],baseSet)}var zipWith=baseRest((function(e){var t=e.length,r=t>1?e[t-1]:void 0;return r="function"==typeof r?(e.pop(),r):void 0,unzipWith(e,r)})),array={chunk,compact,concat,difference,differenceBy,differenceWith,drop,dropRight,dropRightWhile,dropWhile,fill,findIndex,findLastIndex,first:head,flatten,flattenDeep,flattenDepth,fromPairs,head,indexOf,initial,intersection,intersectionBy,intersectionWith,join,last,lastIndexOf,nth,pull,pullAll,pullAllBy,pullAllWith,pullAt,remove,reverse,slice,sortedIndex,sortedIndexBy,sortedIndexOf,sortedLastIndex,sortedLastIndexBy,sortedLastIndexOf,sortedUniq,sortedUniqBy,tail,take,takeRight,takeRightWhile,takeWhile,union,unionBy,unionWith,uniq,uniqBy,uniqWith,unzip,unzipWith,without,xor,xorBy,xorWith,zip,zipObject,zipObjectDeep,zipWith},collection={countBy,each:forEach,eachRight:forEachRight,every,filter,find,findLast,flatMap,flatMapDeep,flatMapDepth,forEach,forEachRight,groupBy,includes,invokeMap,keyBy,map,orderBy,partition,reduce,reduceRight,reject,sample,sampleSize,shuffle,size,some,sortBy},date={now},func={after,ary,before,bind,bindKey,curry,curryRight,debounce,defer,delay,flip,memoize,negate,once,overArgs,partial,partialRight,rearg,rest,spread,throttle,unary,wrap},lang={castArray,clone,cloneDeep,cloneDeepWith,cloneWith,conformsTo,eq,gt,gte,isArguments,isArray,isArrayBuffer,isArrayLike,isArrayLikeObject,isBoolean,isBuffer,isDate,isElement,isEmpty,isEqual,isEqualWith,isError,isFinite,isFunction,isInteger,isLength,isMap,isMatch,isMatchWith,isNaN,isNative,isNil,isNull,isNumber,isObject,isObjectLike,isPlainObject,isRegExp,isSafeInteger,isSet,isString,isSymbol,isTypedArray,isUndefined,isWeakMap,isWeakSet,lt,lte,toArray,toFinite,toInteger,toLength,toNumber,toPlainObject,toSafeInteger,toString},math={add,ceil,divide,floor,max,maxBy,mean,meanBy,min,minBy,multiply,round,subtract,sum,sumBy},number={clamp,inRange,random},object={assign,assignIn,assignInWith,assignWith,at,create,defaults,defaultsDeep,entries:toPairs,entriesIn:toPairsIn,extend:assignIn,extendWith:assignInWith,findKey,findLastKey,forIn,forInRight,forOwn,forOwnRight,functions,functionsIn,get,has,hasIn,invert,invertBy,invoke,keys,keysIn,mapKeys,mapValues,merge,mergeWith,omit,omitBy,pick,pickBy,result,set,setWith,toPairs,toPairsIn,transform,unset,update,updateWith,values,valuesIn},seq={at:wrapperAt,chain,commit:wrapperCommit,lodash,next:wrapperNext,plant:wrapperPlant,reverse:wrapperReverse,tap,thru,toIterator:wrapperToIterator,toJSON:wrapperValue,value:wrapperValue,valueOf:wrapperValue,wrapperChain},string={camelCase,capitalize,deburr,endsWith,escape,escapeRegExp,kebabCase,lowerCase,lowerFirst,pad,padEnd,padStart,parseInt:parseInt$1,repeat,replace,snakeCase,split,startCase,startsWith,template,templateSettings,toLower,toUpper,trim,trimEnd,trimStart,truncate,unescape,upperCase,upperFirst,words},util={attempt,bindAll,cond,conforms,constant,defaultTo,flow,flowRight,identity,iteratee,matches,matchesProperty,method,methodOf,mixin:mixin$1,noop,nthArg,over,overEvery,overSome,property,propertyOf,range,rangeRight,stubArray,stubFalse,stubObject,stubString,stubTrue,times,toPath,uniqueId};function lazyClone(){var e=new LazyWrapper(this.__wrapped__);return e.__actions__=copyArray(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=copyArray(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=copyArray(this.__views__),e}function lazyReverse(){if(this.__filtered__){var e=new LazyWrapper(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e}var nativeMax$1=Math.max,nativeMin$2=Math.min;function getView(e,t,r){for(var a=-1,n=r.length;++a<n;){var o=r[a],i=o.size;switch(o.type){case"drop":e+=i;break;case"dropRight":t-=i;break;case"take":t=nativeMin$2(t,e+i);break;case"takeRight":e=nativeMax$1(e,t-i)}}return{start:e,end:t}}var LAZY_FILTER_FLAG$1=1,LAZY_MAP_FLAG=2,nativeMin$1=Math.min;function lazyValue(){var e=this.__wrapped__.value(),t=this.__dir__,r=isArray(e),a=t<0,n=r?e.length:0,o=getView(0,n,this.__views__),i=o.start,s=o.end,u=s-i,l=a?s:i-1,c=this.__iteratees__,f=c.length,p=0,h=nativeMin$1(u,this.__takeCount__);if(!r||!a&&n==u&&h==u)return baseWrapperValue(e,this.__actions__);var d=[];e:for(;u--&&p<h;){for(var g=-1,y=e[l+=t];++g<f;){var b=c[g],v=b.iteratee,_=b.type,A=v(y);if(_==LAZY_MAP_FLAG)y=A;else if(!A){if(_==LAZY_FILTER_FLAG$1)continue e;break e}}d[p++]=y}return d}
+var t="object"==typeof global&&global&&global.Object===Object&&global,r="object"==typeof self&&self&&self.Object===Object&&self,n=t||r||Function("return this")(),e=n.Symbol,i=Object.prototype,o=i.hasOwnProperty,u=i.toString,a=e?e.toStringTag:void 0;var f=Object.prototype.toString;var c="[object Null]",l="[object Undefined]",s=e?e.toStringTag:void 0;function v(t){return null==t?void 0===t?l:c:s&&s in Object(t)?function(t){var r=o.call(t,a),n=t[a];try{t[a]=void 0;var e=!0}catch(t){}var i=u.call(t);return e&&(r?t[a]=n:delete t[a]),i}(t):function(t){return f.call(t)}(t)}function p(t){return null!=t&&"object"==typeof t}var h="[object Symbol]";function d(t){return"symbol"==typeof t||p(t)&&v(t)==h}var y=NaN;function _(t){return"number"==typeof t?t:d(t)?y:+t}function g(t,r){for(var n=-1,e=null==t?0:t.length,i=Array(e);++n<e;)i[n]=r(t[n],n,t);return i}var b=Array.isArray,m=1/0,j=e?e.prototype:void 0,w=j?j.toString:void 0;function x(t){if("string"==typeof t)return t;if(b(t))return g(t,x)+"";if(d(t))return w?w.call(t):"";var r=t+"";return"0"==r&&1/t==-m?"-0":r}function O(t,r){return function(n,e){var i;if(void 0===n&&void 0===e)return r;if(void 0!==n&&(i=n),void 0!==e){if(void 0===i)return e;"string"==typeof n||"string"==typeof e?(n=x(n),e=x(e)):(n=_(n),e=_(e)),i=t(n,e)}return i}}var A=O((function(t,r){return t+r}),0),I=/\s/;function E(t){for(var r=t.length;r--&&I.test(t.charAt(r)););return r}var k=/^\s+/;function S(t){return t?t.slice(0,E(t)+1).replace(k,""):t}function W(t){var r=typeof t;return null!=t&&("object"==r||"function"==r)}var R=NaN,B=/^[-+]0x[0-9a-f]+$/i,M=/^0b[01]+$/i,z=/^0o[0-7]+$/i,L=parseInt;function P(t){if("number"==typeof t)return t;if(d(t))return R;if(W(t)){var r="function"==typeof t.valueOf?t.valueOf():t;t=W(r)?r+"":r}if("string"!=typeof t)return 0===t?t:+t;t=S(t);var n=M.test(t);return n||z.test(t)?L(t.slice(2),n?2:8):B.test(t)?R:+t}var T=1/0,C=17976931348623157e292;function D(t){return t?(t=P(t))===T||t===-T?(t<0?-1:1)*C:t==t?t:0:0===t?t:0}function U(t){var r=D(t),n=r%1;return r==r?n?r-n:r:0}function N(t,r){if("function"!=typeof r)throw new TypeError("Expected a function");return t=U(t),function(){if(--t<1)return r.apply(this,arguments)}}function F(t){return t}var q="[object AsyncFunction]",$="[object Function]",K="[object GeneratorFunction]",V="[object Proxy]";function Z(t){if(!W(t))return!1;var r=v(t);return r==$||r==K||r==q||r==V}var G,J=n["__core-js_shared__"],H=(G=/[^.]+$/.exec(J&&J.keys&&J.keys.IE_PROTO||""))?"Symbol(src)_1."+G:"";var Y=Function.prototype.toString;function Q(t){if(null!=t){try{return Y.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var X=/^\[object .+?Constructor\]$/,tt=Function.prototype,rt=Object.prototype,nt=tt.toString,et=rt.hasOwnProperty,it=RegExp("^"+nt.call(et).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function ot(t){return!(!W(t)||function(t){return!!H&&H in t}(t))&&(Z(t)?it:X).test(Q(t))}function ut(t,r){var n=function(t,r){return null==t?void 0:t[r]}(t,r);return ot(n)?n:void 0}var at=ut(n,"WeakMap"),ft=at&&new at,ct=ft?function(t,r){return ft.set(t,r),t}:F,lt=Object.create,st=function(){function t(){}return function(r){if(!W(r))return{};if(lt)return lt(r);t.prototype=r;var n=new t;return t.prototype=void 0,n}}();function vt(t){return function(){var r=arguments;switch(r.length){case 0:return new t;case 1:return new t(r[0]);case 2:return new t(r[0],r[1]);case 3:return new t(r[0],r[1],r[2]);case 4:return new t(r[0],r[1],r[2],r[3]);case 5:return new t(r[0],r[1],r[2],r[3],r[4]);case 6:return new t(r[0],r[1],r[2],r[3],r[4],r[5]);case 7:return new t(r[0],r[1],r[2],r[3],r[4],r[5],r[6])}var n=st(t.prototype),e=t.apply(n,r);return W(e)?e:n}}var pt=1;function ht(t,r,n){switch(n.length){case 0:return t.call(r);case 1:return t.call(r,n[0]);case 2:return t.call(r,n[0],n[1]);case 3:return t.call(r,n[0],n[1],n[2])}return t.apply(r,n)}var dt=Math.max;function yt(t,r,n,e){for(var i=-1,o=t.length,u=n.length,a=-1,f=r.length,c=dt(o-u,0),l=Array(f+c),s=!e;++a<f;)l[a]=r[a];for(;++i<u;)(s||i<o)&&(l[n[i]]=t[i]);for(;c--;)l[a++]=t[i++];return l}var _t=Math.max;function gt(t,r,n,e){for(var i=-1,o=t.length,u=-1,a=n.length,f=-1,c=r.length,l=_t(o-a,0),s=Array(l+c),v=!e;++i<l;)s[i]=t[i];for(var p=i;++f<c;)s[p+f]=r[f];for(;++u<a;)(v||i<o)&&(s[p+n[u]]=t[i++]);return s}function bt(){}var mt=4294967295;function jt(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=mt,this.__views__=[]}function wt(){}jt.prototype=st(bt.prototype),jt.prototype.constructor=jt;var xt=ft?function(t){return ft.get(t)}:wt,Ot={},At=Object.prototype.hasOwnProperty;function It(t){for(var r=t.name+"",n=Ot[r],e=At.call(Ot,r)?n.length:0;e--;){var i=n[e],o=i.func;if(null==o||o==t)return i.name}return r}function Et(t,r){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!r,this.__index__=0,this.__values__=void 0}function kt(t,r){var n=-1,e=t.length;for(r||(r=Array(e));++n<e;)r[n]=t[n];return r}function St(t){if(t instanceof jt)return t.clone();var r=new Et(t.__wrapped__,t.__chain__);return r.__actions__=kt(t.__actions__),r.__index__=t.__index__,r.__values__=t.__values__,r}Et.prototype=st(bt.prototype),Et.prototype.constructor=Et;var Wt=Object.prototype.hasOwnProperty;function Rt(t){if(p(t)&&!b(t)&&!(t instanceof jt)){if(t instanceof Et)return t;if(Wt.call(t,"__wrapped__"))return St(t)}return new Et(t)}function Bt(t){var r=It(t),n=Rt[r];if("function"!=typeof n||!(r in jt.prototype))return!1;if(t===n)return!0;var e=xt(n);return!!e&&t===e[0]}Rt.prototype=bt.prototype,Rt.prototype.constructor=Rt;var Mt=Date.now;function zt(t){var r=0,n=0;return function(){var e=Mt(),i=16-(e-n);if(n=e,i>0){if(++r>=800)return arguments[0]}else r=0;return t.apply(void 0,arguments)}}var Lt=zt(ct),Pt=/\{\n\/\* \[wrapped with (.+)\] \*/,Tt=/,? & /;var Ct=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function Dt(t){return function(){return t}}var Ut=function(){try{var t=ut(Object,"defineProperty");return t({},"",{}),t}catch(t){}}(),Nt=Ut?function(t,r){return Ut(t,"toString",{configurable:!0,enumerable:!1,value:Dt(r),writable:!0})}:F,Ft=zt(Nt);function qt(t,r){for(var n=-1,e=null==t?0:t.length;++n<e&&!1!==r(t[n],n,t););return t}function $t(t,r,n,e){for(var i=t.length,o=n+(e?1:-1);e?o--:++o<i;)if(r(t[o],o,t))return o;return-1}function Kt(t){return t!=t}function Vt(t,r,n){return r==r?function(t,r,n){for(var e=n-1,i=t.length;++e<i;)if(t[e]===r)return e;return-1}(t,r,n):$t(t,Kt,n)}function Zt(t,r){return!!(null==t?0:t.length)&&Vt(t,r,0)>-1}var Gt=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];function Jt(t,r,n){var e=r+"";return Ft(t,function(t,r){var n=r.length;if(!n)return t;var e=n-1;return r[e]=(n>1?"& ":"")+r[e],r=r.join(n>2?", ":" "),t.replace(Ct,"{\n/* [wrapped with "+r+"] */\n")}(e,function(t,r){return qt(Gt,(function(n){var e="_."+n[0];r&n[1]&&!Zt(t,e)&&t.push(e)})),t.sort()}(function(t){var r=t.match(Pt);return r?r[1].split(Tt):[]}(e),n)))}var Ht=1,Yt=2,Qt=4,Xt=8,tr=32,rr=64;function nr(t,r,n,e,i,o,u,a,f,c){var l=r&Xt;r|=l?tr:rr,(r&=~(l?rr:tr))&Qt||(r&=~(Ht|Yt));var s=[t,r,i,l?o:void 0,l?u:void 0,l?void 0:o,l?void 0:u,a,f,c],v=n.apply(void 0,s);return Bt(t)&&Lt(v,s),v.placeholder=e,Jt(v,t,r)}function er(t){return t.placeholder}var ir=9007199254740991,or=/^(?:0|[1-9]\d*)$/;function ur(t,r){var n=typeof t;return!!(r=null==r?ir:r)&&("number"==n||"symbol"!=n&&or.test(t))&&t>-1&&t%1==0&&t<r}var ar=Math.min;var fr="__lodash_placeholder__";function cr(t,r){for(var n=-1,e=t.length,i=0,o=[];++n<e;){var u=t[n];u!==r&&u!==fr||(t[n]=fr,o[i++]=n)}return o}var lr=1,sr=2,vr=8,pr=16,hr=128,dr=512;function yr(t,r,e,i,o,u,a,f,c,l){var s=r&hr,v=r&lr,p=r&sr,h=r&(vr|pr),d=r&dr,y=p?void 0:vt(t);return function _(){for(var g=arguments.length,b=Array(g),m=g;m--;)b[m]=arguments[m];if(h)var j=er(_),w=function(t,r){for(var n=t.length,e=0;n--;)t[n]===r&&++e;return e}(b,j);if(i&&(b=yt(b,i,o,h)),u&&(b=gt(b,u,a,h)),g-=w,h&&g<l){var x=cr(b,j);return nr(t,r,yr,_.placeholder,e,b,x,f,c,l-g)}var O=v?e:this,A=p?O[t]:t;return g=b.length,f?b=function(t,r){for(var n=t.length,e=ar(r.length,n),i=kt(t);e--;){var o=r[e];t[e]=ur(o,n)?i[o]:void 0}return t}(b,f):d&&g>1&&b.reverse(),s&&c<g&&(b.length=c),this&&this!==n&&this instanceof _&&(A=y||vt(A)),A.apply(O,b)}}var _r=1;var gr="__lodash_placeholder__",br=1,mr=2,jr=4,wr=8,xr=128,Or=256,Ar=Math.min;var Ir="Expected a function",Er=1,kr=2,Sr=8,Wr=16,Rr=32,Br=64,Mr=Math.max;function zr(t,r,e,i,o,u,a,f){var c=r&kr;if(!c&&"function"!=typeof t)throw new TypeError(Ir);var l=i?i.length:0;if(l||(r&=~(Rr|Br),i=o=void 0),a=void 0===a?a:Mr(U(a),0),f=void 0===f?f:U(f),l-=o?o.length:0,r&Br){var s=i,v=o;i=o=void 0}var p=c?void 0:xt(t),h=[t,r,e,i,o,s,v,u,a,f];if(p&&function(t,r){var n=t[1],e=r[1],i=n|e,o=i<(br|mr|xr),u=e==xr&&n==wr||e==xr&&n==Or&&t[7].length<=r[8]||e==(xr|Or)&&r[7].length<=r[8]&&n==wr;if(!o&&!u)return t;e&br&&(t[2]=r[2],i|=n&br?0:jr);var a=r[3];if(a){var f=t[3];t[3]=f?yt(f,a,r[4]):a,t[4]=f?cr(t[3],gr):r[4]}(a=r[5])&&(f=t[5],t[5]=f?gt(f,a,r[6]):a,t[6]=f?cr(t[5],gr):r[6]),(a=r[7])&&(t[7]=a),e&xr&&(t[8]=null==t[8]?r[8]:Ar(t[8],r[8])),null==t[9]&&(t[9]=r[9]),t[0]=r[0],t[1]=i}(h,p),t=h[0],r=h[1],e=h[2],i=h[3],o=h[4],!(f=h[9]=void 0===h[9]?c?0:t.length:Mr(h[9]-l,0))&&r&(Sr|Wr)&&(r&=~(Sr|Wr)),r&&r!=Er)d=r==Sr||r==Wr?function(t,r,e){var i=vt(t);return function o(){for(var u=arguments.length,a=Array(u),f=u,c=er(o);f--;)a[f]=arguments[f];var l=u<3&&a[0]!==c&&a[u-1]!==c?[]:cr(a,c);return(u-=l.length)<e?nr(t,r,yr,o.placeholder,void 0,a,l,void 0,void 0,e-u):ht(this&&this!==n&&this instanceof o?i:t,this,a)}}(t,r,f):r!=Rr&&r!=(Er|Rr)||o.length?yr.apply(void 0,h):function(t,r,e,i){var o=r&_r,u=vt(t);return function r(){for(var a=-1,f=arguments.length,c=-1,l=i.length,s=Array(l+f),v=this&&this!==n&&this instanceof r?u:t;++c<l;)s[c]=i[c];for(;f--;)s[c++]=arguments[++a];return ht(v,o?e:this,s)}}(t,r,e,i);else var d=function(t,r,e){var i=r&pt,o=vt(t);return function r(){return(this&&this!==n&&this instanceof r?o:t).apply(i?e:this,arguments)}}(t,r,e);return Jt((p?ct:Lt)(d,h),t,r)}var Lr=128;function Pr(t,r,n){return r=n?void 0:r,r=t&&null==r?t.length:r,zr(t,Lr,void 0,void 0,void 0,void 0,r)}function Tr(t,r,n){"__proto__"==r&&Ut?Ut(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}function Cr(t,r){return t===r||t!=t&&r!=r}var Dr=Object.prototype.hasOwnProperty;function Ur(t,r,n){var e=t[r];Dr.call(t,r)&&Cr(e,n)&&(void 0!==n||r in t)||Tr(t,r,n)}function Nr(t,r,n,e){var i=!n;n||(n={});for(var o=-1,u=r.length;++o<u;){var a=r[o],f=e?e(n[a],t[a],a,n,t):void 0;void 0===f&&(f=t[a]),i?Tr(n,a,f):Ur(n,a,f)}return n}var Fr=Math.max;function qr(t,r,n){return r=Fr(void 0===r?t.length-1:r,0),function(){for(var e=arguments,i=-1,o=Fr(e.length-r,0),u=Array(o);++i<o;)u[i]=e[r+i];i=-1;for(var a=Array(r+1);++i<r;)a[i]=e[i];return a[r]=n(u),ht(t,this,a)}}function $r(t,r){return Ft(qr(t,r,F),t+"")}var Kr=9007199254740991;function Vr(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=Kr}function Zr(t){return null!=t&&Vr(t.length)&&!Z(t)}function Gr(t,r,n){if(!W(n))return!1;var e=typeof r;return!!("number"==e?Zr(n)&&ur(r,n.length):"string"==e&&r in n)&&Cr(n[r],t)}function Jr(t){return $r((function(r,n){var e=-1,i=n.length,o=i>1?n[i-1]:void 0,u=i>2?n[2]:void 0;for(o=t.length>3&&"function"==typeof o?(i--,o):void 0,u&&Gr(n[0],n[1],u)&&(o=i<3?void 0:o,i=1),r=Object(r);++e<i;){var a=n[e];a&&t(r,a,e,o)}return r}))}var Hr=Object.prototype;function Yr(t){var r=t&&t.constructor;return t===("function"==typeof r&&r.prototype||Hr)}function Qr(t,r){for(var n=-1,e=Array(t);++n<t;)e[n]=r(n);return e}function Xr(t){return p(t)&&"[object Arguments]"==v(t)}var tn=Object.prototype,rn=tn.hasOwnProperty,nn=tn.propertyIsEnumerable,en=Xr(function(){return arguments}())?Xr:function(t){return p(t)&&rn.call(t,"callee")&&!nn.call(t,"callee")};function on(){return!1}var un="object"==typeof exports&&exports&&!exports.nodeType&&exports,an=un&&"object"==typeof module&&module&&!module.nodeType&&module,fn=an&&an.exports===un?n.Buffer:void 0,cn=(fn?fn.isBuffer:void 0)||on,ln={};function sn(t){return function(r){return t(r)}}ln["[object Float32Array]"]=ln["[object Float64Array]"]=ln["[object Int8Array]"]=ln["[object Int16Array]"]=ln["[object Int32Array]"]=ln["[object Uint8Array]"]=ln["[object Uint8ClampedArray]"]=ln["[object Uint16Array]"]=ln["[object Uint32Array]"]=!0,ln["[object Arguments]"]=ln["[object Array]"]=ln["[object ArrayBuffer]"]=ln["[object Boolean]"]=ln["[object DataView]"]=ln["[object Date]"]=ln["[object Error]"]=ln["[object Function]"]=ln["[object Map]"]=ln["[object Number]"]=ln["[object Object]"]=ln["[object RegExp]"]=ln["[object Set]"]=ln["[object String]"]=ln["[object WeakMap]"]=!1;var vn="object"==typeof exports&&exports&&!exports.nodeType&&exports,pn=vn&&"object"==typeof module&&module&&!module.nodeType&&module,hn=pn&&pn.exports===vn&&t.process,dn=function(){try{var t=pn&&pn.require&&pn.require("util").types;return t||hn&&hn.binding&&hn.binding("util")}catch(t){}}(),yn=dn&&dn.isTypedArray,_n=yn?sn(yn):function(t){return p(t)&&Vr(t.length)&&!!ln[v(t)]},gn=Object.prototype.hasOwnProperty;function bn(t,r){var n=b(t),e=!n&&en(t),i=!n&&!e&&cn(t),o=!n&&!e&&!i&&_n(t),u=n||e||i||o,a=u?Qr(t.length,String):[],f=a.length;for(var c in t)!r&&!gn.call(t,c)||u&&("length"==c||i&&("offset"==c||"parent"==c)||o&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||ur(c,f))||a.push(c);return a}function mn(t,r){return function(n){return t(r(n))}}var jn=mn(Object.keys,Object),wn=Object.prototype.hasOwnProperty;function xn(t){if(!Yr(t))return jn(t);var r=[];for(var n in Object(t))wn.call(t,n)&&"constructor"!=n&&r.push(n);return r}function On(t){return Zr(t)?bn(t):xn(t)}var An=Object.prototype.hasOwnProperty,In=Jr((function(t,r){if(Yr(r)||Zr(r))Nr(r,On(r),t);else for(var n in r)An.call(r,n)&&Ur(t,n,r[n])}));var En=Object.prototype.hasOwnProperty;function kn(t){if(!W(t))return function(t){var r=[];if(null!=t)for(var n in Object(t))r.push(n);return r}(t);var r=Yr(t),n=[];for(var e in t)("constructor"!=e||!r&&En.call(t,e))&&n.push(e);return n}function Sn(t){return Zr(t)?bn(t,!0):kn(t)}var Wn=Jr((function(t,r){Nr(r,Sn(r),t)})),Rn=Jr((function(t,r,n,e){Nr(r,Sn(r),t,e)})),Bn=Jr((function(t,r,n,e){Nr(r,On(r),t,e)})),Mn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,zn=/^\w*$/;function Ln(t,r){if(b(t))return!1;var n=typeof t;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=t&&!d(t))||(zn.test(t)||!Mn.test(t)||null!=r&&t in Object(r))}var Pn=ut(Object,"create");var Tn=Object.prototype.hasOwnProperty;var Cn=Object.prototype.hasOwnProperty;function Dn(t){var r=-1,n=null==t?0:t.length;for(this.clear();++r<n;){var e=t[r];this.set(e[0],e[1])}}function Un(t,r){for(var n=t.length;n--;)if(Cr(t[n][0],r))return n;return-1}Dn.prototype.clear=function(){this.__data__=Pn?Pn(null):{},this.size=0},Dn.prototype.delete=function(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r},Dn.prototype.get=function(t){var r=this.__data__;if(Pn){var n=r[t];return"__lodash_hash_undefined__"===n?void 0:n}return Tn.call(r,t)?r[t]:void 0},Dn.prototype.has=function(t){var r=this.__data__;return Pn?void 0!==r[t]:Cn.call(r,t)},Dn.prototype.set=function(t,r){var n=this.__data__;return this.size+=this.has(t)?0:1,n[t]=Pn&&void 0===r?"__lodash_hash_undefined__":r,this};var Nn=Array.prototype.splice;function Fn(t){var r=-1,n=null==t?0:t.length;for(this.clear();++r<n;){var e=t[r];this.set(e[0],e[1])}}Fn.prototype.clear=function(){this.__data__=[],this.size=0},Fn.prototype.delete=function(t){var r=this.__data__,n=Un(r,t);return!(n<0)&&(n==r.length-1?r.pop():Nn.call(r,n,1),--this.size,!0)},Fn.prototype.get=function(t){var r=this.__data__,n=Un(r,t);return n<0?void 0:r[n][1]},Fn.prototype.has=function(t){return Un(this.__data__,t)>-1},Fn.prototype.set=function(t,r){var n=this.__data__,e=Un(n,t);return e<0?(++this.size,n.push([t,r])):n[e][1]=r,this};var qn=ut(n,"Map");function $n(t,r){var n,e,i=t.__data__;return("string"==(e=typeof(n=r))||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==n:null===n)?i["string"==typeof r?"string":"hash"]:i.map}function Kn(t){var r=-1,n=null==t?0:t.length;for(this.clear();++r<n;){var e=t[r];this.set(e[0],e[1])}}Kn.prototype.clear=function(){this.size=0,this.__data__={hash:new Dn,map:new(qn||Fn),string:new Dn}},Kn.prototype.delete=function(t){var r=$n(this,t).delete(t);return this.size-=r?1:0,r},Kn.prototype.get=function(t){return $n(this,t).get(t)},Kn.prototype.has=function(t){return $n(this,t).has(t)},Kn.prototype.set=function(t,r){var n=$n(this,t),e=n.size;return n.set(t,r),this.size+=n.size==e?0:1,this};var Vn="Expected a function";function Zn(t,r){if("function"!=typeof t||null!=r&&"function"!=typeof r)throw new TypeError(Vn);var n=function(){var e=arguments,i=r?r.apply(this,e):e[0],o=n.cache;if(o.has(i))return o.get(i);var u=t.apply(this,e);return n.cache=o.set(i,u)||o,u};return n.cache=new(Zn.Cache||Kn),n}Zn.Cache=Kn;var Gn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Jn=/\\(\\)?/g,Hn=function(t){var r=Zn(t,(function(t){return 500===n.size&&n.clear(),t})),n=r.cache;return r}((function(t){var r=[];return 46===t.charCodeAt(0)&&r.push(""),t.replace(Gn,(function(t,n,e,i){r.push(e?i.replace(Jn,"$1"):n||t)})),r}));function Yn(t){return null==t?"":x(t)}function Qn(t,r){return b(t)?t:Ln(t,r)?[t]:Hn(Yn(t))}var Xn=1/0;function te(t){if("string"==typeof t||d(t))return t;var r=t+"";return"0"==r&&1/t==-Xn?"-0":r}function re(t,r){for(var n=0,e=(r=Qn(r,t)).length;null!=t&&n<e;)t=t[te(r[n++])];return n&&n==e?t:void 0}function ne(t,r,n){var e=null==t?void 0:re(t,r);return void 0===e?n:e}function ee(t,r){for(var n=-1,e=r.length,i=Array(e),o=null==t;++n<e;)i[n]=o?void 0:ne(t,r[n]);return i}function ie(t,r){for(var n=-1,e=r.length,i=t.length;++n<e;)t[i+n]=r[n];return t}var oe=e?e.isConcatSpreadable:void 0;function ue(t){return b(t)||en(t)||!!(oe&&t&&t[oe])}function ae(t,r,n,e,i){var o=-1,u=t.length;for(n||(n=ue),i||(i=[]);++o<u;){var a=t[o];r>0&&n(a)?r>1?ae(a,r-1,n,e,i):ie(i,a):e||(i[i.length]=a)}return i}function fe(t){return(null==t?0:t.length)?ae(t,1):[]}function ce(t){return Ft(qr(t,void 0,fe),t+"")}var le=ce(ee),se=mn(Object.getPrototypeOf,Object),ve="[object Object]",pe=Function.prototype,he=Object.prototype,de=pe.toString,ye=he.hasOwnProperty,_e=de.call(Object);function ge(t){if(!p(t)||v(t)!=ve)return!1;var r=se(t);if(null===r)return!0;var n=ye.call(r,"constructor")&&r.constructor;return"function"==typeof n&&n instanceof n&&de.call(n)==_e}var be="[object DOMException]",me="[object Error]";function je(t){if(!p(t))return!1;var r=v(t);return r==me||r==be||"string"==typeof t.message&&"string"==typeof t.name&&!ge(t)}var we=$r((function(t,r){try{return ht(t,void 0,r)}catch(t){return je(t)?t:new Error(t)}})),xe="Expected a function";function Oe(t,r){var n;if("function"!=typeof r)throw new TypeError(xe);return t=U(t),function(){return--t>0&&(n=r.apply(this,arguments)),t<=1&&(r=void 0),n}}var Ae=$r((function(t,r,n){var e=1;if(n.length){var i=cr(n,er(Ae));e|=32}return zr(t,e,r,n,i)}));Ae.placeholder={};var Ie=ce((function(t,r){return qt(r,(function(r){r=te(r),Tr(t,r,Ae(t[r],t))})),t})),Ee=$r((function(t,r,n){var e=3;if(n.length){var i=cr(n,er(Ee));e|=32}return zr(r,e,t,n,i)}));function ke(t,r,n){var e=-1,i=t.length;r<0&&(r=-r>i?0:i+r),(n=n>i?i:n)<0&&(n+=i),i=r>n?0:n-r>>>0,r>>>=0;for(var o=Array(i);++e<i;)o[e]=t[e+r];return o}function Se(t,r,n){var e=t.length;return n=void 0===n?e:n,!r&&n>=e?t:ke(t,r,n)}Ee.placeholder={};var We=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");function Re(t){return We.test(t)}var Be="\\ud800-\\udfff",Me="["+Be+"]",ze="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",Le="\\ud83c[\\udffb-\\udfff]",Pe="[^"+Be+"]",Te="(?:\\ud83c[\\udde6-\\uddff]){2}",Ce="[\\ud800-\\udbff][\\udc00-\\udfff]",De="(?:"+ze+"|"+Le+")"+"?",Ue="[\\ufe0e\\ufe0f]?",Ne=Ue+De+("(?:\\u200d(?:"+[Pe,Te,Ce].join("|")+")"+Ue+De+")*"),Fe="(?:"+[Pe+ze+"?",ze,Te,Ce,Me].join("|")+")",qe=RegExp(Le+"(?="+Le+")|"+Fe+Ne,"g");function $e(t){return Re(t)?function(t){return t.match(qe)||[]}(t):function(t){return t.split("")}(t)}function Ke(t){return function(r){var n=Re(r=Yn(r))?$e(r):void 0,e=n?n[0]:r.charAt(0),i=n?Se(n,1).join(""):r.slice(1);return e[t]()+i}}var Ve=Ke("toUpperCase");function Ze(t){return Ve(Yn(t).toLowerCase())}function Ge(t,r,n,e){var i=-1,o=null==t?0:t.length;for(e&&o&&(n=t[++i]);++i<o;)n=r(n,t[i],i,t);return n}function Je(t){return function(r){return null==t?void 0:t[r]}}var He=Je({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"}),Ye=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Qe=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");function Xe(t){return(t=Yn(t))&&t.replace(Ye,He).replace(Qe,"")}var ti=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;var ri=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;var ni="\\ud800-\\udfff",ei="\\u2700-\\u27bf",ii="a-z\\xdf-\\xf6\\xf8-\\xff",oi="A-Z\\xc0-\\xd6\\xd8-\\xde",ui="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ai="["+ui+"]",fi="\\d+",ci="["+ei+"]",li="["+ii+"]",si="[^"+ni+ui+fi+ei+ii+oi+"]",vi="(?:\\ud83c[\\udde6-\\uddff]){2}",pi="[\\ud800-\\udbff][\\udc00-\\udfff]",hi="["+oi+"]",di="(?:"+li+"|"+si+")",yi="(?:"+hi+"|"+si+")",_i="(?:['’](?:d|ll|m|re|s|t|ve))?",gi="(?:['’](?:D|LL|M|RE|S|T|VE))?",bi="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",mi="[\\ufe0e\\ufe0f]?",ji=mi+bi+("(?:\\u200d(?:"+["[^"+ni+"]",vi,pi].join("|")+")"+mi+bi+")*"),wi="(?:"+[ci,vi,pi].join("|")+")"+ji,xi=RegExp([hi+"?"+li+"+"+_i+"(?="+[ai,hi,"$"].join("|")+")",yi+"+"+gi+"(?="+[ai,hi+di,"$"].join("|")+")",hi+"?"+di+"+"+_i,hi+"+"+gi,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",fi,wi].join("|"),"g");function Oi(t,r,n){return t=Yn(t),void 0===(r=n?void 0:r)?function(t){return ri.test(t)}(t)?function(t){return t.match(xi)||[]}(t):function(t){return t.match(ti)||[]}(t):t.match(r)||[]}var Ai=RegExp("['’]","g");function Ii(t){return function(r){return Ge(Oi(Xe(r).replace(Ai,"")),t,"")}}var Ei=Ii((function(t,r,n){return r=r.toLowerCase(),t+(n?Ze(r):r)}));function ki(){if(!arguments.length)return[];var t=arguments[0];return b(t)?t:[t]}var Si=n.isFinite,Wi=Math.min;function Ri(t){var r=Math[t];return function(t,n){if(t=P(t),(n=null==n?0:Wi(U(n),292))&&Si(t)){var e=(Yn(t)+"e").split("e");return+((e=(Yn(r(e[0]+"e"+(+e[1]+n)))+"e").split("e"))[0]+"e"+(+e[1]-n))}return r(t)}}var Bi=Ri("ceil");function Mi(t){var r=Rt(t);return r.__chain__=!0,r}var zi=Math.ceil,Li=Math.max;function Pi(t,r,n){r=(n?Gr(t,r,n):void 0===r)?1:Li(U(r),0);var e=null==t?0:t.length;if(!e||r<1)return[];for(var i=0,o=0,u=Array(zi(e/r));i<e;)u[o++]=ke(t,i,i+=r);return u}function Ti(t,r,n){return t==t&&(void 0!==n&&(t=t<=n?t:n),void 0!==r&&(t=t>=r?t:r)),t}function Ci(t,r,n){return void 0===n&&(n=r,r=void 0),void 0!==n&&(n=(n=P(n))==n?n:0),void 0!==r&&(r=(r=P(r))==r?r:0),Ti(P(t),r,n)}function Di(t){var r=this.__data__=new Fn(t);this.size=r.size}function Ui(t,r){return t&&Nr(r,On(r),t)}Di.prototype.clear=function(){this.__data__=new Fn,this.size=0},Di.prototype.delete=function(t){var r=this.__data__,n=r.delete(t);return this.size=r.size,n},Di.prototype.get=function(t){return this.__data__.get(t)},Di.prototype.has=function(t){return this.__data__.has(t)},Di.prototype.set=function(t,r){var n=this.__data__;if(n instanceof Fn){var e=n.__data__;if(!qn||e.length<199)return e.push([t,r]),this.size=++n.size,this;n=this.__data__=new Kn(e)}return n.set(t,r),this.size=n.size,this};var Ni="object"==typeof exports&&exports&&!exports.nodeType&&exports,Fi=Ni&&"object"==typeof module&&module&&!module.nodeType&&module,qi=Fi&&Fi.exports===Ni?n.Buffer:void 0,$i=qi?qi.allocUnsafe:void 0;function Ki(t,r){if(r)return t.slice();var n=t.length,e=$i?$i(n):new t.constructor(n);return t.copy(e),e}function Vi(t,r){for(var n=-1,e=null==t?0:t.length,i=0,o=[];++n<e;){var u=t[n];r(u,n,t)&&(o[i++]=u)}return o}function Zi(){return[]}var Gi=Object.prototype.propertyIsEnumerable,Ji=Object.getOwnPropertySymbols,Hi=Ji?function(t){return null==t?[]:(t=Object(t),Vi(Ji(t),(function(r){return Gi.call(t,r)})))}:Zi;var Yi=Object.getOwnPropertySymbols?function(t){for(var r=[];t;)ie(r,Hi(t)),t=se(t);return r}:Zi;function Qi(t,r,n){var e=r(t);return b(t)?e:ie(e,n(t))}function Xi(t){return Qi(t,On,Hi)}function to(t){return Qi(t,Sn,Yi)}var ro=ut(n,"DataView"),no=ut(n,"Promise"),eo=ut(n,"Set"),io="[object Map]",oo="[object Promise]",uo="[object Set]",ao="[object WeakMap]",fo="[object DataView]",co=Q(ro),lo=Q(qn),so=Q(no),vo=Q(eo),po=Q(at),ho=v;(ro&&ho(new ro(new ArrayBuffer(1)))!=fo||qn&&ho(new qn)!=io||no&&ho(no.resolve())!=oo||eo&&ho(new eo)!=uo||at&&ho(new at)!=ao)&&(ho=function(t){var r=v(t),n="[object Object]"==r?t.constructor:void 0,e=n?Q(n):"";if(e)switch(e){case co:return fo;case lo:return io;case so:return oo;case vo:return uo;case po:return ao}return r});var yo=ho,_o=Object.prototype.hasOwnProperty;var go=n.Uint8Array;function bo(t){var r=new t.constructor(t.byteLength);return new go(r).set(new go(t)),r}var mo=/\w*$/;var jo=e?e.prototype:void 0,wo=jo?jo.valueOf:void 0;function xo(t,r){var n=r?bo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}var Oo="[object Boolean]",Ao="[object Date]",Io="[object Map]",Eo="[object Number]",ko="[object RegExp]",So="[object Set]",Wo="[object String]",Ro="[object Symbol]",Bo="[object ArrayBuffer]",Mo="[object DataView]",zo="[object Float32Array]",Lo="[object Float64Array]",Po="[object Int8Array]",To="[object Int16Array]",Co="[object Int32Array]",Do="[object Uint8Array]",Uo="[object Uint8ClampedArray]",No="[object Uint16Array]",Fo="[object Uint32Array]";function qo(t,r,n){var e,i=t.constructor;switch(r){case Bo:return bo(t);case Oo:case Ao:return new i(+t);case Mo:return function(t,r){var n=r?bo(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}(t,n);case zo:case Lo:case Po:case To:case Co:case Do:case Uo:case No:case Fo:return xo(t,n);case Io:return new i;case Eo:case Wo:return new i(t);case ko:return function(t){var r=new t.constructor(t.source,mo.exec(t));return r.lastIndex=t.lastIndex,r}(t);case So:return new i;case Ro:return e=t,wo?Object(wo.call(e)):{}}}function $o(t){return"function"!=typeof t.constructor||Yr(t)?{}:st(se(t))}var Ko=dn&&dn.isMap,Vo=Ko?sn(Ko):function(t){return p(t)&&"[object Map]"==yo(t)};var Zo=dn&&dn.isSet,Go=Zo?sn(Zo):function(t){return p(t)&&"[object Set]"==yo(t)},Jo=1,Ho=2,Yo=4,Qo="[object Arguments]",Xo="[object Function]",tu="[object GeneratorFunction]",ru="[object Object]",nu={};function eu(t,r,n,e,i,o){var u,a=r&Jo,f=r&Ho,c=r&Yo;if(n&&(u=i?n(t,e,i,o):n(t)),void 0!==u)return u;if(!W(t))return t;var l=b(t);if(l){if(u=function(t){var r=t.length,n=new t.constructor(r);return r&&"string"==typeof t[0]&&_o.call(t,"index")&&(n.index=t.index,n.input=t.input),n}(t),!a)return kt(t,u)}else{var s=yo(t),v=s==Xo||s==tu;if(cn(t))return Ki(t,a);if(s==ru||s==Qo||v&&!i){if(u=f||v?{}:$o(t),!a)return f?function(t,r){return Nr(t,Yi(t),r)}(t,function(t,r){return t&&Nr(r,Sn(r),t)}(u,t)):function(t,r){return Nr(t,Hi(t),r)}(t,Ui(u,t))}else{if(!nu[s])return i?t:{};u=qo(t,s,a)}}o||(o=new Di);var p=o.get(t);if(p)return p;o.set(t,u),Go(t)?t.forEach((function(e){u.add(eu(e,r,n,e,t,o))})):Vo(t)&&t.forEach((function(e,i){u.set(i,eu(e,r,n,i,t,o))}));var h=l?void 0:(c?f?to:Xi:f?Sn:On)(t);return qt(h||t,(function(e,i){h&&(e=t[i=e]),Ur(u,i,eu(e,r,n,i,t,o))})),u}nu[Qo]=nu["[object Array]"]=nu["[object ArrayBuffer]"]=nu["[object DataView]"]=nu["[object Boolean]"]=nu["[object Date]"]=nu["[object Float32Array]"]=nu["[object Float64Array]"]=nu["[object Int8Array]"]=nu["[object Int16Array]"]=nu["[object Int32Array]"]=nu["[object Map]"]=nu["[object Number]"]=nu[ru]=nu["[object RegExp]"]=nu["[object Set]"]=nu["[object String]"]=nu["[object Symbol]"]=nu["[object Uint8Array]"]=nu["[object Uint8ClampedArray]"]=nu["[object Uint16Array]"]=nu["[object Uint32Array]"]=!0,nu["[object Error]"]=nu[Xo]=nu["[object WeakMap]"]=!1;function iu(t){return eu(t,4)}function ou(t){return eu(t,5)}function uu(t,r){return eu(t,5,r="function"==typeof r?r:void 0)}function au(t,r){return eu(t,4,r="function"==typeof r?r:void 0)}function fu(){return new Et(this.value(),this.__chain__)}function cu(t){for(var r=-1,n=null==t?0:t.length,e=0,i=[];++r<n;){var o=t[r];o&&(i[e++]=o)}return i}function lu(){var t=arguments.length;if(!t)return[];for(var r=Array(t-1),n=arguments[0],e=t;e--;)r[e-1]=arguments[e];return ie(b(n)?kt(n):[n],ae(r,1))}function su(t){var r=-1,n=null==t?0:t.length;for(this.__data__=new Kn;++r<n;)this.add(t[r])}function vu(t,r){for(var n=-1,e=null==t?0:t.length;++n<e;)if(r(t[n],n,t))return!0;return!1}function pu(t,r){return t.has(r)}su.prototype.add=su.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},su.prototype.has=function(t){return this.__data__.has(t)};var hu=1,du=2;function yu(t,r,n,e,i,o){var u=n&hu,a=t.length,f=r.length;if(a!=f&&!(u&&f>a))return!1;var c=o.get(t),l=o.get(r);if(c&&l)return c==r&&l==t;var s=-1,v=!0,p=n&du?new su:void 0;for(o.set(t,r),o.set(r,t);++s<a;){var h=t[s],d=r[s];if(e)var y=u?e(d,h,s,r,t,o):e(h,d,s,t,r,o);if(void 0!==y){if(y)continue;v=!1;break}if(p){if(!vu(r,(function(t,r){if(!pu(p,r)&&(h===t||i(h,t,n,e,o)))return p.push(r)}))){v=!1;break}}else if(h!==d&&!i(h,d,n,e,o)){v=!1;break}}return o.delete(t),o.delete(r),v}function _u(t){var r=-1,n=Array(t.size);return t.forEach((function(t,e){n[++r]=[e,t]})),n}function gu(t){var r=-1,n=Array(t.size);return t.forEach((function(t){n[++r]=t})),n}var bu=1,mu=2,ju="[object Boolean]",wu="[object Date]",xu="[object Error]",Ou="[object Map]",Au="[object Number]",Iu="[object RegExp]",Eu="[object Set]",ku="[object String]",Su="[object Symbol]",Wu="[object ArrayBuffer]",Ru="[object DataView]",Bu=e?e.prototype:void 0,Mu=Bu?Bu.valueOf:void 0;var zu=1,Lu=Object.prototype.hasOwnProperty;var Pu=1,Tu="[object Arguments]",Cu="[object Array]",Du="[object Object]",Uu=Object.prototype.hasOwnProperty;function Nu(t,r,n,e,i,o){var u=b(t),a=b(r),f=u?Cu:yo(t),c=a?Cu:yo(r),l=(f=f==Tu?Du:f)==Du,s=(c=c==Tu?Du:c)==Du,v=f==c;if(v&&cn(t)){if(!cn(r))return!1;u=!0,l=!1}if(v&&!l)return o||(o=new Di),u||_n(t)?yu(t,r,n,e,i,o):function(t,r,n,e,i,o,u){switch(n){case Ru:if(t.byteLength!=r.byteLength||t.byteOffset!=r.byteOffset)return!1;t=t.buffer,r=r.buffer;case Wu:return!(t.byteLength!=r.byteLength||!o(new go(t),new go(r)));case ju:case wu:case Au:return Cr(+t,+r);case xu:return t.name==r.name&&t.message==r.message;case Iu:case ku:return t==r+"";case Ou:var a=_u;case Eu:var f=e&bu;if(a||(a=gu),t.size!=r.size&&!f)return!1;var c=u.get(t);if(c)return c==r;e|=mu,u.set(t,r);var l=yu(a(t),a(r),e,i,o,u);return u.delete(t),l;case Su:if(Mu)return Mu.call(t)==Mu.call(r)}return!1}(t,r,f,n,e,i,o);if(!(n&Pu)){var p=l&&Uu.call(t,"__wrapped__"),h=s&&Uu.call(r,"__wrapped__");if(p||h){var d=p?t.value():t,y=h?r.value():r;return o||(o=new Di),i(d,y,n,e,o)}}return!!v&&(o||(o=new Di),function(t,r,n,e,i,o){var u=n&zu,a=Xi(t),f=a.length;if(f!=Xi(r).length&&!u)return!1;for(var c=f;c--;){var l=a[c];if(!(u?l in r:Lu.call(r,l)))return!1}var s=o.get(t),v=o.get(r);if(s&&v)return s==r&&v==t;var p=!0;o.set(t,r),o.set(r,t);for(var h=u;++c<f;){var d=t[l=a[c]],y=r[l];if(e)var _=u?e(y,d,l,r,t,o):e(d,y,l,t,r,o);if(!(void 0===_?d===y||i(d,y,n,e,o):_)){p=!1;break}h||(h="constructor"==l)}if(p&&!h){var g=t.constructor,b=r.constructor;g==b||!("constructor"in t)||!("constructor"in r)||"function"==typeof g&&g instanceof g&&"function"==typeof b&&b instanceof b||(p=!1)}return o.delete(t),o.delete(r),p}(t,r,n,e,i,o))}function Fu(t,r,n,e,i){return t===r||(null==t||null==r||!p(t)&&!p(r)?t!=t&&r!=r:Nu(t,r,n,e,Fu,i))}var qu=1,$u=2;function Ku(t,r,n,e){var i=n.length,o=i,u=!e;if(null==t)return!o;for(t=Object(t);i--;){var a=n[i];if(u&&a[2]?a[1]!==t[a[0]]:!(a[0]in t))return!1}for(;++i<o;){var f=(a=n[i])[0],c=t[f],l=a[1];if(u&&a[2]){if(void 0===c&&!(f in t))return!1}else{var s=new Di;if(e)var v=e(c,l,f,t,r,s);if(!(void 0===v?Fu(l,c,qu|$u,e,s):v))return!1}}return!0}function Vu(t){return t==t&&!W(t)}function Zu(t){for(var r=On(t),n=r.length;n--;){var e=r[n],i=t[e];r[n]=[e,i,Vu(i)]}return r}function Gu(t,r){return function(n){return null!=n&&(n[t]===r&&(void 0!==r||t in Object(n)))}}function Ju(t){var r=Zu(t);return 1==r.length&&r[0][2]?Gu(r[0][0],r[0][1]):function(n){return n===t||Ku(n,t,r)}}function Hu(t,r){return null!=t&&r in Object(t)}function Yu(t,r,n){for(var e=-1,i=(r=Qn(r,t)).length,o=!1;++e<i;){var u=te(r[e]);if(!(o=null!=t&&n(t,u)))break;t=t[u]}return o||++e!=i?o:!!(i=null==t?0:t.length)&&Vr(i)&&ur(u,i)&&(b(t)||en(t))}function Qu(t,r){return null!=t&&Yu(t,r,Hu)}var Xu=1,ta=2;function ra(t,r){return Ln(t)&&Vu(r)?Gu(te(t),r):function(n){var e=ne(n,t);return void 0===e&&e===r?Qu(n,t):Fu(r,e,Xu|ta)}}function na(t){return function(r){return null==r?void 0:r[t]}}function ea(t){return Ln(t)?na(te(t)):function(t){return function(r){return re(r,t)}}(t)}function ia(t){return"function"==typeof t?t:null==t?F:"object"==typeof t?b(t)?ra(t[0],t[1]):Ju(t):ea(t)}function oa(t){var r=null==t?0:t.length,n=ia;return t=r?g(t,(function(t){if("function"!=typeof t[1])throw new TypeError("Expected a function");return[n(t[0]),t[1]]})):[],$r((function(n){for(var e=-1;++e<r;){var i=t[e];if(ht(i[0],this,n))return ht(i[1],this,n)}}))}function ua(t,r,n){var e=n.length;if(null==t)return!e;for(t=Object(t);e--;){var i=n[e],o=r[i],u=t[i];if(void 0===u&&!(i in t)||!o(u))return!1}return!0}function aa(t){return function(t){var r=On(t);return function(n){return ua(n,t,r)}}(eu(t,1))}function fa(t,r){return null==r||ua(t,r,On(r))}function ca(t,r,n,e){for(var i=-1,o=null==t?0:t.length;++i<o;){var u=t[i];r(e,u,n(u),t)}return e}function la(t){return function(r,n,e){for(var i=-1,o=Object(r),u=e(r),a=u.length;a--;){var f=u[t?a:++i];if(!1===n(o[f],f,o))break}return r}}var sa=la();function va(t,r){return t&&sa(t,r,On)}function pa(t,r){return function(n,e){if(null==n)return n;if(!Zr(n))return t(n,e);for(var i=n.length,o=r?i:-1,u=Object(n);(r?o--:++o<i)&&!1!==e(u[o],o,u););return n}}var ha=pa(va);function da(t,r,n,e){return ha(t,(function(t,i,o){r(e,t,n(t),o)})),e}function ya(t,r){return function(n,e){var i=b(n)?ca:da,o=r?r():{};return i(n,t,ia(e),o)}}var _a=Object.prototype.hasOwnProperty,ga=ya((function(t,r,n){_a.call(t,n)?++t[n]:Tr(t,n,1)}));function ba(t,r){var n=st(t);return null==r?n:Ui(n,r)}function ma(t,r,n){var e=zr(t,8,void 0,void 0,void 0,void 0,void 0,r=n?void 0:r);return e.placeholder=ma.placeholder,e}ma.placeholder={};function ja(t,r,n){var e=zr(t,16,void 0,void 0,void 0,void 0,void 0,r=n?void 0:r);return e.placeholder=ja.placeholder,e}ja.placeholder={};var wa=function(){return n.Date.now()},xa="Expected a function",Oa=Math.max,Aa=Math.min;function Ia(t,r,n){var e,i,o,u,a,f,c=0,l=!1,s=!1,v=!0;if("function"!=typeof t)throw new TypeError(xa);function p(r){var n=e,o=i;return e=i=void 0,c=r,u=t.apply(o,n)}function h(t){var n=t-f;return void 0===f||n>=r||n<0||s&&t-c>=o}function d(){var t=wa();if(h(t))return y(t);a=setTimeout(d,function(t){var n=r-(t-f);return s?Aa(n,o-(t-c)):n}(t))}function y(t){return a=void 0,v&&e?p(t):(e=i=void 0,u)}function _(){var t=wa(),n=h(t);if(e=arguments,i=this,f=t,n){if(void 0===a)return function(t){return c=t,a=setTimeout(d,r),l?p(t):u}(f);if(s)return clearTimeout(a),a=setTimeout(d,r),p(f)}return void 0===a&&(a=setTimeout(d,r)),u}return r=P(r)||0,W(n)&&(l=!!n.leading,o=(s="maxWait"in n)?Oa(P(n.maxWait)||0,r):o,v="trailing"in n?!!n.trailing:v),_.cancel=function(){void 0!==a&&clearTimeout(a),c=0,e=f=i=a=void 0},_.flush=function(){return void 0===a?u:y(wa())},_}function Ea(t,r){return null==t||t!=t?r:t}var ka=Object.prototype,Sa=ka.hasOwnProperty,Wa=$r((function(t,r){t=Object(t);var n=-1,e=r.length,i=e>2?r[2]:void 0;for(i&&Gr(r[0],r[1],i)&&(e=1);++n<e;)for(var o=r[n],u=Sn(o),a=-1,f=u.length;++a<f;){var c=u[a],l=t[c];(void 0===l||Cr(l,ka[c])&&!Sa.call(t,c))&&(t[c]=o[c])}return t}));function Ra(t,r,n){(void 0!==n&&!Cr(t[r],n)||void 0===n&&!(r in t))&&Tr(t,r,n)}function Ba(t){return p(t)&&Zr(t)}function Ma(t,r){if(("constructor"!==r||"function"!=typeof t[r])&&"__proto__"!=r)return t[r]}function za(t){return Nr(t,Sn(t))}function La(t,r,n,e,i){t!==r&&sa(r,(function(o,u){if(i||(i=new Di),W(o))!function(t,r,n,e,i,o,u){var a=Ma(t,n),f=Ma(r,n),c=u.get(f);if(c)Ra(t,n,c);else{var l=o?o(a,f,n+"",t,r,u):void 0,s=void 0===l;if(s){var v=b(f),p=!v&&cn(f),h=!v&&!p&&_n(f);l=f,v||p||h?b(a)?l=a:Ba(a)?l=kt(a):p?(s=!1,l=Ki(f,!0)):h?(s=!1,l=xo(f,!0)):l=[]:ge(f)||en(f)?(l=a,en(a)?l=za(a):W(a)&&!Z(a)||(l=$o(f))):s=!1}s&&(u.set(f,l),i(l,f,e,o,u),u.delete(f)),Ra(t,n,l)}}(t,r,u,n,La,e,i);else{var a=e?e(Ma(t,u),o,u+"",t,r,i):void 0;void 0===a&&(a=o),Ra(t,u,a)}}),Sn)}function Pa(t,r,n,e,i,o){return W(t)&&W(r)&&(o.set(r,t),La(t,r,void 0,Pa,o),o.delete(r)),t}var Ta=Jr((function(t,r,n,e){La(t,r,n,e)})),Ca=$r((function(t){return t.push(void 0,Pa),ht(Ta,void 0,t)}));function Da(t,r,n){if("function"!=typeof t)throw new TypeError("Expected a function");return setTimeout((function(){t.apply(void 0,n)}),r)}var Ua=$r((function(t,r){return Da(t,1,r)})),Na=$r((function(t,r,n){return Da(t,P(r)||0,n)}));function Fa(t,r,n){for(var e=-1,i=null==t?0:t.length;++e<i;)if(n(r,t[e]))return!0;return!1}var qa=200;function $a(t,r,n,e){var i=-1,o=Zt,u=!0,a=t.length,f=[],c=r.length;if(!a)return f;n&&(r=g(r,sn(n))),e?(o=Fa,u=!1):r.length>=qa&&(o=pu,u=!1,r=new su(r));t:for(;++i<a;){var l=t[i],s=null==n?l:n(l);if(l=e||0!==l?l:0,u&&s==s){for(var v=c;v--;)if(r[v]===s)continue t;f.push(l)}else o(r,s,e)||f.push(l)}return f}var Ka=$r((function(t,r){return Ba(t)?$a(t,ae(r,1,Ba,!0)):[]}));function Va(t){var r=null==t?0:t.length;return r?t[r-1]:void 0}var Za=$r((function(t,r){var n=Va(r);return Ba(n)&&(n=void 0),Ba(t)?$a(t,ae(r,1,Ba,!0),ia(n)):[]})),Ga=$r((function(t,r){var n=Va(r);return Ba(n)&&(n=void 0),Ba(t)?$a(t,ae(r,1,Ba,!0),void 0,n):[]})),Ja=O((function(t,r){return t/r}),1);function Ha(t,r,n){var e=null==t?0:t.length;return e?ke(t,(r=n||void 0===r?1:U(r))<0?0:r,e):[]}function Ya(t,r,n){var e=null==t?0:t.length;return e?ke(t,0,(r=e-(r=n||void 0===r?1:U(r)))<0?0:r):[]}function Qa(t,r,n,e){for(var i=t.length,o=e?i:-1;(e?o--:++o<i)&&r(t[o],o,t););return n?ke(t,e?0:o,e?o+1:i):ke(t,e?o+1:0,e?i:o)}function Xa(t,r){return t&&t.length?Qa(t,ia(r),!0,!0):[]}function tf(t,r){return t&&t.length?Qa(t,ia(r),!0):[]}function rf(t){return"function"==typeof t?t:F}function nf(t,r){return(b(t)?qt:ha)(t,rf(r))}function ef(t,r){for(var n=null==t?0:t.length;n--&&!1!==r(t[n],n,t););return t}var of=la(!0);function uf(t,r){return t&&of(t,r,On)}var af=pa(uf,!0);function ff(t,r){return(b(t)?ef:af)(t,rf(r))}function cf(t,r,n){t=Yn(t),r=x(r);var e=t.length,i=n=void 0===n?e:Ti(U(n),0,e);return(n-=r.length)>=0&&t.slice(n,i)==r}function lf(t){return function(r){var n=yo(r);return"[object Map]"==n?_u(r):"[object Set]"==n?function(t){var r=-1,n=Array(t.size);return t.forEach((function(t){n[++r]=[t,t]})),n}(r):function(t,r){return g(r,(function(r){return[r,t[r]]}))}(r,t(r))}}var sf=lf(On),vf=lf(Sn),pf=Je({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}),hf=/[&<>"']/g,df=RegExp(hf.source);function yf(t){return(t=Yn(t))&&df.test(t)?t.replace(hf,pf):t}var _f=/[\\^$.*+?()[\]{}|]/g,gf=RegExp(_f.source);function bf(t){return(t=Yn(t))&&gf.test(t)?t.replace(_f,"\\$&"):t}function mf(t,r){for(var n=-1,e=null==t?0:t.length;++n<e;)if(!r(t[n],n,t))return!1;return!0}function jf(t,r){var n=!0;return ha(t,(function(t,e,i){return n=!!r(t,e,i)})),n}function wf(t,r,n){var e=b(t)?mf:jf;return n&&Gr(t,r,n)&&(r=void 0),e(t,ia(r))}var xf=4294967295;function Of(t){return t?Ti(U(t),0,xf):0}function Af(t,r,n,e){var i=null==t?0:t.length;return i?(n&&"number"!=typeof n&&Gr(t,r,n)&&(n=0,e=i),function(t,r,n,e){var i=t.length;for((n=U(n))<0&&(n=-n>i?0:i+n),(e=void 0===e||e>i?i:U(e))<0&&(e+=i),e=n>e?0:Of(e);n<e;)t[n++]=r;return t}(t,r,n,e)):[]}function If(t,r){var n=[];return ha(t,(function(t,e,i){r(t,e,i)&&n.push(t)})),n}function Ef(t,r){return(b(t)?Vi:If)(t,ia(r))}function kf(t){return function(r,n,e){var i=Object(r);if(!Zr(r)){var o=ia(n);r=On(r),n=function(t){return o(i[t],t,i)}}var u=t(r,n,e);return u>-1?i[o?r[u]:u]:void 0}}var Sf=Math.max;function Wf(t,r,n){var e=null==t?0:t.length;if(!e)return-1;var i=null==n?0:U(n);return i<0&&(i=Sf(e+i,0)),$t(t,ia(r),i)}var Rf=kf(Wf);function Bf(t,r,n){var e;return n(t,(function(t,n,i){if(r(t,n,i))return e=n,!1})),e}function Mf(t,r){return Bf(t,ia(r),va)}var zf=Math.max,Lf=Math.min;function Pf(t,r,n){var e=null==t?0:t.length;if(!e)return-1;var i=e-1;return void 0!==n&&(i=U(n),i=n<0?zf(e+i,0):Lf(i,e-1)),$t(t,ia(r),i,!0)}var Tf=kf(Pf);function Cf(t,r){return Bf(t,ia(r),uf)}function Df(t){return t&&t.length?t[0]:void 0}function Uf(t,r){var n=-1,e=Zr(t)?Array(t.length):[];return ha(t,(function(t,i,o){e[++n]=r(t,i,o)})),e}function Nf(t,r){return(b(t)?g:Uf)(t,ia(r))}function Ff(t,r){return ae(Nf(t,r),1)}var qf=1/0;function $f(t,r){return ae(Nf(t,r),qf)}function Kf(t,r,n){return n=void 0===n?1:U(n),ae(Nf(t,r),n)}var Vf=1/0;function Zf(t){return(null==t?0:t.length)?ae(t,Vf):[]}function Gf(t,r){return(null==t?0:t.length)?ae(t,r=void 0===r?1:U(r)):[]}function Jf(t){return zr(t,512)}var Hf=Ri("floor");function Yf(t){return ce((function(r){var n=r.length,e=n,i=Et.prototype.thru;for(t&&r.reverse();e--;){var o=r[e];if("function"!=typeof o)throw new TypeError("Expected a function");if(i&&!u&&"wrapper"==It(o))var u=new Et([],!0)}for(e=u?e:n;++e<n;){var a=It(o=r[e]),f="wrapper"==a?xt(o):void 0;u=f&&Bt(f[0])&&424==f[1]&&!f[4].length&&1==f[9]?u[It(f[0])].apply(u,f[3]):1==o.length&&Bt(o)?u[a]():u.thru(o)}return function(){var t=arguments,e=t[0];if(u&&1==t.length&&b(e))return u.plant(e).value();for(var i=0,o=n?r[i].apply(this,t):e;++i<n;)o=r[i].call(this,o);return o}}))}var Qf=Yf(),Xf=Yf(!0);function tc(t,r){return null==t?t:sa(t,rf(r),Sn)}function rc(t,r){return null==t?t:of(t,rf(r),Sn)}function nc(t,r){return t&&va(t,rf(r))}function ec(t,r){return t&&uf(t,rf(r))}function ic(t){for(var r=-1,n=null==t?0:t.length,e={};++r<n;){var i=t[r];e[i[0]]=i[1]}return e}function oc(t,r){return Vi(r,(function(r){return Z(t[r])}))}function uc(t){return null==t?[]:oc(t,On(t))}function ac(t){return null==t?[]:oc(t,Sn(t))}var fc=Object.prototype.hasOwnProperty,cc=ya((function(t,r,n){fc.call(t,n)?t[n].push(r):Tr(t,n,[r])}));function lc(t,r){return t>r}function sc(t){return function(r,n){return"string"==typeof r&&"string"==typeof n||(r=P(r),n=P(n)),t(r,n)}}var vc=sc(lc),pc=sc((function(t,r){return t>=r})),hc=Object.prototype.hasOwnProperty;function dc(t,r){return null!=t&&hc.call(t,r)}function yc(t,r){return null!=t&&Yu(t,r,dc)}var _c=Math.max,gc=Math.min;function bc(t,r,n){return r=D(r),void 0===n?(n=r,r=0):n=D(n),function(t,r,n){return t>=gc(r,n)&&t<_c(r,n)}(t=P(t),r,n)}var mc="[object String]";function jc(t){return"string"==typeof t||!b(t)&&p(t)&&v(t)==mc}function wc(t,r){return g(r,(function(r){return t[r]}))}function xc(t){return null==t?[]:wc(t,On(t))}var Oc=Math.max;function Ac(t,r,n,e){t=Zr(t)?t:xc(t),n=n&&!e?U(n):0;var i=t.length;return n<0&&(n=Oc(i+n,0)),jc(t)?n<=i&&t.indexOf(r,n)>-1:!!i&&Vt(t,r,n)>-1}var Ic=Math.max;function Ec(t,r,n){var e=null==t?0:t.length;if(!e)return-1;var i=null==n?0:U(n);return i<0&&(i=Ic(e+i,0)),Vt(t,r,i)}function kc(t){return(null==t?0:t.length)?ke(t,0,-1):[]}var Sc=Math.min;function Wc(t,r,n){for(var e=n?Fa:Zt,i=t[0].length,o=t.length,u=o,a=Array(o),f=1/0,c=[];u--;){var l=t[u];u&&r&&(l=g(l,sn(r))),f=Sc(l.length,f),a[u]=!n&&(r||i>=120&&l.length>=120)?new su(u&&l):void 0}l=t[0];var s=-1,v=a[0];t:for(;++s<i&&c.length<f;){var p=l[s],h=r?r(p):p;if(p=n||0!==p?p:0,!(v?pu(v,h):e(c,h,n))){for(u=o;--u;){var d=a[u];if(!(d?pu(d,h):e(t[u],h,n)))continue t}v&&v.push(h),c.push(p)}}return c}function Rc(t){return Ba(t)?t:[]}var Bc=$r((function(t){var r=g(t,Rc);return r.length&&r[0]===t[0]?Wc(r):[]})),Mc=$r((function(t){var r=Va(t),n=g(t,Rc);return r===Va(n)?r=void 0:n.pop(),n.length&&n[0]===t[0]?Wc(n,ia(r)):[]})),zc=$r((function(t){var r=Va(t),n=g(t,Rc);return(r="function"==typeof r?r:void 0)&&n.pop(),n.length&&n[0]===t[0]?Wc(n,void 0,r):[]}));function Lc(t,r){return function(n,e){return function(t,r,n,e){return va(t,(function(t,i,o){r(e,n(t),i,o)})),e}(n,t,r(e),{})}}var Pc=Object.prototype.toString,Tc=Lc((function(t,r,n){null!=r&&"function"!=typeof r.toString&&(r=Pc.call(r)),t[r]=n}),Dt(F)),Cc=Object.prototype,Dc=Cc.hasOwnProperty,Uc=Cc.toString,Nc=Lc((function(t,r,n){null!=r&&"function"!=typeof r.toString&&(r=Uc.call(r)),Dc.call(t,r)?t[r].push(n):t[r]=[n]}),ia);function Fc(t,r){return r.length<2?t:re(t,ke(r,0,-1))}function qc(t,r,n){var e=null==(t=Fc(t,r=Qn(r,t)))?t:t[te(Va(r))];return null==e?void 0:ht(e,t,n)}var $c=$r(qc),Kc=$r((function(t,r,n){var e=-1,i="function"==typeof r,o=Zr(t)?Array(t.length):[];return ha(t,(function(t){o[++e]=i?ht(r,t,n):qc(t,r,n)})),o}));var Vc=dn&&dn.isArrayBuffer,Zc=Vc?sn(Vc):function(t){return p(t)&&"[object ArrayBuffer]"==v(t)};function Gc(t){return!0===t||!1===t||p(t)&&"[object Boolean]"==v(t)}var Jc=dn&&dn.isDate,Hc=Jc?sn(Jc):function(t){return p(t)&&"[object Date]"==v(t)};function Yc(t){return p(t)&&1===t.nodeType&&!ge(t)}var Qc=Object.prototype.hasOwnProperty;function Xc(t){if(null==t)return!0;if(Zr(t)&&(b(t)||"string"==typeof t||"function"==typeof t.splice||cn(t)||_n(t)||en(t)))return!t.length;var r=yo(t);if("[object Map]"==r||"[object Set]"==r)return!t.size;if(Yr(t))return!xn(t).length;for(var n in t)if(Qc.call(t,n))return!1;return!0}function tl(t,r){return Fu(t,r)}function rl(t,r,n){var e=(n="function"==typeof n?n:void 0)?n(t,r):void 0;return void 0===e?Fu(t,r,void 0,n):!!e}var nl=n.isFinite;function el(t){return"number"==typeof t&&nl(t)}function il(t){return"number"==typeof t&&t==U(t)}function ol(t,r){return t===r||Ku(t,r,Zu(r))}function ul(t,r,n){return n="function"==typeof n?n:void 0,Ku(t,r,Zu(r),n)}var al="[object Number]";function fl(t){return"number"==typeof t||p(t)&&v(t)==al}function cl(t){return fl(t)&&t!=+t}var ll=J?Z:on;function sl(t){if(ll(t))throw new Error("Unsupported core-js use. Try https://npms.io/search?q=ponyfill.");return ot(t)}function vl(t){return null==t}function pl(t){return null===t}var hl=dn&&dn.isRegExp,dl=hl?sn(hl):function(t){return p(t)&&"[object RegExp]"==v(t)},yl=9007199254740991;function _l(t){return il(t)&&t>=-9007199254740991&&t<=yl}function gl(t){return void 0===t}function bl(t){return p(t)&&"[object WeakMap]"==yo(t)}function ml(t){return p(t)&&"[object WeakSet]"==v(t)}function jl(t){return ia("function"==typeof t?t:eu(t,1))}var wl=Array.prototype.join;function xl(t,r){return null==t?"":wl.call(t,r)}var Ol=Ii((function(t,r,n){return t+(n?"-":"")+r.toLowerCase()})),Al=ya((function(t,r,n){Tr(t,n,r)}));var Il=Math.max,El=Math.min;function kl(t,r,n){var e=null==t?0:t.length;if(!e)return-1;var i=e;return void 0!==n&&(i=(i=U(n))<0?Il(e+i,0):El(i,e-1)),r==r?function(t,r,n){for(var e=n+1;e--;)if(t[e]===r)return e;return e}(t,r,i):$t(t,Kt,i,!0)}var Sl=Ii((function(t,r,n){return t+(n?" ":"")+r.toLowerCase()})),Wl=Ke("toLowerCase");function Rl(t,r){return t<r}var Bl=sc(Rl),Ml=sc((function(t,r){return t<=r}));function zl(t,r){var n={};return r=ia(r),va(t,(function(t,e,i){Tr(n,r(t,e,i),t)})),n}function Ll(t,r){var n={};return r=ia(r),va(t,(function(t,e,i){Tr(n,e,r(t,e,i))})),n}function Pl(t){return Ju(eu(t,1))}function Tl(t,r){return ra(t,eu(r,1))}function Cl(t,r,n){for(var e=-1,i=t.length;++e<i;){var o=t[e],u=r(o);if(null!=u&&(void 0===a?u==u&&!d(u):n(u,a)))var a=u,f=o}return f}function Dl(t){return t&&t.length?Cl(t,F,lc):void 0}function Ul(t,r){return t&&t.length?Cl(t,ia(r),lc):void 0}function Nl(t,r){for(var n,e=-1,i=t.length;++e<i;){var o=r(t[e]);void 0!==o&&(n=void 0===n?o:n+o)}return n}var Fl=NaN;function ql(t,r){var n=null==t?0:t.length;return n?Nl(t,r)/n:Fl}function $l(t){return ql(t,F)}function Kl(t,r){return ql(t,ia(r))}var Vl=Jr((function(t,r,n){La(t,r,n)})),Zl=$r((function(t,r){return function(n){return qc(n,t,r)}})),Gl=$r((function(t,r){return function(n){return qc(t,n,r)}}));function Jl(t){return t&&t.length?Cl(t,F,Rl):void 0}function Hl(t,r){return t&&t.length?Cl(t,ia(r),Rl):void 0}function Yl(t,r,n){var e=On(r),i=oc(r,e),o=!(W(n)&&"chain"in n&&!n.chain),u=Z(t);return qt(i,(function(n){var e=r[n];t[n]=e,u&&(t.prototype[n]=function(){var r=this.__chain__;if(o||r){var n=t(this.__wrapped__);return(n.__actions__=kt(this.__actions__)).push({func:e,args:arguments,thisArg:t}),n.__chain__=r,n}return e.apply(t,ie([this.value()],arguments))})})),t}var Ql=O((function(t,r){return t*r}),1),Xl="Expected a function";function ts(t){if("function"!=typeof t)throw new TypeError(Xl);return function(){var r=arguments;switch(r.length){case 0:return!t.call(this);case 1:return!t.call(this,r[0]);case 2:return!t.call(this,r[0],r[1]);case 3:return!t.call(this,r[0],r[1],r[2])}return!t.apply(this,r)}}var rs="[object Map]",ns="[object Set]",es=e?e.iterator:void 0;function is(t){if(!t)return[];if(Zr(t))return jc(t)?$e(t):kt(t);if(es&&t[es])return function(t){for(var r,n=[];!(r=t.next()).done;)n.push(r.value);return n}(t[es]());var r=yo(t);return(r==rs?_u:r==ns?gu:xc)(t)}function os(){void 0===this.__values__&&(this.__values__=is(this.value()));var t=this.__index__>=this.__values__.length;return{done:t,value:t?void 0:this.__values__[this.__index__++]}}function us(t,r){var n=t.length;if(n)return ur(r+=r<0?n:0,n)?t[r]:void 0}function as(t,r){return t&&t.length?us(t,U(r)):void 0}function fs(t){return t=U(t),$r((function(r){return us(r,t)}))}function cs(t,r){return null==(t=Fc(t,r=Qn(r,t)))||delete t[te(Va(r))]}function ls(t){return ge(t)?void 0:t}var ss=ce((function(t,r){var n={};if(null==t)return n;var e=!1;r=g(r,(function(r){return r=Qn(r,t),e||(e=r.length>1),r})),Nr(t,to(t),n),e&&(n=eu(n,7,ls));for(var i=r.length;i--;)cs(n,r[i]);return n}));function vs(t,r,n,e){if(!W(t))return t;for(var i=-1,o=(r=Qn(r,t)).length,u=o-1,a=t;null!=a&&++i<o;){var f=te(r[i]),c=n;if("__proto__"===f||"constructor"===f||"prototype"===f)return t;if(i!=u){var l=a[f];void 0===(c=e?e(l,f,a):void 0)&&(c=W(l)?l:ur(r[i+1])?[]:{})}Ur(a,f,c),a=a[f]}return t}function ps(t,r,n){for(var e=-1,i=r.length,o={};++e<i;){var u=r[e],a=re(t,u);n(a,u)&&vs(o,Qn(u,t),a)}return o}function hs(t,r){if(null==t)return{};var n=g(to(t),(function(t){return[t]}));return r=ia(r),ps(t,n,(function(t,n){return r(t,n[0])}))}function ds(t,r){return hs(t,ts(ia(r)))}function ys(t){return Oe(2,t)}function _s(t,r){if(t!==r){var n=void 0!==t,e=null===t,i=t==t,o=d(t),u=void 0!==r,a=null===r,f=r==r,c=d(r);if(!a&&!c&&!o&&t>r||o&&u&&f&&!a&&!c||e&&u&&f||!n&&f||!i)return 1;if(!e&&!o&&!c&&t<r||c&&n&&i&&!e&&!o||a&&n&&i||!u&&i||!f)return-1}return 0}function gs(t,r,n){r=r.length?g(r,(function(t){return b(t)?function(r){return re(r,1===t.length?t[0]:t)}:t})):[F];var e=-1;r=g(r,sn(ia));var i=Uf(t,(function(t,n,i){var o=g(r,(function(r){return r(t)}));return{criteria:o,index:++e,value:t}}));return function(t,r){var n=t.length;for(t.sort(r);n--;)t[n]=t[n].value;return t}(i,(function(t,r){return function(t,r,n){for(var e=-1,i=t.criteria,o=r.criteria,u=i.length,a=n.length;++e<u;){var f=_s(i[e],o[e]);if(f)return e>=a?f:f*("desc"==n[e]?-1:1)}return t.index-r.index}(t,r,n)}))}function bs(t,r,n,e){return null==t?[]:(b(r)||(r=null==r?[]:[r]),b(n=e?void 0:n)||(n=null==n?[]:[n]),gs(t,r,n))}function ms(t){return ce((function(r){return r=g(r,sn(ia)),$r((function(n){var e=this;return t(r,(function(t){return ht(t,e,n)}))}))}))}var js=ms(g),ws=$r,xs=Math.min,Os=ws((function(t,r){var n=(r=1==r.length&&b(r[0])?g(r[0],sn(ia)):g(ae(r,1),sn(ia))).length;return $r((function(e){for(var i=-1,o=xs(e.length,n);++i<o;)e[i]=r[i].call(this,e[i]);return ht(t,this,e)}))})),As=ms(mf),Is=ms(vu),Es=9007199254740991,ks=Math.floor;function Ss(t,r){var n="";if(!t||r<1||r>Es)return n;do{r%2&&(n+=t),(r=ks(r/2))&&(t+=t)}while(r);return n}var Ws=na("length"),Rs="\\ud800-\\udfff",Bs="["+Rs+"]",Ms="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",zs="\\ud83c[\\udffb-\\udfff]",Ls="[^"+Rs+"]",Ps="(?:\\ud83c[\\udde6-\\uddff]){2}",Ts="[\\ud800-\\udbff][\\udc00-\\udfff]",Cs="(?:"+Ms+"|"+zs+")"+"?",Ds="[\\ufe0e\\ufe0f]?",Us=Ds+Cs+("(?:\\u200d(?:"+[Ls,Ps,Ts].join("|")+")"+Ds+Cs+")*"),Ns="(?:"+[Ls+Ms+"?",Ms,Ps,Ts,Bs].join("|")+")",Fs=RegExp(zs+"(?="+zs+")|"+Ns+Us,"g");function qs(t){return Re(t)?function(t){for(var r=Fs.lastIndex=0;Fs.test(t);)++r;return r}(t):Ws(t)}var $s=Math.ceil;function Ks(t,r){var n=(r=void 0===r?" ":x(r)).length;if(n<2)return n?Ss(r,t):r;var e=Ss(r,$s(t/qs(r)));return Re(r)?Se($e(e),0,t).join(""):e.slice(0,t)}var Vs=Math.ceil,Zs=Math.floor;function Gs(t,r,n){t=Yn(t);var e=(r=U(r))?qs(t):0;if(!r||e>=r)return t;var i=(r-e)/2;return Ks(Zs(i),n)+t+Ks(Vs(i),n)}function Js(t,r,n){t=Yn(t);var e=(r=U(r))?qs(t):0;return r&&e<r?t+Ks(r-e,n):t}function Hs(t,r,n){t=Yn(t);var e=(r=U(r))?qs(t):0;return r&&e<r?Ks(r-e,n)+t:t}var Ys=/^\s+/,Qs=n.parseInt;function Xs(t,r,n){return n||null==r?r=0:r&&(r=+r),Qs(Yn(t).replace(Ys,""),r||0)}var tv=$r((function(t,r){return zr(t,32,void 0,r,cr(r,er(tv)))}));tv.placeholder={};var rv=$r((function(t,r){return zr(t,64,void 0,r,cr(r,er(rv)))}));rv.placeholder={};var nv=ya((function(t,r,n){t[n?0:1].push(r)}),(function(){return[[],[]]}));var ev=ce((function(t,r){return null==t?{}:function(t,r){return ps(t,r,(function(r,n){return Qu(t,n)}))}(t,r)}));function iv(t){for(var r,n=this;n instanceof bt;){var e=St(n);e.__index__=0,e.__values__=void 0,r?i.__wrapped__=e:r=e;var i=e;n=n.__wrapped__}return i.__wrapped__=t,r}function ov(t){return function(r){return null==t?void 0:re(t,r)}}function uv(t,r,n,e){for(var i=n-1,o=t.length;++i<o;)if(e(t[i],r))return i;return-1}var av=Array.prototype.splice;function fv(t,r,n,e){var i=e?uv:Vt,o=-1,u=r.length,a=t;for(t===r&&(r=kt(r)),n&&(a=g(t,sn(n)));++o<u;)for(var f=0,c=r[o],l=n?n(c):c;(f=i(a,l,f,e))>-1;)a!==t&&av.call(a,f,1),av.call(t,f,1);return t}function cv(t,r){return t&&t.length&&r&&r.length?fv(t,r):t}var lv=$r(cv);function sv(t,r,n){return t&&t.length&&r&&r.length?fv(t,r,ia(n)):t}function vv(t,r,n){return t&&t.length&&r&&r.length?fv(t,r,void 0,n):t}var pv=Array.prototype.splice;function hv(t,r){for(var n=t?r.length:0,e=n-1;n--;){var i=r[n];if(n==e||i!==o){var o=i;ur(i)?pv.call(t,i,1):cs(t,i)}}return t}var dv=ce((function(t,r){var n=null==t?0:t.length,e=ee(t,r);return hv(t,g(r,(function(t){return ur(t,n)?+t:t})).sort(_s)),e})),yv=Math.floor,_v=Math.random;function gv(t,r){return t+yv(_v()*(r-t+1))}var bv=parseFloat,mv=Math.min,jv=Math.random;function wv(t,r,n){if(n&&"boolean"!=typeof n&&Gr(t,r,n)&&(r=n=void 0),void 0===n&&("boolean"==typeof r?(n=r,r=void 0):"boolean"==typeof t&&(n=t,t=void 0)),void 0===t&&void 0===r?(t=0,r=1):(t=D(t),void 0===r?(r=t,t=0):r=D(r)),t>r){var e=t;t=r,r=e}if(n||t%1||r%1){var i=jv();return mv(t+i*(r-t+bv("1e-"+((i+"").length-1))),r)}return gv(t,r)}var xv=Math.ceil,Ov=Math.max;function Av(t){return function(r,n,e){return e&&"number"!=typeof e&&Gr(r,n,e)&&(n=e=void 0),r=D(r),void 0===n?(n=r,r=0):n=D(n),function(t,r,n,e){for(var i=-1,o=Ov(xv((r-t)/(n||1)),0),u=Array(o);o--;)u[e?o:++i]=t,t+=n;return u}(r,n,e=void 0===e?r<n?1:-1:D(e),t)}}var Iv=Av(),Ev=Av(!0),kv=ce((function(t,r){return zr(t,256,void 0,void 0,void 0,r)}));function Sv(t,r,n,e,i){return i(t,(function(t,i,o){n=e?(e=!1,t):r(n,t,i,o)})),n}function Wv(t,r,n){var e=b(t)?Ge:Sv,i=arguments.length<3;return e(t,ia(r),n,i,ha)}function Rv(t,r,n,e){var i=null==t?0:t.length;for(e&&i&&(n=t[--i]);i--;)n=r(n,t[i],i,t);return n}function Bv(t,r,n){var e=b(t)?Rv:Sv,i=arguments.length<3;return e(t,ia(r),n,i,af)}function Mv(t,r){return(b(t)?Vi:If)(t,ts(ia(r)))}function zv(t,r){var n=[];if(!t||!t.length)return n;var e=-1,i=[],o=t.length;for(r=ia(r);++e<o;){var u=t[e];r(u,e,t)&&(n.push(u),i.push(e))}return hv(t,i),n}function Lv(t,r,n){return r=(n?Gr(t,r,n):void 0===r)?1:U(r),Ss(Yn(t),r)}function Pv(){var t=arguments,r=Yn(t[0]);return t.length<3?r:r.replace(t[1],t[2])}function Tv(t,r){if("function"!=typeof t)throw new TypeError("Expected a function");return $r(t,r=void 0===r?r:U(r))}function Cv(t,r,n){var e=-1,i=(r=Qn(r,t)).length;for(i||(i=1,t=void 0);++e<i;){var o=null==t?void 0:t[te(r[e])];void 0===o&&(e=i,o=n),t=Z(o)?o.call(t):o}return t}var Dv=Array.prototype.reverse;function Uv(t){return null==t?t:Dv.call(t)}var Nv=Ri("round");function Fv(t){var r=t.length;return r?t[gv(0,r-1)]:void 0}function qv(t){return Fv(xc(t))}function $v(t){return(b(t)?Fv:qv)(t)}function Kv(t,r){var n=-1,e=t.length,i=e-1;for(r=void 0===r?e:r;++n<r;){var o=gv(n,i),u=t[o];t[o]=t[n],t[n]=u}return t.length=r,t}function Vv(t,r){return Kv(kt(t),Ti(r,0,t.length))}function Zv(t,r){var n=xc(t);return Kv(n,Ti(r,0,n.length))}function Gv(t,r,n){return r=(n?Gr(t,r,n):void 0===r)?1:U(r),(b(t)?Vv:Zv)(t,r)}function Jv(t,r,n){return null==t?t:vs(t,r,n)}function Hv(t,r,n,e){return e="function"==typeof e?e:void 0,null==t?t:vs(t,r,n,e)}function Yv(t){return Kv(kt(t))}function Qv(t){return Kv(xc(t))}function Xv(t){return(b(t)?Yv:Qv)(t)}function tp(t){if(null==t)return 0;if(Zr(t))return jc(t)?qs(t):t.length;var r=yo(t);return"[object Map]"==r||"[object Set]"==r?t.size:xn(t).length}function rp(t,r,n){var e=null==t?0:t.length;return e?(n&&"number"!=typeof n&&Gr(t,r,n)?(r=0,n=e):(r=null==r?0:U(r),n=void 0===n?e:U(n)),ke(t,r,n)):[]}var np=Ii((function(t,r,n){return t+(n?"_":"")+r.toLowerCase()}));function ep(t,r){var n;return ha(t,(function(t,e,i){return!(n=r(t,e,i))})),!!n}function ip(t,r,n){var e=b(t)?vu:ep;return n&&Gr(t,r,n)&&(r=void 0),e(t,ia(r))}var op=$r((function(t,r){if(null==t)return[];var n=r.length;return n>1&&Gr(t,r[0],r[1])?r=[]:n>2&&Gr(r[0],r[1],r[2])&&(r=[r[0]]),gs(t,ae(r,1),[])})),up=4294967294,ap=Math.floor,fp=Math.min;function cp(t,r,n,e){var i=0,o=null==t?0:t.length;if(0===o)return 0;for(var u=(r=n(r))!=r,a=null===r,f=d(r),c=void 0===r;i<o;){var l=ap((i+o)/2),s=n(t[l]),v=void 0!==s,p=null===s,h=s==s,y=d(s);if(u)var _=e||h;else _=c?h&&(e||v):a?h&&v&&(e||!p):f?h&&v&&!p&&(e||!y):!p&&!y&&(e?s<=r:s<r);_?i=l+1:o=l}return fp(o,up)}var lp=2147483647;function sp(t,r,n){var e=0,i=null==t?e:t.length;if("number"==typeof r&&r==r&&i<=lp){for(;e<i;){var o=e+i>>>1,u=t[o];null!==u&&!d(u)&&(n?u<=r:u<r)?e=o+1:i=o}return i}return cp(t,r,F,n)}function vp(t,r){return sp(t,r)}function pp(t,r,n){return cp(t,r,ia(n))}function hp(t,r){var n=null==t?0:t.length;if(n){var e=sp(t,r);if(e<n&&Cr(t[e],r))return e}return-1}function dp(t,r){return sp(t,r,!0)}function yp(t,r,n){return cp(t,r,ia(n),!0)}function _p(t,r){if(null==t?0:t.length){var n=sp(t,r,!0)-1;if(Cr(t[n],r))return n}return-1}function gp(t,r){for(var n=-1,e=t.length,i=0,o=[];++n<e;){var u=t[n],a=r?r(u):u;if(!n||!Cr(a,f)){var f=a;o[i++]=0===u?0:u}}return o}function bp(t){return t&&t.length?gp(t):[]}function mp(t,r){return t&&t.length?gp(t,ia(r)):[]}function jp(t,r,n){return n&&"number"!=typeof n&&Gr(t,r,n)&&(r=n=void 0),(n=void 0===n?4294967295:n>>>0)?(t=Yn(t))&&("string"==typeof r||null!=r&&!dl(r))&&!(r=x(r))&&Re(t)?Se($e(t),0,n):t.split(r,n):[]}var wp=Math.max;function xp(t,r){if("function"!=typeof t)throw new TypeError("Expected a function");return r=null==r?0:wp(U(r),0),$r((function(n){var e=n[r],i=Se(n,0,r);return e&&ie(i,e),ht(t,this,i)}))}var Op=Ii((function(t,r,n){return t+(n?" ":"")+Ve(r)}));function Ap(t,r,n){return t=Yn(t),n=null==n?0:Ti(U(n),0,t.length),r=x(r),t.slice(n,n+r.length)==r}function Ip(){return{}}function Ep(){return""}function kp(){return!0}var Sp=O((function(t,r){return t-r}),0);function Wp(t){return t&&t.length?Nl(t,F):0}function Rp(t,r){return t&&t.length?Nl(t,ia(r)):0}function Bp(t){var r=null==t?0:t.length;return r?ke(t,1,r):[]}function Mp(t,r,n){return t&&t.length?ke(t,0,(r=n||void 0===r?1:U(r))<0?0:r):[]}function zp(t,r,n){var e=null==t?0:t.length;return e?ke(t,(r=e-(r=n||void 0===r?1:U(r)))<0?0:r,e):[]}function Lp(t,r){return t&&t.length?Qa(t,ia(r),!1,!0):[]}function Pp(t,r){return t&&t.length?Qa(t,ia(r)):[]}function Tp(t,r){return r(t),t}var Cp=Object.prototype,Dp=Cp.hasOwnProperty;function Up(t,r,n,e){return void 0===t||Cr(t,Cp[n])&&!Dp.call(e,n)?r:t}var Np={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};function Fp(t){return"\\"+Np[t]}var qp=/<%=([\s\S]+?)%>/g,$p={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:qp,variable:"",imports:{_:{escape:yf}}},Kp=/\b__p \+= '';/g,Vp=/\b(__p \+=) '' \+/g,Zp=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Gp=/[()=,{}\[\]\/\s]/,Jp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Hp=/($^)/,Yp=/['\n\r\u2028\u2029\\]/g,Qp=Object.prototype.hasOwnProperty;function Xp(t,r,n){var e=$p.imports._.templateSettings||$p;n&&Gr(t,r,n)&&(r=void 0),t=Yn(t),r=Rn({},r,e,Up);var i,o,u=Rn({},r.imports,e.imports,Up),a=On(u),f=wc(u,a),c=0,l=r.interpolate||Hp,s="__p += '",v=RegExp((r.escape||Hp).source+"|"+l.source+"|"+(l===qp?Jp:Hp).source+"|"+(r.evaluate||Hp).source+"|$","g"),p=Qp.call(r,"sourceURL")?"//# sourceURL="+(r.sourceURL+"").replace(/\s/g," ")+"\n":"";t.replace(v,(function(r,n,e,u,a,f){return e||(e=u),s+=t.slice(c,f).replace(Yp,Fp),n&&(i=!0,s+="' +\n__e("+n+") +\n'"),a&&(o=!0,s+="';\n"+a+";\n__p += '"),e&&(s+="' +\n((__t = ("+e+")) == null ? '' : __t) +\n'"),c=f+r.length,r})),s+="';\n";var h=Qp.call(r,"variable")&&r.variable;if(h){if(Gp.test(h))throw new Error("Invalid `variable` option passed into `_.template`")}else s="with (obj) {\n"+s+"\n}\n";s=(o?s.replace(Kp,""):s).replace(Vp,"$1").replace(Zp,"$1;"),s="function("+(h||"obj")+") {\n"+(h?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(i?", __e = _.escape":"")+(o?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+s+"return __p\n}";var d=we((function(){return Function(a,p+"return "+s).apply(void 0,f)}));if(d.source=s,je(d))throw d;return d}function th(t,r,n){var e=!0,i=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return W(n)&&(e="leading"in n?!!n.leading:e,i="trailing"in n?!!n.trailing:i),Ia(t,r,{leading:e,maxWait:r,trailing:i})}function rh(t,r){return r(t)}var nh=4294967295,eh=Math.min;function ih(t,r){if((t=U(t))<1||t>9007199254740991)return[];var n=nh,e=eh(t,nh);r=rf(r),t-=nh;for(var i=Qr(e,r);++n<t;)r(n);return i}function oh(){return this}function uh(t,r){var n=t;return n instanceof jt&&(n=n.value()),Ge(r,(function(t,r){return r.func.apply(r.thisArg,ie([t],r.args))}),n)}function ah(){return uh(this.__wrapped__,this.__actions__)}function fh(t){return Yn(t).toLowerCase()}function ch(t){return b(t)?g(t,te):d(t)?[t]:kt(Hn(Yn(t)))}var lh=9007199254740991;function sh(t){return t?Ti(U(t),-9007199254740991,lh):0===t?t:0}function vh(t){return Yn(t).toUpperCase()}function ph(t,r,n){var e=b(t),i=e||cn(t)||_n(t);if(r=ia(r),null==n){var o=t&&t.constructor;n=i?e?new o:[]:W(t)&&Z(o)?st(se(t)):{}}return(i?qt:va)(t,(function(t,e,i){return r(n,t,e,i)})),n}function hh(t,r){for(var n=t.length;n--&&Vt(r,t[n],0)>-1;);return n}function dh(t,r){for(var n=-1,e=t.length;++n<e&&Vt(r,t[n],0)>-1;);return n}function yh(t,r,n){if((t=Yn(t))&&(n||void 0===r))return S(t);if(!t||!(r=x(r)))return t;var e=$e(t),i=$e(r);return Se(e,dh(e,i),hh(e,i)+1).join("")}function _h(t,r,n){if((t=Yn(t))&&(n||void 0===r))return t.slice(0,E(t)+1);if(!t||!(r=x(r)))return t;var e=$e(t);return Se(e,0,hh(e,$e(r))+1).join("")}var gh=/^\s+/;function bh(t,r,n){if((t=Yn(t))&&(n||void 0===r))return t.replace(gh,"");if(!t||!(r=x(r)))return t;var e=$e(t);return Se(e,dh(e,$e(r))).join("")}var mh=/\w*$/;function jh(t,r){var n=30,e="...";if(W(r)){var i="separator"in r?r.separator:i;n="length"in r?U(r.length):n,e="omission"in r?x(r.omission):e}var o=(t=Yn(t)).length;if(Re(t)){var u=$e(t);o=u.length}if(n>=o)return t;var a=n-qs(e);if(a<1)return e;var f=u?Se(u,0,a).join(""):t.slice(0,a);if(void 0===i)return f+e;if(u&&(a+=f.length-a),dl(i)){if(t.slice(a).search(i)){var c,l=f;for(i.global||(i=RegExp(i.source,Yn(mh.exec(i))+"g")),i.lastIndex=0;c=i.exec(l);)var s=c.index;f=f.slice(0,void 0===s?a:s)}}else if(t.indexOf(x(i),a)!=a){var v=f.lastIndexOf(i);v>-1&&(f=f.slice(0,v))}return f+e}function wh(t){return Pr(t,1)}var xh=Je({"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"}),Oh=/&(?:amp|lt|gt|quot|#39);/g,Ah=RegExp(Oh.source);function Ih(t){return(t=Yn(t))&&Ah.test(t)?t.replace(Oh,xh):t}var Eh=eo&&1/gu(new eo([,-0]))[1]==1/0?function(t){return new eo(t)}:wt,kh=200;function Sh(t,r,n){var e=-1,i=Zt,o=t.length,u=!0,a=[],f=a;if(n)u=!1,i=Fa;else if(o>=kh){var c=r?null:Eh(t);if(c)return gu(c);u=!1,i=pu,f=new su}else f=r?[]:a;t:for(;++e<o;){var l=t[e],s=r?r(l):l;if(l=n||0!==l?l:0,u&&s==s){for(var v=f.length;v--;)if(f[v]===s)continue t;r&&f.push(s),a.push(l)}else i(f,s,n)||(f!==a&&f.push(s),a.push(l))}return a}var Wh=$r((function(t){return Sh(ae(t,1,Ba,!0))})),Rh=$r((function(t){var r=Va(t);return Ba(r)&&(r=void 0),Sh(ae(t,1,Ba,!0),ia(r))})),Bh=$r((function(t){var r=Va(t);return r="function"==typeof r?r:void 0,Sh(ae(t,1,Ba,!0),void 0,r)}));function Mh(t){return t&&t.length?Sh(t):[]}function zh(t,r){return t&&t.length?Sh(t,ia(r)):[]}function Lh(t,r){return r="function"==typeof r?r:void 0,t&&t.length?Sh(t,void 0,r):[]}var Ph=0;function Th(t){var r=++Ph;return Yn(t)+r}function Ch(t,r){return null==t||cs(t,r)}var Dh=Math.max;function Uh(t){if(!t||!t.length)return[];var r=0;return t=Vi(t,(function(t){if(Ba(t))return r=Dh(t.length,r),!0})),Qr(r,(function(r){return g(t,na(r))}))}function Nh(t,r){if(!t||!t.length)return[];var n=Uh(t);return null==r?n:g(n,(function(t){return ht(r,void 0,t)}))}function Fh(t,r,n,e){return vs(t,r,n(re(t,r)),e)}function qh(t,r,n){return null==t?t:Fh(t,r,rf(n))}function $h(t,r,n,e){return e="function"==typeof e?e:void 0,null==t?t:Fh(t,r,rf(n),e)}var Kh=Ii((function(t,r,n){return t+(n?" ":"")+r.toUpperCase()}));function Vh(t){return null==t?[]:wc(t,Sn(t))}var Zh=$r((function(t,r){return Ba(t)?$a(t,r):[]}));function Gh(t,r){return tv(rf(r),t)}var Jh=ce((function(t){var r=t.length,n=r?t[0]:0,e=this.__wrapped__,i=function(r){return ee(r,t)};return!(r>1||this.__actions__.length)&&e instanceof jt&&ur(n)?((e=e.slice(n,+n+(r?1:0))).__actions__.push({func:rh,args:[i],thisArg:void 0}),new Et(e,this.__chain__).thru((function(t){return r&&!t.length&&t.push(void 0),t}))):this.thru(i)}));function Hh(){return Mi(this)}function Yh(){var t=this.__wrapped__;if(t instanceof jt){var r=t;return this.__actions__.length&&(r=new jt(this)),(r=r.reverse()).__actions__.push({func:rh,args:[Uv],thisArg:void 0}),new Et(r,this.__chain__)}return this.thru(Uv)}function Qh(t,r,n){var e=t.length;if(e<2)return e?Sh(t[0]):[];for(var i=-1,o=Array(e);++i<e;)for(var u=t[i],a=-1;++a<e;)a!=i&&(o[i]=$a(o[i]||u,t[a],r,n));return Sh(ae(o,1),r,n)}var Xh=$r((function(t){return Qh(Vi(t,Ba))})),td=$r((function(t){var r=Va(t);return Ba(r)&&(r=void 0),Qh(Vi(t,Ba),ia(r))})),rd=$r((function(t){var r=Va(t);return r="function"==typeof r?r:void 0,Qh(Vi(t,Ba),void 0,r)})),nd=$r(Uh);function ed(t,r,n){for(var e=-1,i=t.length,o=r.length,u={};++e<i;){var a=e<o?r[e]:void 0;n(u,t[e],a)}return u}function id(t,r){return ed(t||[],r||[],Ur)}function od(t,r){return ed(t||[],r||[],vs)}var ud=$r((function(t){var r=t.length,n=r>1?t[r-1]:void 0;return n="function"==typeof n?(t.pop(),n):void 0,Nh(t,n)})),ad={chunk:Pi,compact:cu,concat:lu,difference:Ka,differenceBy:Za,differenceWith:Ga,drop:Ha,dropRight:Ya,dropRightWhile:Xa,dropWhile:tf,fill:Af,findIndex:Wf,findLastIndex:Pf,first:Df,flatten:fe,flattenDeep:Zf,flattenDepth:Gf,fromPairs:ic,head:Df,indexOf:Ec,initial:kc,intersection:Bc,intersectionBy:Mc,intersectionWith:zc,join:xl,last:Va,lastIndexOf:kl,nth:as,pull:lv,pullAll:cv,pullAllBy:sv,pullAllWith:vv,pullAt:dv,remove:zv,reverse:Uv,slice:rp,sortedIndex:vp,sortedIndexBy:pp,sortedIndexOf:hp,sortedLastIndex:dp,sortedLastIndexBy:yp,sortedLastIndexOf:_p,sortedUniq:bp,sortedUniqBy:mp,tail:Bp,take:Mp,takeRight:zp,takeRightWhile:Lp,takeWhile:Pp,union:Wh,unionBy:Rh,unionWith:Bh,uniq:Mh,uniqBy:zh,uniqWith:Lh,unzip:Uh,unzipWith:Nh,without:Zh,xor:Xh,xorBy:td,xorWith:rd,zip:nd,zipObject:id,zipObjectDeep:od,zipWith:ud},fd={countBy:ga,each:nf,eachRight:ff,every:wf,filter:Ef,find:Rf,findLast:Tf,flatMap:Ff,flatMapDeep:$f,flatMapDepth:Kf,forEach:nf,forEachRight:ff,groupBy:cc,includes:Ac,invokeMap:Kc,keyBy:Al,map:Nf,orderBy:bs,partition:nv,reduce:Wv,reduceRight:Bv,reject:Mv,sample:$v,sampleSize:Gv,shuffle:Xv,size:tp,some:ip,sortBy:op},cd=wa,ld={after:N,ary:Pr,before:Oe,bind:Ae,bindKey:Ee,curry:ma,curryRight:ja,debounce:Ia,defer:Ua,delay:Na,flip:Jf,memoize:Zn,negate:ts,once:ys,overArgs:Os,partial:tv,partialRight:rv,rearg:kv,rest:Tv,spread:xp,throttle:th,unary:wh,wrap:Gh},sd={castArray:ki,clone:iu,cloneDeep:ou,cloneDeepWith:uu,cloneWith:au,conformsTo:fa,eq:Cr,gt:vc,gte:pc,isArguments:en,isArray:b,isArrayBuffer:Zc,isArrayLike:Zr,isArrayLikeObject:Ba,isBoolean:Gc,isBuffer:cn,isDate:Hc,isElement:Yc,isEmpty:Xc,isEqual:tl,isEqualWith:rl,isError:je,isFinite:el,isFunction:Z,isInteger:il,isLength:Vr,isMap:Vo,isMatch:ol,isMatchWith:ul,isNaN:cl,isNative:sl,isNil:vl,isNull:pl,isNumber:fl,isObject:W,isObjectLike:p,isPlainObject:ge,isRegExp:dl,isSafeInteger:_l,isSet:Go,isString:jc,isSymbol:d,isTypedArray:_n,isUndefined:gl,isWeakMap:bl,isWeakSet:ml,lt:Bl,lte:Ml,toArray:is,toFinite:D,toInteger:U,toLength:Of,toNumber:P,toPlainObject:za,toSafeInteger:sh,toString:Yn},vd={add:A,ceil:Bi,divide:Ja,floor:Hf,max:Dl,maxBy:Ul,mean:$l,meanBy:Kl,min:Jl,minBy:Hl,multiply:Ql,round:Nv,subtract:Sp,sum:Wp,sumBy:Rp},pd=Ci,hd=bc,dd=wv,yd={assign:In,assignIn:Wn,assignInWith:Rn,assignWith:Bn,at:le,create:ba,defaults:Wa,defaultsDeep:Ca,entries:sf,entriesIn:vf,extend:Wn,extendWith:Rn,findKey:Mf,findLastKey:Cf,forIn:tc,forInRight:rc,forOwn:nc,forOwnRight:ec,functions:uc,functionsIn:ac,get:ne,has:yc,hasIn:Qu,invert:Tc,invertBy:Nc,invoke:$c,keys:On,keysIn:Sn,mapKeys:zl,mapValues:Ll,merge:Vl,mergeWith:Ta,omit:ss,omitBy:ds,pick:ev,pickBy:hs,result:Cv,set:Jv,setWith:Hv,toPairs:sf,toPairsIn:vf,transform:ph,unset:Ch,update:qh,updateWith:$h,values:xc,valuesIn:Vh},_d={at:Jh,chain:Mi,commit:fu,lodash:Rt,next:os,plant:iv,reverse:Yh,tap:Tp,thru:rh,toIterator:oh,toJSON:ah,value:ah,valueOf:ah,wrapperChain:Hh},gd={camelCase:Ei,capitalize:Ze,deburr:Xe,endsWith:cf,escape:yf,escapeRegExp:bf,kebabCase:Ol,lowerCase:Sl,lowerFirst:Wl,pad:Gs,padEnd:Js,padStart:Hs,parseInt:Xs,repeat:Lv,replace:Pv,snakeCase:np,split:jp,startCase:Op,startsWith:Ap,template:Xp,templateSettings:$p,toLower:fh,toUpper:vh,trim:yh,trimEnd:_h,trimStart:bh,truncate:jh,unescape:Ih,upperCase:Kh,upperFirst:Ve,words:Oi},bd={attempt:we,bindAll:Ie,cond:oa,conforms:aa,constant:Dt,defaultTo:Ea,flow:Qf,flowRight:Xf,identity:F,iteratee:jl,matches:Pl,matchesProperty:Tl,method:Zl,methodOf:Gl,mixin:Yl,noop:wt,nthArg:fs,over:js,overEvery:As,overSome:Is,property:ea,propertyOf:ov,range:Iv,rangeRight:Ev,stubArray:Zi,stubFalse:on,stubObject:Ip,stubString:Ep,stubTrue:kp,times:ih,toPath:ch,uniqueId:Th};var md=Math.max,jd=Math.min;var wd=Math.min;
 /**
  * @license
  * Lodash (Custom Build) <https://lodash.com/>
@@ -7,4 +7,5 @@ var freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,f
  * Released under MIT license <https://lodash.com/license>
  * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
  * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */var VERSION="4.17.21",WRAP_BIND_KEY_FLAG=2,LAZY_FILTER_FLAG=1,LAZY_WHILE_FLAG=3,MAX_ARRAY_LENGTH=4294967295,arrayProto=Array.prototype,objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty,symIterator=Symbol?Symbol.iterator:void 0,nativeMax=Math.max,nativeMin=Math.min,mixin=function(e){return function(t,r,a){if(null==a){var n=isObject(r),o=n&&keys(r),i=o&&o.length&&baseFunctions(r,o);(i?i.length:n)||(a=r,r=t,t=this)}return e(t,r,a)}}(mixin$1);lodash.after=func.after,lodash.ary=func.ary,lodash.assign=object.assign,lodash.assignIn=object.assignIn,lodash.assignInWith=object.assignInWith,lodash.assignWith=object.assignWith,lodash.at=object.at,lodash.before=func.before,lodash.bind=func.bind,lodash.bindAll=util.bindAll,lodash.bindKey=func.bindKey,lodash.castArray=lang.castArray,lodash.chain=seq.chain,lodash.chunk=array.chunk,lodash.compact=array.compact,lodash.concat=array.concat,lodash.cond=util.cond,lodash.conforms=util.conforms,lodash.constant=util.constant,lodash.countBy=collection.countBy,lodash.create=object.create,lodash.curry=func.curry,lodash.curryRight=func.curryRight,lodash.debounce=func.debounce,lodash.defaults=object.defaults,lodash.defaultsDeep=object.defaultsDeep,lodash.defer=func.defer,lodash.delay=func.delay,lodash.difference=array.difference,lodash.differenceBy=array.differenceBy,lodash.differenceWith=array.differenceWith,lodash.drop=array.drop,lodash.dropRight=array.dropRight,lodash.dropRightWhile=array.dropRightWhile,lodash.dropWhile=array.dropWhile,lodash.fill=array.fill,lodash.filter=collection.filter,lodash.flatMap=collection.flatMap,lodash.flatMapDeep=collection.flatMapDeep,lodash.flatMapDepth=collection.flatMapDepth,lodash.flatten=array.flatten,lodash.flattenDeep=array.flattenDeep,lodash.flattenDepth=array.flattenDepth,lodash.flip=func.flip,lodash.flow=util.flow,lodash.flowRight=util.flowRight,lodash.fromPairs=array.fromPairs,lodash.functions=object.functions,lodash.functionsIn=object.functionsIn,lodash.groupBy=collection.groupBy,lodash.initial=array.initial,lodash.intersection=array.intersection,lodash.intersectionBy=array.intersectionBy,lodash.intersectionWith=array.intersectionWith,lodash.invert=object.invert,lodash.invertBy=object.invertBy,lodash.invokeMap=collection.invokeMap,lodash.iteratee=util.iteratee,lodash.keyBy=collection.keyBy,lodash.keys=keys,lodash.keysIn=object.keysIn,lodash.map=collection.map,lodash.mapKeys=object.mapKeys,lodash.mapValues=object.mapValues,lodash.matches=util.matches,lodash.matchesProperty=util.matchesProperty,lodash.memoize=func.memoize,lodash.merge=object.merge,lodash.mergeWith=object.mergeWith,lodash.method=util.method,lodash.methodOf=util.methodOf,lodash.mixin=mixin,lodash.negate=negate,lodash.nthArg=util.nthArg,lodash.omit=object.omit,lodash.omitBy=object.omitBy,lodash.once=func.once,lodash.orderBy=collection.orderBy,lodash.over=util.over,lodash.overArgs=func.overArgs,lodash.overEvery=util.overEvery,lodash.overSome=util.overSome,lodash.partial=func.partial,lodash.partialRight=func.partialRight,lodash.partition=collection.partition,lodash.pick=object.pick,lodash.pickBy=object.pickBy,lodash.property=util.property,lodash.propertyOf=util.propertyOf,lodash.pull=array.pull,lodash.pullAll=array.pullAll,lodash.pullAllBy=array.pullAllBy,lodash.pullAllWith=array.pullAllWith,lodash.pullAt=array.pullAt,lodash.range=util.range,lodash.rangeRight=util.rangeRight,lodash.rearg=func.rearg,lodash.reject=collection.reject,lodash.remove=array.remove,lodash.rest=func.rest,lodash.reverse=array.reverse,lodash.sampleSize=collection.sampleSize,lodash.set=object.set,lodash.setWith=object.setWith,lodash.shuffle=collection.shuffle,lodash.slice=array.slice,lodash.sortBy=collection.sortBy,lodash.sortedUniq=array.sortedUniq,lodash.sortedUniqBy=array.sortedUniqBy,lodash.split=string.split,lodash.spread=func.spread,lodash.tail=array.tail,lodash.take=array.take,lodash.takeRight=array.takeRight,lodash.takeRightWhile=array.takeRightWhile,lodash.takeWhile=array.takeWhile,lodash.tap=seq.tap,lodash.throttle=func.throttle,lodash.thru=thru,lodash.toArray=lang.toArray,lodash.toPairs=object.toPairs,lodash.toPairsIn=object.toPairsIn,lodash.toPath=util.toPath,lodash.toPlainObject=lang.toPlainObject,lodash.transform=object.transform,lodash.unary=func.unary,lodash.union=array.union,lodash.unionBy=array.unionBy,lodash.unionWith=array.unionWith,lodash.uniq=array.uniq,lodash.uniqBy=array.uniqBy,lodash.uniqWith=array.uniqWith,lodash.unset=object.unset,lodash.unzip=array.unzip,lodash.unzipWith=array.unzipWith,lodash.update=object.update,lodash.updateWith=object.updateWith,lodash.values=object.values,lodash.valuesIn=object.valuesIn,lodash.without=array.without,lodash.words=string.words,lodash.wrap=func.wrap,lodash.xor=array.xor,lodash.xorBy=array.xorBy,lodash.xorWith=array.xorWith,lodash.zip=array.zip,lodash.zipObject=array.zipObject,lodash.zipObjectDeep=array.zipObjectDeep,lodash.zipWith=array.zipWith,lodash.entries=object.toPairs,lodash.entriesIn=object.toPairsIn,lodash.extend=object.assignIn,lodash.extendWith=object.assignInWith,mixin(lodash,lodash),lodash.add=math.add,lodash.attempt=util.attempt,lodash.camelCase=string.camelCase,lodash.capitalize=string.capitalize,lodash.ceil=math.ceil,lodash.clamp=number.clamp,lodash.clone=lang.clone,lodash.cloneDeep=lang.cloneDeep,lodash.cloneDeepWith=lang.cloneDeepWith,lodash.cloneWith=lang.cloneWith,lodash.conformsTo=lang.conformsTo,lodash.deburr=string.deburr,lodash.defaultTo=util.defaultTo,lodash.divide=math.divide,lodash.endsWith=string.endsWith,lodash.eq=lang.eq,lodash.escape=string.escape,lodash.escapeRegExp=string.escapeRegExp,lodash.every=collection.every,lodash.find=collection.find,lodash.findIndex=array.findIndex,lodash.findKey=object.findKey,lodash.findLast=collection.findLast,lodash.findLastIndex=array.findLastIndex,lodash.findLastKey=object.findLastKey,lodash.floor=math.floor,lodash.forEach=collection.forEach,lodash.forEachRight=collection.forEachRight,lodash.forIn=object.forIn,lodash.forInRight=object.forInRight,lodash.forOwn=object.forOwn,lodash.forOwnRight=object.forOwnRight,lodash.get=object.get,lodash.gt=lang.gt,lodash.gte=lang.gte,lodash.has=object.has,lodash.hasIn=object.hasIn,lodash.head=array.head,lodash.identity=identity,lodash.includes=collection.includes,lodash.indexOf=array.indexOf,lodash.inRange=number.inRange,lodash.invoke=object.invoke,lodash.isArguments=lang.isArguments,lodash.isArray=isArray,lodash.isArrayBuffer=lang.isArrayBuffer,lodash.isArrayLike=lang.isArrayLike,lodash.isArrayLikeObject=lang.isArrayLikeObject,lodash.isBoolean=lang.isBoolean,lodash.isBuffer=lang.isBuffer,lodash.isDate=lang.isDate,lodash.isElement=lang.isElement,lodash.isEmpty=lang.isEmpty,lodash.isEqual=lang.isEqual,lodash.isEqualWith=lang.isEqualWith,lodash.isError=lang.isError,lodash.isFinite=lang.isFinite,lodash.isFunction=lang.isFunction,lodash.isInteger=lang.isInteger,lodash.isLength=lang.isLength,lodash.isMap=lang.isMap,lodash.isMatch=lang.isMatch,lodash.isMatchWith=lang.isMatchWith,lodash.isNaN=lang.isNaN,lodash.isNative=lang.isNative,lodash.isNil=lang.isNil,lodash.isNull=lang.isNull,lodash.isNumber=lang.isNumber,lodash.isObject=isObject,lodash.isObjectLike=lang.isObjectLike,lodash.isPlainObject=lang.isPlainObject,lodash.isRegExp=lang.isRegExp,lodash.isSafeInteger=lang.isSafeInteger,lodash.isSet=lang.isSet,lodash.isString=lang.isString,lodash.isSymbol=lang.isSymbol,lodash.isTypedArray=lang.isTypedArray,lodash.isUndefined=lang.isUndefined,lodash.isWeakMap=lang.isWeakMap,lodash.isWeakSet=lang.isWeakSet,lodash.join=array.join,lodash.kebabCase=string.kebabCase,lodash.last=last,lodash.lastIndexOf=array.lastIndexOf,lodash.lowerCase=string.lowerCase,lodash.lowerFirst=string.lowerFirst,lodash.lt=lang.lt,lodash.lte=lang.lte,lodash.max=math.max,lodash.maxBy=math.maxBy,lodash.mean=math.mean,lodash.meanBy=math.meanBy,lodash.min=math.min,lodash.minBy=math.minBy,lodash.stubArray=util.stubArray,lodash.stubFalse=util.stubFalse,lodash.stubObject=util.stubObject,lodash.stubString=util.stubString,lodash.stubTrue=util.stubTrue,lodash.multiply=math.multiply,lodash.nth=array.nth,lodash.noop=util.noop,lodash.now=date.now,lodash.pad=string.pad,lodash.padEnd=string.padEnd,lodash.padStart=string.padStart,lodash.parseInt=string.parseInt,lodash.random=number.random,lodash.reduce=collection.reduce,lodash.reduceRight=collection.reduceRight,lodash.repeat=string.repeat,lodash.replace=string.replace,lodash.result=object.result,lodash.round=math.round,lodash.sample=collection.sample,lodash.size=collection.size,lodash.snakeCase=string.snakeCase,lodash.some=collection.some,lodash.sortedIndex=array.sortedIndex,lodash.sortedIndexBy=array.sortedIndexBy,lodash.sortedIndexOf=array.sortedIndexOf,lodash.sortedLastIndex=array.sortedLastIndex,lodash.sortedLastIndexBy=array.sortedLastIndexBy,lodash.sortedLastIndexOf=array.sortedLastIndexOf,lodash.startCase=string.startCase,lodash.startsWith=string.startsWith,lodash.subtract=math.subtract,lodash.sum=math.sum,lodash.sumBy=math.sumBy,lodash.template=string.template,lodash.times=util.times,lodash.toFinite=lang.toFinite,lodash.toInteger=toInteger,lodash.toLength=lang.toLength,lodash.toLower=string.toLower,lodash.toNumber=lang.toNumber,lodash.toSafeInteger=lang.toSafeInteger,lodash.toString=lang.toString,lodash.toUpper=string.toUpper,lodash.trim=string.trim,lodash.trimEnd=string.trimEnd,lodash.trimStart=string.trimStart,lodash.truncate=string.truncate,lodash.unescape=string.unescape,lodash.uniqueId=util.uniqueId,lodash.upperCase=string.upperCase,lodash.upperFirst=string.upperFirst,lodash.each=collection.forEach,lodash.eachRight=collection.forEachRight,lodash.first=array.head,mixin(lodash,function(){var e={};return baseForOwn(lodash,(function(t,r){hasOwnProperty.call(lodash.prototype,r)||(e[r]=t)})),e}(),{chain:!1}),lodash.VERSION=VERSION,(lodash.templateSettings=string.templateSettings).imports._=lodash,arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){lodash[e].placeholder=lodash})),arrayEach(["drop","take"],(function(e,t){LazyWrapper.prototype[e]=function(r){r=void 0===r?1:nativeMax(toInteger(r),0);var a=this.__filtered__&&!t?new LazyWrapper(this):this.clone();return a.__filtered__?a.__takeCount__=nativeMin(r,a.__takeCount__):a.__views__.push({size:nativeMin(r,MAX_ARRAY_LENGTH),type:e+(a.__dir__<0?"Right":"")}),a},LazyWrapper.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),arrayEach(["filter","map","takeWhile"],(function(e,t){var r=t+1,a=r==LAZY_FILTER_FLAG||r==LAZY_WHILE_FLAG;LazyWrapper.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:baseIteratee(e),type:r}),t.__filtered__=t.__filtered__||a,t}})),arrayEach(["head","last"],(function(e,t){var r="take"+(t?"Right":"");LazyWrapper.prototype[e]=function(){return this[r](1).value()[0]}})),arrayEach(["initial","tail"],(function(e,t){var r="drop"+(t?"":"Right");LazyWrapper.prototype[e]=function(){return this.__filtered__?new LazyWrapper(this):this[r](1)}})),LazyWrapper.prototype.compact=function(){return this.filter(identity)},LazyWrapper.prototype.find=function(e){return this.filter(e).head()},LazyWrapper.prototype.findLast=function(e){return this.reverse().find(e)},LazyWrapper.prototype.invokeMap=baseRest((function(e,t){return"function"==typeof e?new LazyWrapper(this):this.map((function(r){return baseInvoke(r,e,t)}))})),LazyWrapper.prototype.reject=function(e){return this.filter(negate(baseIteratee(e)))},LazyWrapper.prototype.slice=function(e,t){e=toInteger(e);var r=this;return r.__filtered__&&(e>0||t<0)?new LazyWrapper(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),void 0!==t&&(r=(t=toInteger(t))<0?r.dropRight(-t):r.take(t-e)),r)},LazyWrapper.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},LazyWrapper.prototype.toArray=function(){return this.take(MAX_ARRAY_LENGTH)},baseForOwn(LazyWrapper.prototype,(function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),a=/^(?:head|last)$/.test(t),n=lodash[a?"take"+("last"==t?"Right":""):t],o=a||/^find/.test(t);n&&(lodash.prototype[t]=function(){var t=this.__wrapped__,i=a?[1]:arguments,s=t instanceof LazyWrapper,u=i[0],l=s||isArray(t),c=function(e){var t=n.apply(lodash,arrayPush([e],i));return a&&f?t[0]:t};l&&r&&"function"==typeof u&&1!=u.length&&(s=l=!1);var f=this.__chain__,p=!!this.__actions__.length,h=o&&!f,d=s&&!p;if(!o&&l){t=d?t:new LazyWrapper(this);var g=e.apply(t,i);return g.__actions__.push({func:thru,args:[c],thisArg:void 0}),new LodashWrapper(g,f)}return h&&d?e.apply(this,i):(g=this.thru(c),h?a?g.value()[0]:g.value():g)})})),arrayEach(["pop","push","shift","sort","splice","unshift"],(function(e){var t=arrayProto[e],r=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",a=/^(?:pop|shift)$/.test(e);lodash.prototype[e]=function(){var e=arguments;if(a&&!this.__chain__){var n=this.value();return t.apply(isArray(n)?n:[],e)}return this[r]((function(r){return t.apply(isArray(r)?r:[],e)}))}})),baseForOwn(LazyWrapper.prototype,(function(e,t){var r=lodash[t];if(r){var a=r.name+"";hasOwnProperty.call(realNames,a)||(realNames[a]=[]),realNames[a].push({name:t,func:r})}})),realNames[createHybrid(void 0,WRAP_BIND_KEY_FLAG).name]=[{name:"wrapper",func:void 0}],LazyWrapper.prototype.clone=lazyClone,LazyWrapper.prototype.reverse=lazyReverse,LazyWrapper.prototype.value=lazyValue,lodash.prototype.at=seq.at,lodash.prototype.chain=seq.wrapperChain,lodash.prototype.commit=seq.commit,lodash.prototype.next=seq.next,lodash.prototype.plant=seq.plant,lodash.prototype.reverse=seq.reverse,lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=seq.value,lodash.prototype.first=lodash.prototype.head,symIterator&&(lodash.prototype[symIterator]=seq.toIterator);export{add,after,ary,assign,assignIn,assignInWith,assignWith,at,attempt,before,bind,bindAll,bindKey,camelCase,capitalize,castArray,ceil,chain,chunk,clamp,clone,cloneDeep,cloneDeepWith,cloneWith,wrapperCommit as commit,compact,concat,cond,conforms,conformsTo,constant,countBy,create,curry,curryRight,debounce,deburr,lodash as default,defaultTo,defaults,defaultsDeep,defer,delay,difference,differenceBy,differenceWith,divide,drop,dropRight,dropRightWhile,dropWhile,forEach as each,forEachRight as eachRight,endsWith,toPairs as entries,toPairsIn as entriesIn,eq,escape,escapeRegExp,every,assignIn as extend,assignInWith as extendWith,fill,filter,find,findIndex,findKey,findLast,findLastIndex,findLastKey,head as first,flatMap,flatMapDeep,flatMapDepth,flatten,flattenDeep,flattenDepth,flip,floor,flow,flowRight,forEach,forEachRight,forIn,forInRight,forOwn,forOwnRight,fromPairs,functions,functionsIn,get,groupBy,gt,gte,has,hasIn,head,identity,inRange,includes,indexOf,initial,intersection,intersectionBy,intersectionWith,invert,invertBy,invoke,invokeMap,isArguments,isArray,isArrayBuffer,isArrayLike,isArrayLikeObject,isBoolean,isBuffer,isDate,isElement,isEmpty,isEqual,isEqualWith,isError,isFinite,isFunction,isInteger,isLength,isMap,isMatch,isMatchWith,isNaN,isNative,isNil,isNull,isNumber,isObject,isObjectLike,isPlainObject,isRegExp,isSafeInteger,isSet,isString,isSymbol,isTypedArray,isUndefined,isWeakMap,isWeakSet,iteratee,join,kebabCase,keyBy,keys,keysIn,last,lastIndexOf,lodash,lowerCase,lowerFirst,lt,lte,map,mapKeys,mapValues,matches,matchesProperty,max,maxBy,mean,meanBy,memoize,merge,mergeWith,method,methodOf,min,minBy,mixin$1 as mixin,multiply,negate,wrapperNext as next,noop,now,nth,nthArg,omit,omitBy,once,orderBy,over,overArgs,overEvery,overSome,pad,padEnd,padStart,parseInt$1 as parseInt,partial,partialRight,partition,pick,pickBy,wrapperPlant as plant,property,propertyOf,pull,pullAll,pullAllBy,pullAllWith,pullAt,random,range,rangeRight,rearg,reduce,reduceRight,reject,remove,repeat,replace,rest,result,reverse,round,sample,sampleSize,set,setWith,shuffle,size,slice,snakeCase,some,sortBy,sortedIndex,sortedIndexBy,sortedIndexOf,sortedLastIndex,sortedLastIndexBy,sortedLastIndexOf,sortedUniq,sortedUniqBy,split,spread,startCase,startsWith,stubArray,stubFalse,stubObject,stubString,stubTrue,subtract,sum,sumBy,tail,take,takeRight,takeRightWhile,takeWhile,tap,template,templateSettings,throttle,thru,times,toArray,toFinite,toInteger,wrapperToIterator as toIterator,wrapperValue as toJSON,toLength,toLower,toNumber,toPairs,toPairsIn,toPath,toPlainObject,toSafeInteger,toString,toUpper,transform,trim,trimEnd,trimStart,truncate,unary,unescape,union,unionBy,unionWith,uniq,uniqBy,uniqWith,uniqueId,unset,unzip,unzipWith,update,updateWith,upperCase,upperFirst,wrapperValue as value,wrapperValue as valueOf,values,valuesIn,without,words,wrap,wrapperAt,wrapperChain,wrapperCommit,lodash as wrapperLodash,wrapperNext,wrapperPlant,wrapperReverse,wrapperToIterator,wrapperValue,xor,xorBy,xorWith,zip,zipObject,zipObjectDeep,zipWith};
+ */
+var xd,Od=4294967295,Ad=Array.prototype,Id=Object.prototype.hasOwnProperty,Ed=e?e.iterator:void 0,kd=Math.max,Sd=Math.min,Wd=function(t){return function(r,n,e){if(null==e){var i=W(n),o=i&&On(n),u=o&&o.length&&oc(n,o);(u?u.length:i)||(e=n,n=r,r=this)}return t(r,n,e)}}(Yl);Rt.after=ld.after,Rt.ary=ld.ary,Rt.assign=yd.assign,Rt.assignIn=yd.assignIn,Rt.assignInWith=yd.assignInWith,Rt.assignWith=yd.assignWith,Rt.at=yd.at,Rt.before=ld.before,Rt.bind=ld.bind,Rt.bindAll=bd.bindAll,Rt.bindKey=ld.bindKey,Rt.castArray=sd.castArray,Rt.chain=_d.chain,Rt.chunk=ad.chunk,Rt.compact=ad.compact,Rt.concat=ad.concat,Rt.cond=bd.cond,Rt.conforms=bd.conforms,Rt.constant=bd.constant,Rt.countBy=fd.countBy,Rt.create=yd.create,Rt.curry=ld.curry,Rt.curryRight=ld.curryRight,Rt.debounce=ld.debounce,Rt.defaults=yd.defaults,Rt.defaultsDeep=yd.defaultsDeep,Rt.defer=ld.defer,Rt.delay=ld.delay,Rt.difference=ad.difference,Rt.differenceBy=ad.differenceBy,Rt.differenceWith=ad.differenceWith,Rt.drop=ad.drop,Rt.dropRight=ad.dropRight,Rt.dropRightWhile=ad.dropRightWhile,Rt.dropWhile=ad.dropWhile,Rt.fill=ad.fill,Rt.filter=fd.filter,Rt.flatMap=fd.flatMap,Rt.flatMapDeep=fd.flatMapDeep,Rt.flatMapDepth=fd.flatMapDepth,Rt.flatten=ad.flatten,Rt.flattenDeep=ad.flattenDeep,Rt.flattenDepth=ad.flattenDepth,Rt.flip=ld.flip,Rt.flow=bd.flow,Rt.flowRight=bd.flowRight,Rt.fromPairs=ad.fromPairs,Rt.functions=yd.functions,Rt.functionsIn=yd.functionsIn,Rt.groupBy=fd.groupBy,Rt.initial=ad.initial,Rt.intersection=ad.intersection,Rt.intersectionBy=ad.intersectionBy,Rt.intersectionWith=ad.intersectionWith,Rt.invert=yd.invert,Rt.invertBy=yd.invertBy,Rt.invokeMap=fd.invokeMap,Rt.iteratee=bd.iteratee,Rt.keyBy=fd.keyBy,Rt.keys=On,Rt.keysIn=yd.keysIn,Rt.map=fd.map,Rt.mapKeys=yd.mapKeys,Rt.mapValues=yd.mapValues,Rt.matches=bd.matches,Rt.matchesProperty=bd.matchesProperty,Rt.memoize=ld.memoize,Rt.merge=yd.merge,Rt.mergeWith=yd.mergeWith,Rt.method=bd.method,Rt.methodOf=bd.methodOf,Rt.mixin=Wd,Rt.negate=ts,Rt.nthArg=bd.nthArg,Rt.omit=yd.omit,Rt.omitBy=yd.omitBy,Rt.once=ld.once,Rt.orderBy=fd.orderBy,Rt.over=bd.over,Rt.overArgs=ld.overArgs,Rt.overEvery=bd.overEvery,Rt.overSome=bd.overSome,Rt.partial=ld.partial,Rt.partialRight=ld.partialRight,Rt.partition=fd.partition,Rt.pick=yd.pick,Rt.pickBy=yd.pickBy,Rt.property=bd.property,Rt.propertyOf=bd.propertyOf,Rt.pull=ad.pull,Rt.pullAll=ad.pullAll,Rt.pullAllBy=ad.pullAllBy,Rt.pullAllWith=ad.pullAllWith,Rt.pullAt=ad.pullAt,Rt.range=bd.range,Rt.rangeRight=bd.rangeRight,Rt.rearg=ld.rearg,Rt.reject=fd.reject,Rt.remove=ad.remove,Rt.rest=ld.rest,Rt.reverse=ad.reverse,Rt.sampleSize=fd.sampleSize,Rt.set=yd.set,Rt.setWith=yd.setWith,Rt.shuffle=fd.shuffle,Rt.slice=ad.slice,Rt.sortBy=fd.sortBy,Rt.sortedUniq=ad.sortedUniq,Rt.sortedUniqBy=ad.sortedUniqBy,Rt.split=gd.split,Rt.spread=ld.spread,Rt.tail=ad.tail,Rt.take=ad.take,Rt.takeRight=ad.takeRight,Rt.takeRightWhile=ad.takeRightWhile,Rt.takeWhile=ad.takeWhile,Rt.tap=_d.tap,Rt.throttle=ld.throttle,Rt.thru=rh,Rt.toArray=sd.toArray,Rt.toPairs=yd.toPairs,Rt.toPairsIn=yd.toPairsIn,Rt.toPath=bd.toPath,Rt.toPlainObject=sd.toPlainObject,Rt.transform=yd.transform,Rt.unary=ld.unary,Rt.union=ad.union,Rt.unionBy=ad.unionBy,Rt.unionWith=ad.unionWith,Rt.uniq=ad.uniq,Rt.uniqBy=ad.uniqBy,Rt.uniqWith=ad.uniqWith,Rt.unset=yd.unset,Rt.unzip=ad.unzip,Rt.unzipWith=ad.unzipWith,Rt.update=yd.update,Rt.updateWith=yd.updateWith,Rt.values=yd.values,Rt.valuesIn=yd.valuesIn,Rt.without=ad.without,Rt.words=gd.words,Rt.wrap=ld.wrap,Rt.xor=ad.xor,Rt.xorBy=ad.xorBy,Rt.xorWith=ad.xorWith,Rt.zip=ad.zip,Rt.zipObject=ad.zipObject,Rt.zipObjectDeep=ad.zipObjectDeep,Rt.zipWith=ad.zipWith,Rt.entries=yd.toPairs,Rt.entriesIn=yd.toPairsIn,Rt.extend=yd.assignIn,Rt.extendWith=yd.assignInWith,Wd(Rt,Rt),Rt.add=vd.add,Rt.attempt=bd.attempt,Rt.camelCase=gd.camelCase,Rt.capitalize=gd.capitalize,Rt.ceil=vd.ceil,Rt.clamp=pd,Rt.clone=sd.clone,Rt.cloneDeep=sd.cloneDeep,Rt.cloneDeepWith=sd.cloneDeepWith,Rt.cloneWith=sd.cloneWith,Rt.conformsTo=sd.conformsTo,Rt.deburr=gd.deburr,Rt.defaultTo=bd.defaultTo,Rt.divide=vd.divide,Rt.endsWith=gd.endsWith,Rt.eq=sd.eq,Rt.escape=gd.escape,Rt.escapeRegExp=gd.escapeRegExp,Rt.every=fd.every,Rt.find=fd.find,Rt.findIndex=ad.findIndex,Rt.findKey=yd.findKey,Rt.findLast=fd.findLast,Rt.findLastIndex=ad.findLastIndex,Rt.findLastKey=yd.findLastKey,Rt.floor=vd.floor,Rt.forEach=fd.forEach,Rt.forEachRight=fd.forEachRight,Rt.forIn=yd.forIn,Rt.forInRight=yd.forInRight,Rt.forOwn=yd.forOwn,Rt.forOwnRight=yd.forOwnRight,Rt.get=yd.get,Rt.gt=sd.gt,Rt.gte=sd.gte,Rt.has=yd.has,Rt.hasIn=yd.hasIn,Rt.head=ad.head,Rt.identity=F,Rt.includes=fd.includes,Rt.indexOf=ad.indexOf,Rt.inRange=hd,Rt.invoke=yd.invoke,Rt.isArguments=sd.isArguments,Rt.isArray=b,Rt.isArrayBuffer=sd.isArrayBuffer,Rt.isArrayLike=sd.isArrayLike,Rt.isArrayLikeObject=sd.isArrayLikeObject,Rt.isBoolean=sd.isBoolean,Rt.isBuffer=sd.isBuffer,Rt.isDate=sd.isDate,Rt.isElement=sd.isElement,Rt.isEmpty=sd.isEmpty,Rt.isEqual=sd.isEqual,Rt.isEqualWith=sd.isEqualWith,Rt.isError=sd.isError,Rt.isFinite=sd.isFinite,Rt.isFunction=sd.isFunction,Rt.isInteger=sd.isInteger,Rt.isLength=sd.isLength,Rt.isMap=sd.isMap,Rt.isMatch=sd.isMatch,Rt.isMatchWith=sd.isMatchWith,Rt.isNaN=sd.isNaN,Rt.isNative=sd.isNative,Rt.isNil=sd.isNil,Rt.isNull=sd.isNull,Rt.isNumber=sd.isNumber,Rt.isObject=W,Rt.isObjectLike=sd.isObjectLike,Rt.isPlainObject=sd.isPlainObject,Rt.isRegExp=sd.isRegExp,Rt.isSafeInteger=sd.isSafeInteger,Rt.isSet=sd.isSet,Rt.isString=sd.isString,Rt.isSymbol=sd.isSymbol,Rt.isTypedArray=sd.isTypedArray,Rt.isUndefined=sd.isUndefined,Rt.isWeakMap=sd.isWeakMap,Rt.isWeakSet=sd.isWeakSet,Rt.join=ad.join,Rt.kebabCase=gd.kebabCase,Rt.last=Va,Rt.lastIndexOf=ad.lastIndexOf,Rt.lowerCase=gd.lowerCase,Rt.lowerFirst=gd.lowerFirst,Rt.lt=sd.lt,Rt.lte=sd.lte,Rt.max=vd.max,Rt.maxBy=vd.maxBy,Rt.mean=vd.mean,Rt.meanBy=vd.meanBy,Rt.min=vd.min,Rt.minBy=vd.minBy,Rt.stubArray=bd.stubArray,Rt.stubFalse=bd.stubFalse,Rt.stubObject=bd.stubObject,Rt.stubString=bd.stubString,Rt.stubTrue=bd.stubTrue,Rt.multiply=vd.multiply,Rt.nth=ad.nth,Rt.noop=bd.noop,Rt.now=cd,Rt.pad=gd.pad,Rt.padEnd=gd.padEnd,Rt.padStart=gd.padStart,Rt.parseInt=gd.parseInt,Rt.random=dd,Rt.reduce=fd.reduce,Rt.reduceRight=fd.reduceRight,Rt.repeat=gd.repeat,Rt.replace=gd.replace,Rt.result=yd.result,Rt.round=vd.round,Rt.sample=fd.sample,Rt.size=fd.size,Rt.snakeCase=gd.snakeCase,Rt.some=fd.some,Rt.sortedIndex=ad.sortedIndex,Rt.sortedIndexBy=ad.sortedIndexBy,Rt.sortedIndexOf=ad.sortedIndexOf,Rt.sortedLastIndex=ad.sortedLastIndex,Rt.sortedLastIndexBy=ad.sortedLastIndexBy,Rt.sortedLastIndexOf=ad.sortedLastIndexOf,Rt.startCase=gd.startCase,Rt.startsWith=gd.startsWith,Rt.subtract=vd.subtract,Rt.sum=vd.sum,Rt.sumBy=vd.sumBy,Rt.template=gd.template,Rt.times=bd.times,Rt.toFinite=sd.toFinite,Rt.toInteger=U,Rt.toLength=sd.toLength,Rt.toLower=gd.toLower,Rt.toNumber=sd.toNumber,Rt.toSafeInteger=sd.toSafeInteger,Rt.toString=sd.toString,Rt.toUpper=gd.toUpper,Rt.trim=gd.trim,Rt.trimEnd=gd.trimEnd,Rt.trimStart=gd.trimStart,Rt.truncate=gd.truncate,Rt.unescape=gd.unescape,Rt.uniqueId=bd.uniqueId,Rt.upperCase=gd.upperCase,Rt.upperFirst=gd.upperFirst,Rt.each=fd.forEach,Rt.eachRight=fd.forEachRight,Rt.first=ad.head,Wd(Rt,(xd={},va(Rt,(function(t,r){Id.call(Rt.prototype,r)||(xd[r]=t)})),xd),{chain:!1}),Rt.VERSION="4.17.21",(Rt.templateSettings=gd.templateSettings).imports._=Rt,qt(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(t){Rt[t].placeholder=Rt})),qt(["drop","take"],(function(t,r){jt.prototype[t]=function(n){n=void 0===n?1:kd(U(n),0);var e=this.__filtered__&&!r?new jt(this):this.clone();return e.__filtered__?e.__takeCount__=Sd(n,e.__takeCount__):e.__views__.push({size:Sd(n,Od),type:t+(e.__dir__<0?"Right":"")}),e},jt.prototype[t+"Right"]=function(r){return this.reverse()[t](r).reverse()}})),qt(["filter","map","takeWhile"],(function(t,r){var n=r+1,e=1==n||3==n;jt.prototype[t]=function(t){var r=this.clone();return r.__iteratees__.push({iteratee:ia(t),type:n}),r.__filtered__=r.__filtered__||e,r}})),qt(["head","last"],(function(t,r){var n="take"+(r?"Right":"");jt.prototype[t]=function(){return this[n](1).value()[0]}})),qt(["initial","tail"],(function(t,r){var n="drop"+(r?"":"Right");jt.prototype[t]=function(){return this.__filtered__?new jt(this):this[n](1)}})),jt.prototype.compact=function(){return this.filter(F)},jt.prototype.find=function(t){return this.filter(t).head()},jt.prototype.findLast=function(t){return this.reverse().find(t)},jt.prototype.invokeMap=$r((function(t,r){return"function"==typeof t?new jt(this):this.map((function(n){return qc(n,t,r)}))})),jt.prototype.reject=function(t){return this.filter(ts(ia(t)))},jt.prototype.slice=function(t,r){t=U(t);var n=this;return n.__filtered__&&(t>0||r<0)?new jt(n):(t<0?n=n.takeRight(-t):t&&(n=n.drop(t)),void 0!==r&&(n=(r=U(r))<0?n.dropRight(-r):n.take(r-t)),n)},jt.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},jt.prototype.toArray=function(){return this.take(Od)},va(jt.prototype,(function(t,r){var n=/^(?:filter|find|map|reject)|While$/.test(r),e=/^(?:head|last)$/.test(r),i=Rt[e?"take"+("last"==r?"Right":""):r],o=e||/^find/.test(r);i&&(Rt.prototype[r]=function(){var r=this.__wrapped__,u=e?[1]:arguments,a=r instanceof jt,f=u[0],c=a||b(r),l=function(t){var r=i.apply(Rt,ie([t],u));return e&&s?r[0]:r};c&&n&&"function"==typeof f&&1!=f.length&&(a=c=!1);var s=this.__chain__,v=!!this.__actions__.length,p=o&&!s,h=a&&!v;if(!o&&c){r=h?r:new jt(this);var d=t.apply(r,u);return d.__actions__.push({func:rh,args:[l],thisArg:void 0}),new Et(d,s)}return p&&h?t.apply(this,u):(d=this.thru(l),p?e?d.value()[0]:d.value():d)})})),qt(["pop","push","shift","sort","splice","unshift"],(function(t){var r=Ad[t],n=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",e=/^(?:pop|shift)$/.test(t);Rt.prototype[t]=function(){var t=arguments;if(e&&!this.__chain__){var i=this.value();return r.apply(b(i)?i:[],t)}return this[n]((function(n){return r.apply(b(n)?n:[],t)}))}})),va(jt.prototype,(function(t,r){var n=Rt[r];if(n){var e=n.name+"";Id.call(Ot,e)||(Ot[e]=[]),Ot[e].push({name:r,func:n})}})),Ot[yr(void 0,2).name]=[{name:"wrapper",func:void 0}],jt.prototype.clone=function(){var t=new jt(this.__wrapped__);return t.__actions__=kt(this.__actions__),t.__dir__=this.__dir__,t.__filtered__=this.__filtered__,t.__iteratees__=kt(this.__iteratees__),t.__takeCount__=this.__takeCount__,t.__views__=kt(this.__views__),t},jt.prototype.reverse=function(){if(this.__filtered__){var t=new jt(this);t.__dir__=-1,t.__filtered__=!0}else(t=this.clone()).__dir__*=-1;return t},jt.prototype.value=function(){var t=this.__wrapped__.value(),r=this.__dir__,n=b(t),e=r<0,i=n?t.length:0,o=function(t,r,n){for(var e=-1,i=n.length;++e<i;){var o=n[e],u=o.size;switch(o.type){case"drop":t+=u;break;case"dropRight":r-=u;break;case"take":r=jd(r,t+u);break;case"takeRight":t=md(t,r-u)}}return{start:t,end:r}}(0,i,this.__views__),u=o.start,a=o.end,f=a-u,c=e?a:u-1,l=this.__iteratees__,s=l.length,v=0,p=wd(f,this.__takeCount__);if(!n||!e&&i==f&&p==f)return uh(t,this.__actions__);var h=[];t:for(;f--&&v<p;){for(var d=-1,y=t[c+=r];++d<s;){var _=l[d],g=_.iteratee,m=_.type,j=g(y);if(2==m)y=j;else if(!j){if(1==m)continue t;break t}}h[v++]=y}return h},Rt.prototype.at=_d.at,Rt.prototype.chain=_d.wrapperChain,Rt.prototype.commit=_d.commit,Rt.prototype.next=_d.next,Rt.prototype.plant=_d.plant,Rt.prototype.reverse=_d.reverse,Rt.prototype.toJSON=Rt.prototype.valueOf=Rt.prototype.value=_d.value,Rt.prototype.first=Rt.prototype.head,Ed&&(Rt.prototype[Ed]=_d.toIterator);export{A as add,N as after,Pr as ary,In as assign,Wn as assignIn,Rn as assignInWith,Bn as assignWith,le as at,we as attempt,Oe as before,Ae as bind,Ie as bindAll,Ee as bindKey,Ei as camelCase,Ze as capitalize,ki as castArray,Bi as ceil,Mi as chain,Pi as chunk,Ci as clamp,iu as clone,ou as cloneDeep,uu as cloneDeepWith,au as cloneWith,fu as commit,cu as compact,lu as concat,oa as cond,aa as conforms,fa as conformsTo,Dt as constant,ga as countBy,ba as create,ma as curry,ja as curryRight,Ia as debounce,Xe as deburr,Rt as default,Ea as defaultTo,Wa as defaults,Ca as defaultsDeep,Ua as defer,Na as delay,Ka as difference,Za as differenceBy,Ga as differenceWith,Ja as divide,Ha as drop,Ya as dropRight,Xa as dropRightWhile,tf as dropWhile,nf as each,ff as eachRight,cf as endsWith,sf as entries,vf as entriesIn,Cr as eq,yf as escape,bf as escapeRegExp,wf as every,Wn as extend,Rn as extendWith,Af as fill,Ef as filter,Rf as find,Wf as findIndex,Mf as findKey,Tf as findLast,Pf as findLastIndex,Cf as findLastKey,Df as first,Ff as flatMap,$f as flatMapDeep,Kf as flatMapDepth,fe as flatten,Zf as flattenDeep,Gf as flattenDepth,Jf as flip,Hf as floor,Qf as flow,Xf as flowRight,nf as forEach,ff as forEachRight,tc as forIn,rc as forInRight,nc as forOwn,ec as forOwnRight,ic as fromPairs,uc as functions,ac as functionsIn,ne as get,cc as groupBy,vc as gt,pc as gte,yc as has,Qu as hasIn,Df as head,F as identity,bc as inRange,Ac as includes,Ec as indexOf,kc as initial,Bc as intersection,Mc as intersectionBy,zc as intersectionWith,Tc as invert,Nc as invertBy,$c as invoke,Kc as invokeMap,en as isArguments,b as isArray,Zc as isArrayBuffer,Zr as isArrayLike,Ba as isArrayLikeObject,Gc as isBoolean,cn as isBuffer,Hc as isDate,Yc as isElement,Xc as isEmpty,tl as isEqual,rl as isEqualWith,je as isError,el as isFinite,Z as isFunction,il as isInteger,Vr as isLength,Vo as isMap,ol as isMatch,ul as isMatchWith,cl as isNaN,sl as isNative,vl as isNil,pl as isNull,fl as isNumber,W as isObject,p as isObjectLike,ge as isPlainObject,dl as isRegExp,_l as isSafeInteger,Go as isSet,jc as isString,d as isSymbol,_n as isTypedArray,gl as isUndefined,bl as isWeakMap,ml as isWeakSet,jl as iteratee,xl as join,Ol as kebabCase,Al as keyBy,On as keys,Sn as keysIn,Va as last,kl as lastIndexOf,Rt as lodash,Sl as lowerCase,Wl as lowerFirst,Bl as lt,Ml as lte,Nf as map,zl as mapKeys,Ll as mapValues,Pl as matches,Tl as matchesProperty,Dl as max,Ul as maxBy,$l as mean,Kl as meanBy,Zn as memoize,Vl as merge,Ta as mergeWith,Zl as method,Gl as methodOf,Jl as min,Hl as minBy,Yl as mixin,Ql as multiply,ts as negate,os as next,wt as noop,wa as now,as as nth,fs as nthArg,ss as omit,ds as omitBy,ys as once,bs as orderBy,js as over,Os as overArgs,As as overEvery,Is as overSome,Gs as pad,Js as padEnd,Hs as padStart,Xs as parseInt,tv as partial,rv as partialRight,nv as partition,ev as pick,hs as pickBy,iv as plant,ea as property,ov as propertyOf,lv as pull,cv as pullAll,sv as pullAllBy,vv as pullAllWith,dv as pullAt,wv as random,Iv as range,Ev as rangeRight,kv as rearg,Wv as reduce,Bv as reduceRight,Mv as reject,zv as remove,Lv as repeat,Pv as replace,Tv as rest,Cv as result,Uv as reverse,Nv as round,$v as sample,Gv as sampleSize,Jv as set,Hv as setWith,Xv as shuffle,tp as size,rp as slice,np as snakeCase,ip as some,op as sortBy,vp as sortedIndex,pp as sortedIndexBy,hp as sortedIndexOf,dp as sortedLastIndex,yp as sortedLastIndexBy,_p as sortedLastIndexOf,bp as sortedUniq,mp as sortedUniqBy,jp as split,xp as spread,Op as startCase,Ap as startsWith,Zi as stubArray,on as stubFalse,Ip as stubObject,Ep as stubString,kp as stubTrue,Sp as subtract,Wp as sum,Rp as sumBy,Bp as tail,Mp as take,zp as takeRight,Lp as takeRightWhile,Pp as takeWhile,Tp as tap,Xp as template,$p as templateSettings,th as throttle,rh as thru,ih as times,is as toArray,D as toFinite,U as toInteger,oh as toIterator,ah as toJSON,Of as toLength,fh as toLower,P as toNumber,sf as toPairs,vf as toPairsIn,ch as toPath,za as toPlainObject,sh as toSafeInteger,Yn as toString,vh as toUpper,ph as transform,yh as trim,_h as trimEnd,bh as trimStart,jh as truncate,wh as unary,Ih as unescape,Wh as union,Rh as unionBy,Bh as unionWith,Mh as uniq,zh as uniqBy,Lh as uniqWith,Th as uniqueId,Ch as unset,Uh as unzip,Nh as unzipWith,qh as update,$h as updateWith,Kh as upperCase,Ve as upperFirst,ah as value,ah as valueOf,xc as values,Vh as valuesIn,Zh as without,Oi as words,Gh as wrap,Jh as wrapperAt,Hh as wrapperChain,fu as wrapperCommit,Rt as wrapperLodash,os as wrapperNext,iv as wrapperPlant,Yh as wrapperReverse,oh as wrapperToIterator,ah as wrapperValue,Xh as xor,td as xorBy,rd as xorWith,nd as zip,id as zipObject,od as zipObjectDeep,ud as zipWith};
diff --git a/typo3/sysext/backend/Resources/Public/JavaScript/Contrib/select-pure.js b/typo3/sysext/backend/Resources/Public/JavaScript/Contrib/select-pure.js
index 22aa861c1e3c7373a79a5616670bd8083e193823..8f2f046dace1cc811dbd337710f60136c6df40bf 100644
--- a/typo3/sysext/backend/Resources/Public/JavaScript/Contrib/select-pure.js
+++ b/typo3/sysext/backend/Resources/Public/JavaScript/Contrib/select-pure.js
@@ -1,4 +1,4 @@
-import{css,LitElement,html}from"lit";import{ifDefined}from"lit/directives/if-defined.js";import{customElement}from"lit/decorators/custom-element.js";import{property}from"lit/decorators/property.js";import{query}from"lit/decorators/query.js";function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function boundMethod(e,t,i){var o=i.value;if("function"!=typeof o)throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(_typeof(o)));var l=!1;return{configurable:!0,get:function(){if(l||this===e.prototype||this.hasOwnProperty(t)||"function"!=typeof o)return o;var i=o.bind(this);return l=!0,Object.defineProperty(this,t,{configurable:!0,get:function(){return i},set:function(e){o=e,delete this[t]}}),l=!1,i},set:function(e){o=e}}}const KEYS={ENTER:"Enter",TAB:"Tab"},noop=()=>{},defaultOption={label:"",value:"",select:noop,unselect:noop,disabled:!1,hidden:!1,selected:!1},selectStyles=css`
+import{css as e,LitElement as t,html as i}from"lit";import{ifDefined as l}from"lit/directives/if-defined.js";import{customElement as o}from"lit/decorators/custom-element.js";import{property as s}from"lit/decorators/property.js";import{query as n}from"lit/decorators/query.js";function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}function d(e,t,i){var l=i.value;if("function"!=typeof l)throw new TypeError("@boundMethod decorator can only be applied to methods not: ".concat(r(l)));var o=!1;return{configurable:!0,get:function(){if(o||this===e.prototype||this.hasOwnProperty(t)||"function"!=typeof l)return l;var i=l.bind(this);return o=!0,Object.defineProperty(this,t,{configurable:!0,get:function(){return i},set:function(e){l=e,delete this[t]}}),o=!1,i},set:function(e){l=e}}}const a="Enter",c="Tab",p=()=>{},h={label:"",value:"",select:p,unselect:p,disabled:!1,hidden:!1,selected:!1},u=e`
   .select-wrapper {
     position: relative;
   }
@@ -112,7 +112,7 @@ import{css,LitElement,html}from"lit";import{ifDefined}from"lit/directives/if-def
     text-align: center;
     width: 12px;
   }
-`,optionStyles=css`
+`,b=e`
   .option {
     align-items: center;
     background-color: var(--background-color, #fff);
@@ -141,24 +141,24 @@ import{css,LitElement,html}from"lit";import{ifDefined}from"lit/directives/if-def
     color: var(--disabled-color, #000);
     cursor: default;
   }
-`;var __decorate$1=function(e,t,i,o){var l,s=arguments.length,r=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,o);else for(var n=e.length-1;n>=0;n--)(l=e[n])&&(r=(s<3?l(r):s>3?l(t,i,r):l(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r};let OptionPure=class extends LitElement{constructor(){super(...arguments),this.isSelected=!1,this.isDisabled=!1,this.isHidden=!1,this.optionValue="",this.displayedLabel="",this.optionIndex=-1}static get styles(){return optionStyles}connectedCallback(){super.connectedCallback(),this.isSelected=null!==this.getAttribute("selected"),this.isDisabled=null!==this.getAttribute("disabled"),this.isHidden=null!==this.getAttribute("hidden"),this.optionValue=this.getAttribute("value")||"",this.assignDisplayedLabel(),this.fireOnReadyCallback()}getOption(){return{label:this.displayedLabel,value:this.optionValue,select:this.select,unselect:this.unselect,selected:this.isSelected,disabled:this.isDisabled,hidden:this.isHidden}}select(){this.isSelected=!0,this.setAttribute("selected","")}unselect(){this.isSelected=!1,this.removeAttribute("selected")}setOnReadyCallback(e,t){this.onReady=e,this.optionIndex=t}setOnSelectCallback(e){this.onSelect=e}render(){const e=["option"];return this.isSelected&&e.push("selected"),this.isDisabled&&e.push("disabled"),html`
+`;var v=function(e,t,i,l){var o,s=arguments.length,n=s<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,i):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,l);else for(var r=e.length-1;r>=0;r--)(o=e[r])&&(n=(s<3?o(n):s>3?o(t,i,n):o(t,i))||n);return s>3&&n&&Object.defineProperty(t,i,n),n};let f=class extends t{constructor(){super(...arguments),this.isSelected=!1,this.isDisabled=!1,this.isHidden=!1,this.optionValue="",this.displayedLabel="",this.optionIndex=-1}static get styles(){return b}connectedCallback(){super.connectedCallback(),this.isSelected=null!==this.getAttribute("selected"),this.isDisabled=null!==this.getAttribute("disabled"),this.isHidden=null!==this.getAttribute("hidden"),this.optionValue=this.getAttribute("value")||"",this.assignDisplayedLabel(),this.fireOnReadyCallback()}getOption(){return{label:this.displayedLabel,value:this.optionValue,select:this.select,unselect:this.unselect,selected:this.isSelected,disabled:this.isDisabled,hidden:this.isHidden}}select(){this.isSelected=!0,this.setAttribute("selected","")}unselect(){this.isSelected=!1,this.removeAttribute("selected")}setOnReadyCallback(e,t){this.onReady=e,this.optionIndex=t}setOnSelectCallback(e){this.onSelect=e}render(){const e=["option"];return this.isSelected&&e.push("selected"),this.isDisabled&&e.push("disabled"),i`
       <div
         class="${e.join(" ")}"
         @click=${this.fireOnSelectCallback}
         @keydown="${this.fireOnSelectIfEnterPressed}"
-        tabindex="${ifDefined(this.isDisabled?void 0:"0")}"
+        tabindex="${l(this.isDisabled?void 0:"0")}"
       >
         <slot hidden @slotchange=${this.assignDisplayedLabel}></slot>
         ${this.displayedLabel}
       </div>
-    `}assignDisplayedLabel(){this.textContent?this.displayedLabel=this.textContent:this.getAttribute("label")&&(this.displayedLabel=this.getAttribute("label")||"")}fireOnReadyCallback(){this.onReady&&this.onReady(this.getOption(),this.optionIndex)}fireOnSelectCallback(e){e.stopPropagation(),this.onSelect&&!this.isDisabled&&this.onSelect(this.optionValue)}fireOnSelectIfEnterPressed(e){e.key===KEYS.ENTER&&this.fireOnSelectCallback(e)}};__decorate$1([property()],OptionPure.prototype,"isSelected",void 0),__decorate$1([property()],OptionPure.prototype,"isDisabled",void 0),__decorate$1([property()],OptionPure.prototype,"isHidden",void 0),__decorate$1([property()],OptionPure.prototype,"optionValue",void 0),__decorate$1([property()],OptionPure.prototype,"displayedLabel",void 0),__decorate$1([property()],OptionPure.prototype,"optionIndex",void 0),__decorate$1([boundMethod],OptionPure.prototype,"getOption",null),__decorate$1([boundMethod],OptionPure.prototype,"select",null),__decorate$1([boundMethod],OptionPure.prototype,"unselect",null),__decorate$1([boundMethod],OptionPure.prototype,"fireOnReadyCallback",null),OptionPure=__decorate$1([customElement("option-pure")],OptionPure);var __decorate=function(e,t,i,o){var l,s=arguments.length,r=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(e,t,i,o);else for(var n=e.length-1;n>=0;n--)(l=e[n])&&(r=(s<3?l(r):s>3?l(t,i,r):l(t,i))||r);return s>3&&r&&Object.defineProperty(t,i,r),r};let SelectPure=class extends LitElement{constructor(){super(...arguments),this.options=[],this.visible=!1,this.selectedOption=defaultOption,this._selectedOptions=[],this.disabled=!1,this.isMultipleSelect=!1,this.name="",this._id="",this.formName="",this.value="",this.values=[],this.defaultLabel="",this.totalRenderedChildOptions=-1,this.form=null,this.hiddenInput=null}static get styles(){return selectStyles}connectedCallback(){super.connectedCallback(),this.disabled=null!==this.getAttribute("disabled"),this.isMultipleSelect=null!==this.getAttribute("multiple"),this.name=this.getAttribute("name")||"",this._id=this.getAttribute("id")||"",this.formName=this.name||this.id,this.defaultLabel=this.getAttribute("default-label")||""}open(){this.disabled||(this.visible=!0,this.removeEventListeners(),document.body.addEventListener("click",this.close,!0))}close(e){e&&this.contains(e.target)||(this.visible=!1,this.removeEventListeners())}enable(){this.disabled=!1}disable(){this.disabled=!0}get selectedIndex(){var e;return null===(e=this.nativeSelect)||void 0===e?void 0:e.selectedIndex}set selectedIndex(e){(e||0===e)&&this.selectOptionByValue(this.options[e].value)}get selectedOptions(){var e;return null===(e=this.nativeSelect)||void 0===e?void 0:e.selectedOptions}render(){const e=["label"];return this.disabled&&e.push("disabled"),this.visible&&e.push("visible"),html`
+    `}assignDisplayedLabel(){this.textContent?this.displayedLabel=this.textContent:this.getAttribute("label")&&(this.displayedLabel=this.getAttribute("label")||"")}fireOnReadyCallback(){this.onReady&&this.onReady(this.getOption(),this.optionIndex)}fireOnSelectCallback(e){e.stopPropagation(),this.onSelect&&!this.isDisabled&&this.onSelect(this.optionValue)}fireOnSelectIfEnterPressed(e){e.key===a&&this.fireOnSelectCallback(e)}};v([s()],f.prototype,"isSelected",void 0),v([s()],f.prototype,"isDisabled",void 0),v([s()],f.prototype,"isHidden",void 0),v([s()],f.prototype,"optionValue",void 0),v([s()],f.prototype,"displayedLabel",void 0),v([s()],f.prototype,"optionIndex",void 0),v([d],f.prototype,"getOption",null),v([d],f.prototype,"select",null),v([d],f.prototype,"unselect",null),v([d],f.prototype,"fireOnReadyCallback",null),f=v([o("option-pure")],f);var g=function(e,t,i,l){var o,s=arguments.length,n=s<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,i):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,l);else for(var r=e.length-1;r>=0;r--)(o=e[r])&&(n=(s<3?o(n):s>3?o(t,i,n):o(t,i))||n);return s>3&&n&&Object.defineProperty(t,i,n),n};let y=class extends t{constructor(){super(...arguments),this.options=[],this.visible=!1,this.selectedOption=h,this._selectedOptions=[],this.disabled=!1,this.isMultipleSelect=!1,this.name="",this._id="",this.formName="",this.value="",this.values=[],this.defaultLabel="",this.totalRenderedChildOptions=-1,this.form=null,this.hiddenInput=null}static get styles(){return u}connectedCallback(){super.connectedCallback(),this.disabled=null!==this.getAttribute("disabled"),this.isMultipleSelect=null!==this.getAttribute("multiple"),this.name=this.getAttribute("name")||"",this._id=this.getAttribute("id")||"",this.formName=this.name||this.id,this.defaultLabel=this.getAttribute("default-label")||""}open(){this.disabled||(this.visible=!0,this.removeEventListeners(),document.body.addEventListener("click",this.close,!0))}close(e){e&&this.contains(e.target)||(this.visible=!1,this.removeEventListeners())}enable(){this.disabled=!1}disable(){this.disabled=!0}get selectedIndex(){var e;return null===(e=this.nativeSelect)||void 0===e?void 0:e.selectedIndex}set selectedIndex(e){(e||0===e)&&this.selectOptionByValue(this.options[e].value)}get selectedOptions(){var e;return null===(e=this.nativeSelect)||void 0===e?void 0:e.selectedOptions}render(){const e=["label"];return this.disabled&&e.push("disabled"),this.visible&&e.push("visible"),i`
       <div class="select-wrapper">
         <select
           @change=${this.handleNativeSelectChange}
           ?disabled=${this.disabled}
           ?multiple=${this.isMultipleSelect}
-          name="${ifDefined(this.name||void 0)}"
-          id=${ifDefined(this.id||void 0)}
+          name="${l(this.name||void 0)}"
+          id=${l(this.id||void 0)}
           size="1"
         >
           ${this.getNativeOptionsHtml()}
@@ -177,20 +177,20 @@ import{css,LitElement,html}from"lit";import{ifDefined}from"lit/directives/if-def
           </div>
         </div>
       </div>
-    `}handleNativeSelectChange(){var e;this.selectedIndex=null===(e=this.nativeSelect)||void 0===e?void 0:e.selectedIndex}getNativeOptionsHtml(){return this.options.map(this.getSingleNativeOptionHtml)}getSingleNativeOptionHtml({value:e,label:t,hidden:i,disabled:o}){return html`
+    `}handleNativeSelectChange(){var e;this.selectedIndex=null===(e=this.nativeSelect)||void 0===e?void 0:e.selectedIndex}getNativeOptionsHtml(){return this.options.map(this.getSingleNativeOptionHtml)}getSingleNativeOptionHtml({value:e,label:t,hidden:l,disabled:o}){return i`
       <option
         value=${e}
         ?selected=${this.isOptionSelected(e)}
-        ?hidden=${i}
+        ?hidden=${l}
         ?disabled=${o}
       >
         ${t}
       </option>
-    `}isOptionSelected(e){let t=this.selectedOption.value===e;return this.isMultipleSelect&&(t=Boolean(this._selectedOptions.find((t=>t.value===e)))),t}openDropdownIfProperKeyIsPressed(e){e.key!==KEYS.ENTER&&e.key!==KEYS.TAB||this.open()}getDisplayedLabel(){return this.isMultipleSelect&&this._selectedOptions.length?this.getMultiSelectLabelHtml():this.selectedOption.label||this.defaultLabel}getMultiSelectLabelHtml(){return html`
+    `}isOptionSelected(e){let t=this.selectedOption.value===e;return this.isMultipleSelect&&(t=Boolean(this._selectedOptions.find((t=>t.value===e)))),t}openDropdownIfProperKeyIsPressed(e){e.key!==a&&e.key!==c||this.open()}getDisplayedLabel(){return this.isMultipleSelect&&this._selectedOptions.length?this.getMultiSelectLabelHtml():this.selectedOption.label||this.defaultLabel}getMultiSelectLabelHtml(){return i`
       <div class="multi-selected-wrapper">
         ${this._selectedOptions.map(this.getMultiSelectSelectedOptionHtml)}
       </div>
-    `}getMultiSelectSelectedOptionHtml({label:e,value:t}){return html`
+    `}getMultiSelectSelectedOptionHtml({label:e,value:t}){return i`
       <span class="multi-selected">
         ${e}
         <span
@@ -199,4 +199,4 @@ import{css,LitElement,html}from"lit";import{ifDefined}from"lit/directives/if-def
         >
         </span>
       </span>
-    `}fireOnSelectCallback(e,t){e.stopPropagation(),this.selectOptionByValue(t)}initializeSelect(){this.processChildOptions(),this.selectDefaultOptionIfNoneSelected(),this.appendHiddenInputToClosestForm()}processChildOptions(){const e=this.querySelectorAll("option-pure");this.totalRenderedChildOptions=e.length;for(let t=0;t<e.length;t++)this.initializeSingleOption(e[t],t)}selectDefaultOptionIfNoneSelected(){!this.selectedOption.value&&!this.isMultipleSelect&&this.options.length&&this.selectOptionByValue(this.options[0].value)}initializeSingleOption(e,t){e.setOnSelectCallback(this.selectOptionByValue),this.options[t]=e.getOption(),this.options[t].selected&&this.selectOptionByValue(this.options[t].value)}removeEventListeners(){document.body.removeEventListener("click",this.close)}appendHiddenInputToClosestForm(){this.form=this.closest("form"),this.form&&!this.hiddenInput&&(this.hiddenInput=document.createElement("input"),this.hiddenInput.setAttribute("type","hidden"),this.hiddenInput.setAttribute("name",this.formName),this.form.appendChild(this.hiddenInput))}unselectAllOptions(){for(let e=0;e<this.options.length;e++)this.options[e].unselect()}selectOptionByValue(e){const t=this.options.find((({value:t})=>t===e));t&&this.setSelectValue(t)}setSelectValue(e){this.isMultipleSelect?this.setMultiSelectValue(e):this.setSingleSelectValue(e),this.updateHiddenInputInForm(),this.dispatchChangeEvent()}dispatchChangeEvent(){this.dispatchEvent(new Event("change"))}setMultiSelectValue(e){const t=this._selectedOptions.indexOf(e);-1!==t?(this.values.splice(t,1),this._selectedOptions.splice(t,1),e.unselect()):(this.values.push(e.value),this._selectedOptions.push(e),e.select()),this.requestUpdate()}setSingleSelectValue(e){this.unselectAllOptions(),this.close(),this.selectedOption=e,this.value=e.value,e.select()}updateHiddenInputInForm(){if(!this.form||!this.hiddenInput)return;this.hiddenInput.value=this.isMultipleSelect?this.values.join(","):this.value;const e=new Event("change",{bubbles:!0});this.hiddenInput.dispatchEvent(e)}};__decorate([property()],SelectPure.prototype,"options",void 0),__decorate([property()],SelectPure.prototype,"visible",void 0),__decorate([property()],SelectPure.prototype,"selectedOption",void 0),__decorate([property()],SelectPure.prototype,"_selectedOptions",void 0),__decorate([property()],SelectPure.prototype,"disabled",void 0),__decorate([property()],SelectPure.prototype,"isMultipleSelect",void 0),__decorate([property()],SelectPure.prototype,"name",void 0),__decorate([property()],SelectPure.prototype,"_id",void 0),__decorate([property()],SelectPure.prototype,"formName",void 0),__decorate([property()],SelectPure.prototype,"value",void 0),__decorate([property()],SelectPure.prototype,"values",void 0),__decorate([property()],SelectPure.prototype,"defaultLabel",void 0),__decorate([property()],SelectPure.prototype,"totalRenderedChildOptions",void 0),__decorate([query("select")],SelectPure.prototype,"nativeSelect",void 0),__decorate([boundMethod],SelectPure.prototype,"close",null),__decorate([boundMethod],SelectPure.prototype,"getSingleNativeOptionHtml",null),__decorate([boundMethod],SelectPure.prototype,"getMultiSelectLabelHtml",null),__decorate([boundMethod],SelectPure.prototype,"getMultiSelectSelectedOptionHtml",null),__decorate([boundMethod],SelectPure.prototype,"initializeSelect",null),__decorate([boundMethod],SelectPure.prototype,"initializeSingleOption",null),__decorate([boundMethod],SelectPure.prototype,"removeEventListeners",null),__decorate([boundMethod],SelectPure.prototype,"appendHiddenInputToClosestForm",null),__decorate([boundMethod],SelectPure.prototype,"selectOptionByValue",null),SelectPure=__decorate([customElement("select-pure")],SelectPure);var default_1=Object.freeze({__proto__:null,get OptionPure(){return OptionPure},get SelectPure(){return SelectPure}});export{default_1 as default};
+    `}fireOnSelectCallback(e,t){e.stopPropagation(),this.selectOptionByValue(t)}initializeSelect(){this.processChildOptions(),this.selectDefaultOptionIfNoneSelected(),this.appendHiddenInputToClosestForm()}processChildOptions(){const e=this.querySelectorAll("option-pure");this.totalRenderedChildOptions=e.length;for(let t=0;t<e.length;t++)this.initializeSingleOption(e[t],t)}selectDefaultOptionIfNoneSelected(){!this.selectedOption.value&&!this.isMultipleSelect&&this.options.length&&this.selectOptionByValue(this.options[0].value)}initializeSingleOption(e,t){e.setOnSelectCallback(this.selectOptionByValue),this.options[t]=e.getOption(),this.options[t].selected&&this.selectOptionByValue(this.options[t].value)}removeEventListeners(){document.body.removeEventListener("click",this.close)}appendHiddenInputToClosestForm(){this.form=this.closest("form"),this.form&&!this.hiddenInput&&(this.hiddenInput=document.createElement("input"),this.hiddenInput.setAttribute("type","hidden"),this.hiddenInput.setAttribute("name",this.formName),this.form.appendChild(this.hiddenInput))}unselectAllOptions(){for(let e=0;e<this.options.length;e++)this.options[e].unselect()}selectOptionByValue(e){const t=this.options.find((({value:t})=>t===e));t&&this.setSelectValue(t)}setSelectValue(e){this.isMultipleSelect?this.setMultiSelectValue(e):this.setSingleSelectValue(e),this.updateHiddenInputInForm(),this.dispatchChangeEvent()}dispatchChangeEvent(){this.dispatchEvent(new Event("change"))}setMultiSelectValue(e){const t=this._selectedOptions.indexOf(e);-1!==t?(this.values.splice(t,1),this._selectedOptions.splice(t,1),e.unselect()):(this.values.push(e.value),this._selectedOptions.push(e),e.select()),this.requestUpdate()}setSingleSelectValue(e){this.unselectAllOptions(),this.close(),this.selectedOption=e,this.value=e.value,e.select()}updateHiddenInputInForm(){if(!this.form||!this.hiddenInput)return;this.hiddenInput.value=this.isMultipleSelect?this.values.join(","):this.value;const e=new Event("change",{bubbles:!0});this.hiddenInput.dispatchEvent(e)}};g([s()],y.prototype,"options",void 0),g([s()],y.prototype,"visible",void 0),g([s()],y.prototype,"selectedOption",void 0),g([s()],y.prototype,"_selectedOptions",void 0),g([s()],y.prototype,"disabled",void 0),g([s()],y.prototype,"isMultipleSelect",void 0),g([s()],y.prototype,"name",void 0),g([s()],y.prototype,"_id",void 0),g([s()],y.prototype,"formName",void 0),g([s()],y.prototype,"value",void 0),g([s()],y.prototype,"values",void 0),g([s()],y.prototype,"defaultLabel",void 0),g([s()],y.prototype,"totalRenderedChildOptions",void 0),g([n("select")],y.prototype,"nativeSelect",void 0),g([d],y.prototype,"close",null),g([d],y.prototype,"getSingleNativeOptionHtml",null),g([d],y.prototype,"getMultiSelectLabelHtml",null),g([d],y.prototype,"getMultiSelectSelectedOptionHtml",null),g([d],y.prototype,"initializeSelect",null),g([d],y.prototype,"initializeSingleOption",null),g([d],y.prototype,"removeEventListeners",null),g([d],y.prototype,"appendHiddenInputToClosestForm",null),g([d],y.prototype,"selectOptionByValue",null),y=g([o("select-pure")],y);var m=Object.freeze({__proto__:null,get OptionPure(){return f},get SelectPure(){return y}});export{m as default};
diff --git a/typo3/sysext/core/Resources/Public/JavaScript/Contrib/bootstrap.js b/typo3/sysext/core/Resources/Public/JavaScript/Contrib/bootstrap.js
index d88acfa3a170e26cb8ea13abdfbd45b1be2ebeda..7a820b2f88ec5ae075a082226e0fb349b741d8a6 100644
--- a/typo3/sysext/core/Resources/Public/JavaScript/Contrib/bootstrap.js
+++ b/typo3/sysext/core/Resources/Public/JavaScript/Contrib/bootstrap.js
@@ -1,7 +1,7 @@
-var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",clippingParents="clippingParents",viewport="viewport",popper="popper",reference="reference",variationPlacements=basePlacements.reduce((function(e,t){return e.concat([t+"-"+start,t+"-"+end])}),[]),placements=[].concat(basePlacements,[auto]).reduce((function(e,t){return e.concat([t,t+"-"+start,t+"-"+end])}),[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function getNodeName(e){return e?(e.nodeName||"").toLowerCase():null}function getWindow(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function isElement$1(e){return e instanceof getWindow(e).Element||e instanceof Element}function isHTMLElement(e){return e instanceof getWindow(e).HTMLElement||e instanceof HTMLElement}function isShadowRoot(e){return"undefined"!=typeof ShadowRoot&&(e instanceof getWindow(e).ShadowRoot||e instanceof ShadowRoot)}function applyStyles(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},i=t.attributes[e]||{},s=t.elements[e];isHTMLElement(s)&&getNodeName(s)&&(Object.assign(s.style,n),Object.keys(i).forEach((function(e){var t=i[e];!1===t?s.removeAttribute(e):s.setAttribute(e,!0===t?"":t)})))}))}function effect$2(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var i=t.elements[e],s=t.attributes[e]||{},o=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});isHTMLElement(i)&&getNodeName(i)&&(Object.assign(i.style,o),Object.keys(s).forEach((function(e){i.removeAttribute(e)})))}))}}var applyStyles$1={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect$2,requires:["computeStyles"]};function getBasePlacement(e){return e.split("-")[0]}var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var e=navigator.userAgentData;return null!=e&&e.brands&&Array.isArray(e.brands)?e.brands.map((function(e){return e.brand+"/"+e.version})).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var i=e.getBoundingClientRect(),s=1,o=1;t&&isHTMLElement(e)&&(s=e.offsetWidth>0&&round(i.width)/e.offsetWidth||1,o=e.offsetHeight>0&&round(i.height)/e.offsetHeight||1);var r=(isElement$1(e)?getWindow(e):window).visualViewport,a=!isLayoutViewport()&&n,l=(i.left+(a&&r?r.offsetLeft:0))/s,c=(i.top+(a&&r?r.offsetTop:0))/o,d=i.width/s,u=i.height/o;return{width:d,height:u,top:c,right:l+d,bottom:c+u,left:l,x:l,y:c}}function getLayoutRect(e){var t=getBoundingClientRect(e),n=e.offsetWidth,i=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-i)<=1&&(i=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:i}}function contains(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&isShadowRoot(n)){var i=t;do{if(i&&e.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function getComputedStyle$1(e){return getWindow(e).getComputedStyle(e)}function isTableElement(e){return["table","td","th"].indexOf(getNodeName(e))>=0}function getDocumentElement(e){return((isElement$1(e)?e.ownerDocument:e.document)||window.document).documentElement}function getParentNode(e){return"html"===getNodeName(e)?e:e.assignedSlot||e.parentNode||(isShadowRoot(e)?e.host:null)||getDocumentElement(e)}function getTrueOffsetParent(e){return isHTMLElement(e)&&"fixed"!==getComputedStyle$1(e).position?e.offsetParent:null}function getContainingBlock(e){var t=/firefox/i.test(getUAString());if(/Trident/i.test(getUAString())&&isHTMLElement(e)&&"fixed"===getComputedStyle$1(e).position)return null;var n=getParentNode(e);for(isShadowRoot(n)&&(n=n.host);isHTMLElement(n)&&["html","body"].indexOf(getNodeName(n))<0;){var i=getComputedStyle$1(n);if("none"!==i.transform||"none"!==i.perspective||"paint"===i.contain||-1!==["transform","perspective"].indexOf(i.willChange)||t&&"filter"===i.willChange||t&&i.filter&&"none"!==i.filter)return n;n=n.parentNode}return null}function getOffsetParent(e){for(var t=getWindow(e),n=getTrueOffsetParent(e);n&&isTableElement(n)&&"static"===getComputedStyle$1(n).position;)n=getTrueOffsetParent(n);return n&&("html"===getNodeName(n)||"body"===getNodeName(n)&&"static"===getComputedStyle$1(n).position)?t:n||getContainingBlock(e)||t}function getMainAxisFromPlacement(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function within(e,t,n){return max(e,min(t,n))}function withinMaxClamp(e,t,n){var i=within(e,t,n);return i>n?n:i}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(e){return Object.assign({},getFreshSideObject(),e)}function expandToHashMap(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}var toPaddingObject=function(e,t){return mergePaddingObject("number"!=typeof(e="function"==typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:expandToHashMap(e,basePlacements))};function arrow(e){var t,n=e.state,i=e.name,s=e.options,o=n.elements.arrow,r=n.modifiersData.popperOffsets,a=getBasePlacement(n.placement),l=getMainAxisFromPlacement(a),c=[left,right].indexOf(a)>=0?"height":"width";if(o&&r){var d=toPaddingObject(s.padding,n),u=getLayoutRect(o),h="y"===l?top:left,E="y"===l?bottom:right,_=n.rects.reference[c]+n.rects.reference[l]-r[l]-n.rects.popper[c],f=r[l]-n.rects.reference[l],p=getOffsetParent(o),g=p?"y"===l?p.clientHeight||0:p.clientWidth||0:0,m=_/2-f/2,T=d[h],v=g-u[c]-d[E],A=g/2-u[c]/2+m,b=within(T,A,v),N=l;n.modifiersData[i]=((t={})[N]=b,t.centerOffset=b-A,t)}}function effect$1(e){var t=e.state,n=e.options.element,i=void 0===n?"[data-popper-arrow]":n;null!=i&&("string"!=typeof i||(i=t.elements.popper.querySelector(i)))&&contains(t.elements.popper,i)&&(t.elements.arrow=i)}var arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect:effect$1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(e){return e.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(e,t){var n=e.x,i=e.y,s=t.devicePixelRatio||1;return{x:round(n*s)/s||0,y:round(i*s)/s||0}}function mapToStyles(e){var t,n=e.popper,i=e.popperRect,s=e.placement,o=e.variation,r=e.offsets,a=e.position,l=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,u=e.isFixed,h=r.x,E=void 0===h?0:h,_=r.y,f=void 0===_?0:_,p="function"==typeof d?d({x:E,y:f}):{x:E,y:f};E=p.x,f=p.y;var g=r.hasOwnProperty("x"),m=r.hasOwnProperty("y"),T=left,v=top,A=window;if(c){var b=getOffsetParent(n),N="clientHeight",S="clientWidth";if(b===getWindow(n)&&"static"!==getComputedStyle$1(b=getDocumentElement(n)).position&&"absolute"===a&&(N="scrollHeight",S="scrollWidth"),s===top||(s===left||s===right)&&o===end)v=bottom,f-=(u&&b===A&&A.visualViewport?A.visualViewport.height:b[N])-i.height,f*=l?1:-1;if(s===left||(s===top||s===bottom)&&o===end)T=right,E-=(u&&b===A&&A.visualViewport?A.visualViewport.width:b[S])-i.width,E*=l?1:-1}var O,y=Object.assign({position:a},c&&unsetSides),C=!0===d?roundOffsetsByDPR({x:E,y:f},getWindow(n)):{x:E,y:f};return E=C.x,f=C.y,l?Object.assign({},y,((O={})[v]=m?"0":"",O[T]=g?"0":"",O.transform=(A.devicePixelRatio||1)<=1?"translate("+E+"px, "+f+"px)":"translate3d("+E+"px, "+f+"px, 0)",O)):Object.assign({},y,((t={})[v]=m?f+"px":"",t[T]=g?E+"px":"",t.transform="",t))}function computeStyles(e){var t=e.state,n=e.options,i=n.gpuAcceleration,s=void 0===i||i,o=n.adaptive,r=void 0===o||o,a=n.roundOffsets,l=void 0===a||a,c={placement:getBasePlacement(t.placement),variation:getVariation(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:s,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,mapToStyles(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,mapToStyles(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}},passive={passive:!0};function effect(e){var t=e.state,n=e.instance,i=e.options,s=i.scroll,o=void 0===s||s,r=i.resize,a=void 0===r||r,l=getWindow(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return o&&c.forEach((function(e){e.addEventListener("scroll",n.update,passive)})),a&&l.addEventListener("resize",n.update,passive),function(){o&&c.forEach((function(e){e.removeEventListener("scroll",n.update,passive)})),a&&l.removeEventListener("resize",n.update,passive)}}var eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect,data:{}},hash$1={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(e){return e.replace(/left|right|bottom|top/g,(function(e){return hash$1[e]}))}var hash={start:"end",end:"start"};function getOppositeVariationPlacement(e){return e.replace(/start|end/g,(function(e){return hash[e]}))}function getWindowScroll(e){var t=getWindow(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function getWindowScrollBarX(e){return getBoundingClientRect(getDocumentElement(e)).left+getWindowScroll(e).scrollLeft}function getViewportRect(e,t){var n=getWindow(e),i=getDocumentElement(e),s=n.visualViewport,o=i.clientWidth,r=i.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=isLayoutViewport();(c||!c&&"fixed"===t)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+getWindowScrollBarX(e),y:l}}function getDocumentRect(e){var t,n=getDocumentElement(e),i=getWindowScroll(e),s=null==(t=e.ownerDocument)?void 0:t.body,o=max(n.scrollWidth,n.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=max(n.scrollHeight,n.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-i.scrollLeft+getWindowScrollBarX(e),l=-i.scrollTop;return"rtl"===getComputedStyle$1(s||n).direction&&(a+=max(n.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}function isScrollParent(e){var t=getComputedStyle$1(e),n=t.overflow,i=t.overflowX,s=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+s+i)}function getScrollParent(e){return["html","body","#document"].indexOf(getNodeName(e))>=0?e.ownerDocument.body:isHTMLElement(e)&&isScrollParent(e)?e:getScrollParent(getParentNode(e))}function listScrollParents(e,t){var n;void 0===t&&(t=[]);var i=getScrollParent(e),s=i===(null==(n=e.ownerDocument)?void 0:n.body),o=getWindow(i),r=s?[o].concat(o.visualViewport||[],isScrollParent(i)?i:[]):i,a=t.concat(r);return s?a:a.concat(listScrollParents(getParentNode(r)))}function rectToClientRect(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function getInnerBoundingClientRect(e,t){var n=getBoundingClientRect(e,!1,"fixed"===t);return n.top=n.top+e.clientTop,n.left=n.left+e.clientLeft,n.bottom=n.top+e.clientHeight,n.right=n.left+e.clientWidth,n.width=e.clientWidth,n.height=e.clientHeight,n.x=n.left,n.y=n.top,n}function getClientRectFromMixedType(e,t,n){return t===viewport?rectToClientRect(getViewportRect(e,n)):isElement$1(t)?getInnerBoundingClientRect(t,n):rectToClientRect(getDocumentRect(getDocumentElement(e)))}function getClippingParents(e){var t=listScrollParents(getParentNode(e)),n=["absolute","fixed"].indexOf(getComputedStyle$1(e).position)>=0&&isHTMLElement(e)?getOffsetParent(e):e;return isElement$1(n)?t.filter((function(e){return isElement$1(e)&&contains(e,n)&&"body"!==getNodeName(e)})):[]}function getClippingRect(e,t,n,i){var s="clippingParents"===t?getClippingParents(e):[].concat(t),o=[].concat(s,[n]),r=o[0],a=o.reduce((function(t,n){var s=getClientRectFromMixedType(e,n,i);return t.top=max(s.top,t.top),t.right=min(s.right,t.right),t.bottom=min(s.bottom,t.bottom),t.left=max(s.left,t.left),t}),getClientRectFromMixedType(e,r,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function computeOffsets(e){var t,n=e.reference,i=e.element,s=e.placement,o=s?getBasePlacement(s):null,r=s?getVariation(s):null,a=n.x+n.width/2-i.width/2,l=n.y+n.height/2-i.height/2;switch(o){case top:t={x:a,y:n.y-i.height};break;case bottom:t={x:a,y:n.y+n.height};break;case right:t={x:n.x+n.width,y:l};break;case left:t={x:n.x-i.width,y:l};break;default:t={x:n.x,y:n.y}}var c=o?getMainAxisFromPlacement(o):null;if(null!=c){var d="y"===c?"height":"width";switch(r){case start:t[c]=t[c]-(n[d]/2-i[d]/2);break;case end:t[c]=t[c]+(n[d]/2-i[d]/2)}}return t}function detectOverflow(e,t){void 0===t&&(t={});var n=t,i=n.placement,s=void 0===i?e.placement:i,o=n.strategy,r=void 0===o?e.strategy:o,a=n.boundary,l=void 0===a?clippingParents:a,c=n.rootBoundary,d=void 0===c?viewport:c,u=n.elementContext,h=void 0===u?popper:u,E=n.altBoundary,_=void 0!==E&&E,f=n.padding,p=void 0===f?0:f,g=mergePaddingObject("number"!=typeof p?p:expandToHashMap(p,basePlacements)),m=h===popper?reference:popper,T=e.rects.popper,v=e.elements[_?m:h],A=getClippingRect(isElement$1(v)?v:v.contextElement||getDocumentElement(e.elements.popper),l,d,r),b=getBoundingClientRect(e.elements.reference),N=computeOffsets({reference:b,element:T,strategy:"absolute",placement:s}),S=rectToClientRect(Object.assign({},T,N)),O=h===popper?S:b,y={top:A.top-O.top+g.top,bottom:O.bottom-A.bottom+g.bottom,left:A.left-O.left+g.left,right:O.right-A.right+g.right},C=e.modifiersData.offset;if(h===popper&&C){var w=C[s];Object.keys(y).forEach((function(e){var t=[right,bottom].indexOf(e)>=0?1:-1,n=[top,bottom].indexOf(e)>=0?"y":"x";y[e]+=w[n]*t}))}return y}function computeAutoPlacement(e,t){void 0===t&&(t={});var n=t,i=n.placement,s=n.boundary,o=n.rootBoundary,r=n.padding,a=n.flipVariations,l=n.allowedAutoPlacements,c=void 0===l?placements:l,d=getVariation(i),u=d?a?variationPlacements:variationPlacements.filter((function(e){return getVariation(e)===d})):basePlacements,h=u.filter((function(e){return c.indexOf(e)>=0}));0===h.length&&(h=u);var E=h.reduce((function(t,n){return t[n]=detectOverflow(e,{placement:n,boundary:s,rootBoundary:o,padding:r})[getBasePlacement(n)],t}),{});return Object.keys(E).sort((function(e,t){return E[e]-E[t]}))}function getExpandedFallbackPlacements(e){if(getBasePlacement(e)===auto)return[];var t=getOppositePlacement(e);return[getOppositeVariationPlacement(e),t,getOppositeVariationPlacement(t)]}function flip(e){var t=e.state,n=e.options,i=e.name;if(!t.modifiersData[i]._skip){for(var s=n.mainAxis,o=void 0===s||s,r=n.altAxis,a=void 0===r||r,l=n.fallbackPlacements,c=n.padding,d=n.boundary,u=n.rootBoundary,h=n.altBoundary,E=n.flipVariations,_=void 0===E||E,f=n.allowedAutoPlacements,p=t.options.placement,g=getBasePlacement(p),m=l||(g===p||!_?[getOppositePlacement(p)]:getExpandedFallbackPlacements(p)),T=[p].concat(m).reduce((function(e,n){return e.concat(getBasePlacement(n)===auto?computeAutoPlacement(t,{placement:n,boundary:d,rootBoundary:u,padding:c,flipVariations:_,allowedAutoPlacements:f}):n)}),[]),v=t.rects.reference,A=t.rects.popper,b=new Map,N=!0,S=T[0],O=0;O<T.length;O++){var y=T[O],C=getBasePlacement(y),w=getVariation(y)===start,D=[top,bottom].indexOf(C)>=0,L=D?"width":"height",$=detectOverflow(t,{placement:y,boundary:d,rootBoundary:u,altBoundary:h,padding:c}),I=D?w?right:left:w?bottom:top;v[L]>A[L]&&(I=getOppositePlacement(I));var R=getOppositePlacement(I),P=[];if(o&&P.push($[C]<=0),a&&P.push($[I]<=0,$[R]<=0),P.every((function(e){return e}))){S=y,N=!1;break}b.set(y,P)}if(N)for(var M=function(e){var t=T.find((function(t){var n=b.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return S=t,"break"},V=_?3:1;V>0;V--){if("break"===M(V))break}t.placement!==S&&(t.modifiersData[i]._skip=!0,t.placement=S,t.reset=!0)}}var flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function isAnySideFullyClipped(e){return[top,right,bottom,left].some((function(t){return e[t]>=0}))}function hide(e){var t=e.state,n=e.name,i=t.rects.reference,s=t.rects.popper,o=t.modifiersData.preventOverflow,r=detectOverflow(t,{elementContext:"reference"}),a=detectOverflow(t,{altBoundary:!0}),l=getSideOffsets(r,i),c=getSideOffsets(a,s,o),d=isAnySideFullyClipped(l),u=isAnySideFullyClipped(c);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:u},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":u})}var hide$1={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide};function distanceAndSkiddingToXY(e,t,n){var i=getBasePlacement(e),s=[left,top].indexOf(i)>=0?-1:1,o="function"==typeof n?n(Object.assign({},t,{placement:e})):n,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[left,right].indexOf(i)>=0?{x:a,y:r}:{x:r,y:a}}function offset(e){var t=e.state,n=e.options,i=e.name,s=n.offset,o=void 0===s?[0,0]:s,r=placements.reduce((function(e,n){return e[n]=distanceAndSkiddingToXY(n,t.rects,o),e}),{}),a=r[t.placement],l=a.x,c=a.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=c),t.modifiersData[i]=r}var offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};function popperOffsets(e){var t=e.state,n=e.name;t.modifiersData[n]=computeOffsets({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})}var popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}};function getAltAxis(e){return"x"===e?"y":"x"}function preventOverflow(e){var t=e.state,n=e.options,i=e.name,s=n.mainAxis,o=void 0===s||s,r=n.altAxis,a=void 0!==r&&r,l=n.boundary,c=n.rootBoundary,d=n.altBoundary,u=n.padding,h=n.tether,E=void 0===h||h,_=n.tetherOffset,f=void 0===_?0:_,p=detectOverflow(t,{boundary:l,rootBoundary:c,padding:u,altBoundary:d}),g=getBasePlacement(t.placement),m=getVariation(t.placement),T=!m,v=getMainAxisFromPlacement(g),A=getAltAxis(v),b=t.modifiersData.popperOffsets,N=t.rects.reference,S=t.rects.popper,O="function"==typeof f?f(Object.assign({},t.rects,{placement:t.placement})):f,y="number"==typeof O?{mainAxis:O,altAxis:O}:Object.assign({mainAxis:0,altAxis:0},O),C=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,w={x:0,y:0};if(b){if(o){var D,L="y"===v?top:left,$="y"===v?bottom:right,I="y"===v?"height":"width",R=b[v],P=R+p[L],M=R-p[$],V=E?-S[I]/2:0,H=m===start?N[I]:S[I],x=m===start?-S[I]:-N[I],k=t.elements.arrow,K=E&&k?getLayoutRect(k):{width:0,height:0},W=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:getFreshSideObject(),Y=W[L],B=W[$],j=within(0,N[I],K[I]),F=T?N[I]/2-V-j-Y-y.mainAxis:H-j-Y-y.mainAxis,G=T?-N[I]/2+V+j+B+y.mainAxis:x+j+B+y.mainAxis,U=t.elements.arrow&&getOffsetParent(t.elements.arrow),z=U?"y"===v?U.clientTop||0:U.clientLeft||0:0,q=null!=(D=null==C?void 0:C[v])?D:0,Q=R+G-q,X=within(E?min(P,R+F-q-z):P,R,E?max(M,Q):M);b[v]=X,w[v]=X-R}if(a){var J,Z="x"===v?top:left,ee="x"===v?bottom:right,te=b[A],ne="y"===A?"height":"width",ie=te+p[Z],se=te-p[ee],oe=-1!==[top,left].indexOf(g),re=null!=(J=null==C?void 0:C[A])?J:0,ae=oe?ie:te-N[ne]-S[ne]-re+y.altAxis,le=oe?te+N[ne]+S[ne]-re-y.altAxis:se,ce=E&&oe?withinMaxClamp(ae,te,le):within(E?ae:ie,te,E?le:se);b[A]=ce,w[A]=ce-te}t.modifiersData[i]=w}}var preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]};function getHTMLElementScroll(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function getNodeScroll(e){return e!==getWindow(e)&&isHTMLElement(e)?getHTMLElementScroll(e):getWindowScroll(e)}function isElementScaled(e){var t=e.getBoundingClientRect(),n=round(t.width)/e.offsetWidth||1,i=round(t.height)/e.offsetHeight||1;return 1!==n||1!==i}function getCompositeRect(e,t,n){void 0===n&&(n=!1);var i=isHTMLElement(t),s=isHTMLElement(t)&&isElementScaled(t),o=getDocumentElement(t),r=getBoundingClientRect(e,s,n),a={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!n)&&(("body"!==getNodeName(t)||isScrollParent(o))&&(a=getNodeScroll(t)),isHTMLElement(t)?((l=getBoundingClientRect(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):o&&(l.x=getWindowScrollBarX(o))),{x:r.left+a.scrollLeft-l.x,y:r.top+a.scrollTop-l.y,width:r.width,height:r.height}}function order(e){var t=new Map,n=new Set,i=[];function s(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var i=t.get(e);i&&s(i)}})),i.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||s(e)})),i}function orderModifiers(e){var t=order(e);return modifierPhases.reduce((function(e,n){return e.concat(t.filter((function(e){return e.phase===n})))}),[])}function debounce(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function mergeByName(e){var t=e.reduce((function(e,t){var n=e[t.name];return e[t.name]=n?Object.assign({},n,t,{options:Object.assign({},n.options,t.options),data:Object.assign({},n.data,t.data)}):t,e}),{});return Object.keys(t).map((function(e){return t[e]}))}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return!t.some((function(e){return!(e&&"function"==typeof e.getBoundingClientRect)}))}function popperGenerator(e){void 0===e&&(e={});var t=e,n=t.defaultModifiers,i=void 0===n?[]:n,s=t.defaultOptions,o=void 0===s?DEFAULT_OPTIONS:s;return function(e,t,n){void 0===n&&(n=o);var s={placement:"bottom",orderedModifiers:[],options:Object.assign({},DEFAULT_OPTIONS,o),modifiersData:{},elements:{reference:e,popper:t},attributes:{},styles:{}},r=[],a=!1,l={state:s,setOptions:function(n){var a="function"==typeof n?n(s.options):n;c(),s.options=Object.assign({},o,s.options,a),s.scrollParents={reference:isElement$1(e)?listScrollParents(e):e.contextElement?listScrollParents(e.contextElement):[],popper:listScrollParents(t)};var d=orderModifiers(mergeByName([].concat(i,s.options.modifiers)));return s.orderedModifiers=d.filter((function(e){return e.enabled})),s.orderedModifiers.forEach((function(e){var t=e.name,n=e.options,i=void 0===n?{}:n,o=e.effect;if("function"==typeof o){var a=o({state:s,name:t,instance:l,options:i}),c=function(){};r.push(a||c)}})),l.update()},forceUpdate:function(){if(!a){var e=s.elements,t=e.reference,n=e.popper;if(areValidElements(t,n)){s.rects={reference:getCompositeRect(t,getOffsetParent(n),"fixed"===s.options.strategy),popper:getLayoutRect(n)},s.reset=!1,s.placement=s.options.placement,s.orderedModifiers.forEach((function(e){return s.modifiersData[e.name]=Object.assign({},e.data)}));for(var i=0;i<s.orderedModifiers.length;i++)if(!0!==s.reset){var o=s.orderedModifiers[i],r=o.fn,c=o.options,d=void 0===c?{}:c,u=o.name;"function"==typeof r&&(s=r({state:s,options:d,name:u,instance:l})||s)}else s.reset=!1,i=-1}}},update:debounce((function(){return new Promise((function(e){l.forceUpdate(),e(s)}))})),destroy:function(){c(),a=!0}};if(!areValidElements(e,t))return l;function c(){r.forEach((function(e){return e()})),r=[]}return l.setOptions(n).then((function(e){!a&&n.onFirstUpdate&&n.onFirstUpdate(e)})),l}}var createPopper$2=popperGenerator(),defaultModifiers$1=[eventListeners,popperOffsets$1,computeStyles$1,applyStyles$1],createPopper$1=popperGenerator({defaultModifiers:defaultModifiers$1}),defaultModifiers=[eventListeners,popperOffsets$1,computeStyles$1,applyStyles$1,offset$1,flip$1,preventOverflow$1,arrow$1,hide$1],createPopper=popperGenerator({defaultModifiers}),Popper=Object.freeze({__proto__:null,popperGenerator,detectOverflow,createPopperBase:createPopper$2,createPopper,createPopperLite:createPopper$1,top,bottom,right,left,auto,basePlacements,start,end,clippingParents,viewport,popper,reference,variationPlacements,placements,beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite,modifierPhases,applyStyles:applyStyles$1,arrow:arrow$1,computeStyles:computeStyles$1,eventListeners,flip:flip$1,hide:hide$1,offset:offset$1,popperOffsets:popperOffsets$1,preventOverflow:preventOverflow$1});
+var t="top",e="bottom",i="right",n="left",s="auto",o=[t,e,i,n],r="start",a="end",l="clippingParents",c="viewport",h="popper",u="reference",d=o.reduce((function(t,e){return t.concat([e+"-"+r,e+"-"+a])}),[]),f=[].concat(o,[s]).reduce((function(t,e){return t.concat([e,e+"-"+r,e+"-"+a])}),[]),p="beforeRead",m="read",g="afterRead",_="beforeMain",b="main",v="afterMain",y="beforeWrite",w="write",A="afterWrite",E=[p,m,g,_,b,v,y,w,A];function C(t){return t?(t.nodeName||"").toLowerCase():null}function T(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function O(t){return t instanceof T(t).Element||t instanceof Element}function x(t){return t instanceof T(t).HTMLElement||t instanceof HTMLElement}function k(t){return"undefined"!=typeof ShadowRoot&&(t instanceof T(t).ShadowRoot||t instanceof ShadowRoot)}var L={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];x(s)&&C(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});x(n)&&C(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function S(t){return t.split("-")[0]}var D=Math.max,$=Math.min,I=Math.round;function N(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function P(){return!/^((?!chrome|android).)*safari/i.test(N())}function M(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&x(t)&&(s=t.offsetWidth>0&&I(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&I(n.height)/t.offsetHeight||1);var r=(O(t)?T(t):window).visualViewport,a=!P()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,u=n.height/o;return{width:h,height:u,top:c,right:l+h,bottom:c+u,left:l,x:l,y:c}}function j(t){var e=M(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function F(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&k(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function H(t){return T(t).getComputedStyle(t)}function W(t){return["table","td","th"].indexOf(C(t))>=0}function B(t){return((O(t)?t.ownerDocument:t.document)||window.document).documentElement}function z(t){return"html"===C(t)?t:t.assignedSlot||t.parentNode||(k(t)?t.host:null)||B(t)}function R(t){return x(t)&&"fixed"!==H(t).position?t.offsetParent:null}function q(t){for(var e=T(t),i=R(t);i&&W(i)&&"static"===H(i).position;)i=R(i);return i&&("html"===C(i)||"body"===C(i)&&"static"===H(i).position)?e:i||function(t){var e=/firefox/i.test(N());if(/Trident/i.test(N())&&x(t)&&"fixed"===H(t).position)return null;var i=z(t);for(k(i)&&(i=i.host);x(i)&&["html","body"].indexOf(C(i))<0;){var n=H(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function V(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function K(t,e,i){return D(t,$(e,i))}function Q(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function X(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}var Y={name:"arrow",enabled:!0,phase:"main",fn:function(s){var r,a=s.state,l=s.name,c=s.options,h=a.elements.arrow,u=a.modifiersData.popperOffsets,d=S(a.placement),f=V(d),p=[n,i].indexOf(d)>=0?"height":"width";if(h&&u){var m=function(t,e){return Q("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:X(t,o))}(c.padding,a),g=j(h),_="y"===f?t:n,b="y"===f?e:i,v=a.rects.reference[p]+a.rects.reference[f]-u[f]-a.rects.popper[p],y=u[f]-a.rects.reference[f],w=q(h),A=w?"y"===f?w.clientHeight||0:w.clientWidth||0:0,E=v/2-y/2,C=m[_],T=A-g[p]-m[b],O=A/2-g[p]/2+E,x=K(C,O,T),k=f;a.modifiersData[l]=((r={})[k]=x,r.centerOffset=x-O,r)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&F(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function U(t){return t.split("-")[1]}var G={top:"auto",right:"auto",bottom:"auto",left:"auto"};function J(s){var o,r=s.popper,l=s.popperRect,c=s.placement,h=s.variation,u=s.offsets,d=s.position,f=s.gpuAcceleration,p=s.adaptive,m=s.roundOffsets,g=s.isFixed,_=u.x,b=void 0===_?0:_,v=u.y,y=void 0===v?0:v,w="function"==typeof m?m({x:b,y}):{x:b,y};b=w.x,y=w.y;var A=u.hasOwnProperty("x"),E=u.hasOwnProperty("y"),C=n,O=t,x=window;if(p){var k=q(r),L="clientHeight",S="clientWidth";if(k===T(r)&&"static"!==H(k=B(r)).position&&"absolute"===d&&(L="scrollHeight",S="scrollWidth"),c===t||(c===n||c===i)&&h===a)O=e,y-=(g&&k===x&&x.visualViewport?x.visualViewport.height:k[L])-l.height,y*=f?1:-1;if(c===n||(c===t||c===e)&&h===a)C=i,b-=(g&&k===x&&x.visualViewport?x.visualViewport.width:k[S])-l.width,b*=f?1:-1}var D,$=Object.assign({position:d},p&&G),N=!0===m?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:I(i*s)/s||0,y:I(n*s)/s||0}}({x:b,y},T(r)):{x:b,y};return b=N.x,y=N.y,f?Object.assign({},$,((D={})[O]=E?"0":"",D[C]=A?"0":"",D.transform=(x.devicePixelRatio||1)<=1?"translate("+b+"px, "+y+"px)":"translate3d("+b+"px, "+y+"px, 0)",D)):Object.assign({},$,((o={})[O]=E?y+"px":"",o[C]=A?b+"px":"",o.transform="",o))}var Z={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:S(e.placement),variation:U(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,J(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,J(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}},tt={passive:!0};var et={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=T(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,tt)})),a&&l.addEventListener("resize",i.update,tt),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,tt)})),a&&l.removeEventListener("resize",i.update,tt)}},data:{}},it={left:"right",right:"left",bottom:"top",top:"bottom"};function nt(t){return t.replace(/left|right|bottom|top/g,(function(t){return it[t]}))}var st={start:"end",end:"start"};function ot(t){return t.replace(/start|end/g,(function(t){return st[t]}))}function rt(t){var e=T(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function at(t){return M(B(t)).left+rt(t).scrollLeft}function lt(t){var e=H(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function ct(t){return["html","body","#document"].indexOf(C(t))>=0?t.ownerDocument.body:x(t)&&lt(t)?t:ct(z(t))}function ht(t,e){var i;void 0===e&&(e=[]);var n=ct(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=T(n),r=s?[o].concat(o.visualViewport||[],lt(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(ht(z(r)))}function ut(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function dt(t,e,i){return e===c?ut(function(t,e){var i=T(t),n=B(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=P();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+at(t),y:l}}(t,i)):O(e)?function(t,e){var i=M(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):ut(function(t){var e,i=B(t),n=rt(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=D(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=D(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+at(t),l=-n.scrollTop;return"rtl"===H(s||i).direction&&(a+=D(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(B(t)))}function ft(t,e,i,n){var s="clippingParents"===e?function(t){var e=ht(z(t)),i=["absolute","fixed"].indexOf(H(t).position)>=0&&x(t)?q(t):t;return O(i)?e.filter((function(t){return O(t)&&F(t,i)&&"body"!==C(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=dt(t,i,n);return e.top=D(s.top,e.top),e.right=$(s.right,e.right),e.bottom=$(s.bottom,e.bottom),e.left=D(s.left,e.left),e}),dt(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function pt(s){var o,l=s.reference,c=s.element,h=s.placement,u=h?S(h):null,d=h?U(h):null,f=l.x+l.width/2-c.width/2,p=l.y+l.height/2-c.height/2;switch(u){case t:o={x:f,y:l.y-c.height};break;case e:o={x:f,y:l.y+l.height};break;case i:o={x:l.x+l.width,y:p};break;case n:o={x:l.x-c.width,y:p};break;default:o={x:l.x,y:l.y}}var m=u?V(u):null;if(null!=m){var g="y"===m?"height":"width";switch(d){case r:o[m]=o[m]-(l[g]/2-c[g]/2);break;case a:o[m]=o[m]+(l[g]/2-c[g]/2)}}return o}function mt(n,s){void 0===s&&(s={});var r=s,a=r.placement,d=void 0===a?n.placement:a,f=r.strategy,p=void 0===f?n.strategy:f,m=r.boundary,g=void 0===m?l:m,_=r.rootBoundary,b=void 0===_?c:_,v=r.elementContext,y=void 0===v?h:v,w=r.altBoundary,A=void 0!==w&&w,E=r.padding,C=void 0===E?0:E,T=Q("number"!=typeof C?C:X(C,o)),x=y===h?u:h,k=n.rects.popper,L=n.elements[A?x:y],S=ft(O(L)?L:L.contextElement||B(n.elements.popper),g,b,p),D=M(n.elements.reference),$=pt({reference:D,element:k,strategy:"absolute",placement:d}),I=ut(Object.assign({},k,$)),N=y===h?I:D,P={top:S.top-N.top+T.top,bottom:N.bottom-S.bottom+T.bottom,left:S.left-N.left+T.left,right:N.right-S.right+T.right},j=n.modifiersData.offset;if(y===h&&j){var F=j[d];Object.keys(P).forEach((function(n){var s=[i,e].indexOf(n)>=0?1:-1,o=[t,e].indexOf(n)>=0?"y":"x";P[n]+=F[o]*s}))}return P}function gt(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,r=i.rootBoundary,a=i.padding,l=i.flipVariations,c=i.allowedAutoPlacements,h=void 0===c?f:c,u=U(n),p=u?l?d:d.filter((function(t){return U(t)===u})):o,m=p.filter((function(t){return h.indexOf(t)>=0}));0===m.length&&(m=p);var g=m.reduce((function(e,i){return e[i]=mt(t,{placement:i,boundary:s,rootBoundary:r,padding:a})[S(i)],e}),{});return Object.keys(g).sort((function(t,e){return g[t]-g[e]}))}var _t={name:"flip",enabled:!0,phase:"main",fn:function(o){var a=o.state,l=o.options,c=o.name;if(!a.modifiersData[c]._skip){for(var h=l.mainAxis,u=void 0===h||h,d=l.altAxis,f=void 0===d||d,p=l.fallbackPlacements,m=l.padding,g=l.boundary,_=l.rootBoundary,b=l.altBoundary,v=l.flipVariations,y=void 0===v||v,w=l.allowedAutoPlacements,A=a.options.placement,E=S(A),C=p||(E===A||!y?[nt(A)]:function(t){if(S(t)===s)return[];var e=nt(t);return[ot(t),e,ot(e)]}(A)),T=[A].concat(C).reduce((function(t,e){return t.concat(S(e)===s?gt(a,{placement:e,boundary:g,rootBoundary:_,padding:m,flipVariations:y,allowedAutoPlacements:w}):e)}),[]),O=a.rects.reference,x=a.rects.popper,k=new Map,L=!0,D=T[0],$=0;$<T.length;$++){var I=T[$],N=S(I),P=U(I)===r,M=[t,e].indexOf(N)>=0,j=M?"width":"height",F=mt(a,{placement:I,boundary:g,rootBoundary:_,altBoundary:b,padding:m}),H=M?P?i:n:P?e:t;O[j]>x[j]&&(H=nt(H));var W=nt(H),B=[];if(u&&B.push(F[N]<=0),f&&B.push(F[H]<=0,F[W]<=0),B.every((function(t){return t}))){D=I,L=!1;break}k.set(I,B)}if(L)for(var z=function(t){var e=T.find((function(e){var i=k.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return D=e,"break"},R=y?3:1;R>0;R--){if("break"===z(R))break}a.placement!==D&&(a.modifiersData[c]._skip=!0,a.placement=D,a.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function bt(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function vt(s){return[t,i,e,n].some((function(t){return s[t]>=0}))}var yt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=mt(e,{elementContext:"reference"}),a=mt(e,{altBoundary:!0}),l=bt(r,n),c=bt(a,s,o),h=vt(l),u=vt(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":u})}};var wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var s=e.state,o=e.options,r=e.name,a=o.offset,l=void 0===a?[0,0]:a,c=f.reduce((function(e,o){return e[o]=function(e,s,o){var r=S(e),a=[n,t].indexOf(r)>=0?-1:1,l="function"==typeof o?o(Object.assign({},s,{placement:e})):o,c=l[0],h=l[1];return c=c||0,h=(h||0)*a,[n,i].indexOf(r)>=0?{x:h,y:c}:{x:c,y:h}}(o,s.rects,l),e}),{}),h=c[s.placement],u=h.x,d=h.y;null!=s.modifiersData.popperOffsets&&(s.modifiersData.popperOffsets.x+=u,s.modifiersData.popperOffsets.y+=d),s.modifiersData[r]=c}};var At={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=pt({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}};var Et={name:"preventOverflow",enabled:!0,phase:"main",fn:function(s){var o=s.state,a=s.options,l=s.name,c=a.mainAxis,h=void 0===c||c,u=a.altAxis,d=void 0!==u&&u,f=a.boundary,p=a.rootBoundary,m=a.altBoundary,g=a.padding,_=a.tether,b=void 0===_||_,v=a.tetherOffset,y=void 0===v?0:v,w=mt(o,{boundary:f,rootBoundary:p,padding:g,altBoundary:m}),A=S(o.placement),E=U(o.placement),C=!E,T=V(A),O="x"===T?"y":"x",x=o.modifiersData.popperOffsets,k=o.rects.reference,L=o.rects.popper,I="function"==typeof y?y(Object.assign({},o.rects,{placement:o.placement})):y,N="number"==typeof I?{mainAxis:I,altAxis:I}:Object.assign({mainAxis:0,altAxis:0},I),P=o.modifiersData.offset?o.modifiersData.offset[o.placement]:null,M={x:0,y:0};if(x){if(h){var F,H="y"===T?t:n,W="y"===T?e:i,B="y"===T?"height":"width",z=x[T],R=z+w[H],Q=z-w[W],X=b?-L[B]/2:0,Y=E===r?k[B]:L[B],G=E===r?-L[B]:-k[B],J=o.elements.arrow,Z=b&&J?j(J):{width:0,height:0},tt=o.modifiersData["arrow#persistent"]?o.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},et=tt[H],it=tt[W],nt=K(0,k[B],Z[B]),st=C?k[B]/2-X-nt-et-N.mainAxis:Y-nt-et-N.mainAxis,ot=C?-k[B]/2+X+nt+it+N.mainAxis:G+nt+it+N.mainAxis,rt=o.elements.arrow&&q(o.elements.arrow),at=rt?"y"===T?rt.clientTop||0:rt.clientLeft||0:0,lt=null!=(F=null==P?void 0:P[T])?F:0,ct=z+ot-lt,ht=K(b?$(R,z+st-lt-at):R,z,b?D(Q,ct):Q);x[T]=ht,M[T]=ht-z}if(d){var ut,dt="x"===T?t:n,ft="x"===T?e:i,pt=x[O],gt="y"===O?"height":"width",_t=pt+w[dt],bt=pt-w[ft],vt=-1!==[t,n].indexOf(A),yt=null!=(ut=null==P?void 0:P[O])?ut:0,wt=vt?_t:pt-k[gt]-L[gt]-yt+N.altAxis,At=vt?pt+k[gt]+L[gt]-yt-N.altAxis:bt,Et=b&&vt?function(t,e,i){var n=K(t,e,i);return n>i?i:n}(wt,pt,At):K(b?wt:_t,pt,b?At:bt);x[O]=Et,M[O]=Et-pt}o.modifiersData[l]=M}},requiresIfExists:["offset"]};function Ct(t,e,i){void 0===i&&(i=!1);var n,s,o=x(e),r=x(e)&&function(t){var e=t.getBoundingClientRect(),i=I(e.width)/t.offsetWidth||1,n=I(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=B(e),l=M(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==C(e)||lt(a))&&(c=(n=e)!==T(n)&&x(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:rt(n)),x(e)?((h=M(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=at(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function Tt(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function xt(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function kt(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?Ot:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},Ot,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;u(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:O(t)?ht(t):t.contextElement?ht(t.contextElement):[],popper:ht(e)};var r,c,d=function(t){var e=Tt(t);return E.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=d.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n}),r=function(){};l.push(o||r)}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(xt(e,i)){a.rects={reference:Ct(e,q(i),"fixed"===a.options.strategy),popper:j(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,u=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:u,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){u(),c=!0}};if(!xt(t,e))return h;function u(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var Lt=kt(),St=kt({defaultModifiers:[et,At,Z,L]}),Dt=kt({defaultModifiers:[et,At,Z,L,wt,_t,Et,Y,yt]}),$t=Object.freeze({__proto__:null,popperGenerator:kt,detectOverflow:mt,createPopperBase:Lt,createPopper:Dt,createPopperLite:St,top:t,bottom:e,right:i,left:n,auto:s,basePlacements:o,start:r,end:a,clippingParents:l,viewport:c,popper:h,reference:u,variationPlacements:d,placements:f,beforeRead:p,read:m,afterRead:g,beforeMain:_,main:b,afterMain:v,beforeWrite:y,write:w,afterWrite:A,modifierPhases:E,applyStyles:L,arrow:Y,computeStyles:Z,eventListeners:et,flip:_t,hide:yt,offset:wt,popperOffsets:At,preventOverflow:Et});
 /*!
   * Bootstrap v5.3.2 (https://getbootstrap.com/)
   * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
-const elementMap=new Map,Data={set(e,t,n){elementMap.has(e)||elementMap.set(e,new Map);const i=elementMap.get(e);i.has(t)||0===i.size?i.set(t,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(i.keys())[0]}.`)},get:(e,t)=>elementMap.has(e)&&elementMap.get(e).get(t)||null,remove(e,t){if(!elementMap.has(e))return;const n=elementMap.get(e);n.delete(t),0===n.size&&elementMap.delete(e)}},MAX_UID=1e6,MILLISECONDS_MULTIPLIER=1e3,TRANSITION_END="transitionend",parseSelector=e=>(e&&window.CSS&&window.CSS.escape&&(e=e.replace(/#([^\s"#']+)/g,((e,t)=>`#${CSS.escape(t)}`))),e),toType=e=>null==e?`${e}`:Object.prototype.toString.call(e).match(/\s([a-z]+)/i)[1].toLowerCase(),getUID=e=>{do{e+=Math.floor(1e6*Math.random())}while(document.getElementById(e));return e},getTransitionDurationFromElement=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:n}=window.getComputedStyle(e);const i=Number.parseFloat(t),s=Number.parseFloat(n);return i||s?(t=t.split(",")[0],n=n.split(",")[0],1e3*(Number.parseFloat(t)+Number.parseFloat(n))):0},triggerTransitionEnd=e=>{e.dispatchEvent(new Event(TRANSITION_END))},isElement=e=>!(!e||"object"!=typeof e)&&(void 0!==e.jquery&&(e=e[0]),void 0!==e.nodeType),getElement=e=>isElement(e)?e.jquery?e[0]:e:"string"==typeof e&&e.length>0?document.querySelector(parseSelector(e)):null,isVisible=e=>{if(!isElement(e)||0===e.getClientRects().length)return!1;const t="visible"===getComputedStyle(e).getPropertyValue("visibility"),n=e.closest("details:not([open])");if(!n)return t;if(n!==e){const t=e.closest("summary");if(t&&t.parentNode!==n)return!1;if(null===t)return!1}return t},isDisabled=e=>!e||e.nodeType!==Node.ELEMENT_NODE||(!!e.classList.contains("disabled")||(void 0!==e.disabled?e.disabled:e.hasAttribute("disabled")&&"false"!==e.getAttribute("disabled"))),findShadowRoot=e=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof e.getRootNode){const t=e.getRootNode();return t instanceof ShadowRoot?t:null}return e instanceof ShadowRoot?e:e.parentNode?findShadowRoot(e.parentNode):null},noop=()=>{},reflow=e=>{e.offsetHeight},getjQuery=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,DOMContentLoadedCallbacks=[],onDOMContentLoaded=e=>{"loading"===document.readyState?(DOMContentLoadedCallbacks.length||document.addEventListener("DOMContentLoaded",(()=>{for(const e of DOMContentLoadedCallbacks)e()})),DOMContentLoadedCallbacks.push(e)):e()},isRTL=()=>"rtl"===document.documentElement.dir,defineJQueryPlugin=e=>{onDOMContentLoaded((()=>{const t=getjQuery();if(t){const n=e.NAME,i=t.fn[n];t.fn[n]=e.jQueryInterface,t.fn[n].Constructor=e,t.fn[n].noConflict=()=>(t.fn[n]=i,e.jQueryInterface)}}))},execute=(e,t=[],n=e)=>"function"==typeof e?e(...t):n,executeAfterTransition=(e,t,n=!0)=>{if(!n)return void execute(e);const i=getTransitionDurationFromElement(t)+5;let s=!1;const o=({target:n})=>{n===t&&(s=!0,t.removeEventListener(TRANSITION_END,o),execute(e))};t.addEventListener(TRANSITION_END,o),setTimeout((()=>{s||triggerTransitionEnd(t)}),i)},getNextActiveElement=(e,t,n,i)=>{const s=e.length;let o=e.indexOf(t);return-1===o?!n&&i?e[s-1]:e[0]:(o+=n?1:-1,i&&(o=(o+s)%s),e[Math.max(0,Math.min(o,s-1))])},namespaceRegex=/[^.]*(?=\..*)\.|.*/,stripNameRegex=/\..*/,stripUidRegex=/::\d+$/,eventRegistry={};let uidEvent=1;const customEvents={mouseenter:"mouseover",mouseleave:"mouseout"},nativeEvents=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function makeEventUid(e,t){return t&&`${t}::${uidEvent++}`||e.uidEvent||uidEvent++}function getElementEvents(e){const t=makeEventUid(e);return e.uidEvent=t,eventRegistry[t]=eventRegistry[t]||{},eventRegistry[t]}function bootstrapHandler(e,t){return function n(i){return hydrateObj(i,{delegateTarget:e}),n.oneOff&&EventHandler.off(e,i.type,t),t.apply(e,[i])}}function bootstrapDelegationHandler(e,t,n){return function i(s){const o=e.querySelectorAll(t);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return hydrateObj(s,{delegateTarget:r}),i.oneOff&&EventHandler.off(e,s.type,t,n),n.apply(r,[s])}}function findHandler(e,t,n=null){return Object.values(e).find((e=>e.callable===t&&e.delegationSelector===n))}function normalizeParameters(e,t,n){const i="string"==typeof t,s=i?n:t||n;let o=getTypeEvent(e);return nativeEvents.has(o)||(o=e),[i,s,o]}function addHandler(e,t,n,i,s){if("string"!=typeof t||!e)return;let[o,r,a]=normalizeParameters(t,n,i);if(t in customEvents){const e=e=>function(t){if(!t.relatedTarget||t.relatedTarget!==t.delegateTarget&&!t.delegateTarget.contains(t.relatedTarget))return e.call(this,t)};r=e(r)}const l=getElementEvents(e),c=l[a]||(l[a]={}),d=findHandler(c,r,o?n:null);if(d)return void(d.oneOff=d.oneOff&&s);const u=makeEventUid(r,t.replace(namespaceRegex,"")),h=o?bootstrapDelegationHandler(e,n,r):bootstrapHandler(e,r);h.delegationSelector=o?n:null,h.callable=r,h.oneOff=s,h.uidEvent=u,c[u]=h,e.addEventListener(a,h,o)}function removeHandler(e,t,n,i,s){const o=findHandler(t[n],i,s);o&&(e.removeEventListener(n,o,Boolean(s)),delete t[n][o.uidEvent])}function removeNamespacedHandlers(e,t,n,i){const s=t[n]||{};for(const[o,r]of Object.entries(s))o.includes(i)&&removeHandler(e,t,n,r.callable,r.delegationSelector)}function getTypeEvent(e){return e=e.replace(stripNameRegex,""),customEvents[e]||e}const EventHandler={on(e,t,n,i){addHandler(e,t,n,i,!1)},one(e,t,n,i){addHandler(e,t,n,i,!0)},off(e,t,n,i){if("string"!=typeof t||!e)return;const[s,o,r]=normalizeParameters(t,n,i),a=r!==t,l=getElementEvents(e),c=l[r]||{},d=t.startsWith(".");if(void 0===o){if(d)for(const n of Object.keys(l))removeNamespacedHandlers(e,l,n,t.slice(1));for(const[n,i]of Object.entries(c)){const s=n.replace(stripUidRegex,"");a&&!t.includes(s)||removeHandler(e,l,r,i.callable,i.delegationSelector)}}else{if(!Object.keys(c).length)return;removeHandler(e,l,r,o,s?n:null)}},trigger(e,t,n){if("string"!=typeof t||!e)return null;const i=getjQuery();let s=null,o=!0,r=!0,a=!1;t!==getTypeEvent(t)&&i&&(s=i.Event(t,n),i(e).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=hydrateObj(new Event(t,{bubbles:o,cancelable:!0}),n);return a&&l.preventDefault(),r&&e.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function hydrateObj(e,t={}){for(const[n,i]of Object.entries(t))try{e[n]=i}catch(t){Object.defineProperty(e,n,{configurable:!0,get:()=>i})}return e}function normalizeData(e){if("true"===e)return!0;if("false"===e)return!1;if(e===Number(e).toString())return Number(e);if(""===e||"null"===e)return null;if("string"!=typeof e)return e;try{return JSON.parse(decodeURIComponent(e))}catch(t){return e}}function normalizeDataKey(e){return e.replace(/[A-Z]/g,(e=>`-${e.toLowerCase()}`))}const Manipulator={setDataAttribute(e,t,n){e.setAttribute(`data-bs-${normalizeDataKey(t)}`,n)},removeDataAttribute(e,t){e.removeAttribute(`data-bs-${normalizeDataKey(t)}`)},getDataAttributes(e){if(!e)return{};const t={},n=Object.keys(e.dataset).filter((e=>e.startsWith("bs")&&!e.startsWith("bsConfig")));for(const i of n){let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),t[n]=normalizeData(e.dataset[i])}return t},getDataAttribute:(e,t)=>normalizeData(e.getAttribute(`data-bs-${normalizeDataKey(t)}`))};class Config{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(e){return e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e}_mergeConfigObj(e,t){const n=isElement(t)?Manipulator.getDataAttribute(t,"config"):{};return{...this.constructor.Default,..."object"==typeof n?n:{},...isElement(t)?Manipulator.getDataAttributes(t):{},..."object"==typeof e?e:{}}}_typeCheckConfig(e,t=this.constructor.DefaultType){for(const[n,i]of Object.entries(t)){const t=e[n],s=isElement(t)?"element":toType(t);if(!new RegExp(i).test(s))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${s}" but expected type "${i}".`)}}}const VERSION="5.3.2";class BaseComponent extends Config{constructor(e,t){super(),(e=getElement(e))&&(this._element=e,this._config=this._getConfig(t),Data.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Data.remove(this._element,this.constructor.DATA_KEY),EventHandler.off(this._element,this.constructor.EVENT_KEY);for(const e of Object.getOwnPropertyNames(this))this[e]=null}_queueCallback(e,t,n=!0){executeAfterTransition(e,t,n)}_getConfig(e){return e=this._mergeConfigObj(e,this._element),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}static getInstance(e){return Data.get(getElement(e),this.DATA_KEY)}static getOrCreateInstance(e,t={}){return this.getInstance(e)||new this(e,"object"==typeof t?t:null)}static get VERSION(){return"5.3.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(e){return`${e}${this.EVENT_KEY}`}}const getSelector=e=>{let t=e.getAttribute("data-bs-target");if(!t||"#"===t){let n=e.getAttribute("href");if(!n||!n.includes("#")&&!n.startsWith("."))return null;n.includes("#")&&!n.startsWith("#")&&(n=`#${n.split("#")[1]}`),t=n&&"#"!==n?parseSelector(n.trim()):null}return t},SelectorEngine={find:(e,t=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(t,e)),findOne:(e,t=document.documentElement)=>Element.prototype.querySelector.call(t,e),children:(e,t)=>[].concat(...e.children).filter((e=>e.matches(t))),parents(e,t){const n=[];let i=e.parentNode.closest(t);for(;i;)n.push(i),i=i.parentNode.closest(t);return n},prev(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return[n];n=n.previousElementSibling}return[]},next(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return[n];n=n.nextElementSibling}return[]},focusableChildren(e){const t=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((e=>`${e}:not([tabindex^="-"])`)).join(",");return this.find(t,e).filter((e=>!isDisabled(e)&&isVisible(e)))},getSelectorFromElement(e){const t=getSelector(e);return t&&SelectorEngine.findOne(t)?t:null},getElementFromSelector(e){const t=getSelector(e);return t?SelectorEngine.findOne(t):null},getMultipleElementsFromSelector(e){const t=getSelector(e);return t?SelectorEngine.find(t):[]}},enableDismissTrigger=(e,t="hide")=>{const n=`click.dismiss${e.EVENT_KEY}`,i=e.NAME;EventHandler.on(document,n,`[data-bs-dismiss="${i}"]`,(function(n){if(["A","AREA"].includes(this.tagName)&&n.preventDefault(),isDisabled(this))return;const s=SelectorEngine.getElementFromSelector(this)||this.closest(`.${i}`);e.getOrCreateInstance(s)[t]()}))},NAME$f="alert",DATA_KEY$a="bs.alert",EVENT_KEY$b=".bs.alert",EVENT_CLOSE="close.bs.alert",EVENT_CLOSED="closed.bs.alert",CLASS_NAME_FADE$5="fade",CLASS_NAME_SHOW$8="show";class Alert extends BaseComponent{static get NAME(){return NAME$f}close(){if(EventHandler.trigger(this._element,EVENT_CLOSE).defaultPrevented)return;this._element.classList.remove("show");const e=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,e)}_destroyElement(){this._element.remove(),EventHandler.trigger(this._element,EVENT_CLOSED),this.dispose()}static jQueryInterface(e){return this.each((function(){const t=Alert.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}enableDismissTrigger(Alert,"close"),defineJQueryPlugin(Alert);const NAME$e="button",DATA_KEY$9="bs.button",EVENT_KEY$a=`.${DATA_KEY$9}`,DATA_API_KEY$6=".data-api",CLASS_NAME_ACTIVE$3="active",SELECTOR_DATA_TOGGLE$5='[data-bs-toggle="button"]',EVENT_CLICK_DATA_API$6=`click${EVENT_KEY$a}.data-api`;class Button extends BaseComponent{static get NAME(){return NAME$e}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(e){return this.each((function(){const t=Button.getOrCreateInstance(this);"toggle"===e&&t[e]()}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$6,SELECTOR_DATA_TOGGLE$5,(e=>{e.preventDefault();const t=e.target.closest(SELECTOR_DATA_TOGGLE$5);Button.getOrCreateInstance(t).toggle()})),defineJQueryPlugin(Button);const NAME$d="swipe",EVENT_KEY$9=".bs.swipe",EVENT_TOUCHSTART="touchstart.bs.swipe",EVENT_TOUCHMOVE="touchmove.bs.swipe",EVENT_TOUCHEND="touchend.bs.swipe",EVENT_POINTERDOWN="pointerdown.bs.swipe",EVENT_POINTERUP="pointerup.bs.swipe",POINTER_TYPE_TOUCH="touch",POINTER_TYPE_PEN="pen",CLASS_NAME_POINTER_EVENT="pointer-event",SWIPE_THRESHOLD=40,Default$c={endCallback:null,leftCallback:null,rightCallback:null},DefaultType$c={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class Swipe extends Config{constructor(e,t){super(),this._element=e,e&&Swipe.isSupported()&&(this._config=this._getConfig(t),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Default$c}static get DefaultType(){return DefaultType$c}static get NAME(){return NAME$d}dispose(){EventHandler.off(this._element,".bs.swipe")}_start(e){this._supportPointerEvents?this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX):this._deltaX=e.touches[0].clientX}_end(e){this._eventIsPointerPenTouch(e)&&(this._deltaX=e.clientX-this._deltaX),this._handleSwipe(),execute(this._config.endCallback)}_move(e){this._deltaX=e.touches&&e.touches.length>1?0:e.touches[0].clientX-this._deltaX}_handleSwipe(){const e=Math.abs(this._deltaX);if(e<=40)return;const t=e/this._deltaX;this._deltaX=0,t&&execute(t>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(EventHandler.on(this._element,EVENT_POINTERDOWN,(e=>this._start(e))),EventHandler.on(this._element,EVENT_POINTERUP,(e=>this._end(e))),this._element.classList.add("pointer-event")):(EventHandler.on(this._element,EVENT_TOUCHSTART,(e=>this._start(e))),EventHandler.on(this._element,EVENT_TOUCHMOVE,(e=>this._move(e))),EventHandler.on(this._element,EVENT_TOUCHEND,(e=>this._end(e))))}_eventIsPointerPenTouch(e){return this._supportPointerEvents&&("pen"===e.pointerType||"touch"===e.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const NAME$c="carousel",DATA_KEY$8="bs.carousel",EVENT_KEY$8=`.${DATA_KEY$8}`,DATA_API_KEY$5=".data-api",ARROW_LEFT_KEY$1="ArrowLeft",ARROW_RIGHT_KEY$1="ArrowRight",TOUCHEVENT_COMPAT_WAIT=500,ORDER_NEXT="next",ORDER_PREV="prev",DIRECTION_LEFT="left",DIRECTION_RIGHT="right",EVENT_SLIDE=`slide${EVENT_KEY$8}`,EVENT_SLID=`slid${EVENT_KEY$8}`,EVENT_KEYDOWN$1=`keydown${EVENT_KEY$8}`,EVENT_MOUSEENTER$1=`mouseenter${EVENT_KEY$8}`,EVENT_MOUSELEAVE$1=`mouseleave${EVENT_KEY$8}`,EVENT_DRAG_START=`dragstart${EVENT_KEY$8}`,EVENT_LOAD_DATA_API$3=`load${EVENT_KEY$8}.data-api`,EVENT_CLICK_DATA_API$5=`click${EVENT_KEY$8}.data-api`,CLASS_NAME_CAROUSEL="carousel",CLASS_NAME_ACTIVE$2="active",CLASS_NAME_SLIDE="slide",CLASS_NAME_END="carousel-item-end",CLASS_NAME_START="carousel-item-start",CLASS_NAME_NEXT="carousel-item-next",CLASS_NAME_PREV="carousel-item-prev",SELECTOR_ACTIVE=".active",SELECTOR_ITEM=".carousel-item",SELECTOR_ACTIVE_ITEM=".active.carousel-item",SELECTOR_ITEM_IMG=".carousel-item img",SELECTOR_INDICATORS=".carousel-indicators",SELECTOR_DATA_SLIDE="[data-bs-slide], [data-bs-slide-to]",SELECTOR_DATA_RIDE='[data-bs-ride="carousel"]',KEY_TO_DIRECTION={[ARROW_LEFT_KEY$1]:"right",[ARROW_RIGHT_KEY$1]:"left"},Default$b={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},DefaultType$b={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class Carousel extends BaseComponent{constructor(e,t){super(e,t),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=SelectorEngine.findOne(SELECTOR_INDICATORS,this._element),this._addEventListeners(),"carousel"===this._config.ride&&this.cycle()}static get Default(){return Default$b}static get DefaultType(){return DefaultType$b}static get NAME(){return NAME$c}next(){this._slide("next")}nextWhenVisible(){!document.hidden&&isVisible(this._element)&&this.next()}prev(){this._slide("prev")}pause(){this._isSliding&&triggerTransitionEnd(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?EventHandler.one(this._element,EVENT_SLID,(()=>this.cycle())):this.cycle())}to(e){const t=this._getItems();if(e>t.length-1||e<0)return;if(this._isSliding)return void EventHandler.one(this._element,EVENT_SLID,(()=>this.to(e)));const n=this._getItemIndex(this._getActive());if(n===e)return;const i=e>n?"next":"prev";this._slide(i,t[e])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(e){return e.defaultInterval=e.interval,e}_addEventListeners(){this._config.keyboard&&EventHandler.on(this._element,EVENT_KEYDOWN$1,(e=>this._keydown(e))),"hover"===this._config.pause&&(EventHandler.on(this._element,EVENT_MOUSEENTER$1,(()=>this.pause())),EventHandler.on(this._element,EVENT_MOUSELEAVE$1,(()=>this._maybeEnableCycle()))),this._config.touch&&Swipe.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const e of SelectorEngine.find(SELECTOR_ITEM_IMG,this._element))EventHandler.on(e,EVENT_DRAG_START,(e=>e.preventDefault()));const e={leftCallback:()=>this._slide(this._directionToOrder("left")),rightCallback:()=>this._slide(this._directionToOrder("right")),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new Swipe(this._element,e)}_keydown(e){if(/input|textarea/i.test(e.target.tagName))return;const t=KEY_TO_DIRECTION[e.key];t&&(e.preventDefault(),this._slide(this._directionToOrder(t)))}_getItemIndex(e){return this._getItems().indexOf(e)}_setActiveIndicatorElement(e){if(!this._indicatorsElement)return;const t=SelectorEngine.findOne(".active",this._indicatorsElement);t.classList.remove("active"),t.removeAttribute("aria-current");const n=SelectorEngine.findOne(`[data-bs-slide-to="${e}"]`,this._indicatorsElement);n&&(n.classList.add("active"),n.setAttribute("aria-current","true"))}_updateInterval(){const e=this._activeElement||this._getActive();if(!e)return;const t=Number.parseInt(e.getAttribute("data-bs-interval"),10);this._config.interval=t||this._config.defaultInterval}_slide(e,t=null){if(this._isSliding)return;const n=this._getActive(),i="next"===e,s=t||getNextActiveElement(this._getItems(),n,i,this._config.wrap);if(s===n)return;const o=this._getItemIndex(s),r=t=>EventHandler.trigger(this._element,t,{relatedTarget:s,direction:this._orderToDirection(e),from:this._getItemIndex(n),to:o});if(r(EVENT_SLIDE).defaultPrevented)return;if(!n||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=i?CLASS_NAME_START:CLASS_NAME_END,c=i?CLASS_NAME_NEXT:CLASS_NAME_PREV;s.classList.add(c),reflow(s),n.classList.add(l),s.classList.add(l);this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add("active"),n.classList.remove("active",c,l),this._isSliding=!1,r(EVENT_SLID)}),n,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM,this._element)}_getItems(){return SelectorEngine.find(SELECTOR_ITEM,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(e){return isRTL()?"left"===e?"prev":"next":"left"===e?"next":"prev"}_orderToDirection(e){return isRTL()?"prev"===e?"left":"right":"prev"===e?"right":"left"}static jQueryInterface(e){return this.each((function(){const t=Carousel.getOrCreateInstance(this,e);if("number"!=typeof e){if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}else t.to(e)}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$5,SELECTOR_DATA_SLIDE,(function(e){const t=SelectorEngine.getElementFromSelector(this);if(!t||!t.classList.contains("carousel"))return;e.preventDefault();const n=Carousel.getOrCreateInstance(t),i=this.getAttribute("data-bs-slide-to");return i?(n.to(i),void n._maybeEnableCycle()):"next"===Manipulator.getDataAttribute(this,"slide")?(n.next(),void n._maybeEnableCycle()):(n.prev(),void n._maybeEnableCycle())})),EventHandler.on(window,EVENT_LOAD_DATA_API$3,(()=>{const e=SelectorEngine.find(SELECTOR_DATA_RIDE);for(const t of e)Carousel.getOrCreateInstance(t)})),defineJQueryPlugin(Carousel);const NAME$b="collapse",DATA_KEY$7="bs.collapse",EVENT_KEY$7=`.${DATA_KEY$7}`,DATA_API_KEY$4=".data-api",EVENT_SHOW$6=`show${EVENT_KEY$7}`,EVENT_SHOWN$6=`shown${EVENT_KEY$7}`,EVENT_HIDE$6=`hide${EVENT_KEY$7}`,EVENT_HIDDEN$6=`hidden${EVENT_KEY$7}`,EVENT_CLICK_DATA_API$4=`click${EVENT_KEY$7}.data-api`,CLASS_NAME_SHOW$7="show",CLASS_NAME_COLLAPSE="collapse",CLASS_NAME_COLLAPSING="collapsing",CLASS_NAME_COLLAPSED="collapsed",CLASS_NAME_DEEPER_CHILDREN=":scope .collapse .collapse",CLASS_NAME_HORIZONTAL="collapse-horizontal",WIDTH="width",HEIGHT="height",SELECTOR_ACTIVES=".collapse.show, .collapse.collapsing",SELECTOR_DATA_TOGGLE$4='[data-bs-toggle="collapse"]',Default$a={parent:null,toggle:!0},DefaultType$a={parent:"(null|element)",toggle:"boolean"};class Collapse extends BaseComponent{constructor(e,t){super(e,t),this._isTransitioning=!1,this._triggerArray=[];const n=SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);for(const e of n){const t=SelectorEngine.getSelectorFromElement(e),n=SelectorEngine.find(t).filter((e=>e===this._element));null!==t&&n.length&&this._triggerArray.push(e)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Default$a}static get DefaultType(){return DefaultType$a}static get NAME(){return NAME$b}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let e=[];if(this._config.parent&&(e=this._getFirstLevelChildren(SELECTOR_ACTIVES).filter((e=>e!==this._element)).map((e=>Collapse.getOrCreateInstance(e,{toggle:!1})))),e.length&&e[0]._isTransitioning)return;if(EventHandler.trigger(this._element,EVENT_SHOW$6).defaultPrevented)return;for(const t of e)t.hide();const t=this._getDimension();this._element.classList.remove("collapse"),this._element.classList.add("collapsing"),this._element.style[t]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const n=`scroll${t[0].toUpperCase()+t.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse","show"),this._element.style[t]="",EventHandler.trigger(this._element,EVENT_SHOWN$6)}),this._element,!0),this._element.style[t]=`${this._element[n]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE$6).defaultPrevented)return;const e=this._getDimension();this._element.style[e]=`${this._element.getBoundingClientRect()[e]}px`,reflow(this._element),this._element.classList.add("collapsing"),this._element.classList.remove("collapse","show");for(const e of this._triggerArray){const t=SelectorEngine.getElementFromSelector(e);t&&!this._isShown(t)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0;this._element.style[e]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove("collapsing"),this._element.classList.add("collapse"),EventHandler.trigger(this._element,EVENT_HIDDEN$6)}),this._element,!0)}_isShown(e=this._element){return e.classList.contains("show")}_configAfterMerge(e){return e.toggle=Boolean(e.toggle),e.parent=getElement(e.parent),e}_getDimension(){return this._element.classList.contains("collapse-horizontal")?WIDTH:HEIGHT}_initializeChildren(){if(!this._config.parent)return;const e=this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);for(const t of e){const e=SelectorEngine.getElementFromSelector(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}}_getFirstLevelChildren(e){const t=SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN,this._config.parent);return SelectorEngine.find(e,this._config.parent).filter((e=>!t.includes(e)))}_addAriaAndCollapsedClass(e,t){if(e.length)for(const n of e)n.classList.toggle("collapsed",!t),n.setAttribute("aria-expanded",t)}static jQueryInterface(e){const t={};return"string"==typeof e&&/show|hide/.test(e)&&(t.toggle=!1),this.each((function(){const n=Collapse.getOrCreateInstance(this,t);if("string"==typeof e){if(void 0===n[e])throw new TypeError(`No method named "${e}"`);n[e]()}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$4,SELECTOR_DATA_TOGGLE$4,(function(e){("A"===e.target.tagName||e.delegateTarget&&"A"===e.delegateTarget.tagName)&&e.preventDefault();for(const e of SelectorEngine.getMultipleElementsFromSelector(this))Collapse.getOrCreateInstance(e,{toggle:!1}).toggle()})),defineJQueryPlugin(Collapse);const NAME$a="dropdown",DATA_KEY$6="bs.dropdown",EVENT_KEY$6=`.${DATA_KEY$6}`,DATA_API_KEY$3=".data-api",ESCAPE_KEY$2="Escape",TAB_KEY$1="Tab",ARROW_UP_KEY$1="ArrowUp",ARROW_DOWN_KEY$1="ArrowDown",RIGHT_MOUSE_BUTTON=2,EVENT_HIDE$5=`hide${EVENT_KEY$6}`,EVENT_HIDDEN$5=`hidden${EVENT_KEY$6}`,EVENT_SHOW$5=`show${EVENT_KEY$6}`,EVENT_SHOWN$5=`shown${EVENT_KEY$6}`,EVENT_CLICK_DATA_API$3=`click${EVENT_KEY$6}.data-api`,EVENT_KEYDOWN_DATA_API=`keydown${EVENT_KEY$6}.data-api`,EVENT_KEYUP_DATA_API=`keyup${EVENT_KEY$6}.data-api`,CLASS_NAME_SHOW$6="show",CLASS_NAME_DROPUP="dropup",CLASS_NAME_DROPEND="dropend",CLASS_NAME_DROPSTART="dropstart",CLASS_NAME_DROPUP_CENTER="dropup-center",CLASS_NAME_DROPDOWN_CENTER="dropdown-center",SELECTOR_DATA_TOGGLE$3='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',SELECTOR_DATA_TOGGLE_SHOWN=`${SELECTOR_DATA_TOGGLE$3}.show`,SELECTOR_MENU=".dropdown-menu",SELECTOR_NAVBAR=".navbar",SELECTOR_NAVBAR_NAV=".navbar-nav",SELECTOR_VISIBLE_ITEMS=".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",PLACEMENT_TOP=isRTL()?"top-end":"top-start",PLACEMENT_TOPEND=isRTL()?"top-start":"top-end",PLACEMENT_BOTTOM=isRTL()?"bottom-end":"bottom-start",PLACEMENT_BOTTOMEND=isRTL()?"bottom-start":"bottom-end",PLACEMENT_RIGHT=isRTL()?"left-start":"right-start",PLACEMENT_LEFT=isRTL()?"right-start":"left-start",PLACEMENT_TOPCENTER="top",PLACEMENT_BOTTOMCENTER="bottom",Default$9={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},DefaultType$9={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Dropdown extends BaseComponent{constructor(e,t){super(e,t),this._popper=null,this._parent=this._element.parentNode,this._menu=SelectorEngine.next(this._element,SELECTOR_MENU)[0]||SelectorEngine.prev(this._element,SELECTOR_MENU)[0]||SelectorEngine.findOne(SELECTOR_MENU,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Default$9}static get DefaultType(){return DefaultType$9}static get NAME(){return NAME$a}toggle(){return this._isShown()?this.hide():this.show()}show(){if(isDisabled(this._element)||this._isShown())return;const e={relatedTarget:this._element};if(!EventHandler.trigger(this._element,EVENT_SHOW$5,e).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add("show"),this._element.classList.add("show"),EventHandler.trigger(this._element,EVENT_SHOWN$5,e)}}hide(){if(isDisabled(this._element)||!this._isShown())return;const e={relatedTarget:this._element};this._completeHide(e)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(e){if(!EventHandler.trigger(this._element,EVENT_HIDE$5,e).defaultPrevented){if("ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._popper&&this._popper.destroy(),this._menu.classList.remove("show"),this._element.classList.remove("show"),this._element.setAttribute("aria-expanded","false"),Manipulator.removeDataAttribute(this._menu,"popper"),EventHandler.trigger(this._element,EVENT_HIDDEN$5,e)}}_getConfig(e){if("object"==typeof(e=super._getConfig(e)).reference&&!isElement(e.reference)&&"function"!=typeof e.reference.getBoundingClientRect)throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return e}_createPopper(){if(void 0===Popper)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=this._parent:isElement(this._config.reference)?e=getElement(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const t=this._getPopperConfig();this._popper=createPopper(e,this._menu,t)}_isShown(){return this._menu.classList.contains("show")}_getPlacement(){const e=this._parent;if(e.classList.contains("dropend"))return PLACEMENT_RIGHT;if(e.classList.contains("dropstart"))return PLACEMENT_LEFT;if(e.classList.contains("dropup-center"))return"top";if(e.classList.contains("dropdown-center"))return"bottom";const t="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return e.classList.contains("dropup")?t?PLACEMENT_TOPEND:PLACEMENT_TOP:t?PLACEMENT_BOTTOMEND:PLACEMENT_BOTTOM}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map((e=>Number.parseInt(e,10))):"function"==typeof e?t=>e(t,this._element):e}_getPopperConfig(){const e={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(Manipulator.setDataAttribute(this._menu,"popper","static"),e.modifiers=[{name:"applyStyles",enabled:!1}]),{...e,...execute(this._config.popperConfig,[e])}}_selectMenuItem({key:e,target:t}){const n=SelectorEngine.find(SELECTOR_VISIBLE_ITEMS,this._menu).filter((e=>isVisible(e)));n.length&&getNextActiveElement(n,t,e===ARROW_DOWN_KEY$1,!n.includes(t)).focus()}static jQueryInterface(e){return this.each((function(){const t=Dropdown.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}static clearMenus(e){if(2===e.button||"keyup"===e.type&&"Tab"!==e.key)return;const t=SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);for(const n of t){const t=Dropdown.getInstance(n);if(!t||!1===t._config.autoClose)continue;const i=e.composedPath(),s=i.includes(t._menu);if(i.includes(t._element)||"inside"===t._config.autoClose&&!s||"outside"===t._config.autoClose&&s)continue;if(t._menu.contains(e.target)&&("keyup"===e.type&&"Tab"===e.key||/input|select|option|textarea|form/i.test(e.target.tagName)))continue;const o={relatedTarget:t._element};"click"===e.type&&(o.clickEvent=e),t._completeHide(o)}}static dataApiKeydownHandler(e){const t=/input|textarea/i.test(e.target.tagName),n="Escape"===e.key,i=[ARROW_UP_KEY$1,ARROW_DOWN_KEY$1].includes(e.key);if(!i&&!n)return;if(t&&!n)return;e.preventDefault();const s=this.matches(SELECTOR_DATA_TOGGLE$3)?this:SelectorEngine.prev(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.next(this,SELECTOR_DATA_TOGGLE$3)[0]||SelectorEngine.findOne(SELECTOR_DATA_TOGGLE$3,e.delegateTarget.parentNode),o=Dropdown.getOrCreateInstance(s);if(i)return e.stopPropagation(),o.show(),void o._selectMenuItem(e);o._isShown()&&(e.stopPropagation(),o.hide(),s.focus())}}EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_DATA_TOGGLE$3,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_KEYDOWN_DATA_API,SELECTOR_MENU,Dropdown.dataApiKeydownHandler),EventHandler.on(document,EVENT_CLICK_DATA_API$3,Dropdown.clearMenus),EventHandler.on(document,EVENT_KEYUP_DATA_API,Dropdown.clearMenus),EventHandler.on(document,EVENT_CLICK_DATA_API$3,SELECTOR_DATA_TOGGLE$3,(function(e){e.preventDefault(),Dropdown.getOrCreateInstance(this).toggle()})),defineJQueryPlugin(Dropdown);const NAME$9="backdrop",CLASS_NAME_FADE$4="fade",CLASS_NAME_SHOW$5="show",EVENT_MOUSEDOWN=`mousedown.bs.${NAME$9}`,Default$8={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},DefaultType$8={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Backdrop extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isAppended=!1,this._element=null}static get Default(){return Default$8}static get DefaultType(){return DefaultType$8}static get NAME(){return NAME$9}show(e){if(!this._config.isVisible)return void execute(e);this._append();const t=this._getElement();this._config.isAnimated&&reflow(t),t.classList.add("show"),this._emulateAnimation((()=>{execute(e)}))}hide(e){this._config.isVisible?(this._getElement().classList.remove("show"),this._emulateAnimation((()=>{this.dispose(),execute(e)}))):execute(e)}dispose(){this._isAppended&&(EventHandler.off(this._element,EVENT_MOUSEDOWN),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const e=document.createElement("div");e.className=this._config.className,this._config.isAnimated&&e.classList.add("fade"),this._element=e}return this._element}_configAfterMerge(e){return e.rootElement=getElement(e.rootElement),e}_append(){if(this._isAppended)return;const e=this._getElement();this._config.rootElement.append(e),EventHandler.on(e,EVENT_MOUSEDOWN,(()=>{execute(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(e){executeAfterTransition(e,this._getElement(),this._config.isAnimated)}}const NAME$8="focustrap",DATA_KEY$5="bs.focustrap",EVENT_KEY$5=`.${DATA_KEY$5}`,EVENT_FOCUSIN$2=`focusin${EVENT_KEY$5}`,EVENT_KEYDOWN_TAB=`keydown.tab${EVENT_KEY$5}`,TAB_KEY="Tab",TAB_NAV_FORWARD="forward",TAB_NAV_BACKWARD="backward",Default$7={autofocus:!0,trapElement:null},DefaultType$7={autofocus:"boolean",trapElement:"element"};class FocusTrap extends Config{constructor(e){super(),this._config=this._getConfig(e),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return Default$7}static get DefaultType(){return DefaultType$7}static get NAME(){return NAME$8}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),EventHandler.off(document,EVENT_KEY$5),EventHandler.on(document,EVENT_FOCUSIN$2,(e=>this._handleFocusin(e))),EventHandler.on(document,EVENT_KEYDOWN_TAB,(e=>this._handleKeydown(e))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,EventHandler.off(document,EVENT_KEY$5))}_handleFocusin(e){const{trapElement:t}=this._config;if(e.target===document||e.target===t||t.contains(e.target))return;const n=SelectorEngine.focusableChildren(t);0===n.length?t.focus():"backward"===this._lastTabNavDirection?n[n.length-1].focus():n[0].focus()}_handleKeydown(e){"Tab"===e.key&&(this._lastTabNavDirection=e.shiftKey?"backward":"forward")}}const SELECTOR_FIXED_CONTENT=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",SELECTOR_STICKY_CONTENT=".sticky-top",PROPERTY_PADDING="padding-right",PROPERTY_MARGIN="margin-right";class ScrollBarHelper{constructor(){this._element=document.body}getWidth(){const e=document.documentElement.clientWidth;return Math.abs(window.innerWidth-e)}hide(){const e=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"padding-right",(t=>t+e)),this._setElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right",(t=>t+e)),this._setElementAttributes(".sticky-top","margin-right",(t=>t-e))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"padding-right"),this._resetElementAttributes(SELECTOR_FIXED_CONTENT,"padding-right"),this._resetElementAttributes(".sticky-top","margin-right")}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(e,t,n){const i=this.getWidth();this._applyManipulationCallback(e,(e=>{if(e!==this._element&&window.innerWidth>e.clientWidth+i)return;this._saveInitialAttribute(e,t);const s=window.getComputedStyle(e).getPropertyValue(t);e.style.setProperty(t,`${n(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(e,t){const n=e.style.getPropertyValue(t);n&&Manipulator.setDataAttribute(e,t,n)}_resetElementAttributes(e,t){this._applyManipulationCallback(e,(e=>{const n=Manipulator.getDataAttribute(e,t);null!==n?(Manipulator.removeDataAttribute(e,t),e.style.setProperty(t,n)):e.style.removeProperty(t)}))}_applyManipulationCallback(e,t){if(isElement(e))t(e);else for(const n of SelectorEngine.find(e,this._element))t(n)}}const NAME$7="modal",DATA_KEY$4="bs.modal",EVENT_KEY$4=".bs.modal",DATA_API_KEY$2=".data-api",ESCAPE_KEY$1="Escape",EVENT_HIDE$4="hide.bs.modal",EVENT_HIDE_PREVENTED$1="hidePrevented.bs.modal",EVENT_HIDDEN$4="hidden.bs.modal",EVENT_SHOW$4="show.bs.modal",EVENT_SHOWN$4="shown.bs.modal",EVENT_RESIZE$1="resize.bs.modal",EVENT_CLICK_DISMISS="click.dismiss.bs.modal",EVENT_MOUSEDOWN_DISMISS="mousedown.dismiss.bs.modal",EVENT_KEYDOWN_DISMISS$1="keydown.dismiss.bs.modal",EVENT_CLICK_DATA_API$2="click.bs.modal.data-api",CLASS_NAME_OPEN="modal-open",CLASS_NAME_FADE$3="fade",CLASS_NAME_SHOW$4="show",CLASS_NAME_STATIC="modal-static",OPEN_SELECTOR$1=".modal.show",SELECTOR_DIALOG=".modal-dialog",SELECTOR_MODAL_BODY=".modal-body",SELECTOR_DATA_TOGGLE$2='[data-bs-toggle="modal"]',Default$6={backdrop:!0,focus:!0,keyboard:!0},DefaultType$6={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Modal extends BaseComponent{constructor(e,t){super(e,t),this._dialog=SelectorEngine.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new ScrollBarHelper,this._addEventListeners()}static get Default(){return Default$6}static get DefaultType(){return DefaultType$6}static get NAME(){return NAME$7}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown||this._isTransitioning)return;EventHandler.trigger(this._element,EVENT_SHOW$4,{relatedTarget:e}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add("modal-open"),this._adjustDialog(),this._backdrop.show((()=>this._showElement(e))))}hide(){if(!this._isShown||this._isTransitioning)return;EventHandler.trigger(this._element,EVENT_HIDE$4).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove("show"),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated()))}dispose(){EventHandler.off(window,".bs.modal"),EventHandler.off(this._dialog,".bs.modal"),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Backdrop({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_showElement(e){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const t=SelectorEngine.findOne(".modal-body",this._dialog);t&&(t.scrollTop=0),reflow(this._element),this._element.classList.add("show");this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,EventHandler.trigger(this._element,EVENT_SHOWN$4,{relatedTarget:e})}),this._dialog,this._isAnimated())}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS$1,(e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),EventHandler.on(window,EVENT_RESIZE$1,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),EventHandler.on(this._element,EVENT_MOUSEDOWN_DISMISS,(e=>{EventHandler.one(this._element,EVENT_CLICK_DISMISS,(t=>{this._element===e.target&&this._element===t.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove("modal-open"),this._resetAdjustments(),this._scrollBar.reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$4)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED$1).defaultPrevented)return;const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._element.style.overflowY;"hidden"===t||this._element.classList.contains("modal-static")||(e||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static"),this._queueCallback((()=>{this._element.classList.remove("modal-static"),this._queueCallback((()=>{this._element.style.overflowY=t}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const e=this._element.scrollHeight>document.documentElement.clientHeight,t=this._scrollBar.getWidth(),n=t>0;if(n&&!e){const e=isRTL()?"paddingLeft":"paddingRight";this._element.style[e]=`${t}px`}if(!n&&e){const e=isRTL()?"paddingRight":"paddingLeft";this._element.style[e]=`${t}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(e,t){return this.each((function(){const n=Modal.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===n[e])throw new TypeError(`No method named "${e}"`);n[e](t)}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$2,SELECTOR_DATA_TOGGLE$2,(function(e){const t=SelectorEngine.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&e.preventDefault(),EventHandler.one(t,EVENT_SHOW$4,(e=>{e.defaultPrevented||EventHandler.one(t,EVENT_HIDDEN$4,(()=>{isVisible(this)&&this.focus()}))}));const n=SelectorEngine.findOne(".modal.show");n&&Modal.getInstance(n).hide();Modal.getOrCreateInstance(t).toggle(this)})),enableDismissTrigger(Modal),defineJQueryPlugin(Modal);const NAME$6="offcanvas",DATA_KEY$3="bs.offcanvas",EVENT_KEY$3=`.${DATA_KEY$3}`,DATA_API_KEY$1=".data-api",EVENT_LOAD_DATA_API$2=`load${EVENT_KEY$3}.data-api`,ESCAPE_KEY="Escape",CLASS_NAME_SHOW$3="show",CLASS_NAME_SHOWING$1="showing",CLASS_NAME_HIDING="hiding",CLASS_NAME_BACKDROP="offcanvas-backdrop",OPEN_SELECTOR=".offcanvas.show",EVENT_SHOW$3=`show${EVENT_KEY$3}`,EVENT_SHOWN$3=`shown${EVENT_KEY$3}`,EVENT_HIDE$3=`hide${EVENT_KEY$3}`,EVENT_HIDE_PREVENTED=`hidePrevented${EVENT_KEY$3}`,EVENT_HIDDEN$3=`hidden${EVENT_KEY$3}`,EVENT_RESIZE=`resize${EVENT_KEY$3}`,EVENT_CLICK_DATA_API$1=`click${EVENT_KEY$3}.data-api`,EVENT_KEYDOWN_DISMISS=`keydown.dismiss${EVENT_KEY$3}`,SELECTOR_DATA_TOGGLE$1='[data-bs-toggle="offcanvas"]',Default$5={backdrop:!0,keyboard:!0,scroll:!1},DefaultType$5={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Offcanvas extends BaseComponent{constructor(e,t){super(e,t),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Default$5}static get DefaultType(){return DefaultType$5}static get NAME(){return NAME$6}toggle(e){return this._isShown?this.hide():this.show(e)}show(e){if(this._isShown)return;if(EventHandler.trigger(this._element,EVENT_SHOW$3,{relatedTarget:e}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new ScrollBarHelper).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add("showing");this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add("show"),this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN$3,{relatedTarget:e})}),this._element,!0)}hide(){if(!this._isShown)return;if(EventHandler.trigger(this._element,EVENT_HIDE$3).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add("hiding"),this._backdrop.hide();this._queueCallback((()=>{this._element.classList.remove("show","hiding"),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new ScrollBarHelper).reset(),EventHandler.trigger(this._element,EVENT_HIDDEN$3)}),this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const e=Boolean(this._config.backdrop);return new Backdrop({className:CLASS_NAME_BACKDROP,isVisible:e,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:e?()=>{"static"!==this._config.backdrop?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED)}:null})}_initializeFocusTrap(){return new FocusTrap({trapElement:this._element})}_addEventListeners(){EventHandler.on(this._element,EVENT_KEYDOWN_DISMISS,(e=>{"Escape"===e.key&&(this._config.keyboard?this.hide():EventHandler.trigger(this._element,EVENT_HIDE_PREVENTED))}))}static jQueryInterface(e){return this.each((function(){const t=Offcanvas.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}EventHandler.on(document,EVENT_CLICK_DATA_API$1,SELECTOR_DATA_TOGGLE$1,(function(e){const t=SelectorEngine.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this))return;EventHandler.one(t,EVENT_HIDDEN$3,(()=>{isVisible(this)&&this.focus()}));const n=SelectorEngine.findOne(OPEN_SELECTOR);n&&n!==t&&Offcanvas.getInstance(n).hide();Offcanvas.getOrCreateInstance(t).toggle(this)})),EventHandler.on(window,EVENT_LOAD_DATA_API$2,(()=>{for(const e of SelectorEngine.find(OPEN_SELECTOR))Offcanvas.getOrCreateInstance(e).show()})),EventHandler.on(window,EVENT_RESIZE,(()=>{for(const e of SelectorEngine.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(e).position&&Offcanvas.getOrCreateInstance(e).hide()})),enableDismissTrigger(Offcanvas),defineJQueryPlugin(Offcanvas);const ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i,DefaultAllowlist={"*":["class","dir","id","lang","role",ARIA_ATTRIBUTE_PATTERN],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},uriAttributes=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),SAFE_URL_PATTERN=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,allowedAttribute=(e,t)=>{const n=e.nodeName.toLowerCase();return t.includes(n)?!uriAttributes.has(n)||Boolean(SAFE_URL_PATTERN.test(e.nodeValue)):t.filter((e=>e instanceof RegExp)).some((e=>e.test(n)))};function sanitizeHtml(e,t,n){if(!e.length)return e;if(n&&"function"==typeof n)return n(e);const i=(new window.DOMParser).parseFromString(e,"text/html"),s=[].concat(...i.body.querySelectorAll("*"));for(const e of s){const n=e.nodeName.toLowerCase();if(!Object.keys(t).includes(n)){e.remove();continue}const i=[].concat(...e.attributes),s=[].concat(t["*"]||[],t[n]||[]);for(const t of i)allowedAttribute(t,s)||e.removeAttribute(t.nodeName)}return i.body.innerHTML}const NAME$5="TemplateFactory",Default$4={allowList:DefaultAllowlist,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},DefaultType$4={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},DefaultContentType={entry:"(string|element|function|null)",selector:"(string|element)"};class TemplateFactory extends Config{constructor(e){super(),this._config=this._getConfig(e)}static get Default(){return Default$4}static get DefaultType(){return DefaultType$4}static get NAME(){return NAME$5}getContent(){return Object.values(this._config.content).map((e=>this._resolvePossibleFunction(e))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(e){return this._checkContent(e),this._config.content={...this._config.content,...e},this}toHtml(){const e=document.createElement("div");e.innerHTML=this._maybeSanitize(this._config.template);for(const[t,n]of Object.entries(this._config.content))this._setContent(e,n,t);const t=e.children[0],n=this._resolvePossibleFunction(this._config.extraClass);return n&&t.classList.add(...n.split(" ")),t}_typeCheckConfig(e){super._typeCheckConfig(e),this._checkContent(e.content)}_checkContent(e){for(const[t,n]of Object.entries(e))super._typeCheckConfig({selector:t,entry:n},DefaultContentType)}_setContent(e,t,n){const i=SelectorEngine.findOne(n,e);i&&((t=this._resolvePossibleFunction(t))?isElement(t)?this._putElementInTemplate(getElement(t),i):this._config.html?i.innerHTML=this._maybeSanitize(t):i.textContent=t:i.remove())}_maybeSanitize(e){return this._config.sanitize?sanitizeHtml(e,this._config.allowList,this._config.sanitizeFn):e}_resolvePossibleFunction(e){return execute(e,[this])}_putElementInTemplate(e,t){if(this._config.html)return t.innerHTML="",void t.append(e);t.textContent=e.textContent}}const NAME$4="tooltip",DISALLOWED_ATTRIBUTES=new Set(["sanitize","allowList","sanitizeFn"]),CLASS_NAME_FADE$2="fade",CLASS_NAME_MODAL="modal",CLASS_NAME_SHOW$2="show",SELECTOR_TOOLTIP_INNER=".tooltip-inner",SELECTOR_MODAL=".modal",EVENT_MODAL_HIDE="hide.bs.modal",TRIGGER_HOVER="hover",TRIGGER_FOCUS="focus",TRIGGER_CLICK="click",TRIGGER_MANUAL="manual",EVENT_HIDE$2="hide",EVENT_HIDDEN$2="hidden",EVENT_SHOW$2="show",EVENT_SHOWN$2="shown",EVENT_INSERTED="inserted",EVENT_CLICK$1="click",EVENT_FOCUSIN$1="focusin",EVENT_FOCUSOUT$1="focusout",EVENT_MOUSEENTER="mouseenter",EVENT_MOUSELEAVE="mouseleave",AttachmentMap={AUTO:"auto",TOP:"top",RIGHT:isRTL()?"left":"right",BOTTOM:"bottom",LEFT:isRTL()?"right":"left"},Default$3={allowList:DefaultAllowlist,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},DefaultType$3={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class Tooltip extends BaseComponent{constructor(e,t){if(void 0===Popper)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(e,t),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Default$3}static get DefaultType(){return DefaultType$3}static get NAME(){return NAME$4}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),EventHandler.off(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const e=EventHandler.trigger(this._element,this.constructor.eventName("show")),t=(findShadowRoot(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(e.defaultPrevented||!t)return;this._disposePopper();const n=this._getTipElement();this._element.setAttribute("aria-describedby",n.getAttribute("id"));const{container:i}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(i.append(n),EventHandler.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(n),n.classList.add("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.on(e,"mouseover",noop);this._queueCallback((()=>{EventHandler.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(EventHandler.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented)return;if(this._getTipElement().classList.remove("show"),"ontouchstart"in document.documentElement)for(const e of[].concat(...document.body.children))EventHandler.off(e,"mouseover",noop);this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this._isHovered=null;this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),EventHandler.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(e){const t=this._getTemplateFactory(e).toHtml();if(!t)return null;t.classList.remove("fade","show"),t.classList.add(`bs-${this.constructor.NAME}-auto`);const n=getUID(this.constructor.NAME).toString();return t.setAttribute("id",n),this._isAnimated()&&t.classList.add("fade"),t}setContent(e){this._newContent=e,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(e){return this._templateFactory?this._templateFactory.changeContent(e):this._templateFactory=new TemplateFactory({...this._config,content:e,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[SELECTOR_TOOLTIP_INNER]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(e){return this.constructor.getOrCreateInstance(e.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains("fade")}_isShown(){return this.tip&&this.tip.classList.contains("show")}_createPopper(e){const t=execute(this._config.placement,[this,e,this._element]),n=AttachmentMap[t.toUpperCase()];return createPopper(this._element,e,this._getPopperConfig(n))}_getOffset(){const{offset:e}=this._config;return"string"==typeof e?e.split(",").map((e=>Number.parseInt(e,10))):"function"==typeof e?t=>e(t,this._element):e}_resolvePossibleFunction(e){return execute(e,[this._element])}_getPopperConfig(e){const t={placement:e,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:e=>{this._getTipElement().setAttribute("data-popper-placement",e.state.placement)}}]};return{...t,...execute(this._config.popperConfig,[t])}}_setListeners(){const e=this._config.trigger.split(" ");for(const t of e)if("click"===t)EventHandler.on(this._element,this.constructor.eventName("click"),this._config.selector,(e=>{this._initializeOnDelegatedTarget(e).toggle()}));else if("manual"!==t){const e="hover"===t?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),n="hover"===t?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");EventHandler.on(this._element,e,this._config.selector,(e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusin"===e.type?"focus":"hover"]=!0,t._enter()})),EventHandler.on(this._element,n,this._config.selector,(e=>{const t=this._initializeOnDelegatedTarget(e);t._activeTrigger["focusout"===e.type?"focus":"hover"]=t._element.contains(e.relatedTarget),t._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},EventHandler.on(this._element.closest(".modal"),"hide.bs.modal",this._hideModalHandler)}_fixTitle(){const e=this._element.getAttribute("title");e&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",e),this._element.setAttribute("data-bs-original-title",e),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(e,t){clearTimeout(this._timeout),this._timeout=setTimeout(e,t)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(e){const t=Manipulator.getDataAttributes(this._element);for(const e of Object.keys(t))DISALLOWED_ATTRIBUTES.has(e)&&delete t[e];return e={...t,..."object"==typeof e&&e?e:{}},e=this._mergeConfigObj(e),e=this._configAfterMerge(e),this._typeCheckConfig(e),e}_configAfterMerge(e){return e.container=!1===e.container?document.body:getElement(e.container),"number"==typeof e.delay&&(e.delay={show:e.delay,hide:e.delay}),"number"==typeof e.title&&(e.title=e.title.toString()),"number"==typeof e.content&&(e.content=e.content.toString()),e}_getDelegateConfig(){const e={};for(const[t,n]of Object.entries(this._config))this.constructor.Default[t]!==n&&(e[t]=n);return e.selector=!1,e.trigger="manual",e}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(e){return this.each((function(){const t=Tooltip.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}}defineJQueryPlugin(Tooltip);const NAME$3="popover",SELECTOR_TITLE=".popover-header",SELECTOR_CONTENT=".popover-body",Default$2={...Tooltip.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},DefaultType$2={...Tooltip.DefaultType,content:"(null|string|element|function)"};class Popover extends Tooltip{static get Default(){return Default$2}static get DefaultType(){return DefaultType$2}static get NAME(){return NAME$3}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[SELECTOR_TITLE]:this._getTitle(),[SELECTOR_CONTENT]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(e){return this.each((function(){const t=Popover.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e]()}}))}}defineJQueryPlugin(Popover);const NAME$2="scrollspy",DATA_KEY$2="bs.scrollspy",EVENT_KEY$2=`.${DATA_KEY$2}`,DATA_API_KEY=".data-api",EVENT_ACTIVATE=`activate${EVENT_KEY$2}`,EVENT_CLICK=`click${EVENT_KEY$2}`,EVENT_LOAD_DATA_API$1=`load${EVENT_KEY$2}.data-api`,CLASS_NAME_DROPDOWN_ITEM="dropdown-item",CLASS_NAME_ACTIVE$1="active",SELECTOR_DATA_SPY='[data-bs-spy="scroll"]',SELECTOR_TARGET_LINKS="[href]",SELECTOR_NAV_LIST_GROUP=".nav, .list-group",SELECTOR_NAV_LINKS=".nav-link",SELECTOR_NAV_ITEMS=".nav-item",SELECTOR_LIST_ITEMS=".list-group-item",SELECTOR_LINK_ITEMS=".nav-link, .nav-item > .nav-link, .list-group-item",SELECTOR_DROPDOWN=".dropdown",SELECTOR_DROPDOWN_TOGGLE$1=".dropdown-toggle",Default$1={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},DefaultType$1={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class ScrollSpy extends BaseComponent{constructor(e,t){super(e,t),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Default$1}static get DefaultType(){return DefaultType$1}static get NAME(){return NAME$2}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const e of this._observableSections.values())this._observer.observe(e)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(e){return e.target=getElement(e.target)||document.body,e.rootMargin=e.offset?`${e.offset}px 0px -30%`:e.rootMargin,"string"==typeof e.threshold&&(e.threshold=e.threshold.split(",").map((e=>Number.parseFloat(e)))),e}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(EventHandler.off(this._config.target,EVENT_CLICK),EventHandler.on(this._config.target,EVENT_CLICK,"[href]",(e=>{const t=this._observableSections.get(e.target.hash);if(t){e.preventDefault();const n=this._rootElement||window,i=t.offsetTop-this._element.offsetTop;if(n.scrollTo)return void n.scrollTo({top:i,behavior:"smooth"});n.scrollTop=i}})))}_getNewObserver(){const e={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((e=>this._observerCallback(e)),e)}_observerCallback(e){const t=e=>this._targetLinks.get(`#${e.target.id}`),n=e=>{this._previousScrollData.visibleEntryTop=e.target.offsetTop,this._process(t(e))},i=(this._rootElement||document.documentElement).scrollTop,s=i>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=i;for(const o of e){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(t(o));continue}const e=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&e){if(n(o),!i)return}else s||e||n(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const e=SelectorEngine.find("[href]",this._config.target);for(const t of e){if(!t.hash||isDisabled(t))continue;const e=SelectorEngine.findOne(decodeURI(t.hash),this._element);isVisible(e)&&(this._targetLinks.set(decodeURI(t.hash),t),this._observableSections.set(t.hash,e))}}_process(e){this._activeTarget!==e&&(this._clearActiveClass(this._config.target),this._activeTarget=e,e.classList.add("active"),this._activateParents(e),EventHandler.trigger(this._element,EVENT_ACTIVATE,{relatedTarget:e}))}_activateParents(e){if(e.classList.contains("dropdown-item"))SelectorEngine.findOne(".dropdown-toggle",e.closest(".dropdown")).classList.add("active");else for(const t of SelectorEngine.parents(e,".nav, .list-group"))for(const e of SelectorEngine.prev(t,SELECTOR_LINK_ITEMS))e.classList.add("active")}_clearActiveClass(e){e.classList.remove("active");const t=SelectorEngine.find("[href].active",e);for(const e of t)e.classList.remove("active")}static jQueryInterface(e){return this.each((function(){const t=ScrollSpy.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}EventHandler.on(window,EVENT_LOAD_DATA_API$1,(()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_SPY))ScrollSpy.getOrCreateInstance(e)})),defineJQueryPlugin(ScrollSpy);const NAME$1="tab",DATA_KEY$1="bs.tab",EVENT_KEY$1=".bs.tab",EVENT_HIDE$1="hide.bs.tab",EVENT_HIDDEN$1="hidden.bs.tab",EVENT_SHOW$1="show.bs.tab",EVENT_SHOWN$1="shown.bs.tab",EVENT_CLICK_DATA_API="click.bs.tab",EVENT_KEYDOWN="keydown.bs.tab",EVENT_LOAD_DATA_API="load.bs.tab",ARROW_LEFT_KEY="ArrowLeft",ARROW_RIGHT_KEY="ArrowRight",ARROW_UP_KEY="ArrowUp",ARROW_DOWN_KEY="ArrowDown",HOME_KEY="Home",END_KEY="End",CLASS_NAME_ACTIVE="active",CLASS_NAME_FADE$1="fade",CLASS_NAME_SHOW$1="show",CLASS_DROPDOWN="dropdown",SELECTOR_DROPDOWN_TOGGLE=".dropdown-toggle",SELECTOR_DROPDOWN_MENU=".dropdown-menu",NOT_SELECTOR_DROPDOWN_TOGGLE=":not(.dropdown-toggle)",SELECTOR_TAB_PANEL='.list-group, .nav, [role="tablist"]',SELECTOR_OUTER=".nav-item, .list-group-item",SELECTOR_INNER='.nav-link:not(.dropdown-toggle), .list-group-item:not(.dropdown-toggle), [role="tab"]:not(.dropdown-toggle)',SELECTOR_DATA_TOGGLE='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',SELECTOR_INNER_ELEM=`${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`,SELECTOR_DATA_TOGGLE_ACTIVE='.active[data-bs-toggle="tab"], .active[data-bs-toggle="pill"], .active[data-bs-toggle="list"]';class Tab extends BaseComponent{constructor(e){super(e),this._parent=this._element.closest(SELECTOR_TAB_PANEL),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),EventHandler.on(this._element,EVENT_KEYDOWN,(e=>this._keydown(e))))}static get NAME(){return"tab"}show(){const e=this._element;if(this._elemIsActive(e))return;const t=this._getActiveElem(),n=t?EventHandler.trigger(t,EVENT_HIDE$1,{relatedTarget:e}):null;EventHandler.trigger(e,EVENT_SHOW$1,{relatedTarget:t}).defaultPrevented||n&&n.defaultPrevented||(this._deactivate(t,e),this._activate(e,t))}_activate(e,t){if(!e)return;e.classList.add("active"),this._activate(SelectorEngine.getElementFromSelector(e));this._queueCallback((()=>{"tab"===e.getAttribute("role")?(e.removeAttribute("tabindex"),e.setAttribute("aria-selected",!0),this._toggleDropDown(e,!0),EventHandler.trigger(e,EVENT_SHOWN$1,{relatedTarget:t})):e.classList.add("show")}),e,e.classList.contains("fade"))}_deactivate(e,t){if(!e)return;e.classList.remove("active"),e.blur(),this._deactivate(SelectorEngine.getElementFromSelector(e));this._queueCallback((()=>{"tab"===e.getAttribute("role")?(e.setAttribute("aria-selected",!1),e.setAttribute("tabindex","-1"),this._toggleDropDown(e,!1),EventHandler.trigger(e,EVENT_HIDDEN$1,{relatedTarget:t})):e.classList.remove("show")}),e,e.classList.contains("fade"))}_keydown(e){if(![ARROW_LEFT_KEY,ARROW_RIGHT_KEY,ARROW_UP_KEY,ARROW_DOWN_KEY,HOME_KEY,END_KEY].includes(e.key))return;e.stopPropagation(),e.preventDefault();const t=this._getChildren().filter((e=>!isDisabled(e)));let n;if([HOME_KEY,END_KEY].includes(e.key))n=t[e.key===HOME_KEY?0:t.length-1];else{const i=[ARROW_RIGHT_KEY,ARROW_DOWN_KEY].includes(e.key);n=getNextActiveElement(t,e.target,i,!0)}n&&(n.focus({preventScroll:!0}),Tab.getOrCreateInstance(n).show())}_getChildren(){return SelectorEngine.find(SELECTOR_INNER_ELEM,this._parent)}_getActiveElem(){return this._getChildren().find((e=>this._elemIsActive(e)))||null}_setInitialAttributes(e,t){this._setAttributeIfNotExists(e,"role","tablist");for(const e of t)this._setInitialAttributesOnChild(e)}_setInitialAttributesOnChild(e){e=this._getInnerElement(e);const t=this._elemIsActive(e),n=this._getOuterElement(e);e.setAttribute("aria-selected",t),n!==e&&this._setAttributeIfNotExists(n,"role","presentation"),t||e.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(e,"role","tab"),this._setInitialAttributesOnTargetPanel(e)}_setInitialAttributesOnTargetPanel(e){const t=SelectorEngine.getElementFromSelector(e);t&&(this._setAttributeIfNotExists(t,"role","tabpanel"),e.id&&this._setAttributeIfNotExists(t,"aria-labelledby",`${e.id}`))}_toggleDropDown(e,t){const n=this._getOuterElement(e);if(!n.classList.contains("dropdown"))return;const i=(e,i)=>{const s=SelectorEngine.findOne(e,n);s&&s.classList.toggle(i,t)};i(".dropdown-toggle","active"),i(".dropdown-menu","show"),n.setAttribute("aria-expanded",t)}_setAttributeIfNotExists(e,t,n){e.hasAttribute(t)||e.setAttribute(t,n)}_elemIsActive(e){return e.classList.contains("active")}_getInnerElement(e){return e.matches(SELECTOR_INNER_ELEM)?e:SelectorEngine.findOne(SELECTOR_INNER_ELEM,e)}_getOuterElement(e){return e.closest(SELECTOR_OUTER)||e}static jQueryInterface(e){return this.each((function(){const t=Tab.getOrCreateInstance(this);if("string"==typeof e){if(void 0===t[e]||e.startsWith("_")||"constructor"===e)throw new TypeError(`No method named "${e}"`);t[e]()}}))}}EventHandler.on(document,"click.bs.tab",SELECTOR_DATA_TOGGLE,(function(e){["A","AREA"].includes(this.tagName)&&e.preventDefault(),isDisabled(this)||Tab.getOrCreateInstance(this).show()})),EventHandler.on(window,"load.bs.tab",(()=>{for(const e of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE))Tab.getOrCreateInstance(e)})),defineJQueryPlugin(Tab);const NAME="toast",DATA_KEY="bs.toast",EVENT_KEY=`.${DATA_KEY}`,EVENT_MOUSEOVER=`mouseover${EVENT_KEY}`,EVENT_MOUSEOUT=`mouseout${EVENT_KEY}`,EVENT_FOCUSIN=`focusin${EVENT_KEY}`,EVENT_FOCUSOUT=`focusout${EVENT_KEY}`,EVENT_HIDE=`hide${EVENT_KEY}`,EVENT_HIDDEN=`hidden${EVENT_KEY}`,EVENT_SHOW=`show${EVENT_KEY}`,EVENT_SHOWN=`shown${EVENT_KEY}`,CLASS_NAME_FADE="fade",CLASS_NAME_HIDE="hide",CLASS_NAME_SHOW="show",CLASS_NAME_SHOWING="showing",DefaultType={animation:"boolean",autohide:"boolean",delay:"number"},Default={animation:!0,autohide:!0,delay:5e3};class Toast extends BaseComponent{constructor(e,t){super(e,t),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Default}static get DefaultType(){return DefaultType}static get NAME(){return NAME}show(){if(EventHandler.trigger(this._element,EVENT_SHOW).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");this._element.classList.remove("hide"),reflow(this._element),this._element.classList.add("show","showing"),this._queueCallback((()=>{this._element.classList.remove("showing"),EventHandler.trigger(this._element,EVENT_SHOWN),this._maybeScheduleHide()}),this._element,this._config.animation)}hide(){if(!this.isShown())return;if(EventHandler.trigger(this._element,EVENT_HIDE).defaultPrevented)return;this._element.classList.add("showing"),this._queueCallback((()=>{this._element.classList.add("hide"),this._element.classList.remove("showing","show"),EventHandler.trigger(this._element,EVENT_HIDDEN)}),this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove("show"),super.dispose()}isShown(){return this._element.classList.contains("show")}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(e,t){switch(e.type){case"mouseover":case"mouseout":this._hasMouseInteraction=t;break;case"focusin":case"focusout":this._hasKeyboardInteraction=t}if(t)return void this._clearTimeout();const n=e.relatedTarget;this._element===n||this._element.contains(n)||this._maybeScheduleHide()}_setListeners(){EventHandler.on(this._element,EVENT_MOUSEOVER,(e=>this._onInteraction(e,!0))),EventHandler.on(this._element,EVENT_MOUSEOUT,(e=>this._onInteraction(e,!1))),EventHandler.on(this._element,EVENT_FOCUSIN,(e=>this._onInteraction(e,!0))),EventHandler.on(this._element,EVENT_FOCUSOUT,(e=>this._onInteraction(e,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(e){return this.each((function(){const t=Toast.getOrCreateInstance(this,e);if("string"==typeof e){if(void 0===t[e])throw new TypeError(`No method named "${e}"`);t[e](this)}}))}}enableDismissTrigger(Toast),defineJQueryPlugin(Toast);export{Alert,Button,Carousel,Collapse,Dropdown,Modal,Offcanvas,Popover,ScrollSpy,Tab,Toast,Tooltip};
+const It=new Map,Nt={set(t,e,i){It.has(t)||It.set(t,new Map);const n=It.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>It.has(t)&&It.get(t).get(e)||null,remove(t,e){if(!It.has(t))return;const i=It.get(t);i.delete(e),0===i.size&&It.delete(t)}},Pt="transitionend",Mt=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),jt=t=>{t.dispatchEvent(new Event(Pt))},Ft=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),Ht=t=>Ft(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(Mt(t)):null,Wt=t=>{if(!Ft(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},Bt=t=>!t||t.nodeType!==Node.ELEMENT_NODE||(!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled"))),zt=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?zt(t.parentNode):null},Rt=()=>{},qt=t=>{t.offsetHeight},Vt=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,Kt=[],Qt=()=>"rtl"===document.documentElement.dir,Xt=t=>{var e;e=()=>{const e=Vt();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(Kt.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of Kt)t()})),Kt.push(e)):e()},Yt=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,Ut=(t,e,i=!0)=>{if(!i)return void Yt(t);const n=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let s=!1;const o=({target:i})=>{i===e&&(s=!0,e.removeEventListener(Pt,o),Yt(t))};e.addEventListener(Pt,o),setTimeout((()=>{s||jt(e)}),n)},Gt=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},Jt=/[^.]*(?=\..*)\.|.*/,Zt=/\..*/,te=/::\d+$/,ee={};let ie=1;const ne={mouseenter:"mouseover",mouseleave:"mouseout"},se=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function oe(t,e){return e&&`${e}::${ie++}`||t.uidEvent||ie++}function re(t){const e=oe(t);return t.uidEvent=e,ee[e]=ee[e]||{},ee[e]}function ae(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function le(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=de(t);return se.has(o)||(o=t),[n,s,o]}function ce(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=le(e,i,n);if(e in ne){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=re(t),c=l[a]||(l[a]={}),h=ae(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const u=oe(r,e.replace(Jt,"")),d=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return pe(s,{delegateTarget:r}),n.oneOff&&fe.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return pe(n,{delegateTarget:t}),i.oneOff&&fe.off(t,n.type,e),e.apply(t,[n])}}(t,r);d.delegationSelector=o?i:null,d.callable=r,d.oneOff=s,d.uidEvent=u,c[u]=d,t.addEventListener(a,d,o)}function he(t,e,i,n,s){const o=ae(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function ue(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&he(t,e,i,r.callable,r.delegationSelector)}function de(t){return t=t.replace(Zt,""),ne[t]||t}const fe={on(t,e,i,n){ce(t,e,i,n,!1)},one(t,e,i,n){ce(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=le(e,i,n),a=r!==e,l=re(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))ue(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(te,"");a&&!e.includes(s)||he(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;he(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=Vt();let s=null,o=!0,r=!0,a=!1;e!==de(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=pe(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function pe(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function me(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function ge(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const _e={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${ge(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${ge(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=me(t.dataset[n])}return e},getDataAttribute:(t,e)=>me(t.getAttribute(`data-bs-${ge(e)}`))};class be{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=Ft(e)?_e.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...Ft(e)?_e.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],o=Ft(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${o}" but expected type "${s}".`)}var i}}class ve extends be{constructor(t,e){super(),(t=Ht(t))&&(this._element=t,this._config=this._getConfig(e),Nt.set(this._element,this.constructor.DATA_KEY,this))}dispose(){Nt.remove(this._element,this.constructor.DATA_KEY),fe.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){Ut(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return Nt.get(Ht(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.2"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const ye=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?Mt(i.trim()):null}return e},we={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!Bt(t)&&Wt(t)))},getSelectorFromElement(t){const e=ye(t);return e&&we.findOne(e)?e:null},getElementFromSelector(t){const e=ye(t);return e?we.findOne(e):null},getMultipleElementsFromSelector(t){const e=ye(t);return e?we.find(e):[]}},Ae=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;fe.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),Bt(this))return;const s=we.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},Ee=".bs.alert",Ce=`close${Ee}`,Te=`closed${Ee}`;class Oe extends ve{static get NAME(){return"alert"}close(){if(fe.trigger(this._element,Ce).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),fe.trigger(this._element,Te),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Oe.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}Ae(Oe,"close"),Xt(Oe);const xe='[data-bs-toggle="button"]';class ke extends ve{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=ke.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}fe.on(document,"click.bs.button.data-api",xe,(t=>{t.preventDefault();const e=t.target.closest(xe);ke.getOrCreateInstance(e).toggle()})),Xt(ke);const Le=".bs.swipe",Se=`touchstart${Le}`,De=`touchmove${Le}`,$e=`touchend${Le}`,Ie=`pointerdown${Le}`,Ne=`pointerup${Le}`,Pe={endCallback:null,leftCallback:null,rightCallback:null},Me={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class je extends be{constructor(t,e){super(),this._element=t,t&&je.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return Pe}static get DefaultType(){return Me}static get NAME(){return"swipe"}dispose(){fe.off(this._element,Le)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),Yt(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&Yt(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(fe.on(this._element,Ie,(t=>this._start(t))),fe.on(this._element,Ne,(t=>this._end(t))),this._element.classList.add("pointer-event")):(fe.on(this._element,Se,(t=>this._start(t))),fe.on(this._element,De,(t=>this._move(t))),fe.on(this._element,$e,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const Fe=".bs.carousel",He=".data-api",We="ArrowLeft",Be="ArrowRight",ze="next",Re="prev",qe="left",Ve="right",Ke=`slide${Fe}`,Qe=`slid${Fe}`,Xe=`keydown${Fe}`,Ye=`mouseenter${Fe}`,Ue=`mouseleave${Fe}`,Ge=`dragstart${Fe}`,Je=`load${Fe}${He}`,Ze=`click${Fe}${He}`,ti="carousel",ei="active",ii=".active",ni=".carousel-item",si=ii+ni,oi={[We]:Ve,[Be]:qe},ri={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},ai={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class li extends ve{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=we.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===ti&&this.cycle()}static get Default(){return ri}static get DefaultType(){return ai}static get NAME(){return"carousel"}next(){this._slide(ze)}nextWhenVisible(){!document.hidden&&Wt(this._element)&&this.next()}prev(){this._slide(Re)}pause(){this._isSliding&&jt(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?fe.one(this._element,Qe,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void fe.one(this._element,Qe,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?ze:Re;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&fe.on(this._element,Xe,(t=>this._keydown(t))),"hover"===this._config.pause&&(fe.on(this._element,Ye,(()=>this.pause())),fe.on(this._element,Ue,(()=>this._maybeEnableCycle()))),this._config.touch&&je.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of we.find(".carousel-item img",this._element))fe.on(t,Ge,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(qe)),rightCallback:()=>this._slide(this._directionToOrder(Ve)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new je(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=oi[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=we.findOne(ii,this._indicatorsElement);e.classList.remove(ei),e.removeAttribute("aria-current");const i=we.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(ei),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===ze,s=e||Gt(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>fe.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(Ke).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),qt(s),i.classList.add(l),s.classList.add(l);this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(ei),i.classList.remove(ei,c,l),this._isSliding=!1,r(Qe)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return we.findOne(si,this._element)}_getItems(){return we.find(ni,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return Qt()?t===qe?Re:ze:t===qe?ze:Re}_orderToDirection(t){return Qt()?t===Re?qe:Ve:t===Re?Ve:qe}static jQueryInterface(t){return this.each((function(){const e=li.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}fe.on(document,Ze,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=we.getElementFromSelector(this);if(!e||!e.classList.contains(ti))return;t.preventDefault();const i=li.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===_e.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),fe.on(window,Je,(()=>{const t=we.find('[data-bs-ride="carousel"]');for(const e of t)li.getOrCreateInstance(e)})),Xt(li);const ci=".bs.collapse",hi=`show${ci}`,ui=`shown${ci}`,di=`hide${ci}`,fi=`hidden${ci}`,pi=`click${ci}.data-api`,mi="show",gi="collapse",_i="collapsing",bi=`:scope .${gi} .${gi}`,vi='[data-bs-toggle="collapse"]',yi={parent:null,toggle:!0},wi={parent:"(null|element)",toggle:"boolean"};class Ai extends ve{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=we.find(vi);for(const t of i){const e=we.getSelectorFromElement(t),i=we.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return yi}static get DefaultType(){return wi}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Ai.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(fe.trigger(this._element,hi).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(gi),this._element.classList.add(_i),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(_i),this._element.classList.add(gi,mi),this._element.style[e]="",fe.trigger(this._element,ui)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(fe.trigger(this._element,di).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,qt(this._element),this._element.classList.add(_i),this._element.classList.remove(gi,mi);for(const t of this._triggerArray){const e=we.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0;this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(_i),this._element.classList.add(gi),fe.trigger(this._element,fi)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(mi)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=Ht(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(vi);for(const e of t){const t=we.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=we.find(bi,this._config.parent);return we.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Ai.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}fe.on(document,pi,vi,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of we.getMultipleElementsFromSelector(this))Ai.getOrCreateInstance(t,{toggle:!1}).toggle()})),Xt(Ai);const Ei="dropdown",Ci=".bs.dropdown",Ti=".data-api",Oi="ArrowUp",xi="ArrowDown",ki=`hide${Ci}`,Li=`hidden${Ci}`,Si=`show${Ci}`,Di=`shown${Ci}`,$i=`click${Ci}${Ti}`,Ii=`keydown${Ci}${Ti}`,Ni=`keyup${Ci}${Ti}`,Pi="show",Mi='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',ji=`${Mi}.${Pi}`,Fi=".dropdown-menu",Hi=Qt()?"top-end":"top-start",Wi=Qt()?"top-start":"top-end",Bi=Qt()?"bottom-end":"bottom-start",zi=Qt()?"bottom-start":"bottom-end",Ri=Qt()?"left-start":"right-start",qi=Qt()?"right-start":"left-start",Vi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ki={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class Qi extends ve{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=we.next(this._element,Fi)[0]||we.prev(this._element,Fi)[0]||we.findOne(Fi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return Vi}static get DefaultType(){return Ki}static get NAME(){return Ei}toggle(){return this._isShown()?this.hide():this.show()}show(){if(Bt(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!fe.trigger(this._element,Si,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))fe.on(t,"mouseover",Rt);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Pi),this._element.classList.add(Pi),fe.trigger(this._element,Di,t)}}hide(){if(Bt(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!fe.trigger(this._element,ki,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._popper&&this._popper.destroy(),this._menu.classList.remove(Pi),this._element.classList.remove(Pi),this._element.setAttribute("aria-expanded","false"),_e.removeDataAttribute(this._menu,"popper"),fe.trigger(this._element,Li,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!Ft(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ei.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===$t)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:Ft(this._config.reference)?t=Ht(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=Dt(t,this._menu,e)}_isShown(){return this._menu.classList.contains(Pi)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Ri;if(t.classList.contains("dropstart"))return qi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Wi:Hi:e?zi:Bi}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(_e.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...Yt(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=we.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>Wt(t)));i.length&&Gt(i,e,t===xi,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=Qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=we.find(ji);for(const i of e){const e=Qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Oi,xi].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Mi)?this:we.prev(this,Mi)[0]||we.next(this,Mi)[0]||we.findOne(Mi,t.delegateTarget.parentNode),o=Qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}fe.on(document,Ii,Mi,Qi.dataApiKeydownHandler),fe.on(document,Ii,Fi,Qi.dataApiKeydownHandler),fe.on(document,$i,Qi.clearMenus),fe.on(document,Ni,Qi.clearMenus),fe.on(document,$i,Mi,(function(t){t.preventDefault(),Qi.getOrCreateInstance(this).toggle()})),Xt(Qi);const Xi="backdrop",Yi="show",Ui=`mousedown.bs.${Xi}`,Gi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Ji={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Zi extends be{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Gi}static get DefaultType(){return Ji}static get NAME(){return Xi}show(t){if(!this._config.isVisible)return void Yt(t);this._append();const e=this._getElement();this._config.isAnimated&&qt(e),e.classList.add(Yi),this._emulateAnimation((()=>{Yt(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Yi),this._emulateAnimation((()=>{this.dispose(),Yt(t)}))):Yt(t)}dispose(){this._isAppended&&(fe.off(this._element,Ui),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=Ht(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),fe.on(t,Ui,(()=>{Yt(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){Ut(t,this._getElement(),this._config.isAnimated)}}const tn=".bs.focustrap",en=`focusin${tn}`,nn=`keydown.tab${tn}`,sn="backward",on={autofocus:!0,trapElement:null},rn={autofocus:"boolean",trapElement:"element"};class an extends be{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return on}static get DefaultType(){return rn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),fe.off(document,tn),fe.on(document,en,(t=>this._handleFocusin(t))),fe.on(document,nn,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,fe.off(document,tn))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=we.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===sn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?sn:"forward")}}const ln=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",cn=".sticky-top",hn="padding-right",un="margin-right";class dn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,hn,(e=>e+t)),this._setElementAttributes(ln,hn,(e=>e+t)),this._setElementAttributes(cn,un,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,hn),this._resetElementAttributes(ln,hn),this._resetElementAttributes(cn,un)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&_e.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=_e.getDataAttribute(t,e);null!==i?(_e.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(Ft(t))e(t);else for(const i of we.find(t,this._element))e(i)}}const fn=".bs.modal",pn=`hide${fn}`,mn=`hidePrevented${fn}`,gn=`hidden${fn}`,_n=`show${fn}`,bn=`shown${fn}`,vn=`resize${fn}`,yn=`click.dismiss${fn}`,wn=`mousedown.dismiss${fn}`,An=`keydown.dismiss${fn}`,En=`click${fn}.data-api`,Cn="modal-open",Tn="show",On="modal-static",xn={backdrop:!0,focus:!0,keyboard:!0},kn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class Ln extends ve{constructor(t,e){super(t,e),this._dialog=we.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new dn,this._addEventListeners()}static get Default(){return xn}static get DefaultType(){return kn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown||this._isTransitioning)return;fe.trigger(this._element,_n,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Cn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;fe.trigger(this._element,pn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Tn),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated()))}dispose(){fe.off(window,fn),fe.off(this._dialog,fn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Zi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new an({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=we.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),qt(this._element),this._element.classList.add(Tn);this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,fe.trigger(this._element,bn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){fe.on(this._element,An,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),fe.on(window,vn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),fe.on(this._element,wn,(t=>{fe.one(this._element,yn,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Cn),this._resetAdjustments(),this._scrollBar.reset(),fe.trigger(this._element,gn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(fe.trigger(this._element,mn).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(On)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(On),this._queueCallback((()=>{this._element.classList.remove(On),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=Qt()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=Qt()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Ln.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}fe.on(document,En,'[data-bs-toggle="modal"]',(function(t){const e=we.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),fe.one(e,_n,(t=>{t.defaultPrevented||fe.one(e,gn,(()=>{Wt(this)&&this.focus()}))}));const i=we.findOne(".modal.show");i&&Ln.getInstance(i).hide();Ln.getOrCreateInstance(e).toggle(this)})),Ae(Ln),Xt(Ln);const Sn=".bs.offcanvas",Dn=".data-api",$n=`load${Sn}${Dn}`,In="show",Nn="showing",Pn="hiding",Mn=".offcanvas.show",jn=`show${Sn}`,Fn=`shown${Sn}`,Hn=`hide${Sn}`,Wn=`hidePrevented${Sn}`,Bn=`hidden${Sn}`,zn=`resize${Sn}`,Rn=`click${Sn}${Dn}`,qn=`keydown.dismiss${Sn}`,Vn={backdrop:!0,keyboard:!0,scroll:!1},Kn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class Qn extends ve{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return Vn}static get DefaultType(){return Kn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){if(this._isShown)return;if(fe.trigger(this._element,jn,{relatedTarget:t}).defaultPrevented)return;this._isShown=!0,this._backdrop.show(),this._config.scroll||(new dn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Nn);this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(In),this._element.classList.remove(Nn),fe.trigger(this._element,Fn,{relatedTarget:t})}),this._element,!0)}hide(){if(!this._isShown)return;if(fe.trigger(this._element,Hn).defaultPrevented)return;this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(Pn),this._backdrop.hide();this._queueCallback((()=>{this._element.classList.remove(In,Pn),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new dn).reset(),fe.trigger(this._element,Bn)}),this._element,!0)}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Zi({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():fe.trigger(this._element,Wn)}:null})}_initializeFocusTrap(){return new an({trapElement:this._element})}_addEventListeners(){fe.on(this._element,qn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():fe.trigger(this._element,Wn))}))}static jQueryInterface(t){return this.each((function(){const e=Qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}fe.on(document,Rn,'[data-bs-toggle="offcanvas"]',(function(t){const e=we.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),Bt(this))return;fe.one(e,Bn,(()=>{Wt(this)&&this.focus()}));const i=we.findOne(Mn);i&&i!==e&&Qn.getInstance(i).hide();Qn.getOrCreateInstance(e).toggle(this)})),fe.on(window,$n,(()=>{for(const t of we.find(Mn))Qn.getOrCreateInstance(t).show()})),fe.on(window,zn,(()=>{for(const t of we.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&Qn.getOrCreateInstance(t).hide()})),Ae(Qn),Xt(Qn);const Xn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Yn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Un=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Gn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Yn.has(i)||Boolean(Un.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))};const Jn={allowList:Xn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Zn={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},ts={entry:"(string|element|function|null)",selector:"(string|element)"};class es extends be{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Jn}static get DefaultType(){return Zn}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},ts)}_setContent(t,e,i){const n=we.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?Ft(e)?this._putElementInTemplate(Ht(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Gn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return Yt(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const is=new Set(["sanitize","allowList","sanitizeFn"]),ns="fade",ss="show",os=".tooltip-inner",rs=".modal",as="hide.bs.modal",ls="hover",cs="focus",hs={AUTO:"auto",TOP:"top",RIGHT:Qt()?"left":"right",BOTTOM:"bottom",LEFT:Qt()?"right":"left"},us={allowList:Xn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},ds={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class fs extends ve{constructor(t,e){if(void 0===$t)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return us}static get DefaultType(){return ds}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),fe.off(this._element.closest(rs),as,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=fe.trigger(this._element,this.constructor.eventName("show")),e=(zt(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),fe.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.on(t,"mouseover",Rt);this._queueCallback((()=>{fe.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(!this._isShown())return;if(fe.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented)return;if(this._getTipElement().classList.remove(ss),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))fe.off(t,"mouseover",Rt);this._activeTrigger.click=!1,this._activeTrigger[cs]=!1,this._activeTrigger[ls]=!1,this._isHovered=null;this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),fe.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ns,ss),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ns),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new es({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{[os]:this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ns)}_isShown(){return this.tip&&this.tip.classList.contains(ss)}_createPopper(t){const e=Yt(this._config.placement,[this,t,this._element]),i=hs[e.toUpperCase()];return Dt(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return Yt(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...Yt(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)fe.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ls?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ls?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");fe.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?cs:ls]=!0,e._enter()})),fe.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?cs:ls]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},fe.on(this._element.closest(rs),as,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=_e.getDataAttributes(this._element);for(const t of Object.keys(e))is.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:Ht(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=fs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Xt(fs);const ps=".popover-header",ms=".popover-body",gs={...fs.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},_s={...fs.DefaultType,content:"(null|string|element|function)"};class bs extends fs{static get Default(){return gs}static get DefaultType(){return _s}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{[ps]:this._getTitle(),[ms]:this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=bs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}Xt(bs);const vs=".bs.scrollspy",ys=`activate${vs}`,ws=`click${vs}`,As=`load${vs}.data-api`,Es="active",Cs="[href]",Ts=".nav-link",Os=`${Ts}, .nav-item > ${Ts}, .list-group-item`,xs={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},ks={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Ls extends ve{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return xs}static get DefaultType(){return ks}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=Ht(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(fe.off(this._config.target,ws),fe.on(this._config.target,ws,Cs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=we.find(Cs,this._config.target);for(const e of t){if(!e.hash||Bt(e))continue;const t=we.findOne(decodeURI(e.hash),this._element);Wt(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Es),this._activateParents(t),fe.trigger(this._element,ys,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))we.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(Es);else for(const e of we.parents(t,".nav, .list-group"))for(const t of we.prev(e,Os))t.classList.add(Es)}_clearActiveClass(t){t.classList.remove(Es);const e=we.find(`${Cs}.${Es}`,t);for(const t of e)t.classList.remove(Es)}static jQueryInterface(t){return this.each((function(){const e=Ls.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}fe.on(window,As,(()=>{for(const t of we.find('[data-bs-spy="scroll"]'))Ls.getOrCreateInstance(t)})),Xt(Ls);const Ss=".bs.tab",Ds=`hide${Ss}`,$s=`hidden${Ss}`,Is=`show${Ss}`,Ns=`shown${Ss}`,Ps=`click${Ss}`,Ms=`keydown${Ss}`,js=`load${Ss}`,Fs="ArrowLeft",Hs="ArrowRight",Ws="ArrowUp",Bs="ArrowDown",zs="Home",Rs="End",qs="active",Vs="fade",Ks="show",Qs=".dropdown-toggle",Xs=`:not(${Qs})`,Ys='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',Us=`${`.nav-link${Xs}, .list-group-item${Xs}, [role="tab"]${Xs}`}, ${Ys}`,Gs=`.${qs}[data-bs-toggle="tab"], .${qs}[data-bs-toggle="pill"], .${qs}[data-bs-toggle="list"]`;class Js extends ve{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),fe.on(this._element,Ms,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?fe.trigger(e,Ds,{relatedTarget:t}):null;fe.trigger(t,Is,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){if(!t)return;t.classList.add(qs),this._activate(we.getElementFromSelector(t));this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),fe.trigger(t,Ns,{relatedTarget:e})):t.classList.add(Ks)}),t,t.classList.contains(Vs))}_deactivate(t,e){if(!t)return;t.classList.remove(qs),t.blur(),this._deactivate(we.getElementFromSelector(t));this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),fe.trigger(t,$s,{relatedTarget:e})):t.classList.remove(Ks)}),t,t.classList.contains(Vs))}_keydown(t){if(![Fs,Hs,Ws,Bs,zs,Rs].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!Bt(t)));let i;if([zs,Rs].includes(t.key))i=e[t.key===zs?0:e.length-1];else{const n=[Hs,Bs].includes(t.key);i=Gt(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Js.getOrCreateInstance(i).show())}_getChildren(){return we.find(Us,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=we.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=we.findOne(t,i);s&&s.classList.toggle(n,e)};n(Qs,qs),n(".dropdown-menu",Ks),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(qs)}_getInnerElement(t){return t.matches(Us)?t:we.findOne(Us,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Js.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}fe.on(document,Ps,Ys,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),Bt(this)||Js.getOrCreateInstance(this).show()})),fe.on(window,js,(()=>{for(const t of we.find(Gs))Js.getOrCreateInstance(t)})),Xt(Js);const Zs=".bs.toast",to=`mouseover${Zs}`,eo=`mouseout${Zs}`,io=`focusin${Zs}`,no=`focusout${Zs}`,so=`hide${Zs}`,oo=`hidden${Zs}`,ro=`show${Zs}`,ao=`shown${Zs}`,lo="hide",co="show",ho="showing",uo={animation:"boolean",autohide:"boolean",delay:"number"},fo={animation:!0,autohide:!0,delay:5e3};class po extends ve{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return fo}static get DefaultType(){return uo}static get NAME(){return"toast"}show(){if(fe.trigger(this._element,ro).defaultPrevented)return;this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");this._element.classList.remove(lo),qt(this._element),this._element.classList.add(co,ho),this._queueCallback((()=>{this._element.classList.remove(ho),fe.trigger(this._element,ao),this._maybeScheduleHide()}),this._element,this._config.animation)}hide(){if(!this.isShown())return;if(fe.trigger(this._element,so).defaultPrevented)return;this._element.classList.add(ho),this._queueCallback((()=>{this._element.classList.add(lo),this._element.classList.remove(ho,co),fe.trigger(this._element,oo)}),this._element,this._config.animation)}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(co),super.dispose()}isShown(){return this._element.classList.contains(co)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){fe.on(this._element,to,(t=>this._onInteraction(t,!0))),fe.on(this._element,eo,(t=>this._onInteraction(t,!1))),fe.on(this._element,io,(t=>this._onInteraction(t,!0))),fe.on(this._element,no,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=po.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}Ae(po),Xt(po);export{Oe as Alert,ke as Button,li as Carousel,Ai as Collapse,Qi as Dropdown,Ln as Modal,Qn as Offcanvas,bs as Popover,Ls as ScrollSpy,Js as Tab,po as Toast,fs as Tooltip};
diff --git a/typo3/sysext/dashboard/Resources/Public/JavaScript/Contrib/chartjs.js b/typo3/sysext/dashboard/Resources/Public/JavaScript/Contrib/chartjs.js
index fe6b429c034367fca1e43500a497b1e91dd81b00..c5a884770509d13bcc8251bf0418db73205dbf9b 100644
--- a/typo3/sysext/dashboard/Resources/Public/JavaScript/Contrib/chartjs.js
+++ b/typo3/sysext/dashboard/Resources/Public/JavaScript/Contrib/chartjs.js
@@ -4,16 +4,16 @@
  * (c) 2023 Jukka Kurkela
  * Released under the MIT License
  */
-function round(t){return t+.5|0}const lim=(t,e,i)=>Math.max(Math.min(t,i),e);function p2b(t){return lim(round(2.55*t),0,255)}function n2b(t){return lim(round(255*t),0,255)}function b2n(t){return lim(round(t/2.55)/100,0,1)}function n2p(t){return lim(round(100*t),0,100)}const 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},hex=[..."0123456789ABCDEF"],h1=t=>hex[15&t],h2=t=>hex[(240&t)>>4]+hex[15&t],eq=t=>(240&t)>>4==(15&t),isShort=t=>eq(t.r)&&eq(t.g)&&eq(t.b)&&eq(t.a);function hexParse(t){var e,i=t.length;return"#"===t[0]&&(4===i||5===i?e={r:255&17*map$1[t[1]],g:255&17*map$1[t[2]],b:255&17*map$1[t[3]],a:5===i?17*map$1[t[4]]:255}:7!==i&&9!==i||(e={r:map$1[t[1]]<<4|map$1[t[2]],g:map$1[t[3]]<<4|map$1[t[4]],b:map$1[t[5]]<<4|map$1[t[6]],a:9===i?map$1[t[7]]<<4|map$1[t[8]]:255})),e}const alpha=(t,e)=>t<255?e(t):"";function hexString(t){var e=isShort(t)?h1:h2;return t?"#"+e(t.r)+e(t.g)+e(t.b)+alpha(t.a,e):void 0}const HUE_RE=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function hsl2rgbn(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function hsv2rgbn(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function hwb2rgbn(t,e,i){const s=hsl2rgbn(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function hueValue(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}function rgb2hsl(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=hueValue(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function calln(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(n2b)}function hsl2rgb(t,e,i){return calln(hsl2rgbn,t,e,i)}function hwb2rgb(t,e,i){return calln(hwb2rgbn,t,e,i)}function hsv2rgb(t,e,i){return calln(hsv2rgbn,t,e,i)}function hue(t){return(t%360+360)%360}function hueParse(t){const e=HUE_RE.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?p2b(+e[5]):n2b(+e[5]));const n=hue(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?hwb2rgb(n,o,a):"hsv"===e[1]?hsv2rgb(n,o,a):hsl2rgb(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}function rotate(t,e){var i=rgb2hsl(t);i[0]=hue(i[0]+e),i=hsl2rgb(i),t.r=i[0],t.g=i[1],t.b=i[2]}function hslString(t){if(!t)return;const e=rgb2hsl(t),i=e[0],s=n2p(e[1]),n=n2p(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${b2n(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}const map$2={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},names$1={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function unpack(){const t={},e=Object.keys(names$1),i=Object.keys(map$2);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,map$2[o]);o=parseInt(names$1[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}let names;function nameParse(t){names||(names=unpack(),names.transparent=[0,0,0,0]);const e=names[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const RGB_RE=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function rgbParse(t){const e=RGB_RE.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=e[8]?p2b(t):lim(255*t,0,255)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?p2b(i):lim(i,0,255)),s=255&(e[4]?p2b(s):lim(s,0,255)),n=255&(e[6]?p2b(n):lim(n,0,255)),{r:i,g:s,b:n,a:o}}}function rgbString(t){return t&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${b2n(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`)}const to=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,from=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function interpolate$1(t,e,i){const s=from(b2n(t.r)),n=from(b2n(t.g)),o=from(b2n(t.b));return{r:n2b(to(s+i*(from(b2n(e.r))-s))),g:n2b(to(n+i*(from(b2n(e.g))-n))),b:n2b(to(o+i*(from(b2n(e.b))-o))),a:t.a+i*(e.a-t.a)}}function modHSL(t,e,i){if(t){let s=rgb2hsl(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=hsl2rgb(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function clone$1(t,e){return t?Object.assign(e||{},t):t}function fromObject(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=n2b(t[3]))):(e=clone$1(t,{r:0,g:0,b:0,a:1})).a=n2b(e.a),e}function functionParse(t){return"r"===t.charAt(0)?rgbParse(t):hueParse(t)}class Color{constructor(t){if(t instanceof Color)return t;const e=typeof t;let i;"object"===e?i=fromObject(t):"string"===e&&(i=hexParse(t)||nameParse(t)||functionParse(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=clone$1(this._rgb);return t&&(t.a=b2n(t.a)),t}set rgb(t){this._rgb=fromObject(t)}rgbString(){return this._valid?rgbString(this._rgb):void 0}hexString(){return this._valid?hexString(this._rgb):void 0}hslString(){return this._valid?hslString(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=interpolate$1(this._rgb,t._rgb,e)),this}clone(){return new Color(this.rgb)}alpha(t){return this._rgb.a=n2b(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=round(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return modHSL(this._rgb,2,t),this}darken(t){return modHSL(this._rgb,2,-t),this}saturate(t){return modHSL(this._rgb,1,t),this}desaturate(t){return modHSL(this._rgb,1,-t),this}rotate(t){return rotate(this._rgb,t),this}}
+function t(t){return t+.5|0}const e=(t,e,i)=>Math.max(Math.min(t,i),e);function i(i){return e(t(2.55*i),0,255)}function s(i){return e(t(255*i),0,255)}function n(i){return e(t(i/2.55)/100,0,1)}function o(i){return e(t(100*i),0,100)}const a={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},r=[..."0123456789ABCDEF"],l=t=>r[15&t],h=t=>r[(240&t)>>4]+r[15&t],c=t=>(240&t)>>4==(15&t);function d(t){var e=(t=>c(t.r)&&c(t.g)&&c(t.b)&&c(t.a))(t)?l:h;return t?"#"+e(t.r)+e(t.g)+e(t.b)+((t,e)=>t<255?e(t):"")(t.a,e):void 0}const u=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function f(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function g(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function p(t,e,i){const s=f(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function m(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=function(t,e,i,s,n){return t===n?(e-i)/s+(e<i?6:0):e===n?(i-t)/s+2:(t-e)/s+4}(e,i,s,h,n),r=60*r+.5),[0|r,l||0,a]}function b(t,e,i,n){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,n)).map(s)}function x(t,e,i){return b(f,t,e,i)}function _(t){return(t%360+360)%360}function y(t){const e=u.exec(t);let n,o=255;if(!e)return;e[5]!==n&&(o=e[6]?i(+e[5]):s(+e[5]));const a=_(+e[2]),r=+e[3]/100,l=+e[4]/100;return n="hwb"===e[1]?function(t,e,i){return b(p,t,e,i)}(a,r,l):"hsv"===e[1]?function(t,e,i){return b(g,t,e,i)}(a,r,l):x(a,r,l),{r:n[0],g:n[1],b:n[2],a:o}}const v={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},M={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let w;function k(t){w||(w=function(){const t={},e=Object.keys(M),i=Object.keys(v);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,v[o]);o=parseInt(M[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),w.transparent=[0,0,0,0]);const e=w[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}const S=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const P=t=>t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055,D=t=>t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4);function C(t,e,i){if(t){let s=m(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=x(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function O(t,e){return t?Object.assign(e||{},t):t}function A(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=s(t[3]))):(e=O(t,{r:0,g:0,b:0,a:1})).a=s(e.a),e}function T(t){return"r"===t.charAt(0)?function(t){const s=S.exec(t);let n,o,a,r=255;if(s){if(s[7]!==n){const t=+s[7];r=s[8]?i(t):e(255*t,0,255)}return n=+s[1],o=+s[3],a=+s[5],n=255&(s[2]?i(n):e(n,0,255)),o=255&(s[4]?i(o):e(o,0,255)),a=255&(s[6]?i(a):e(a,0,255)),{r:n,g:o,b:a,a:r}}}(t):y(t)}class L{constructor(t){if(t instanceof L)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=A(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*a[s[1]],g:255&17*a[s[2]],b:255&17*a[s[3]],a:5===o?17*a[s[4]]:255}:7!==o&&9!==o||(n={r:a[s[1]]<<4|a[s[2]],g:a[s[3]]<<4|a[s[4]],b:a[s[5]]<<4|a[s[6]],a:9===o?a[s[7]]<<4|a[s[8]]:255})),i=n||k(t)||T(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=O(this._rgb);return t&&(t.a=n(t.a)),t}set rgb(t){this._rgb=A(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${n(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):void 0;var t}hexString(){return this._valid?d(this._rgb):void 0}hslString(){return this._valid?function(t){if(!t)return;const e=m(t),i=e[0],s=o(e[1]),a=o(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${a}%, ${n(t.a)})`:`hsl(${i}, ${s}%, ${a}%)`}(this._rgb):void 0}mix(t,e){if(t){const i=this.rgb,s=t.rgb;let n;const o=e===n?.5:e,a=2*o-1,r=i.a-s.a,l=((a*r==-1?a:(a+r)/(1+a*r))+1)/2;n=1-l,i.r=255&l*i.r+n*s.r+.5,i.g=255&l*i.g+n*s.g+.5,i.b=255&l*i.b+n*s.b+.5,i.a=o*i.a+(1-o)*s.a,this.rgb=i}return this}interpolate(t,e){return t&&(this._rgb=function(t,e,i){const o=D(n(t.r)),a=D(n(t.g)),r=D(n(t.b));return{r:s(P(o+i*(D(n(e.r))-o))),g:s(P(a+i*(D(n(e.g))-a))),b:s(P(r+i*(D(n(e.b))-r))),a:t.a+i*(e.a-t.a)}}(this._rgb,t._rgb,e)),this}clone(){return new L(this.rgb)}alpha(t){return this._rgb.a=s(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const e=this._rgb,i=t(.3*e.r+.59*e.g+.11*e.b);return e.r=e.g=e.b=i,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return C(this._rgb,2,t),this}darken(t){return C(this._rgb,2,-t),this}saturate(t){return C(this._rgb,1,t),this}desaturate(t){return C(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=m(t);i[0]=_(i[0]+e),i=x(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}
 /*!
  * Chart.js v4.4.2
  * https://www.chartjs.org
  * (c) 2024 Chart.js Contributors
  * Released under the MIT License
- */function noop(){}const uid=(()=>{let t=0;return()=>t++})();function isNullOrUndef(t){return null==t}function isArray(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function isObject(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function isNumberFinite(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function finiteOrDefault(t,e){return isNumberFinite(t)?t:e}function valueOrDefault(t,e){return void 0===t?e:t}const toPercentage=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:+t/e,toDimension=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function callback(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function each(t,e,i,s){let n,o,a;if(isArray(t))if(o=t.length,s)for(n=o-1;n>=0;n--)e.call(i,t[n],n);else for(n=0;n<o;n++)e.call(i,t[n],n);else if(isObject(t))for(a=Object.keys(t),o=a.length,n=0;n<o;n++)e.call(i,t[a[n]],a[n])}function _elementsEqual(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function clone(t){if(isArray(t))return t.map(clone);if(isObject(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=clone(t[i[n]]);return e}return t}function isValidKey(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function _merger(t,e,i,s){if(!isValidKey(t))return;const n=e[t],o=i[t];isObject(n)&&isObject(o)?merge(n,o,s):e[t]=clone(o)}function merge(t,e,i){const s=isArray(e)?e:[e],n=s.length;if(!isObject(t))return t;const o=(i=i||{}).merger||_merger;let a;for(let e=0;e<n;++e){if(a=s[e],!isObject(a))continue;const n=Object.keys(a);for(let e=0,s=n.length;e<s;++e)o(n[e],t,a,i)}return t}function mergeIf(t,e){return merge(t,e,{merger:_mergerIf})}function _mergerIf(t,e,i){if(!isValidKey(t))return;const s=e[t],n=i[t];isObject(s)&&isObject(n)?mergeIf(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=clone(n))}const keyResolvers={"":t=>t,x:t=>t.x,y:t=>t.y};function _splitKey(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}function _getKeyResolver(t){const e=_splitKey(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}function resolveObjectKey(t,e){return(keyResolvers[e]||(keyResolvers[e]=_getKeyResolver(e)))(t)}function _capitalize(t){return t.charAt(0).toUpperCase()+t.slice(1)}const defined=t=>void 0!==t,isFunction=t=>"function"==typeof t,setsEqual=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};function _isClickEvent(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}const PI=Math.PI,TAU=2*PI,PITAU=TAU+PI,INFINITY=Number.POSITIVE_INFINITY,RAD_PER_DEG=PI/180,HALF_PI=PI/2,QUARTER_PI=PI/4,TWO_THIRDS_PI=2*PI/3,log10=Math.log10,sign=Math.sign;function almostEquals(t,e,i){return Math.abs(t-e)<i}function niceNum(t){const e=Math.round(t);t=almostEquals(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(log10(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function _factorize(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function isNumber(t){return!isNaN(parseFloat(t))&&isFinite(t)}function almostWhole(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function _setMinAndMaxByKey(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function toRadians(t){return t*(PI/180)}function toDegrees(t){return t*(180/PI)}function _decimalPlaces(t){if(!isNumberFinite(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function getAngleFromPoint(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*PI&&(o+=TAU),{angle:o,distance:n}}function distanceBetweenPoints(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function _angleDiff(t,e){return(t-e+PITAU)%TAU-PI}function _normalizeAngle(t){return(t%TAU+TAU)%TAU}function _angleBetween(t,e,i,s){const n=_normalizeAngle(t),o=_normalizeAngle(e),a=_normalizeAngle(i),r=_normalizeAngle(o-n),l=_normalizeAngle(a-n),h=_normalizeAngle(n-o),c=_normalizeAngle(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function _limitValue(t,e,i){return Math.max(e,Math.min(i,t))}function _int16Range(t){return _limitValue(t,-32768,32767)}function _isBetween(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function _lookup(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const _lookupByKey=(t,e,i,s)=>_lookup(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),_rlookupByKey=(t,e,i)=>_lookup(t,i,(s=>t[s][e]>=i));function _filterBetween(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const arrayEvents=["push","pop","shift","splice","unshift"];function listenArrayEvents(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),arrayEvents.forEach((e=>{const i="_onData"+_capitalize(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function unlistenArrayEvents(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(arrayEvents.forEach((e=>{delete t[e]})),delete t._chartjs)}function _arrayUnique(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const requestAnimFrame="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function throttled(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,requestAnimFrame.call(window,(()=>{s=!1,t.apply(e,i)})))}}function debounce(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const _toLeftRightCenter=t=>"start"===t?"left":"end"===t?"right":"center",_alignStartEnd=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,_textX=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;function _getStartAndCountOfVisiblePoints(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=_limitValue(Math.min(_lookupByKey(r,l,h).lo,i?s:_lookupByKey(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?_limitValue(Math.max(_lookupByKey(r,a.axis,c,!0).hi+1,i?0:_lookupByKey(e,l,a.getPixelForValue(c),!0).hi+1),n,s)-n:s-n}return{start:n,count:o}}function _scaleRangesChanged(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}const atEdge=t=>0===t||1===t,elasticIn=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*TAU/i),elasticOut=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*TAU/i)+1,effects={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*HALF_PI),easeOutSine:t=>Math.sin(t*HALF_PI),easeInOutSine:t=>-.5*(Math.cos(PI*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>atEdge(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>atEdge(t)?t:elasticIn(t,.075,.3),easeOutElastic:t=>atEdge(t)?t:elasticOut(t,.075,.3),easeInOutElastic(t){const e=.1125;return atEdge(t)?t:t<.5?.5*elasticIn(2*t,e,.45):.5+.5*elasticOut(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-effects.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*effects.easeInBounce(2*t):.5*effects.easeOutBounce(2*t-1)+.5};function isPatternOrGradient(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function color(t){return isPatternOrGradient(t)?t:new Color(t)}function getHoverColor(t){return isPatternOrGradient(t)?t:new Color(t).saturate(.5).darken(.1).hexString()}const numbers=["x","y","borderWidth","radius","tension"],colors=["color","borderColor","backgroundColor"];function applyAnimationsDefaults(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:colors},numbers:{type:"number",properties:numbers}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})}function applyLayoutsDefaults(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const intlCache=new Map;function getNumberFormat(t,e){e=e||{};const i=t+JSON.stringify(e);let s=intlCache.get(i);return s||(s=new Intl.NumberFormat(t,e),intlCache.set(i,s)),s}function formatNumber(t,e,i){return getNumberFormat(e,i).format(t)}const formatters={values:t=>isArray(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=calculateDelta(t,i)}const a=log10(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),formatNumber(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(log10(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?formatters.numeric.call(this,t,e,i):""}};function calculateDelta(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t)),i}var Ticks={formatters};function applyScaleDefaults(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ticks.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}const overrides=Object.create(null),descriptors=Object.create(null);function getScope$1(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function set(t,e,i){return"string"==typeof e?merge(getScope$1(t,e),i):merge(getScope$1(t,""),e)}class Defaults{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>getHoverColor(e.backgroundColor),this.hoverBorderColor=(t,e)=>getHoverColor(e.borderColor),this.hoverColor=(t,e)=>getHoverColor(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return set(this,t,e)}get(t){return getScope$1(this,t)}describe(t,e){return set(descriptors,t,e)}override(t,e){return set(overrides,t,e)}route(t,e,i,s){const n=getScope$1(this,t),o=getScope$1(this,i),a="_"+e;Object.defineProperties(n,{[a]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[a],e=o[s];return isObject(t)?Object.assign({},e,t):valueOrDefault(t,e)},set(t){this[a]=t}}})}apply(t){t.forEach((t=>t(this)))}}var defaults=new Defaults({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[applyAnimationsDefaults,applyLayoutsDefaults,applyScaleDefaults]);function toFontString(t){return!t||isNullOrUndef(t.size)||isNullOrUndef(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function _measureText(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function _longestText(t,e,i,s){let n=(s=s||{}).data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(n=s.data={},o=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let a=0;const r=i.length;let l,h,c,d,u;for(l=0;l<r;l++)if(d=i[l],null==d||isArray(d)){if(isArray(d))for(h=0,c=d.length;h<c;h++)u=d[h],null==u||isArray(u)||(a=_measureText(t,n,o,a,u))}else a=_measureText(t,n,o,a,d);t.restore();const g=o.length/2;if(g>i.length){for(l=0;l<g;l++)delete n[o[l]];o.splice(0,g)}return a}function _alignPixel(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function clearCanvas(t,e){(e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore()}function drawPoint(t,e,i,s){drawPointLegend(t,e,i,s,null)}function drawPointLegend(t,e,i,s,n){let o,a,r,l,h,c,d,u;const g=e.pointStyle,f=e.rotation,p=e.radius;let m=(f||0)*RAD_PER_DEG;if(g&&"object"==typeof g&&(o=g.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(i,s),t.rotate(m),t.drawImage(g,-g.width/2,-g.height/2,g.width,g.height),void t.restore();if(!(isNaN(p)||p<=0)){switch(t.beginPath(),g){default:n?t.ellipse(i,s,n/2,p,0,0,TAU):t.arc(i,s,p,0,TAU),t.closePath();break;case"triangle":c=n?n/2:p,t.moveTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=TWO_THIRDS_PI,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=TWO_THIRDS_PI,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),t.closePath();break;case"rectRounded":h=.516*p,l=p-h,a=Math.cos(m+QUARTER_PI)*l,d=Math.cos(m+QUARTER_PI)*(n?n/2-h:l),r=Math.sin(m+QUARTER_PI)*l,u=Math.sin(m+QUARTER_PI)*(n?n/2-h:l),t.arc(i-d,s-r,h,m-PI,m-HALF_PI),t.arc(i+u,s-a,h,m-HALF_PI,m),t.arc(i+d,s+r,h,m,m+HALF_PI),t.arc(i-u,s+a,h,m+HALF_PI,m+PI),t.closePath();break;case"rect":if(!f){l=Math.SQRT1_2*p,c=n?n/2:l,t.rect(i-c,s-l,2*c,2*l);break}m+=QUARTER_PI;case"rectRot":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+u,s-a),t.lineTo(i+d,s+r),t.lineTo(i-u,s+a),t.closePath();break;case"crossRot":m+=QUARTER_PI;case"cross":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"star":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a),m+=QUARTER_PI,d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"line":a=n?n/2:Math.cos(m)*p,r=Math.sin(m)*p,t.moveTo(i-a,s-r),t.lineTo(i+a,s+r);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(m)*(n?n/2:p),s+Math.sin(m)*p);break;case!1:t.closePath()}t.fill(),e.borderWidth>0&&t.stroke()}}function _isPointInArea(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function clipArea(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function unclipArea(t){t.restore()}function _steppedLineTo(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function _bezierCurveTo(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function setRenderOpts(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),isNullOrUndef(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}function decorateText(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function drawBackdrop(t,e){const i=t.fillStyle;t.fillStyle=e.color,t.fillRect(e.left,e.top,e.width,e.height),t.fillStyle=i}function renderText(t,e,i,s,n,o={}){const a=isArray(e)?e:[e],r=o.strokeWidth>0&&""!==o.strokeColor;let l,h;for(t.save(),t.font=n.string,setRenderOpts(t,o),l=0;l<a.length;++l)h=a[l],o.backdrop&&drawBackdrop(t,o.backdrop),r&&(o.strokeColor&&(t.strokeStyle=o.strokeColor),isNullOrUndef(o.strokeWidth)||(t.lineWidth=o.strokeWidth),t.strokeText(h,i,s,o.maxWidth)),t.fillText(h,i,s,o.maxWidth),decorateText(t,i,s,h,o),s+=Number(n.lineHeight);t.restore()}function addRoundedRectPath(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,1.5*PI,PI,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,PI,HALF_PI,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,HALF_PI,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-HALF_PI,!0),t.lineTo(i+a.topLeft,s)}const LINE_HEIGHT=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,FONT_STYLE=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function toLineHeight(t,e){const i=(""+t).match(LINE_HEIGHT);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const numberOrZero=t=>+t||0;function _readValueToProps(t,e){const i={},s=isObject(e),n=s?Object.keys(e):e,o=isObject(t)?s?i=>valueOrDefault(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=numberOrZero(o(t));return i}function toTRBL(t){return _readValueToProps(t,{top:"y",right:"x",bottom:"y",left:"x"})}function toTRBLCorners(t){return _readValueToProps(t,["topLeft","topRight","bottomLeft","bottomRight"])}function toPadding(t){const e=toTRBL(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function toFont(t,e){t=t||{},e=e||defaults.font;let i=valueOrDefault(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=valueOrDefault(t.style,e.style);s&&!(""+s).match(FONT_STYLE)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:valueOrDefault(t.family,e.family),lineHeight:toLineHeight(valueOrDefault(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:valueOrDefault(t.weight,e.weight),string:""};return n.string=toFontString(n),n}function resolve(t,e,i,s){let n,o,a,r=!0;for(n=0,o=t.length;n<o;++n)if(a=t[n],void 0!==a&&(void 0!==e&&"function"==typeof a&&(a=a(e),r=!1),void 0!==i&&isArray(a)&&(a=a[i%a.length],r=!1),void 0!==a))return s&&!r&&(s.cacheable=!1),a}function _addGrace(t,e,i){const{min:s,max:n}=t,o=toDimension(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function createContext(t,e){return Object.assign(Object.create(t),e)}function _createResolver(t,e=[""],i,s,n=(()=>t[0])){const o=i||t;void 0===s&&(s=_resolve("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>_createResolver([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>_cached(i,s,(()=>_resolveWithPrefixes(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>getKeysFromAllScopes(t).includes(e),ownKeys:t=>getKeysFromAllScopes(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function _attachContext(t,e,i,s){const n={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:_descriptors(t,s),setContext:e=>_attachContext(t,e,i,s),override:n=>_attachContext(t.override(n),e,i,s)};return new Proxy(n,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>_cached(t,e,(()=>_resolveWithContext(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function _descriptors(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:isFunction(i)?i:()=>i,isIndexable:isFunction(s)?s:()=>s}}const readKey=(t,e)=>t?t+_capitalize(e):e,needsSubResolver=(t,e)=>isObject(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function _cached(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function _resolveWithContext(t,e,i){const{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=t;let r=s[e];return isFunction(r)&&a.isScriptable(e)&&(r=_resolveScriptable(e,r,t,i)),isArray(r)&&r.length&&(r=_resolveArray(e,r,t,a.isIndexable)),needsSubResolver(e,r)&&(r=_attachContext(r,n,o&&o[e],a)),r}function _resolveScriptable(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);return r.delete(t),needsSubResolver(t,l)&&(l=createSubResolver(n._scopes,n,t,l)),l}function _resolveArray(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=i;if(void 0!==o.index&&s(t))return e[o.index%e.length];if(isObject(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const l of i){const i=createSubResolver(s,n,t,l);e.push(_attachContext(i,o,a&&a[t],r))}}return e}function resolveFallback(t,e,i){return isFunction(t)?t(e,i):t}const getScope=(t,e)=>!0===t?e:"string"==typeof t?resolveObjectKey(e,t):void 0;function addScopes(t,e,i,s,n){for(const o of e){const e=getScope(i,o);if(e){t.add(e);const o=resolveFallback(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function createSubResolver(t,e,i,s){const n=e._rootScopes,o=resolveFallback(e._fallback,i,s),a=[...t,...n],r=new Set;r.add(s);let l=addScopesFromKey(r,a,i,o||i,s);return null!==l&&((void 0===o||o===i||(l=addScopesFromKey(r,a,o,l,s),null!==l))&&_createResolver(Array.from(r),[""],n,o,(()=>subGetTarget(e,i,s))))}function addScopesFromKey(t,e,i,s,n){for(;i;)i=addScopes(t,e,i,s,n);return i}function subGetTarget(t,e,i){const s=t._getTarget();e in s||(s[e]={});const n=s[e];return isArray(n)&&isObject(i)?i:n||{}}function _resolveWithPrefixes(t,e,i,s){let n;for(const o of e)if(n=_resolve(readKey(o,t),i),void 0!==n)return needsSubResolver(t,n)?createSubResolver(i,s,t,n):n}function _resolve(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function getKeysFromAllScopes(t){let e=t._keys;return e||(e=t._keys=resolveKeysFromAllScopes(t._scopes)),e}function resolveKeysFromAllScopes(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}function _parseObjectDataRadialScale(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={r:n.parse(resolveObjectKey(c,o),h)};return a}const EPSILON=Number.EPSILON||1e-14,getPoint=(t,e)=>e<t.length&&!t[e].skip&&t[e],getValueAxis=t=>"x"===t?"y":"x";function splineCurve(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=distanceBetweenPoints(o,n),l=distanceBetweenPoints(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function monotoneAdjust(t,e,i){const s=t.length;let n,o,a,r,l,h=getPoint(t,0);for(let c=0;c<s-1;++c)l=h,h=getPoint(t,c+1),l&&h&&(almostEquals(e[c],0,EPSILON)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}function monotoneCompute(t,e,i="x"){const s=getValueAxis(i),n=t.length;let o,a,r,l=getPoint(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=getPoint(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}function splineCurveMonotone(t,e="x"){const i=getValueAxis(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=getPoint(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=getPoint(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?sign(n[a-1])!==sign(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}monotoneAdjust(t,n,o),monotoneCompute(t,o,e)}function capControlPoint(t,e,i){return Math.max(Math.min(t,i),e)}function capBezierPoints(t,e){let i,s,n,o,a,r=_isPointInArea(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&_isPointInArea(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=capControlPoint(n.cp1x,e.left,e.right),n.cp1y=capControlPoint(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=capControlPoint(n.cp2x,e.left,e.right),n.cp2y=capControlPoint(n.cp2y,e.top,e.bottom)))}function _updateBezierControlPoints(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)splineCurveMonotone(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=splineCurve(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&capBezierPoints(t,i)}function _isDomSupported(){return"undefined"!=typeof window&&"undefined"!=typeof document}function _getParentNode(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function parseMaxStyle(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const getComputedStyle=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);function getStyle(t,e){return getComputedStyle(t).getPropertyValue(e)}const positions=["top","right","bottom","left"];function getPositionedStyle(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=positions[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const useOffsetPos=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function getCanvasPosition(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(useOffsetPos(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}function getRelativePosition(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=getComputedStyle(i),o="border-box"===n.boxSizing,a=getPositionedStyle(n,"padding"),r=getPositionedStyle(n,"border","width"),{x:l,y:h,box:c}=getCanvasPosition(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:g,height:f}=e;return o&&(g-=a.width+r.width,f-=a.height+r.height),{x:Math.round((l-d)/g*i.width/s),y:Math.round((h-u)/f*i.height/s)}}function getContainerSize(t,e,i){let s,n;if(void 0===e||void 0===i){const o=_getParentNode(t);if(o){const t=o.getBoundingClientRect(),a=getComputedStyle(o),r=getPositionedStyle(a,"border","width"),l=getPositionedStyle(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=parseMaxStyle(a.maxWidth,o,"clientWidth"),n=parseMaxStyle(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||INFINITY,maxHeight:n||INFINITY}}const round1=t=>Math.round(10*t)/10;function getMaximumSize(t,e,i,s){const n=getComputedStyle(t),o=getPositionedStyle(n,"margin"),a=parseMaxStyle(n.maxWidth,t,"clientWidth")||INFINITY,r=parseMaxStyle(n.maxHeight,t,"clientHeight")||INFINITY,l=getContainerSize(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=getPositionedStyle(n,"border","width"),e=getPositionedStyle(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=round1(Math.min(h,a,l.maxWidth)),c=round1(Math.min(c,r,l.maxHeight)),h&&!c&&(c=round1(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=round1(Math.floor(c*s))),{width:h,height:c}}function retinaScale(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const supportsEventListenerOptions=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};_isDomSupported()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function readUsedSize(t,e){const i=getStyle(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function _pointInLine(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function _steppedInterpolation(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function _bezierInterpolation(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=_pointInLine(t,n,i),r=_pointInLine(n,o,i),l=_pointInLine(o,e,i),h=_pointInLine(a,r,i),c=_pointInLine(r,l,i);return _pointInLine(h,c,i)}const getRightToLeftAdapter=function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}},getLeftToRightAdapter=function(){return{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}};function getRtlAdapter(t,e,i){return t?getRightToLeftAdapter(e,i):getLeftToRightAdapter()}function overrideTextDirection(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function restoreTextDirection(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function propertyFn(t){return"angle"===t?{between:_angleBetween,compare:_angleDiff,normalize:_normalizeAngle}:{between:_isBetween,compare:(t,e)=>t-e,normalize:t=>t}}function normalizeSegment({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function getSegment(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=propertyFn(s),l=e.length;let h,c,{start:d,end:u,loop:g}=t;if(g){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:g,style:t.style}}function _boundSegment(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=propertyFn(s),{start:c,end:d,loop:u,style:g}=getSegment(t,e,i),f=[];let p,m,b,x=!1,_=null;const y=()=>x||l(n,b,p)&&0!==r(n,b),v=()=>!x||0===r(o,p)||l(o,b,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==b&&(x=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(f.push(normalizeSegment({start:_,end:t,loop:u,count:a,style:g})),_=null),i=t,b=p));return null!==_&&f.push(normalizeSegment({start:_,end:d,loop:u,count:a,style:g})),f}function _boundSegments(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=_boundSegment(s[n],t.points,e);o.length&&i.push(...o)}return i}function findStartAndEnd(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}function solidSegments(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}function _computeSegments(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=findStartAndEnd(i,n,o,s);if(!0===s)return splitByStyles(t,[{start:a,end:r,loop:o}],i,e);return splitByStyles(t,solidSegments(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}function splitByStyles(t,e,i,s){return s&&s.setContext&&i?doSplitByStyles(t,e,i,s):e}function doSplitByStyles(t,e,i,s){const n=t._chart.getContext(),o=readStyle(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function g(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=readStyle(s.setContext(createContext(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),styleChanged(e,c)&&g(d,u-1,t.loop,c),o=r,c=e}d<u-1&&g(d,u-1,t.loop,c)}return h}function readStyle(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function styleChanged(t,e){if(!e)return!1;const i=[],s=function(t,e){return isPatternOrGradient(e)?(i.includes(e)||i.push(e),i.indexOf(e)):e};return JSON.stringify(t,s)!==JSON.stringify(e,s)}
+ */function E(){}const R=(()=>{let t=0;return()=>t++})();function I(t){return null==t}function z(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.slice(0,7)&&"Array]"===e.slice(-6)}function F(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}function V(t){return("number"==typeof t||t instanceof Number)&&isFinite(+t)}function B(t,e){return V(t)?t:e}function W(t,e){return void 0===t?e:t}const N=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function H(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function j(t,e,i,s){let n,o,a;if(z(t))if(o=t.length,s)for(n=o-1;n>=0;n--)e.call(i,t[n],n);else for(n=0;n<o;n++)e.call(i,t[n],n);else if(F(t))for(a=Object.keys(t),o=a.length,n=0;n<o;n++)e.call(i,t[a[n]],a[n])}function $(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function Y(t){if(z(t))return t.map(Y);if(F(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=Y(t[i[n]]);return e}return t}function U(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function X(t,e,i,s){if(!U(t))return;const n=e[t],o=i[t];F(n)&&F(o)?q(n,o,s):e[t]=Y(o)}function q(t,e,i){const s=z(e)?e:[e],n=s.length;if(!F(t))return t;const o=(i=i||{}).merger||X;let a;for(let e=0;e<n;++e){if(a=s[e],!F(a))continue;const n=Object.keys(a);for(let e=0,s=n.length;e<s;++e)o(n[e],t,a,i)}return t}function K(t,e){return q(t,e,{merger:G})}function G(t,e,i){if(!U(t))return;const s=e[t],n=i[t];F(s)&&F(n)?K(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=Y(n))}const Z={"":t=>t,x:t=>t.x,y:t=>t.y};function J(t,e){const i=Z[e]||(Z[e]=function(t){const e=function(t){const e=t.split("."),i=[];let s="";for(const t of e)s+=t,s.endsWith("\\")?s=s.slice(0,-1)+".":(i.push(s),s="");return i}(t);return t=>{for(const i of e){if(""===i)break;t=t&&t[i]}return t}}(e));return i(t)}function Q(t){return t.charAt(0).toUpperCase()+t.slice(1)}const tt=t=>void 0!==t,et=t=>"function"==typeof t,it=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0};const st=Math.PI,nt=2*st,ot=nt+st,at=Number.POSITIVE_INFINITY,rt=st/180,lt=st/2,ht=st/4,ct=2*st/3,dt=Math.log10,ut=Math.sign;function ft(t,e,i){return Math.abs(t-e)<i}function gt(t){const e=Math.round(t);t=ft(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(dt(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function pt(t){return!isNaN(parseFloat(t))&&isFinite(t)}function mt(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function bt(t){return t*(st/180)}function xt(t){return t*(180/st)}function _t(t){if(!V(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function yt(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*st&&(o+=nt),{angle:o,distance:n}}function vt(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Mt(t,e){return(t-e+ot)%nt-st}function wt(t){return(t%nt+nt)%nt}function kt(t,e,i,s){const n=wt(t),o=wt(e),a=wt(i),r=wt(o-n),l=wt(a-n),h=wt(n-o),c=wt(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function St(t,e,i){return Math.max(e,Math.min(i,t))}function Pt(t,e,i,s=1e-6){return t>=Math.min(e,i)-s&&t<=Math.max(e,i)+s}function Dt(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const Ct=(t,e,i,s)=>Dt(t,i,s?s=>{const n=t[s][e];return n<i||n===i&&t[s+1][e]===i}:s=>t[s][e]<i),Ot=(t,e,i)=>Dt(t,i,(s=>t[s][e]>=i));const At=["push","pop","shift","splice","unshift"];function Tt(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(At.forEach((e=>{delete t[e]})),delete t._chartjs)}function Lt(t){const e=new Set(t);return e.size===t.length?t:Array.from(e)}const Et="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function Rt(t,e){let i=[],s=!1;return function(...n){i=n,s||(s=!0,Et.call(window,(()=>{s=!1,t.apply(e,i)})))}}const It=t=>"start"===t?"left":"end"===t?"right":"center",zt=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2;function Ft(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=St(Math.min(Ct(r,l,h).lo,i?s:Ct(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?St(Math.max(Ct(r,a.axis,c,!0).hi+1,i?0:Ct(e,l,a.getPixelForValue(c),!0).hi+1),n,s)-n:s-n}return{start:n,count:o}}function Vt(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}const Bt=t=>0===t||1===t,Wt=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*nt/i),Nt=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*nt/i)+1,Ht={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*lt),easeOutSine:t=>Math.sin(t*lt),easeInOutSine:t=>-.5*(Math.cos(st*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>Bt(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>Bt(t)?t:Wt(t,.075,.3),easeOutElastic:t=>Bt(t)?t:Nt(t,.075,.3),easeInOutElastic(t){const e=.1125;return Bt(t)?t:t<.5?.5*Wt(2*t,e,.45):.5+.5*Nt(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-Ht.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*Ht.easeInBounce(2*t):.5*Ht.easeOutBounce(2*t-1)+.5};function jt(t){if(t&&"object"==typeof t){const e=t.toString();return"[object CanvasPattern]"===e||"[object CanvasGradient]"===e}return!1}function $t(t){return jt(t)?t:new L(t)}function Yt(t){return jt(t)?t:new L(t).saturate(.5).darken(.1).hexString()}const Ut=["x","y","borderWidth","radius","tension"],Xt=["color","borderColor","backgroundColor"];const qt=new Map;function Kt(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=qt.get(i);return s||(s=new Intl.NumberFormat(t,e),qt.set(i,s)),s}(e,i).format(t)}const Gt={values:t=>z(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=dt(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),Kt(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=i[e].significand||t/Math.pow(10,Math.floor(dt(t)));return[1,2,3,5,10,15].includes(s)||e>.8*i.length?Gt.numeric.call(this,t,e,i):""}};var Zt={formatters:Gt};const Jt=Object.create(null),Qt=Object.create(null);function te(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function ee(t,e,i){return"string"==typeof e?q(te(t,e),i):q(te(t,""),e)}class ie{constructor(t,e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>Yt(e.backgroundColor),this.hoverBorderColor=(t,e)=>Yt(e.borderColor),this.hoverColor=(t,e)=>Yt(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ee(this,t,e)}get(t){return te(this,t)}describe(t,e){return ee(Qt,t,e)}override(t,e){return ee(Jt,t,e)}route(t,e,i,s){const n=te(this,t),o=te(this,i),a="_"+e;Object.defineProperties(n,{[a]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[a],e=o[s];return F(t)?Object.assign({},e,t):W(t,e)},set(t){this[a]=t}}})}apply(t){t.forEach((t=>t(this)))}}var se=new ie({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[function(t){t.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),t.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),t.set("animations",{colors:{type:"color",properties:Xt},numbers:{type:"number",properties:Ut}}),t.describe("animations",{_fallback:"animation"}),t.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}})},function(t){t.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})},function(t){t.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Zt.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),t.route("scale.ticks","color","","color"),t.route("scale.grid","color","","borderColor"),t.route("scale.border","color","","borderColor"),t.route("scale.title","color","","color"),t.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t&&"dash"!==t}),t.describe("scales",{_fallback:"scale"}),t.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t})}]);function ne(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function oe(t,e,i,s){let n=(s=s||{}).data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(n=s.data={},o=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let a=0;const r=i.length;let l,h,c,d,u;for(l=0;l<r;l++)if(d=i[l],null==d||z(d)){if(z(d))for(h=0,c=d.length;h<c;h++)u=d[h],null==u||z(u)||(a=ne(t,n,o,a,u))}else a=ne(t,n,o,a,d);t.restore();const f=o.length/2;if(f>i.length){for(l=0;l<f;l++)delete n[o[l]];o.splice(0,f)}return a}function ae(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function re(t,e){(e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore()}function le(t,e,i,s){he(t,e,i,s,null)}function he(t,e,i,s,n){let o,a,r,l,h,c,d,u;const f=e.pointStyle,g=e.rotation,p=e.radius;let m=(g||0)*rt;if(f&&"object"==typeof f&&(o=f.toString(),"[object HTMLImageElement]"===o||"[object HTMLCanvasElement]"===o))return t.save(),t.translate(i,s),t.rotate(m),t.drawImage(f,-f.width/2,-f.height/2,f.width,f.height),void t.restore();if(!(isNaN(p)||p<=0)){switch(t.beginPath(),f){default:n?t.ellipse(i,s,n/2,p,0,0,nt):t.arc(i,s,p,0,nt),t.closePath();break;case"triangle":c=n?n/2:p,t.moveTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=ct,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),m+=ct,t.lineTo(i+Math.sin(m)*c,s-Math.cos(m)*p),t.closePath();break;case"rectRounded":h=.516*p,l=p-h,a=Math.cos(m+ht)*l,d=Math.cos(m+ht)*(n?n/2-h:l),r=Math.sin(m+ht)*l,u=Math.sin(m+ht)*(n?n/2-h:l),t.arc(i-d,s-r,h,m-st,m-lt),t.arc(i+u,s-a,h,m-lt,m),t.arc(i+d,s+r,h,m,m+lt),t.arc(i-u,s+a,h,m+lt,m+st),t.closePath();break;case"rect":if(!g){l=Math.SQRT1_2*p,c=n?n/2:l,t.rect(i-c,s-l,2*c,2*l);break}m+=ht;case"rectRot":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+u,s-a),t.lineTo(i+d,s+r),t.lineTo(i-u,s+a),t.closePath();break;case"crossRot":m+=ht;case"cross":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"star":d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a),m+=ht,d=Math.cos(m)*(n?n/2:p),a=Math.cos(m)*p,r=Math.sin(m)*p,u=Math.sin(m)*(n?n/2:p),t.moveTo(i-d,s-r),t.lineTo(i+d,s+r),t.moveTo(i+u,s-a),t.lineTo(i-u,s+a);break;case"line":a=n?n/2:Math.cos(m)*p,r=Math.sin(m)*p,t.moveTo(i-a,s-r),t.lineTo(i+a,s+r);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(m)*(n?n/2:p),s+Math.sin(m)*p);break;case!1:t.closePath()}t.fill(),e.borderWidth>0&&t.stroke()}}function ce(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function de(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function ue(t){t.restore()}function fe(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function ge(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function pe(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function me(t,e){const i=t.fillStyle;t.fillStyle=e.color,t.fillRect(e.left,e.top,e.width,e.height),t.fillStyle=i}function be(t,e,i,s,n,o={}){const a=z(e)?e:[e],r=o.strokeWidth>0&&""!==o.strokeColor;let l,h;for(t.save(),t.font=n.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]),I(e.rotation)||t.rotate(e.rotation),e.color&&(t.fillStyle=e.color),e.textAlign&&(t.textAlign=e.textAlign),e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,o),l=0;l<a.length;++l)h=a[l],o.backdrop&&me(t,o.backdrop),r&&(o.strokeColor&&(t.strokeStyle=o.strokeColor),I(o.strokeWidth)||(t.lineWidth=o.strokeWidth),t.strokeText(h,i,s,o.maxWidth)),t.fillText(h,i,s,o.maxWidth),pe(t,i,s,h,o),s+=Number(n.lineHeight);t.restore()}function xe(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,1.5*st,st,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,st,lt,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,lt,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-lt,!0),t.lineTo(i+a.topLeft,s)}const _e=/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/,ye=/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/;function ve(t,e){const i=(""+t).match(_e);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}const Me=t=>+t||0;function we(t,e){const i={},s=F(e),n=s?Object.keys(e):e,o=F(t)?s?i=>W(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=Me(o(t));return i}function ke(t){return we(t,{top:"y",right:"x",bottom:"y",left:"x"})}function Se(t){return we(t,["topLeft","topRight","bottomLeft","bottomRight"])}function Pe(t){const e=ke(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function De(t,e){t=t||{},e=e||se.font;let i=W(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=W(t.style,e.style);s&&!(""+s).match(ye)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:W(t.family,e.family),lineHeight:ve(W(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:W(t.weight,e.weight),string:""};return n.string=function(t){return!t||I(t.size)||I(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}(n),n}function Ce(t,e,i,s){let n,o,a,r=!0;for(n=0,o=t.length;n<o;++n)if(a=t[n],void 0!==a&&(void 0!==e&&"function"==typeof a&&(a=a(e),r=!1),void 0!==i&&z(a)&&(a=a[i%a.length],r=!1),void 0!==a))return s&&!r&&(s.cacheable=!1),a}function Oe(t,e){return Object.assign(Object.create(t),e)}function Ae(t,e=[""],i,s,n=(()=>t[0])){const o=i||t;void 0===s&&(s=Ne("_fallback",t));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:o,_fallback:s,_getTarget:n,override:i=>Ae([i,...t],e,o,s)};return new Proxy(a,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>Ie(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=Ne(Ee(o,t),i),void 0!==n)return Re(t,n)?Be(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>He(t).includes(e),ownKeys:t=>He(t),set(t,e,i){const s=t._storage||(t._storage=n());return t[e]=s[e]=i,delete t._keys,!0}})}function Te(t,e,i,s){const n={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:Le(t,s),setContext:e=>Te(t,e,i,s),override:n=>Te(t.override(n),e,i,s)};return new Proxy(n,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>Ie(t,e,(()=>function(t,e,i){const{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=t;let r=s[e];et(r)&&a.isScriptable(e)&&(r=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t);let l=e(o,a||s);r.delete(t),Re(t,l)&&(l=Be(n._scopes,n,t,l));return l}(e,r,t,i));z(r)&&r.length&&(r=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=i;if(void 0!==o.index&&s(t))return e[o.index%e.length];if(F(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const l of i){const i=Be(s,n,t,l);e.push(Te(i,o,a&&a[t],r))}}return e}(e,r,t,a.isIndexable));Re(e,r)&&(r=Te(r,n,o&&o[e],a));return r}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function Le(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:et(i)?i:()=>i,isIndexable:et(s)?s:()=>s}}const Ee=(t,e)=>t?t+Q(e):e,Re=(t,e)=>F(e)&&"adapters"!==t&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Ie(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function ze(t,e,i){return et(t)?t(e,i):t}const Fe=(t,e)=>!0===t?e:"string"==typeof t?J(e,t):void 0;function Ve(t,e,i,s,n){for(const o of e){const e=Fe(i,o);if(e){t.add(e);const o=ze(e._fallback,i,n);if(void 0!==o&&o!==i&&o!==s)return o}else if(!1===e&&void 0!==s&&i!==s)return null}return!1}function Be(t,e,i,s){const n=e._rootScopes,o=ze(e._fallback,i,s),a=[...t,...n],r=new Set;r.add(s);let l=We(r,a,i,o||i,s);return null!==l&&((void 0===o||o===i||(l=We(r,a,o,l,s),null!==l))&&Ae(Array.from(r),[""],n,o,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const n=s[e];if(z(n)&&F(i))return i;return n||{}}(e,i,s))))}function We(t,e,i,s,n){for(;i;)i=Ve(t,e,i,s,n);return i}function Ne(t,e){for(const i of e){if(!i)continue;const e=i[t];if(void 0!==e)return e}}function He(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}function je(t,e,i,s){const{iScale:n}=t,{key:o="r"}=this._parsing,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={r:n.parse(J(c,o),h)};return a}const $e=Number.EPSILON||1e-14,Ye=(t,e)=>e<t.length&&!t[e].skip&&t[e],Ue=t=>"x"===t?"y":"x";function Xe(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=vt(o,n),l=vt(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function qe(t,e="x"){const i=Ue(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=Ye(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=Ye(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?ut(n[a-1])!==ut(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(t,e,i){const s=t.length;let n,o,a,r,l,h=Ye(t,0);for(let c=0;c<s-1;++c)l=h,h=Ye(t,c+1),l&&h&&(ft(e[c],0,$e)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}(t,n,o),function(t,e,i="x"){const s=Ue(i),n=t.length;let o,a,r,l=Ye(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=Ye(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function Ke(t,e,i){return Math.max(Math.min(t,i),e)}function Ge(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)qe(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=Xe(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&function(t,e){let i,s,n,o,a,r=ce(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&ce(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=Ke(n.cp1x,e.left,e.right),n.cp1y=Ke(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=Ke(n.cp2x,e.left,e.right),n.cp2y=Ke(n.cp2y,e.top,e.bottom)))}(t,i)}function Ze(){return"undefined"!=typeof window&&"undefined"!=typeof document}function Je(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function Qe(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const ti=t=>t.ownerDocument.defaultView.getComputedStyle(t,null);const ei=["top","right","bottom","left"];function ii(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=ei[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const si=(t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot);function ni(t,e){if("native"in t)return t;const{canvas:i,currentDevicePixelRatio:s}=e,n=ti(i),o="border-box"===n.boxSizing,a=ii(n,"padding"),r=ii(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.touches,s=i&&i.length?i[0]:t,{offsetX:n,offsetY:o}=s;let a,r,l=!1;if(si(n,o,t.target))a=n,r=o;else{const t=e.getBoundingClientRect();a=s.clientX-t.left,r=s.clientY-t.top,l=!0}return{x:a,y:r,box:l}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const oi=t=>Math.round(10*t)/10;function ai(t,e,i,s){const n=ti(t),o=ii(n,"margin"),a=Qe(n.maxWidth,t,"clientWidth")||at,r=Qe(n.maxHeight,t,"clientHeight")||at,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=Je(t);if(o){const t=o.getBoundingClientRect(),a=ti(o),r=ii(a,"border","width"),l=ii(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=Qe(a.maxWidth,o,"clientWidth"),n=Qe(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||at,maxHeight:n||at}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=ii(n,"border","width"),e=ii(n,"padding");h-=e.width+t.width,c-=e.height+t.height}h=Math.max(0,h-o.width),c=Math.max(0,s?h/s:c-o.height),h=oi(Math.min(h,a,l.maxWidth)),c=oi(Math.min(c,r,l.maxHeight)),h&&!c&&(c=oi(h/2));return(void 0!==e||void 0!==i)&&s&&l.height&&c>l.height&&(c=l.height,h=oi(Math.floor(c*s))),{width:h,height:c}}function ri(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=Math.floor(t.height),t.width=Math.floor(t.width);const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const li=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};Ze()&&(window.addEventListener("test",null,e),window.removeEventListener("test",null,e))}catch(t){}return t}();function hi(t,e){const i=function(t,e){return ti(t).getPropertyValue(e)}(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function ci(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function di(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function ui(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=ci(t,n,i),r=ci(n,o,i),l=ci(o,e,i),h=ci(a,r,i),c=ci(r,l,i);return ci(h,c,i)}function fi(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function gi(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function pi(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function mi(t){return"angle"===t?{between:kt,compare:Mt,normalize:wt}:{between:Pt,compare:(t,e)=>t-e,normalize:t=>t}}function bi({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function xi(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=mi(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=mi(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),g=[];let p,m,b,x=!1,_=null;const y=()=>x||l(n,b,p)&&0!==r(n,b),v=()=>!x||0===r(o,p)||l(o,b,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==b&&(x=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(bi({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,b=p));return null!==_&&g.push(bi({start:_,end:d,loop:u,count:a,style:f})),g}function _i(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=xi(s[n],t.points,e);o.length&&i.push(...o)}return i}function yi(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=vi(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=vi(s.setContext(Oe(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),Mi(e,c)&&f(d,u-1,t.loop,c),o=r,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function vi(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function Mi(t,e){if(!e)return!1;const i=[],s=function(t,e){return jt(e)?(i.includes(e)||i.push(e),i.indexOf(e)):e};return JSON.stringify(t,s)!==JSON.stringify(e,s)}
 /*!
  * Chart.js v4.4.2
  * https://www.chartjs.org
  * (c) 2024 Chart.js Contributors
  * Released under the MIT License
- */class Animator{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=requestAnimFrame.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var animator=new Animator;const transparent="transparent",interpolators={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=color(t||transparent),n=s.valid&&color(e||transparent);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class Animation{constructor(t,e,i,s){const n=e[i];s=resolve([t.to,s,n,t.from]);const o=resolve([t.from,n,s]);this._active=!0,this._fn=t.fn||interpolators[t.type||typeof o],this._easing=effects[t.easing]||effects.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=resolve([t.to,e,s,t.from]),this._from=resolve([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}class Animations{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!isObject(t))return;const e=Object.keys(defaults.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach((s=>{const n=t[s];if(!isObject(n))return;const o={};for(const t of e)o[t]=n[t];(isArray(n.properties)&&n.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,o)}))}))}_animateOptions(t,e){const i=e.options,s=resolveTargetOptions(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&awaitAll(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new Animation(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(animator.add(this._chart,i),!0):void 0}}function awaitAll(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}function resolveTargetOptions(t,e){if(!e)return;let i=t.options;if(i)return i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}})),i;t.options=e}function scaleClip(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function defaultClip(t,e,i){if(!1===i)return!1;const s=scaleClip(t,i),n=scaleClip(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}function toClip(t){let e,i,s,n;return isObject(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}function getSortedDatasetIndices(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function applyStack(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let a,r,l,h;if(null!==e){for(a=0,r=n.length;a<r;++a){if(l=+n[a],l===i){if(s.all)continue;break}h=t.values[l],isNumberFinite(h)&&(o||0===e||sign(e)===sign(h))&&(e+=h)}return e}}function convertObjectDataToArray(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s],i[s]={x:o,y:t[o]};return i}function isStacked(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function getStackKey(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}function getUserBounds(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}function getOrCreateStack(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function getLastIndexInStack(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function updateStacks(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=getStackKey(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=getOrCreateStack(n,c,o),u[r]=d,u._top=getLastIndexInStack(u,a,!0,s.type),u._bottom=getLastIndexInStack(u,a,!1,s.type);(u._visualValues||(u._visualValues={}))[r]=d}}function getFirstScaleId(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function createDatasetContext(t,e){return createContext(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}function createDataContext(t,e,i){return createContext(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}function clearStacks(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const isDirectUpdateMode=t=>"reset"===t||"none"===t,cloneIfNotShared=(t,e)=>e?t:Object.assign({},t),createStack=(t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:getSortedDatasetIndices(i,!0),values:null};class DatasetController{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=isStacked(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&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")}updateIndex(t){this.index!==t&&clearStacks(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=valueOrDefault(i.xAxisID,getFirstScaleId(t,"x")),o=e.yAxisID=valueOrDefault(i.yAxisID,getFirstScaleId(t,"y")),a=e.rAxisID=valueOrDefault(i.rAxisID,getFirstScaleId(t,"r")),r=e.indexAxis,l=e.iAxisID=s(r,n,o,a),h=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&unlistenArrayEvents(this._data,this),t._stacked&&clearStacks(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(isObject(e))this._data=convertObjectDataToArray(e);else if(i!==e){if(i){unlistenArrayEvents(i,this);const t=this._cachedMeta;clearStacks(t),t._parsed=[]}e&&Object.isExtensible(e)&&listenArrayEvents(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=isStacked(e.vScale,e),e.stack!==i.stack&&(s=!0,clearStacks(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&updateStacks(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:n,_stacked:o}=i,a=n.axis;let r,l,h,c=0===t&&e===s.length||i._sorted,d=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,h=s;else{h=isArray(s[t])?this.parseArrayData(i,s,t,e):isObject(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const n=()=>null===l[a]||d&&l[a]<d[a];for(r=0;r<e;++r)i._parsed[r+t]=l=h[r],c&&(n()&&(c=!1),d=l);i._sorted=c}o&&updateStacks(this,h)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,g;for(d=0,u=s;d<u;++d)g=d+i,c[d]={[a]:h||n.parse(l[g],g),[r]:o.parse(e[g],g)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(resolveObjectKey(u,a),d),y:o.parse(resolveObjectKey(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return applyStack({keys:getSortedDatasetIndices(s,!0),values:e._stacks[t.axis]._visualValues},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=applyStack(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,a=this._getOtherScale(t),r=createStack(e,i,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:c}=getUserBounds(a);let d,u;function g(){u=s[d];const e=u[a.axis];return!isNumberFinite(u[t.axis])||h>e||c<e}for(d=0;d<o&&(g()||(this.updateRangeFromParsed(l,t,u,r),!n));++d);if(n)for(d=o-1;d>=0;--d)if(!g()){this.updateRangeFromParsed(l,t,u,r);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],isNumberFinite(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=toClip(valueOrDefault(this.options.clip,defaultClip(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a,l=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,n,a,r),h=a;h<a+r;++h){const e=s[h];e.hidden||(e.active&&l?o.push(e):e.draw(t,n))}for(h=0;h<o.length;++h)o[h].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=createDataContext(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=createDatasetContext(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&defined(i);if(a)return cloneIfNotShared(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(defaults.elements[t]),g=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s,e)),c);return g.$shared&&(g.$shared=r,n[o]=Object.freeze(cloneIfNotShared(g,r))),g}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Animations(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||isDirectUpdateMode(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){isDirectUpdateMode(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!isDirectUpdateMode(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&clearStacks(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function getAllScaleValues(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=_arrayUnique(s.sort(((t,e)=>t-e)))}return t._cache.$bar}function computeMinSampleSize(t){const e=t.iScale,i=getAllScaleValues(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(defined(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function computeFitCategoryTraits(t,e,i,s){const n=i.barThickness;let o,a;return isNullOrUndef(n)?(o=e.min*i.categoryPercentage,a=i.barPercentage):(o=n*s,a=1),{chunk:o/s,ratio:a,start:e.pixels[t]-o/2}}function computeFlexCategoryTraits(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}function parseFloatBar(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}function parseValue(t,e,i,s){return isArray(t)?parseFloatBar(t,e,i,s):e[i.axis]=i.parse(t,s),e}function parseArrayOrPrimitive(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(parseValue(u,d,o,h));return l}function isFloatBar(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function barSign(t,e,i){return 0!==t?sign(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}function borderProps(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}function setBorderSkipped(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);if(!0===n)return void(t.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:a,end:r,reverse:l,top:h,bottom:c}=borderProps(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[parseEdge(c,a,r,l)]=!0,n=h)),o[parseEdge(n,a,r,l)]=!0,t.borderSkipped=o}function parseEdge(t,e,i,s){return t=s?startEnd(t=swap(t,e,i),i,e):startEnd(t,e,i)}function swap(t,e,i){return t===e?i:t===i?e:t}function startEnd(t,e,i){return"start"===t?e:"end"===t?i:t}function setInflateAmount(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class BarController extends DatasetController{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return parseArrayOrPrimitive(t,e,i,s)}parseArrayData(t,e,i,s){return parseArrayOrPrimitive(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,g,f;for(d=i,u=i+s;d<u;++d)f=e[d],g={},g[n.axis]=n.parse(resolveObjectKey(f,l),d),c.push(parseValue(resolveObjectKey(f,h),g,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=isFloatBar(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,s){const n="reset"===s,{index:o,_cachedMeta:{vScale:a}}=this,r=a.getBasePixel(),l=a.isHorizontal(),h=this._getRuler(),{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,s);for(let u=e;u<e+i;u++){const e=this.getParsed(u),i=n||isNullOrUndef(e[a.axis])?{base:r,head:r}:this._calculateBarValuePixels(u),g=this._calculateBarIndexPixels(u,h),f=(e._stacks||{})[a.axis],p={horizontal:l,base:i.base,enableBorderRadius:!f||isFloatBar(e._custom)||o===f._top||o===f._bottom,x:l?i.head:g.center,y:l?g.center:i.head,height:l?g.size:Math.abs(i.size),width:l?Math.abs(i.size):g.size};d&&(p.options=c||this.resolveDataElementOptions(u,t[u].active?"active":s));const m=p.options||t[u].options;setBorderSkipped(p,m,f,o),setInflateAmount(p,m,h.ratio),this.updateElement(t[u],u,p,s)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,s=i.getMatchingVisibleMetas(this._type).filter((t=>t.controller.options.grouped)),n=i.options.stacked,o=[],a=t=>{const i=t.controller.getParsed(e),s=i&&i[t.vScale.axis];if(isNullOrUndef(s)||isNaN(s))return!0};for(const i of s)if((void 0===e||!a(i))&&((!1===n||-1===o.indexOf(i.stack)||void 0===n&&void 0===i.stack)&&o.push(i.stack),i.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||computeMinSampleSize(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:s},options:{base:n,minBarLength:o}}=this,a=n||0,r=this.getParsed(t),l=r._custom,h=isFloatBar(l);let c,d,u=r[e.axis],g=0,f=i?this.applyStack(e,r,i):u;f!==u&&(g=f-u,f=u),h&&(u=l.barStart,f=l.barEnd-l.barStart,0!==u&&sign(u)!==sign(l.barEnd)&&(g=0),g+=u);const p=isNullOrUndef(n)||h?g:n;let m=e.getPixelForValue(p);if(c=this.chart.getDataVisibility(t)?e.getPixelForValue(g+f):m,d=c-m,Math.abs(d)<o){d=barSign(d,e,a)*o,u===a&&(m-=d/2);const t=e.getPixelForDecimal(0),n=e.getPixelForDecimal(1),l=Math.min(t,n),g=Math.max(t,n);m=Math.max(Math.min(m,g),l),c=m+d,i&&!h&&(r._stacks[e.axis]._visualValues[s]=e.getValueForPixel(c)-e.getValueForPixel(m))}if(m===e.getPixelForValue(a)){const t=sign(d)*e.getLineWidthForValue(a)/2;m+=t,d-=t}return{size:d,base:m,head:c,center:c+d/2}}_calculateBarIndexPixels(t,e){const i=e.scale,s=this.options,n=s.skipNull,o=valueOrDefault(s.maxBarThickness,1/0);let a,r;if(e.grouped){const i=n?this._getStackCount(t):e.stackCount,l="flex"===s.barThickness?computeFlexCategoryTraits(t,e,s,i):computeFitCategoryTraits(t,e,s,i),h=this._getStackIndex(this.index,this._cachedMeta.stack,n?t:void 0);a=l.start+l.chunk*h+l.chunk/2,r=Math.min(o,l.chunk*l.ratio)}else a=i.getPixelForValue(this.getParsed(t)[i.axis],t),r=Math.min(o,e.min*e.ratio);return{base:a-r/2,head:a+r/2,center:a,size:r}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null!==this.getParsed(n)[e.axis]&&i[n].draw(this._ctx)}}class BubbleController extends DatasetController{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=valueOrDefault(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=valueOrDefault(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d<e+i;d++){const e=t[d],i=!n&&this.getParsed(d),u={},g=u[h]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[h]),f=u[c]=n?a.getBasePixel():a.getPixelForValue(i[c]);u.skip=isNaN(g)||isNaN(f),l&&(u.options=r||this.resolveDataElementOptions(d,e.active?"active":s),n&&(u.options.radius=0)),this.updateElement(e,d,u,s)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=valueOrDefault(i&&i._custom,n),s}}function getRatioAndOffset(t,e,i){let s=1,n=1,o=0,a=0;if(e<TAU){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),g=(t,e,s)=>_angleBetween(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),f=(t,e,s)=>_angleBetween(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=g(0,h,d),m=g(HALF_PI,c,u),b=f(PI,h,d),x=f(PI+HALF_PI,c,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,a=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}class DoughnutController extends DatasetController{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,o,a=t=>+i[t];if(isObject(i[t])){const{key:t="value"}=this._parsing;a=e=>+resolveObjectKey(i[e],t)}for(n=t,o=t+e;n<o;++n)s._parsed[n]=a(n)}}_getRotation(){return toRadians(this.options.rotation-90)}_getCircumference(){return toRadians(this.options.circumference)}_getRotationExtents(){let t=TAU,e=-TAU;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min(toPercentage(this.options.cutout,a),1),l=this._getRingWeight(this.index),{circumference:h,rotation:c}=this._getRotationExtents(),{ratioX:d,ratioY:u,offsetX:g,offsetY:f}=getRatioAndOffset(c,h,r),p=(i.width-o)/d,m=(i.height-o)/u,b=Math.max(Math.min(p,m)/2,0),x=toDimension(this.options.radius,b),_=(x-Math.max(x*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=g*x,this.offsetY=f*x,s.total=this.calculateTotal(),this.outerRadius=x-_*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-_*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/TAU)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:g,includeOptions:f}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p<e;++p)m+=this._circumference(p,n);for(p=e;p<e+i;++p){const e=this._circumference(p,n),i=t[p],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:m,endAngle:m+e,circumference:e,outerRadius:u,innerRadius:d};f&&(o.options=g||this.resolveDataElementOptions(p,i.active?"active":s)),m+=e,this.updateElement(i,p,o,s)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?TAU*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=formatNumber(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller;break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(valueOrDefault(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class LineController extends DatasetController{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=_getStartAndCountOfVisiblePoints(e,s,o);this._drawStart=a,this._drawCount=r,_scaleRangesChanged(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a,_stacked:r,_dataset:l}=this._cachedMeta,{sharedOptions:h,includeOptions:c}=this._getSharedOptions(e,s),d=o.axis,u=a.axis,{spanGaps:g,segment:f}=this.options,p=isNumber(g)?g:Number.POSITIVE_INFINITY,m=this.chart._animationsDisabled||n||"none"===s,b=e+i,x=t.length;let _=e>0&&this.getParsed(e-1);for(let i=0;i<x;++i){const g=t[i],x=m?g:{};if(i<e||i>=b){x.skip=!0;continue}const y=this.getParsed(i),v=isNullOrUndef(y[u]),S=x[d]=o.getPixelForValue(y[d],i),k=x[u]=n||v?a.getBasePixel():a.getPixelForValue(r?this.applyStack(a,y,r):y[u],i);x.skip=isNaN(S)||isNaN(k)||v,x.stop=i>0&&Math.abs(y[d]-_[d])>p,f&&(x.parsed=y,x.raw=l.data[i]),c&&(x.options=h||this.resolveDataElementOptions(i,g.active?"active":s)),m||this.updateElement(g,i,x,s),_=y}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}class PolarAreaController extends DatasetController{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=formatNumber(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return _parseObjectDataRadialScale.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*PI;let d,u=c;const g=360/this.countVisibleElements();for(d=0;d<e;++d)u+=this._computeAngle(d,s,g);for(d=e;d<e+i;d++){const e=t[d];let i=u,f=u+this._computeAngle(d,s,g),p=o.getDataVisibility(d)?r.getDistanceFromCenterForValue(this.getParsed(d).r):0;u=f,n&&(a.animateScale&&(p=0),a.animateRotate&&(i=f=c));const m={x:l,y:h,innerRadius:0,outerRadius:p,startAngle:i,endAngle:f,options:this.resolveDataElementOptions(d,e.active?"active":s)};this.updateElement(e,d,m,s)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach(((t,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?toRadians(this.resolveDataElementOptions(t,e).angle||i):0}}class PieController extends DoughnutController{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}}class RadarController extends DatasetController{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return _parseObjectDataRadialScale.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a<e+i;a++){const e=t[a],i=this.resolveDataElementOptions(a,e.active?"active":s),r=n.getPointPositionForValue(a,this.getParsed(a).r),l=o?n.xCenter:r.x,h=o?n.yCenter:r.y,c={x:l,y:h,angle:r.angle,skip:isNaN(l)||isNaN(h),options:i};this.updateElement(e,a,c,s)}}}class ScatterController extends DatasetController{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y);return{label:i[t]||"",value:"("+a+", "+r+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,s=this.chart._animationsDisabled;let{start:n,count:o}=_getStartAndCountOfVisiblePoints(e,i,s);if(this._drawStart=n,this._drawCount=o,_scaleRangesChanged(e)&&(n=0,o=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:n,_dataset:o}=e;n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const a=this.resolveDatasetElementOptions(t);a.segment=this.options.segment,this.updateElement(n,void 0,{animated:!s,options:a},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,n,o,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a,_stacked:r,_dataset:l}=this._cachedMeta,h=this.resolveDataElementOptions(e,s),c=this.getSharedOptions(h),d=this.includeOptions(s,c),u=o.axis,g=a.axis,{spanGaps:f,segment:p}=this.options,m=isNumber(f)?f:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||n||"none"===s;let x=e>0&&this.getParsed(e-1);for(let h=e;h<e+i;++h){const e=t[h],i=this.getParsed(h),f=b?e:{},_=isNullOrUndef(i[g]),y=f[u]=o.getPixelForValue(i[u],h),v=f[g]=n||_?a.getBasePixel():a.getPixelForValue(r?this.applyStack(a,i,r):i[g],h);f.skip=isNaN(y)||isNaN(v)||_,f.stop=h>0&&Math.abs(i[u]-x[u])>m,p&&(f.parsed=i,f.raw=l.data[h]),d&&(f.options=c||this.resolveDataElementOptions(h,e.active?"active":s)),b||this.updateElement(e,h,f,s),x=i}this.updateSharedOptions(c,s,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}var controllers=Object.freeze({__proto__:null,BarController,BubbleController,DoughnutController,LineController,PieController,PolarAreaController,RadarController,ScatterController});function abstract(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class DateAdapterBase{static override(t){Object.assign(DateAdapterBase.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return abstract()}parse(){return abstract()}format(){return abstract()}add(){return abstract()}diff(){return abstract()}startOf(){return abstract()}endOf(){return abstract()}}var adapters={_date:DateAdapterBase};function binarySearch(t,e,i,s){const{controller:n,data:o,_sorted:a}=t,r=n._cachedMeta.iScale;if(r&&e===r.axis&&"r"!==e&&a&&o.length){const t=r._reversePixels?_rlookupByKey:_lookupByKey;if(!s)return t(o,e,i);if(n._sharedOptions){const s=o[0],n="function"==typeof s.getRange&&s.getRange(e);if(n){const s=t(o,e,i-n),a=t(o,e,i+n);return{lo:s.lo,hi:a.hi}}}}return{lo:0,hi:o.length-1}}function evaluateInteractionItems(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=binarySearch(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function getDistanceMetricForAxis(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}function getIntersectItems(t,e,i,s,n){const o=[];if(!n&&!t.isPointInArea(e))return o;return evaluateInteractionItems(t,i,e,(function(i,a,r){(n||_isPointInArea(i,t.chartArea,0))&&i.inRange(e.x,e.y,s)&&o.push({element:i,datasetIndex:a,index:r})}),!0),o}function getNearestRadialItems(t,e,i,s){let n=[];return evaluateInteractionItems(t,i,e,(function(t,i,o){const{startAngle:a,endAngle:r}=t.getProps(["startAngle","endAngle"],s),{angle:l}=getAngleFromPoint(t,{x:e.x,y:e.y});_angleBetween(l,a,r)&&n.push({element:t,datasetIndex:i,index:o})})),n}function getNearestCartesianItems(t,e,i,s,n,o){let a=[];const r=getDistanceMetricForAxis(i);let l=Number.POSITIVE_INFINITY;return evaluateInteractionItems(t,i,e,(function(i,h,c){const d=i.inRange(e.x,e.y,n);if(s&&!d)return;const u=i.getCenterPoint(n);if(!(!!o||t.isPointInArea(u))&&!d)return;const g=r(e,u);g<l?(a=[{element:i,datasetIndex:h,index:c}],l=g):g===l&&a.push({element:i,datasetIndex:h,index:c})})),a}function getNearestItems(t,e,i,s,n,o){return o||t.isPointInArea(e)?"r"!==i||s?getNearestCartesianItems(t,e,i,s,n,o):getNearestRadialItems(t,e,i,n):[]}function getAxisItems(t,e,i,s,n){const o=[],a="x"===i?"inXRange":"inYRange";let r=!1;return evaluateInteractionItems(t,i,e,((t,s,l)=>{t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var Interaction={evaluateInteractionItems,modes:{index(t,e,i,s){const n=getRelativePosition(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?getIntersectItems(t,n,o,s,a):getNearestItems(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=getRelativePosition(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?getIntersectItems(t,n,o,s,a):getNearestItems(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;t<i.length;++t)r.push({element:i[t],datasetIndex:e,index:t})}return r},point:(t,e,i,s)=>getIntersectItems(t,getRelativePosition(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=getRelativePosition(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return getNearestItems(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>getAxisItems(t,getRelativePosition(e,t),"x",i.intersect,s),y:(t,e,i,s)=>getAxisItems(t,getRelativePosition(e,t),"y",i.intersect,s)}};const STATIC_POSITIONS=["left","top","right","bottom"];function filterByPosition(t,e){return t.filter((t=>t.pos===e))}function filterDynamicPositionByAxis(t,e){return t.filter((t=>-1===STATIC_POSITIONS.indexOf(t.pos)&&t.box.axis===e))}function sortByWeight(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function wrapBoxes(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}function buildStacks(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!STATIC_POSITIONS.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}function setLayoutDims(t,e){const i=buildStacks(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function buildLayoutBoxes(t){const e=wrapBoxes(t),i=sortByWeight(e.filter((t=>t.box.fullSize)),!0),s=sortByWeight(filterByPosition(e,"left"),!0),n=sortByWeight(filterByPosition(e,"right")),o=sortByWeight(filterByPosition(e,"top"),!0),a=sortByWeight(filterByPosition(e,"bottom")),r=filterDynamicPositionByAxis(e,"x"),l=filterDynamicPositionByAxis(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:filterByPosition(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}function getCombinedMax(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function updateMaxPadding(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function updateDims(t,e,i,s){const{pos:n,box:o}=i,a=t.maxPadding;if(!isObject(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?o.height:o.width),i.size=e.size/e.count,t[n]+=i.size}o.getPadding&&updateMaxPadding(a,o.getPadding());const r=Math.max(0,e.outerWidth-getCombinedMax(a,t,"left","right")),l=Math.max(0,e.outerHeight-getCombinedMax(a,t,"top","bottom")),h=r!==t.w,c=l!==t.h;return t.w=r,t.h=l,i.horizontal?{same:h,other:c}:{same:c,other:h}}function handleMaxPadding(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}function getMargins(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function fitBoxes(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,getMargins(r.horizontal,e));const{same:a,other:d}=updateDims(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&fitBoxes(n,e,i,s)||c}function setBoxDims(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function placeBoxes(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;defined(l.start)&&(a=l.start),t.fullSize?setBoxDims(t,n.left,a,i.outerWidth-n.right-n.left,o):setBoxDims(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;defined(l.start)&&(o=l.start),t.fullSize?setBoxDims(t,o,n.top,a,i.outerHeight-n.bottom-n.top):setBoxDims(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}var layouts={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=toPadding(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=buildLayoutBoxes(t.boxes),l=r.vertical,h=r.horizontal;each(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),u=Object.assign({},n);updateMaxPadding(u,toPadding(s));const g=Object.assign({maxPadding:u,w:o,h:a,x:n.left,y:n.top},n),f=setLayoutDims(l.concat(h),d);fitBoxes(r.fullSize,g,d,f),fitBoxes(l,g,d,f),fitBoxes(h,g,d,f)&&fitBoxes(l,g,d,f),handleMaxPadding(g),placeBoxes(r.leftAndTop,g,d,f),g.x+=g.w,g.y+=g.h,placeBoxes(r.rightAndBottom,g,d,f),t.chartArea={left:g.left,top:g.top,right:g.left+g.w,bottom:g.top+g.h,height:g.h,width:g.w},each(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(g.w,g.h,{left:0,top:0,right:0,bottom:0})}))}};class BasePlatform{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class BasicPlatform extends BasePlatform{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const EXPANDO_KEY="$chartjs",EVENT_TYPES={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},isNullOrEmpty=t=>null===t||""===t;function initCanvas(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t.$chartjs={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",isNullOrEmpty(n)){const e=readUsedSize(t,"width");void 0!==e&&(t.width=e)}if(isNullOrEmpty(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=readUsedSize(t,"height");void 0!==e&&(t.height=e)}return t}const eventListenerOptions=!!supportsEventListenerOptions&&{passive:!0};function addListener(t,e,i){t&&t.addEventListener(e,i,eventListenerOptions)}function removeListener(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,eventListenerOptions)}function fromNativeEvent(t,e){const i=EVENT_TYPES[t.type]||t.type,{x:s,y:n}=getRelativePosition(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}function nodeListContains(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function createAttachObserver(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||nodeListContains(i.addedNodes,s),e=e&&!nodeListContains(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function createDetachObserver(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||nodeListContains(i.removedNodes,s),e=e&&!nodeListContains(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const drpListeningCharts=new Map;let oldDevicePixelRatio=0;function onWindowResize(){const t=window.devicePixelRatio;t!==oldDevicePixelRatio&&(oldDevicePixelRatio=t,drpListeningCharts.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function listenDevicePixelRatioChanges(t,e){drpListeningCharts.size||window.addEventListener("resize",onWindowResize),drpListeningCharts.set(t,e)}function unlistenDevicePixelRatioChanges(t){drpListeningCharts.delete(t),drpListeningCharts.size||window.removeEventListener("resize",onWindowResize)}function createResizeObserver(t,e,i){const s=t.canvas,n=s&&_getParentNode(s);if(!n)return;const o=throttled(((t,e)=>{const s=n.clientWidth;i(t,e),s<n.clientWidth&&i()}),window),a=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),listenDevicePixelRatioChanges(t,o),a}function releaseObserver(t,e,i){i&&i.disconnect(),"resize"===e&&unlistenDevicePixelRatioChanges(t)}function createProxyAndListen(t,e,i){const s=t.canvas,n=throttled((e=>{null!==t.ctx&&i(fromNativeEvent(e,t))}),t);return addListener(s,e,n),n}class DomPlatform extends BasePlatform{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(initCanvas(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e.$chartjs)return!1;const i=e.$chartjs.initial;["height","width"].forEach((t=>{const s=i[t];isNullOrUndef(s)?e.removeAttribute(t):e.setAttribute(t,s)}));const s=i.style||{};return Object.keys(s).forEach((t=>{e.style[t]=s[t]})),e.width=e.width,delete e.$chartjs,!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:createAttachObserver,detach:createDetachObserver,resize:createResizeObserver}[e]||createProxyAndListen;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:releaseObserver,detach:releaseObserver,resize:releaseObserver}[e]||removeListener)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return getMaximumSize(t,e,i,s)}isAttached(t){const e=_getParentNode(t);return!(!e||!e.isConnected)}}function _detectPlatform(t){return!_isDomSupported()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?BasicPlatform:DomPlatform}class Element{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return isNumber(this.x)&&isNumber(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function autoSkip(t,e){const i=t.options.ticks,s=determineMaxTicks(t),n=Math.min(i.maxTicksLimit||s,s),o=i.major.enabled?getMajorIndices(e):[],a=o.length,r=o[0],l=o[a-1],h=[];if(a>n)return skipMajors(e,h,o,a/n),h;const c=calculateSpacing(o,e,n);if(a>0){let t,i;const s=a>1?Math.round((l-r)/(a-1)):null;for(skip(e,h,c,isNullOrUndef(s)?0:r-s,r),t=0,i=a-1;t<i;t++)skip(e,h,c,o[t],o[t+1]);return skip(e,h,c,l,isNullOrUndef(s)?e.length:l+s),h}return skip(e,h,c),h}function determineMaxTicks(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}function calculateSpacing(t,e,i){const s=getEvenSpacing(t),n=e.length/i;if(!s)return Math.max(n,1);const o=_factorize(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}function getMajorIndices(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}function skipMajors(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}function skip(t,e,i,s,n){const o=valueOrDefault(s,0),a=Math.min(valueOrDefault(n,t.length),t.length);let r,l,h,c=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),h=o;h<0;)c++,h=Math.round(o+c*i);for(l=Math.max(o,0);l<a;l++)l===h&&(e.push(t[l]),c++,h=Math.round(o+c*i))}function getEvenSpacing(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}const reverseAlign=t=>"left"===t?"right":"right"===t?"left":t,offsetFromEdge=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,getTicksLimit=(t,e)=>Math.min(e||t,t);function sample(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function getPixelForGridLine(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function garbageCollect(t,e){each(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}function getTickMarkLength(t){return t.drawTicks?t.tickLength:0}function getTitleHeight(t,e){if(!t.display)return 0;const i=toFont(t.font,e),s=toPadding(t.padding);return(isArray(t.text)?t.text.length:1)*i.lineHeight+s.height}function createScaleContext(t,e){return createContext(t,{scale:e,type:"scale"})}function createTickContext(t,e,i){return createContext(t,{tick:i,index:e,type:"tick"})}function titleAlign(t,e,i){let s=_toLeftRightCenter(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=reverseAlign(s)),s}function titleArgs(t,e,i,s){const{top:n,left:o,bottom:a,right:r,chart:l}=t,{chartArea:h,scales:c}=l;let d,u,g,f=0;const p=a-n,m=r-o;if(t.isHorizontal()){if(u=_alignStartEnd(s,o,r),isObject(i)){const t=Object.keys(i)[0],s=i[t];g=c[t].getPixelForValue(s)+p-e}else g="center"===i?(h.bottom+h.top)/2+p-e:offsetFromEdge(t,i,e);d=r-o}else{if(isObject(i)){const t=Object.keys(i)[0],s=i[t];u=c[t].getPixelForValue(s)-m+e}else u="center"===i?(h.left+h.right)/2-m+e:offsetFromEdge(t,i,e);g=_alignStartEnd(s,a,n),f="left"===i?-HALF_PI:HALF_PI}return{titleX:u,titleY:g,maxWidth:d,rotation:f}}class Scale extends Element{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=finiteOrDefault(t,Number.POSITIVE_INFINITY),e=finiteOrDefault(e,Number.NEGATIVE_INFINITY),i=finiteOrDefault(i,Number.POSITIVE_INFINITY),s=finiteOrDefault(s,Number.NEGATIVE_INFINITY),{min:finiteOrDefault(t,i),max:finiteOrDefault(e,s),minDefined:isNumberFinite(t),maxDefined:isNumberFinite(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:finiteOrDefault(i,finiteOrDefault(s,i)),max:finiteOrDefault(s,finiteOrDefault(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){callback(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=_addGrace(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?sample(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=autoSkip(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){callback(this.options.afterUpdate,[this])}beforeSetDimensions(){callback(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){callback(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),callback(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){callback(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=callback(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){callback(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){callback(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=getTicksLimit(this.ticks.length,t.ticks.maxTicksLimit),s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=_limitValue(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-getTickMarkLength(t.grid)-e.padding-getTitleHeight(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=toDegrees(Math.min(Math.asin(_limitValue((h.highest.height+6)/o,-1,1)),Math.asin(_limitValue(a/r,-1,1))-Math.asin(_limitValue(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){callback(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){callback(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=getTitleHeight(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=getTickMarkLength(n)+o):(t.height=this.maxHeight,t.width=getTickMarkLength(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=toRadians(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){callback(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)isNullOrUndef(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=sample(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:s,_longestTextCache:n}=this,o=[],a=[],r=Math.floor(e/getTicksLimit(e,i));let l,h,c,d,u,g,f,p,m,b,x,_=0,y=0;for(l=0;l<e;l+=r){if(d=t[l].label,u=this._resolveTickFontOptions(l),s.font=g=u.string,f=n[g]=n[g]||{data:{},gc:[]},p=u.lineHeight,m=b=0,isNullOrUndef(d)||isArray(d)){if(isArray(d))for(h=0,c=d.length;h<c;++h)x=d[h],isNullOrUndef(x)||isArray(x)||(m=_measureText(s,f.data,f.gc,m,x),b+=p)}else m=_measureText(s,f.data,f.gc,m,d),b=p;o.push(m),a.push(b),_=Math.max(m,_),y=Math.max(b,y)}garbageCollect(n,e);const v=o.indexOf(_),S=a.indexOf(y),k=t=>({width:o[t]||0,height:a[t]||0});return{first:k(0),last:k(e-1),widest:k(v),highest:k(S),widths:o,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return _int16Range(this._alignToPixels?_alignPixel(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=createTickContext(this.getContext(),t,i))}return this.$context||(this.$context=createScaleContext(this.chart.getContext(),this))}_tickSize(){const t=this.options.ticks,e=toRadians(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:o,border:a}=s,r=n.offset,l=this.isHorizontal(),h=this.ticks.length+(r?1:0),c=getTickMarkLength(n),d=[],u=a.setContext(this.getContext()),g=u.display?u.width:0,f=g/2,p=function(t){return _alignPixel(i,t,g)};let m,b,x,_,y,v,S,k,P,M,w,A;if("top"===o)m=p(this.bottom),v=this.bottom-c,k=m-f,M=p(t.top)+f,A=t.bottom;else if("bottom"===o)m=p(this.top),M=t.top,A=p(t.bottom)-f,v=m+f,k=this.top+c;else if("left"===o)m=p(this.right),y=this.right-c,S=m-f,P=p(t.left)+f,w=t.right;else if("right"===o)m=p(this.left),P=t.left,w=p(t.right)-f,y=m+f,S=this.left+c;else if("x"===e){if("center"===o)m=p((t.top+t.bottom)/2+.5);else if(isObject(o)){const t=Object.keys(o)[0],e=o[t];m=p(this.chart.scales[t].getPixelForValue(e))}M=t.top,A=t.bottom,v=m+f,k=v+c}else if("y"===e){if("center"===o)m=p((t.left+t.right)/2);else if(isObject(o)){const t=Object.keys(o)[0],e=o[t];m=p(this.chart.scales[t].getPixelForValue(e))}y=m-f,S=y-c,P=t.left,w=t.right}const C=valueOrDefault(s.ticks.maxTicksLimit,h),O=Math.max(1,Math.ceil(h/C));for(b=0;b<h;b+=O){const t=this.getContext(b),e=n.setContext(t),s=a.setContext(t),o=e.lineWidth,h=e.color,c=s.dash||[],u=s.dashOffset,g=e.tickWidth,f=e.tickColor,p=e.tickBorderDash||[],m=e.tickBorderDashOffset;x=getPixelForGridLine(this,b,r),void 0!==x&&(_=_alignPixel(i,x,o),l?y=S=P=w=_:v=k=M=A=_,d.push({tx1:y,ty1:v,tx2:S,ty2:k,x1:P,y1:M,x2:w,y2:A,width:o,color:h,borderDash:c,borderDashOffset:u,tickWidth:g,tickColor:f,tickBorderDash:p,tickBorderDashOffset:m}))}return this._ticksLength=h,this._borderValue=m,d}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:n}=i,o=this.isHorizontal(),a=this.ticks,{align:r,crossAlign:l,padding:h,mirror:c}=n,d=getTickMarkLength(i.grid),u=d+h,g=c?-h:u,f=-toRadians(this.labelRotation),p=[];let m,b,x,_,y,v,S,k,P,M,w,A,C="middle";if("top"===s)v=this.bottom-g,S=this._getXAxisLabelAlignment();else if("bottom"===s)v=this.top+g,S=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(d);S=t.textAlign,y=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(d);S=t.textAlign,y=t.x}else if("x"===e){if("center"===s)v=(t.top+t.bottom)/2+u;else if(isObject(s)){const t=Object.keys(s)[0],e=s[t];v=this.chart.scales[t].getPixelForValue(e)+u}S=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)y=(t.left+t.right)/2-u;else if(isObject(s)){const t=Object.keys(s)[0],e=s[t];y=this.chart.scales[t].getPixelForValue(e)}S=this._getYAxisLabelAlignment(d).textAlign}"y"===e&&("start"===r?C="top":"end"===r&&(C="bottom"));const O=this._getLabelSizes();for(m=0,b=a.length;m<b;++m){x=a[m],_=x.label;const t=n.setContext(this.getContext(m));k=this.getPixelForTick(m)+n.labelOffset,P=this._resolveTickFontOptions(m),M=P.lineHeight,w=isArray(_)?_.length:1;const e=w/2,i=t.color,r=t.textStrokeColor,h=t.textStrokeWidth;let d,u=S;if(o?(y=k,"inner"===S&&(u=m===b-1?this.options.reverse?"left":"right":0===m?this.options.reverse?"right":"left":"center"),A="top"===s?"near"===l||0!==f?-w*M+M/2:"center"===l?-O.highest.height/2-e*M+M:-O.highest.height+M/2:"near"===l||0!==f?M/2:"center"===l?O.highest.height/2-e*M:O.highest.height-w*M,c&&(A*=-1),0===f||t.showLabelBackdrop||(y+=M/2*Math.sin(f))):(v=k,A=(1-w)*M/2),t.showLabelBackdrop){const e=toPadding(t.backdropPadding),i=O.heights[m],s=O.widths[m];let n=A-e.top,o=0-e.left;switch(C){case"middle":n-=i/2;break;case"bottom":n-=i}switch(S){case"center":o-=s/2;break;case"right":o-=s;break;case"inner":m===b-1?o-=s:m>0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}p.push({label:_,font:P,textOffset:A,options:{rotation:f,color:i,strokeColor:r,strokeWidth:h,textAlign:u,textBaseline:C,translation:[y,v],backdrop:d}})}return p}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-toRadians(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:s}}=this,n=i.setContext(this.getContext()),o=i.display?n.width:0;if(!o)return;const a=s.setContext(this.getContext(0)).lineWidth,r=this._borderValue;let l,h,c,d;this.isHorizontal()?(l=_alignPixel(t,this.left,o)-o/2,h=_alignPixel(t,this.right,a)+a/2,c=d=r):(c=_alignPixel(t,this.top,o)-o/2,d=_alignPixel(t,this.bottom,a)+a/2,l=h=r),e.save(),e.lineWidth=n.width,e.strokeStyle=n.color,e.beginPath(),e.moveTo(l,c),e.lineTo(h,d),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&clipArea(e,i);const s=this.getLabelItems(t);for(const t of s){const i=t.options,s=t.font;renderText(e,t.label,0,t.textOffset,s,i)}i&&unclipArea(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const n=toFont(i.font),o=toPadding(i.padding),a=i.align;let r=n.lineHeight/2;"bottom"===e||"center"===e||isObject(e)?(r+=o.bottom,isArray(i.text)&&(r+=n.lineHeight*(i.text.length-1))):r+=o.top;const{titleX:l,titleY:h,maxWidth:c,rotation:d}=titleArgs(this,r,e,a);renderText(t,i.text,0,0,n,{color:i.color,maxWidth:c,rotation:d,textAlign:titleAlign(a,e,s),textBaseline:"middle",translation:[l,h]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=valueOrDefault(t.grid&&t.grid.z,-1),s=valueOrDefault(t.border&&t.border.z,0);return this._isVisible()&&this.draw===Scale.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return toFont(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class TypedRegistry{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;isIChartComponent(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,registerDefaults(t,o,i),this.override&&defaults.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in defaults[s]&&(delete defaults[s][i],this.override&&delete overrides[i])}}function registerDefaults(t,e,i){const s=merge(Object.create(null),[i?defaults.get(i):{},defaults.get(e),t.defaults]);defaults.set(e,s),t.defaultRoutes&&routeDefaults(e,t.defaultRoutes),t.descriptors&&defaults.describe(e,t.descriptors)}function routeDefaults(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");defaults.route(o,n,l,r)}))}function isIChartComponent(t){return"id"in t&&"defaults"in t}class Registry{constructor(){this.controllers=new TypedRegistry(DatasetController,"datasets",!0),this.elements=new TypedRegistry(Element,"elements"),this.plugins=new TypedRegistry(Object,"plugins"),this.scales=new TypedRegistry(Scale,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):each(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=_capitalize(t);callback(i["before"+s],[],i),e[t](i),callback(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var registry=new Registry;class PluginService{constructor(){this._init=[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"afterDestroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===callback(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){isNullOrUndef(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=valueOrDefault(i.options&&i.options.plugins,{}),n=allPlugins(i);return!1!==s||e?createDescriptors(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function allPlugins(t){const e={},i=[],s=Object.keys(registry.plugins.items);for(let t=0;t<s.length;t++)i.push(registry.getPlugin(s[t]));const n=t.plugins||[];for(let t=0;t<n.length;t++){const s=n[t];-1===i.indexOf(s)&&(i.push(s),e[s.id]=!0)}return{plugins:i,localIds:e}}function getOpts(t,e){return e||!1!==t?!0===t?{}:t:null}function createDescriptors(t,{plugins:e,localIds:i},s,n){const o=[],a=t.getContext();for(const r of e){const e=r.id,l=getOpts(s[e],n);null!==l&&o.push({plugin:r,options:pluginOpts(t.config,{plugin:r,local:i[e]},l,a)})}return o}function pluginOpts(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function getIndexAxis(t,e){const i=defaults.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function getAxisFromDefaultScaleID(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}function getDefaultScaleIDFromAxis(t,e){return t===e?"_index_":"_value_"}function idMatchesAxis(t){if("x"===t||"y"===t||"r"===t)return t}function axisFromPosition(t){return"top"===t||"bottom"===t?"x":"left"===t||"right"===t?"y":void 0}function determineAxis(t,...e){if(idMatchesAxis(t))return t;for(const i of e){const e=i.axis||axisFromPosition(i.position)||t.length>1&&idMatchesAxis(t[0].toLowerCase());if(e)return e}throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function getAxisFromDataset(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function retrieveAxisFromDatasets(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return getAxisFromDataset(t,"x",i[0])||getAxisFromDataset(t,"y",i[0])}return{}}function mergeScaleConfig(t,e){const i=overrides[t.type]||{scales:{}},s=e.scales||{},n=getIndexAxis(t.type,e),o=Object.create(null);return Object.keys(s).forEach((e=>{const a=s[e];if(!isObject(a))return console.error(`Invalid scale configuration for scale: ${e}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const r=determineAxis(e,a,retrieveAxisFromDatasets(e,t),defaults.scales[a.type]),l=getDefaultScaleIDFromAxis(r,n),h=i.scales||{};o[e]=mergeIf(Object.create(null),[{axis:r},a,h[r],h[l]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,a=i.indexAxis||getIndexAxis(n,e),r=(overrides[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=getAxisFromDefaultScaleID(t,a),n=i[e+"AxisID"]||e;o[n]=o[n]||Object.create(null),mergeIf(o[n],[{axis:e},s[n],r[t]])}))})),Object.keys(o).forEach((t=>{const e=o[t];mergeIf(e,[defaults.scales[e.type],defaults.scale])})),o}function initOptions(t){const e=t.options||(t.options={});e.plugins=valueOrDefault(e.plugins,{}),e.scales=mergeScaleConfig(t,e)}function initData(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}function initConfig(t){return(t=t||{}).data=initData(t.data),initOptions(t),t}const keyCache=new Map,keysCached=new Set;function cachedKeys(t,e){let i=keyCache.get(t);return i||(i=e(),keyCache.set(t,i),keysCached.add(i)),i}const addIfFound=(t,e,i)=>{const s=resolveObjectKey(e,i);void 0!==s&&t.add(s)};class Config{constructor(t){this._config=initConfig(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=initData(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),initOptions(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return cachedKeys(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return cachedKeys(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return cachedKeys(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return cachedKeys(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>addIfFound(r,t,e)))),e.forEach((t=>addIfFound(r,s,t))),e.forEach((t=>addIfFound(r,overrides[n]||{},t))),e.forEach((t=>addIfFound(r,defaults,t))),e.forEach((t=>addIfFound(r,descriptors,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),keysCached.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,overrides[e]||{},defaults.datasets[e]||{},{type:e},defaults,descriptors]}resolveNamedOptions(t,e,i,s=[""]){const n={$shared:!0},{resolver:o,subPrefixes:a}=getResolver(this._resolverCache,t,s);let r=o;if(needContext(o,e)){n.$shared=!1;r=_attachContext(o,i=isFunction(i)?i():i,this.createResolver(t,i,a))}for(const t of e)n[t]=r[t];return n}createResolver(t,e,i=[""],s){const{resolver:n}=getResolver(this._resolverCache,t,i);return isObject(e)?_attachContext(n,e,void 0,s):n}}function getResolver(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:_createResolver(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const hasFunction=t=>isObject(t)&&Object.getOwnPropertyNames(t).some((e=>isFunction(t[e])));function needContext(t,e){const{isScriptable:i,isIndexable:s}=_descriptors(t);for(const n of e){const e=i(n),o=s(n),a=(o||e)&&t[n];if(e&&(isFunction(a)||hasFunction(a))||o&&isArray(a))return!0}return!1}var version="4.4.2";const KNOWN_POSITIONS=["top","bottom","left","right","chartArea"];function positionIsHorizontal(t,e){return"top"===t||"bottom"===t||-1===KNOWN_POSITIONS.indexOf(t)&&"x"===e}function compare2Level(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function onAnimationsComplete(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),callback(i&&i.onComplete,[t],e)}function onAnimationProgress(t){const e=t.chart,i=e.options.animation;callback(i&&i.onProgress,[t],e)}function getCanvas(t){return _isDomSupported()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const instances={},getChart=t=>{const e=getCanvas(t);return Object.values(instances).filter((t=>t.canvas===e)).pop()};function moveNumericKeys(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}function determineLastEvent(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}function getSizeForArea(t,e,i){return t.options.clip?t[i]:e[i]}function getDatasetArea(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:getSizeForArea(i,e,"left"),right:getSizeForArea(i,e,"right"),top:getSizeForArea(s,e,"top"),bottom:getSizeForArea(s,e,"bottom")}:e}class Chart{static defaults=defaults;static instances=instances;static overrides=overrides;static registry=registry;static version=version;static getChart=getChart;static register(...t){registry.add(...t),invalidatePlugins()}static unregister(...t){registry.remove(...t),invalidatePlugins()}constructor(t,e){const i=this.config=new Config(e),s=getCanvas(t),n=getChart(s);if(n)throw new Error("Canvas is already in use. Chart with ID '"+n.id+"' must be destroyed before the canvas with ID '"+n.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||_detectPlatform(s)),this.platform.updateConfig(i);const a=this.platform.acquireContext(s,o.aspectRatio),r=a&&a.canvas,l=r&&r.height,h=r&&r.width;this.id=uid(),this.ctx=a,this.canvas=r,this.width=h,this.height=l,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new PluginService,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=debounce((t=>this.update(t)),o.resizeDelay||0),this._dataChanges=[],instances[this.id]=this,a&&r?(animator.listen(this,"complete",onAnimationsComplete),animator.listen(this,"progress",onAnimationProgress),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:s,_aspectRatio:n}=this;return isNullOrUndef(t)?e&&n?n:s?i/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return registry}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():retinaScale(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return clearCanvas(this.canvas,this.ctx),this}stop(){return animator.stop(this),this}resize(t,e){animator.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,retinaScale(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),callback(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){each(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=determineAxis(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),each(n,(e=>{const n=e.options,o=n.id,a=determineAxis(o,n),r=valueOrDefault(n.type,e.dtype);void 0!==n.position&&positionIsHorizontal(n.position,a)===positionIsHorizontal(e.dposition)||(n.position=e.dposition),s[o]=!0;let l=null;if(o in i&&i[o].type===r)l=i[o];else{l=new(registry.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[l.id]=l}l.init(n,t)})),each(s,((t,e)=>{t||delete i[e]})),each(i,(t=>{layouts.configure(this,t,t.options),layouts.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(compare2Level("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||getIndexAxis(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=registry.getController(o),{datasetElementType:s,dataElementType:a}=defaults.datasets[o];Object.assign(e,{dataElementType:registry.getElement(a),datasetElementType:s&&registry.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){each(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===n.indexOf(e);e.buildOrUpdateElements(i),o=Math.max(+e.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),s||each(n,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(compare2Level("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){each(this.scales,(t=>{layouts.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);setsEqual(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){moveNumericKeys(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;t<e;t++)if(!setsEqual(s,i(t)))return;return Array.from(s).map((t=>t.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;layouts.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],each(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t<e;++t)this.getDatasetMeta(t).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,isFunction(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(animator.has(this)?this.attached&&!animator.running(this)&&animator.start(this):(this.draw(),onAnimationsComplete({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resize(t,e),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=getDatasetArea(t,this.chartArea),o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&clipArea(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&unclipArea(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return _isPointInArea(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=Interaction.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=createContext(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);defined(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),animator.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),clearCanvas(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete instances[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};each(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){each(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},each(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!_elementsEqual(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=_isClickEvent(t),l=determineLastEvent(t,this._lastEvent,i,r);i&&(this._lastEvent=null,callback(n.onHover,[t,a,this],this),r&&callback(n.onClick,[t,a,this],this));const h=!_elementsEqual(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function invalidatePlugins(){return each(Chart.instances,(t=>t._plugins.invalidate()))}function clipArc(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+HALF_PI,s-HALF_PI),t.closePath(),t.clip()}function toRadiusCorners(t){return _readValueToProps(t,["outerStart","outerEnd","innerStart","innerEnd"])}function parseBorderRadius$1(t,e,i,s){const n=toRadiusCorners(t.options.borderRadius),o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return _limitValue(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:_limitValue(n.innerStart,0,a),innerEnd:_limitValue(n.innerEnd,0,a)}}function rThetaToXY(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function pathArc(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let g=0;const f=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;g=(f-(0!==t?f*t/(t+s):f))/2}const p=(f-Math.max(.001,f*d-i/PI)/d)/2,m=l+p+g,b=n-p-g,{outerStart:x,outerEnd:_,innerStart:y,innerEnd:v}=parseBorderRadius$1(e,u,d,b-m),S=d-x,k=d-_,P=m+x/S,M=b-_/k,w=u+y,A=u+v,C=m+y/w,O=b-v/A;if(t.beginPath(),o){const e=(P+M)/2;if(t.arc(a,r,d,P,e),t.arc(a,r,d,e,M),_>0){const e=rThetaToXY(k,M,a,r);t.arc(e.x,e.y,_,M,b+HALF_PI)}const i=rThetaToXY(A,b,a,r);if(t.lineTo(i.x,i.y),v>0){const e=rThetaToXY(A,O,a,r);t.arc(e.x,e.y,v,b+HALF_PI,O+Math.PI)}const s=(b-v/u+(m+y/u))/2;if(t.arc(a,r,u,b-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=rThetaToXY(w,C,a,r);t.arc(e.x,e.y,y,C+Math.PI,m-HALF_PI)}const n=rThetaToXY(S,m,a,r);if(t.lineTo(n.x,n.y),x>0){const e=rThetaToXY(S,P,a,r);t.arc(e.x,e.y,x,m-HALF_PI,P)}}else{t.moveTo(a,r);const e=Math.cos(P)*d+a,i=Math.sin(P)*d+r;t.lineTo(e,i);const s=Math.cos(M)*d+a,n=Math.sin(M)*d+r;t.lineTo(s,n)}t.closePath()}function drawArc(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){pathArc(t,e,i,s,l,n);for(let e=0;e<o;++e)t.fill();isNaN(r)||(l=a+(r%TAU||TAU))}return pathArc(t,e,i,s,l,n),t.fill(),l}function drawBorder(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u}=l,g="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,g?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let f=e.endAngle;if(o){pathArc(t,e,i,s,f,n);for(let e=0;e<o;++e)t.stroke();isNaN(r)||(f=a+(r%TAU||TAU))}g&&clipArc(t,e,f),o||(pathArc(t,e,i,s,f,n),t.stroke())}class ArcElement extends Element{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=getAngleFromPoint(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:l,outerRadius:h,circumference:c}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),d=(this.options.spacing+this.options.borderWidth)/2,u=valueOrDefault(c,r-a)>=TAU||_angleBetween(n,a,r),g=_isBetween(o,l+d,h+d);return u&&g}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>TAU?Math.floor(i/TAU):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(PI,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,drawArc(t,this,r,n,o),drawBorder(t,this,r,n,o),t.restore()}}function setStyle(t,e,i=e){t.lineCap=valueOrDefault(i.borderCapStyle,e.borderCapStyle),t.setLineDash(valueOrDefault(i.borderDash,e.borderDash)),t.lineDashOffset=valueOrDefault(i.borderDashOffset,e.borderDashOffset),t.lineJoin=valueOrDefault(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=valueOrDefault(i.borderWidth,e.borderWidth),t.strokeStyle=valueOrDefault(i.borderColor,e.borderColor)}function lineTo(t,e,i){t.lineTo(i.x,i.y)}function getLineMethod(t){return t.stepped?_steppedLineTo:t.tension||"monotone"===t.cubicInterpolationMode?_bezierCurveTo:lineTo}function pathVars(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function pathSegment(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=pathVars(n,i,s),c=getLineMethod(o);let d,u,g,{move:f=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(f?(t.moveTo(u.x,u.y),f=!1):c(t,g,u,p,o.stepped),g=u);return l&&(u=n[(r+(p?h:0))%a],c(t,g,u,p,o.stepped)),!!l}function fastPathSegment(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=pathVars(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,g,f,p,m=0,b=0;const x=t=>(a+(h?r-t:t))%o,_=()=>{g!==f&&(t.lineTo(m,f),t.lineTo(m,g),t.lineTo(m,p))};for(l&&(d=n[x(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[x(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<g?g=i:i>f&&(f=i),m=(b*m+e)/++b):(_(),t.lineTo(e,i),u=s,b=0,g=f=i),p=i}_()}function _getSegmentMethod(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?fastPathSegment:pathSegment}function _getInterpolationMethod(t){return t.stepped?_steppedInterpolation:t.tension||"monotone"===t.cubicInterpolationMode?_bezierInterpolation:_pointInLine}function strokePathWithCache(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),setStyle(t,e.options),t.stroke(n)}function strokePathDirect(t,e,i,s){const{segments:n,options:o}=e,a=_getSegmentMethod(e);for(const r of n)setStyle(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}const usePath2D="function"==typeof Path2D;function draw(t,e,i,s){usePath2D&&!e.options.segment?strokePathWithCache(t,e,i,s):strokePathDirect(t,e,i,s)}class LineElement extends Element{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;_updateBezierControlPoints(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=_computeSegments(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=_boundSegments(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=_getInterpolationMethod(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const g=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);g[e]=t[e],a.push(g)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return _getSegmentMethod(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=_getSegmentMethod(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),draw(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function inRange$1(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}class PointElement extends Element{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return inRange$1(this,t,"x",e)}inYRange(t,e){return inRange$1(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!_isPointInArea(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,drawPoint(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function getBarBounds(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function skipOrLimit(t,e,i,s){return t?0:_limitValue(e,i,s)}function parseBorderWidth(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=toTRBL(s);return{t:skipOrLimit(n.top,o.top,0,i),r:skipOrLimit(n.right,o.right,0,e),b:skipOrLimit(n.bottom,o.bottom,0,i),l:skipOrLimit(n.left,o.left,0,e)}}function parseBorderRadius(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,o=toTRBLCorners(n),a=Math.min(e,i),r=t.borderSkipped,l=s||isObject(n);return{topLeft:skipOrLimit(!l||r.top||r.left,o.topLeft,0,a),topRight:skipOrLimit(!l||r.top||r.right,o.topRight,0,a),bottomLeft:skipOrLimit(!l||r.bottom||r.left,o.bottomLeft,0,a),bottomRight:skipOrLimit(!l||r.bottom||r.right,o.bottomRight,0,a)}}function boundingRects(t){const e=getBarBounds(t),i=e.right-e.left,s=e.bottom-e.top,n=parseBorderWidth(t,i/2,s/2),o=parseBorderRadius(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:o},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,o.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(n.b,n.r))}}}}function inRange(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&getBarBounds(t,s);return a&&(n||_isBetween(e,a.left,a.right))&&(o||_isBetween(i,a.top,a.bottom))}function hasRadius(t){return t.topLeft||t.topRight||t.bottomLeft||t.bottomRight}function addNormalRectPath(t,e){t.rect(e.x,e.y,e.w,e.h)}function inflateRect(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}class BarElement extends Element{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=boundingRects(this),a=hasRadius(o.radius)?addRoundedRectPath:addNormalRectPath;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,inflateRect(o,e,n)),t.clip(),a(t,inflateRect(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,inflateRect(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return inRange(this,t,e,i)}inXRange(t,e){return inRange(this,t,null,e)}inYRange(t,e){return inRange(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}}var elements=Object.freeze({__proto__:null,ArcElement,BarElement,LineElement,PointElement});const BORDER_COLORS=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],BACKGROUND_COLORS=BORDER_COLORS.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function getBorderColor(t){return BORDER_COLORS[t%BORDER_COLORS.length]}function getBackgroundColor(t){return BACKGROUND_COLORS[t%BACKGROUND_COLORS.length]}function colorizeDefaultDataset(t,e){return t.borderColor=getBorderColor(e),t.backgroundColor=getBackgroundColor(e),++e}function colorizeDoughnutDataset(t,e){return t.backgroundColor=t.data.map((()=>getBorderColor(e++))),e}function colorizePolarAreaDataset(t,e){return t.backgroundColor=t.data.map((()=>getBackgroundColor(e++))),e}function getColorizer(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof DoughnutController?e=colorizeDoughnutDataset(i,e):n instanceof PolarAreaController?e=colorizePolarAreaDataset(i,e):n&&(e=colorizeDefaultDataset(i,e))}}function containsColorsDefinitions(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}function containsColorsDefinition(t){return t&&(t.borderColor||t.backgroundColor)}var plugin_colors={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n;if(!i.forceOverride&&(containsColorsDefinitions(s)||containsColorsDefinition(n)||o&&containsColorsDefinitions(o)))return;const a=getColorizer(t);s.forEach(a)}};function lttbDecimation(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,g,f,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,b=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=b,o/=b;const x=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=g=-1,s=x;s<_;s++)g=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),g>u&&(u=g,d=t[s],f=s);a[l++]=d,p=f}return a[l++]=t[h],a}function minMaxDecimation(t,e,i,s){let n,o,a,r,l,h,c,d,u,g,f=0,p=0;const m=[],b=e+i-1,x=t[e].x,_=t[b].x-x;for(n=e;n<e+i;++n){o=t[n],a=(o.x-x)/_*s,r=o.y;const e=0|a;if(e===l)r<u?(u=r,h=n):r>g&&(g=r,c=n),f=(p*f+o.x)/++p;else{const i=n-1;if(!isNullOrUndef(h)&&!isNullOrUndef(c)){const e=Math.min(h,c),s=Math.max(h,c);e!==d&&e!==i&&m.push({...t[e],x:f}),s!==d&&s!==i&&m.push({...t[s],x:f})}n>0&&i!==d&&m.push(t[i]),m.push(o),l=e,p=0,u=g=r,h=c=d=n}}return m}function cleanDecimatedDataset(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function cleanDecimatedData(t){t.data.datasets.forEach((t=>{cleanDecimatedDataset(t)}))}function getStartAndCountOfVisiblePointsSimplified(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=_limitValue(_lookupByKey(e,o.axis,a).lo,0,i-1)),s=h?_limitValue(_lookupByKey(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}var plugin_decimation={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void cleanDecimatedData(t);const s=t.width;t.data.datasets.forEach(((e,n)=>{const{_data:o,indexAxis:a}=e,r=t.getDatasetMeta(n),l=o||e.data;if("y"===resolve([a,t.options.indexAxis]))return;if(!r.controller.supportsDecimation)return;const h=t.scales[r.xAxisID];if("linear"!==h.type&&"time"!==h.type)return;if(t.options.parsing)return;let{start:c,count:d}=getStartAndCountOfVisiblePointsSimplified(r,l);if(d<=(i.threshold||4*s))return void cleanDecimatedDataset(e);let u;switch(isNullOrUndef(o)&&(e._data=l,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":u=lttbDecimation(l,c,d,s,i);break;case"min-max":u=minMaxDecimation(l,c,d,s);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=u}))},destroy(t){cleanDecimatedData(t)}};function _segments(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=_findSegmentEnd(s,r,n);const l=_getBounds(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=_boundSegments(e,l);for(const e of h){const s=_getBounds(i,o[e.start],o[e.end],e.loop),r=_boundSegment(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:_getEdge(l,s,"start",Math.max)},end:{[i]:_getEdge(l,s,"end",Math.min)}})}}return a}function _getBounds(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=_normalizeAngle(n),o=_normalizeAngle(o)),{property:t,start:n,end:o}}function _pointsFromSegments(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=_findSegmentEnd(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}function _findSegmentEnd(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function _getEdge(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function _createBoundaryLine(t,e){let i=[],s=!1;return isArray(t)?(s=!0,i=t):i=_pointsFromSegments(t,e),i.length?new LineElement({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function _shouldApplyFill(t){return t&&!1!==t.fill}function _resolveTarget(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!isNumberFinite(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function _decodeFill(t,e,i){const s=parseFillOption(t);if(isObject(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return isNumberFinite(n)&&Math.floor(n)===n?decodeTargetIndex(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function decodeTargetIndex(t,e,i,s){return"-"!==t&&"+"!==t||(i=e+i),!(i===e||i<0||i>=s)&&i}function _getTargetPixel(t,e){let i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:isObject(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),i}function _getTargetValue(t,e,i){let s;return s="start"===t?i:"end"===t?e.options.reverse?e.min:e.max:isObject(t)?t.value:e.getBaseValue(),s}function parseFillOption(t){const e=t.options,i=e.fill;let s=valueOrDefault(i&&i.target,i);return void 0===s&&(s=!!e.backgroundColor),!1!==s&&null!==s&&(!0===s?"origin":s)}function _buildStackLine(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=getLinesBelow(e,i);r.push(_createBoundaryLine({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)addPointsBelow(n,a[t],r)}return new LineElement({points:n,options:{}})}function getLinesBelow(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}function addPointsBelow(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=findPoint(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function findPoint(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(_isBetween(n,s,h)){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}class simpleArc{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:TAU},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function _getTarget(t){const{chart:e,fill:i,line:s}=t;if(isNumberFinite(i))return getLineByIndex(e,i);if("stack"===i)return _buildStackLine(t);if("shape"===i)return!0;const n=computeBoundary(t);return n instanceof simpleArc?n:_createBoundaryLine(n,s)}function getLineByIndex(t,e){const i=t.getDatasetMeta(e);return i&&t.isDatasetVisible(e)?i.dataset:null}function computeBoundary(t){return(t.scale||{}).getPointPositionForValue?computeCircularBoundary(t):computeLinearBoundary(t)}function computeLinearBoundary(t){const{scale:e={},fill:i}=t,s=_getTargetPixel(i,e);if(isNumberFinite(s)){const t=e.isHorizontal();return{x:t?s:null,y:t?null:s}}return null}function computeCircularBoundary(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,o=s.reverse?e.max:e.min,a=_getTargetValue(i,e,o),r=[];if(s.grid.circular){const t=e.getPointPositionForValue(0,o);return new simpleArc({x:t.x,y:t.y,radius:e.getDistanceFromCenterForValue(a)})}for(let t=0;t<n;++t)r.push(e.getPointPositionForValue(t,a));return r}function _drawfill(t,e,i){const s=_getTarget(e),{line:n,scale:o,axis:a}=e,r=n.options,l=r.fill,h=r.backgroundColor,{above:c=h,below:d=h}=l||{};s&&n.points.length&&(clipArea(t,i),doFill(t,{line:n,target:s,above:c,below:d,area:i,scale:o,axis:a}),unclipArea(t))}function doFill(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r}=e,l=i._loop?"angle":e.axis;t.save(),"x"===l&&o!==n&&(clipVertical(t,s,a.top),fill(t,{line:i,target:s,color:n,scale:r,property:l}),t.restore(),t.save(),clipVertical(t,s,a.bottom)),fill(t,{line:i,target:s,color:o,scale:r,property:l}),t.restore()}function clipVertical(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[_findSegmentEnd(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(h.x,i),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(c.x,i)}t.lineTo(e.first().x,i),t.closePath(),t.clip()}function fill(t,e){const{line:i,target:s,property:n,color:o,scale:a}=e,r=_segments(i,s,n);for(const{source:e,target:l,start:h,end:c}of r){const{style:{backgroundColor:r=o}={}}=e,d=!0!==s;t.save(),t.fillStyle=r,clipBounds(t,a,d&&_getBounds(n,h,c)),t.beginPath();const u=!!i.pathSegment(t,e);let g;if(d){u?t.closePath():interpolatedLineTo(t,s,c,n);const e=!!s.pathSegment(t,l,{move:u,reverse:!0});g=u&&e,g||interpolatedLineTo(t,s,h,n)}t.closePath(),t.fill(g?"evenodd":"nonzero"),t.restore()}}function clipBounds(t,e,i){const{top:s,bottom:n}=e.chart.chartArea,{property:o,start:a,end:r}=i||{};"x"===o&&(t.beginPath(),t.rect(a,s,r-a,n-s),t.clip())}function interpolatedLineTo(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}var index={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof LineElement&&(l={visible:t.isDatasetVisible(a),index:a,fill:_decodeFill(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=_resolveTarget(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&_drawfill(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;_shouldApplyFill(i)&&_drawfill(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;_shouldApplyFill(s)&&"beforeDatasetDraw"===i.drawTime&&_drawfill(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const getBoxSize=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}},itemsEqual=(t,e)=>null!==t&&null!==e&&t.datasetIndex===e.datasetIndex&&t.index===e.index;class Legend extends Element{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=callback(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=toFont(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=getBoxSize(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,g)=>{const f=i+e/2+n.measureText(t.text).width;(0===g||l[l.length-1]+f+2*a>o)&&(c+=h,l[l.length-(g>0?0:1)]=0,u+=h,d++),r[g]={left:0,top:u,row:d,width:f,height:s},l[l.length-1]+=f+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,g=0,f=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=calculateItemSize(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),g+=d+a,f++,d=u=0),r[o]={left:g,top:u,col:f,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=getRtlAdapter(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=_alignStartEnd(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=_alignStartEnd(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=_alignStartEnd(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=_alignStartEnd(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;clipArea(t,this),this._draw(),unclipArea(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=defaults.color,r=getRtlAdapter(t.rtl,this.left,this.width),l=toFont(o.font),{padding:h}=o,c=l.size,d=c/2;let u;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=l.string;const{boxWidth:g,boxHeight:f,itemHeight:p}=getBoxSize(o,c),m=this.isHorizontal(),b=this._computeTitleHeight();u=m?{x:_alignStartEnd(n,this.left+h,this.right-i[0]),y:this.top+h+b,line:0}:{x:this.left+h,y:_alignStartEnd(n,this.top+b+h,this.bottom-e[0].height),line:0},overrideTextDirection(this.ctx,t.textDirection);const x=p+h;this.legendItems.forEach(((_,y)=>{s.strokeStyle=_.fontColor,s.fillStyle=_.fontColor;const v=s.measureText(_.text).width,S=r.textAlign(_.textAlign||(_.textAlign=o.textAlign)),k=g+d+v;let P=u.x,M=u.y;r.setWidth(this.width),m?y>0&&P+k+h>this.right&&(M=u.y+=x,u.line++,P=u.x=_alignStartEnd(n,this.left+h,this.right-i[u.line])):y>0&&M+x>this.bottom&&(P=u.x=P+e[u.line].width+h,u.line++,M=u.y=_alignStartEnd(n,this.top+b+h,this.bottom-e[u.line].height));if(function(t,e,i){if(isNaN(g)||g<=0||isNaN(f)||f<0)return;s.save();const n=valueOrDefault(i.lineWidth,1);if(s.fillStyle=valueOrDefault(i.fillStyle,a),s.lineCap=valueOrDefault(i.lineCap,"butt"),s.lineDashOffset=valueOrDefault(i.lineDashOffset,0),s.lineJoin=valueOrDefault(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=valueOrDefault(i.strokeStyle,a),s.setLineDash(valueOrDefault(i.lineDash,[])),o.usePointStyle){const a={radius:f*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,g/2);drawPointLegend(s,a,l,e+d,o.pointStyleWidth&&g)}else{const o=e+Math.max((c-f)/2,0),a=r.leftForLtr(t,g),l=toTRBLCorners(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?addRoundedRectPath(s,{x:a,y:o,w:g,h:f,radius:l}):s.rect(a,o,g,f),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(P),M,_),P=_textX(S,P+g+d,m?P+k:this.right,t.rtl),function(t,e,i){renderText(s,i.text,t,e+p/2,l,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(P),M,_),m)u.x+=k+h;else if("string"!=typeof _.text){const t=l.lineHeight;u.y+=calculateLegendItemHeight(_,t)+h}else u.y+=x})),restoreTextDirection(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=toFont(e.font),s=toPadding(e.padding);if(!e.display)return;const n=getRtlAdapter(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=_alignStartEnd(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+_alignStartEnd(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=_alignStartEnd(a,c,c+d);o.textAlign=n.textAlign(_toLeftRightCenter(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,renderText(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=toFont(t.font),i=toPadding(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(_isBetween(t,this.left,this.right)&&_isBetween(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],_isBetween(t,s.left,s.left+s.width)&&_isBetween(e,s.top,s.top+s.height))return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!isListened(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type||"mouseout"===t.type){const s=this._hoveredItem,n=itemsEqual(s,i);s&&!n&&callback(e.onLeave,[t,s,this],this),this._hoveredItem=i,i&&!n&&callback(e.onHover,[t,i,this],this)}else i&&callback(e.onClick,[t,i,this],this)}}function calculateItemSize(t,e,i,s,n){return{itemWidth:calculateItemWidth(s,t,e,i),itemHeight:calculateItemHeight(n,s,e.lineHeight)}}function calculateItemWidth(t,e,i,s){let n=t.text;return n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e))),e+i.size/2+s.measureText(n).width}function calculateItemHeight(t,e,i){let s=t;return"string"!=typeof e.text&&(s=calculateLegendItemHeight(e,i)),s}function calculateLegendItemHeight(t,e){return e*(t.text?t.text.length:0)}function isListened(t,e){return!("mousemove"!==t&&"mouseout"!==t||!e.onHover&&!e.onLeave)||!(!e.onClick||"click"!==t&&"mouseup"!==t)}var plugin_legend={id:"legend",_element:Legend,start(t,e,i){const s=t.legend=new Legend({ctx:t.ctx,options:i,chart:t});layouts.configure(t,s,i),layouts.addBox(t,s)},stop(t){layouts.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;layouts.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=toPadding(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Title extends Element{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=isArray(i.text)?i.text.length:1;this._padding=toPadding(i.padding);const n=s*toFont(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=n:this.width=n}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=_alignStartEnd(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=_alignStartEnd(a,s,e),c=-.5*PI):(l=n-t,h=_alignStartEnd(a,e,s),c=.5*PI),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=toFont(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);renderText(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:_toLeftRightCenter(e.align),textBaseline:"middle",translation:[n,o]})}}function createTitle(t,e){const i=new Title({ctx:t.ctx,options:e,chart:t});layouts.configure(t,i,e),layouts.addBox(t,i),t.titleBlock=i}var plugin_title={id:"title",_element:Title,start(t,e,i){createTitle(t,i)},stop(t){const e=t.titleBlock;layouts.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;layouts.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const map=new WeakMap;var plugin_subtitle={id:"subtitle",start(t,e,i){const s=new Title({ctx:t.ctx,options:i,chart:t});layouts.configure(t,s,i),layouts.addBox(t,s),map.set(t,s)},stop(t){layouts.removeBox(t,map.get(t)),map.delete(t)},beforeUpdate(t,e,i){const s=map.get(t);layouts.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const positioners={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s.add(t.x),n+=t.y,++o}}return{x:[...s].reduce(((t,e)=>t+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=distanceBetweenPoints(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function pushOrConcat(t,e){return e&&(isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function splitNewlines(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function createTooltipItem(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function getTooltipSize(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=toFont(e.bodyFont),h=toFont(e.titleFont),c=toFont(e.footerFont),d=o.length,u=n.length,g=s.length,f=toPadding(e.padding);let p=f.height,m=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(p+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){p+=g*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-g)*l.lineHeight+(b-1)*e.bodySpacing}u&&(p+=e.footerMarginTop+u*c.lineHeight+(u-1)*e.footerSpacing);let x=0;const _=function(t){m=Math.max(m,i.measureText(t).width+x)};return i.save(),i.font=h.string,each(t.title,_),i.font=l.string,each(t.beforeBody.concat(t.afterBody),_),x=e.displayColors?a+2+e.boxPadding:0,each(s,(t=>{each(t.before,_),each(t.lines,_),each(t.after,_)})),x=0,i.font=c.string,each(t.footer,_),i.restore(),m+=f.width,{width:m,height:p}}function determineYAlign(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}function doesNotFitWithAlign(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||("right"===t&&n-o-a<0||void 0)}function determineXAlign(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),doesNotFitWithAlign(h,t,e,i)&&(h="center"),h}function determineAlignment(t,e,i){const s=i.yAlign||e.yAlign||determineYAlign(t,i);return{xAlign:i.xAlign||e.xAlign||determineXAlign(t,e,i,s),yAlign:s}}function alignX(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}function alignY(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}function getBackgroundPoint(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:g}=toTRBLCorners(a);let f=alignX(e,r);const p=alignY(e,l,h);return"center"===l?"left"===r?f+=h:"right"===r&&(f-=h):"left"===r?f-=Math.max(c,u)+n:"right"===r&&(f+=Math.max(d,g)+n),{x:_limitValue(f,0,s.width-e.width),y:_limitValue(p,0,s.height-e.height)}}function getAlignedX(t,e,i){const s=toPadding(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function getBeforeAfterBodyLines(t){return pushOrConcat([],splitNewlines(t))}function createTooltipContext(t,e,i){return createContext(t,{tooltip:e,tooltipItems:i,type:"tooltip"})}function overrideCallbacks(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const defaultCallbacks={beforeTitle:noop,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:noop,beforeBody:noop,beforeLabel:noop,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return isNullOrUndef(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:noop,afterBody:noop,beforeFooter:noop,footer:noop,afterFooter:noop};function invokeCallbackWithFallback(t,e,i,s){const n=t[e].call(i,s);return void 0===n?defaultCallbacks[e].call(i,s):n}class Tooltip extends Element{static positioners=positioners;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new Animations(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=createTooltipContext(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:i}=e,s=invokeCallbackWithFallback(i,"beforeTitle",this,t),n=invokeCallbackWithFallback(i,"title",this,t),o=invokeCallbackWithFallback(i,"afterTitle",this,t);let a=[];return a=pushOrConcat(a,splitNewlines(s)),a=pushOrConcat(a,splitNewlines(n)),a=pushOrConcat(a,splitNewlines(o)),a}getBeforeBody(t,e){return getBeforeAfterBodyLines(invokeCallbackWithFallback(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,s=[];return each(t,(t=>{const e={before:[],lines:[],after:[]},n=overrideCallbacks(i,t);pushOrConcat(e.before,splitNewlines(invokeCallbackWithFallback(n,"beforeLabel",this,t))),pushOrConcat(e.lines,invokeCallbackWithFallback(n,"label",this,t)),pushOrConcat(e.after,splitNewlines(invokeCallbackWithFallback(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return getBeforeAfterBodyLines(invokeCallbackWithFallback(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=invokeCallbackWithFallback(i,"beforeFooter",this,t),n=invokeCallbackWithFallback(i,"footer",this,t),o=invokeCallbackWithFallback(i,"afterFooter",this,t);let a=[];return a=pushOrConcat(a,splitNewlines(s)),a=pushOrConcat(a,splitNewlines(n)),a=pushOrConcat(a,splitNewlines(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push(createTooltipItem(this.chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),each(l,(e=>{const i=overrideCallbacks(t.callbacks,e);s.push(invokeCallbackWithFallback(i,"labelColor",this,e)),n.push(invokeCallbackWithFallback(i,"labelPointStyle",this,e)),o.push(invokeCallbackWithFallback(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=positioners[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=getTooltipSize(this,i),a=Object.assign({},t,e),r=determineAlignment(this.chart,i,a),l=getBackgroundPoint(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=toTRBLCorners(a),{x:d,y:u}=t,{width:g,height:f}=e;let p,m,b,x,_,y;return"center"===n?(_=u+f/2,"left"===s?(p=d,m=p-o,x=_+o,y=_-o):(p=d+g,m=p+o,x=_-o,y=_+o),b=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+g-Math.max(l,c)-o:this.caretX,"top"===n?(x=u,_=x-o,p=m-o,b=m+o):(x=u+f,_=x+o,p=m+o,b=m-o),y=x),{x1:p,x2:m,x3:b,y1:x,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=getRtlAdapter(i.rtl,this.x,this.width);for(t.x=getAlignedX(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=toFont(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const o=this.labelColors[i],a=this.labelPointStyles[i],{boxHeight:r,boxWidth:l}=n,h=toFont(n.bodyFont),c=getAlignedX(this,"left",n),d=s.x(c),u=r<h.lineHeight?(h.lineHeight-r)/2:0,g=e.y+u;if(n.usePointStyle){const e={radius:Math.min(l,r)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},i=s.leftForLtr(d,l)+l/2,h=g+r/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,drawPoint(t,e,i,h),t.strokeStyle=o.borderColor,t.fillStyle=o.backgroundColor,drawPoint(t,e,i,h)}else{t.lineWidth=isObject(o.borderWidth)?Math.max(...Object.values(o.borderWidth)):o.borderWidth||1,t.strokeStyle=o.borderColor,t.setLineDash(o.borderDash||[]),t.lineDashOffset=o.borderDashOffset||0;const e=s.leftForLtr(d,l),i=s.leftForLtr(s.xPlus(d,1),l-2),a=toTRBLCorners(o.borderRadius);Object.values(a).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,addRoundedRectPath(t,{x:e,y:g,w:l,h:r,radius:a}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),addRoundedRectPath(t,{x:i,y:g+1,w:l-2,h:r-2,radius:a}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,l,r),t.strokeRect(e,g,l,r),t.fillStyle=o.backgroundColor,t.fillRect(i,g+1,l-2,r-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=toFont(i.bodyFont);let d=c.lineHeight,u=0;const g=getRtlAdapter(i.rtl,this.x,this.width),f=function(i){e.fillText(i,g.x(t.x+u),t.y+d/2),t.y+=d+n},p=g.textAlign(o);let m,b,x,_,y,v,S;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=getAlignedX(this,p,i),e.fillStyle=i.bodyColor,each(this.beforeBody,f),u=a&&"right"!==p?"center"===o?l/2+h:l+2+h:0,_=0,v=s.length;_<v;++_){for(m=s[_],b=this.labelTextColors[_],e.fillStyle=b,each(m.before,f),x=m.lines,a&&x.length&&(this._drawColorBox(e,t,_,g,i),d=Math.max(c.lineHeight,r)),y=0,S=x.length;y<S;++y)f(x[y]),d=c.lineHeight;each(m.after,f)}u=0,d=c.lineHeight,each(this.afterBody,f),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=getRtlAdapter(i.rtl,this.x,this.width);for(t.x=getAlignedX(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=toFont(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:g}=toTRBLCorners(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-g),e.quadraticCurveTo(a+l,r+h,a+l-g,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=positioners[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=getTooltipSize(this,t),a=Object.assign({},i,this._size),r=determineAlignment(e,t,a),l=getBackgroundPoint(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=toPadding(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),overrideTextDirection(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),restoreTextDirection(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!_elementsEqual(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!_elementsEqual(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=positioners[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var plugin_tooltip={id:"tooltip",_element:Tooltip,positioners,afterInit(t,e,i){i&&(t.tooltip=new Tooltip({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:defaultCallbacks},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},plugins=Object.freeze({__proto__:null,Colors:plugin_colors,Decimation:plugin_decimation,Filler:index,Legend:plugin_legend,SubTitle:plugin_subtitle,Title:plugin_title,Tooltip:plugin_tooltip});const addIfString=(t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i);function findOrAddLabel(t,e,i,s){const n=t.indexOf(e);if(-1===n)return addIfString(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}const validIndex=(t,e)=>null===t?null:_limitValue(Math.round(t),0,e);function _getLabelForValue(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}class CategoryScale extends Scale{static id="category";static defaults={ticks:{callback:_getLabelForValue}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(isNullOrUndef(t))return null;const i=this.getLabels();return e=isFinite(e)&&i[e]===t?e:findOrAddLabel(i,t,valueOrDefault(e,t),this._addedLabels),validIndex(e,i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return _getLabelForValue.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function generateTicks$1(t,e){const i=[],{bounds:s,step:n,min:o,max:a,precision:r,count:l,maxTicks:h,maxDigits:c,includeBounds:d}=t,u=n||1,g=h-1,{min:f,max:p}=e,m=!isNullOrUndef(o),b=!isNullOrUndef(a),x=!isNullOrUndef(l),_=(p-f)/(c+1);let y,v,S,k,P=niceNum((p-f)/g/u)*u;if(P<1e-14&&!m&&!b)return[{value:f},{value:p}];k=Math.ceil(p/P)-Math.floor(f/P),k>g&&(P=niceNum(k*P/g/u)*u),isNullOrUndef(r)||(y=Math.pow(10,r),P=Math.ceil(P*y)/y),"ticks"===s?(v=Math.floor(f/P)*P,S=Math.ceil(p/P)*P):(v=f,S=p),m&&b&&n&&almostWhole((a-o)/n,P/1e3)?(k=Math.round(Math.min((a-o)/P,h)),P=(a-o)/k,v=o,S=a):x?(v=m?o:v,S=b?a:S,k=l-1,P=(S-v)/k):(k=(S-v)/P,k=almostEquals(k,Math.round(k),P/1e3)?Math.round(k):Math.ceil(k));const M=Math.max(_decimalPlaces(P),_decimalPlaces(v));y=Math.pow(10,isNullOrUndef(r)?M:r),v=Math.round(v*y)/y,S=Math.round(S*y)/y;let w=0;for(m&&(d&&v!==o?(i.push({value:o}),v<o&&w++,almostEquals(Math.round((v+w*P)*y)/y,o,relativeLabelSize(o,_,t))&&w++):v<o&&w++);w<k;++w){const t=Math.round((v+w*P)*y)/y;if(b&&t>a)break;i.push({value:t})}return b&&d&&S!==a?i.length&&almostEquals(i[i.length-1].value,a,relativeLabelSize(a,_,t))?i[i.length-1].value=a:i.push({value:a}):b&&S!==a||i.push({value:S}),i}function relativeLabelSize(t,e,{horizontal:i,minRotation:s}){const n=toRadians(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}class LinearScaleBase extends Scale{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return isNullOrUndef(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=sign(s),e=sign(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s=generateTicks$1({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&_setMinAndMaxByKey(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return formatNumber(t,this.chart.options.locale,this.options.ticks.format)}}class LinearScale extends LinearScaleBase{static id="linear";static defaults={ticks:{callback:Ticks.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=isNumberFinite(t)?t:0,this.max=isNumberFinite(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=toRadians(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const log10Floor=t=>Math.floor(log10(t)),changeExponent=(t,e)=>Math.pow(10,log10Floor(t)+e);function isMajor(t){return 1===t/Math.pow(10,log10Floor(t))}function steps(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function startExp(t,e){let i=log10Floor(e-t);for(;steps(t,e,i)>10;)i++;for(;steps(t,e,i)<10;)i--;return Math.min(i,log10Floor(t))}function generateTicks(t,{min:e,max:i}){e=finiteOrDefault(t.min,e);const s=[],n=log10Floor(e);let o=startExp(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const r=Math.pow(10,o),l=n>o?Math.pow(10,n):0,h=Math.round((e-l)*a)/a,c=Math.floor((e-l)/r/10)*r*10;let d=Math.floor((h-c)/Math.pow(10,o)),u=finiteOrDefault(t.min,Math.round((l+c+d*Math.pow(10,o))*a)/a);for(;u<i;)s.push({value:u,major:isMajor(u),significand:d}),d>=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,a=o>=0?1:a),u=Math.round((l+c+d*Math.pow(10,o))*a)/a;const g=finiteOrDefault(t.max,u);return s.push({value:g,major:isMajor(g),significand:d}),s}class LogarithmicScale extends Scale{static id="logarithmic";static defaults={ticks:{callback:Ticks.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=LinearScaleBase.prototype.parse.apply(this,[t,e]);if(0!==i)return isNumberFinite(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=isNumberFinite(t)?Math.max(0,t):null,this.max=isNumberFinite(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!isNumberFinite(this._userMin)&&(this.min=t===changeExponent(this.min,0)?changeExponent(this.min,-1):changeExponent(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(changeExponent(i,-1)),o(changeExponent(s,1)))),i<=0&&n(changeExponent(s,-1)),s<=0&&o(changeExponent(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=generateTicks({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&_setMinAndMaxByKey(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":formatNumber(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=log10(t),this._valueRange=log10(this.max)-log10(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(log10(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function getTickBackdropHeight(t){const e=t.ticks;if(e.display&&t.display){const t=toPadding(e.backdropPadding);return valueOrDefault(e.font&&e.font.size,defaults.font.size)+t.height}return 0}function measureLabelSize(t,e,i){return i=isArray(i)?i:[i],{w:_longestText(t,e.string,i),h:i.length*e.lineHeight}}function determineLimits(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function fitWithPointLabels(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],n=[],o=t._pointLabels.length,a=t.options.pointLabels,r=a.centerPointLabels?PI/o:0;for(let l=0;l<o;l++){const o=a.setContext(t.getPointLabelContext(l));n[l]=o.padding;const h=t.getPointPosition(l,t.drawingArea+n[l],r),c=toFont(o.font),d=measureLabelSize(t.ctx,c,t._pointLabels[l]);s[l]=d;const u=_normalizeAngle(t.getIndexAngle(l)+r),g=Math.round(toDegrees(u));updateLimits(i,e,u,determineLimits(g,h.x,d.w,0,180),determineLimits(g,h.y,d.h,90,270))}t.setCenterPoint(e.l-i.l,i.r-e.r,e.t-i.t,i.b-e.b),t._pointLabelItems=buildPointLabelItems(t,s,n)}function updateLimits(t,e,i,s,n){const o=Math.abs(Math.sin(i)),a=Math.abs(Math.cos(i));let r=0,l=0;s.start<e.l?(r=(e.l-s.start)/o,t.l=Math.min(t.l,e.l-r)):s.end>e.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.start<e.t?(l=(e.t-n.start)/a,t.t=Math.min(t.t,e.t-l)):n.end>e.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function createPointLabelItem(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(toDegrees(_normalizeAngle(l.angle+HALF_PI))),c=yForAngle(l.y,r.h,h),d=getTextAlignForAngle(h),u=leftForTextAlign(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function isNotOverlapped(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(_isPointInArea({x:i,y:s},e)||_isPointInArea({x:i,y:o},e)||_isPointInArea({x:n,y:s},e)||_isPointInArea({x:n,y:o},e))}function buildPointLabelItems(t,e,i){const s=[],n=t._pointLabels.length,o=t.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:getTickBackdropHeight(o)/2,additionalAngle:a?PI/n:0};let h;for(let o=0;o<n;o++){l.padding=i[o],l.size=e[o];const n=createPointLabelItem(t,o,l);s.push(n),"auto"===r&&(n.visible=isNotOverlapped(n,h),n.visible&&(h=n))}return s}function getTextAlignForAngle(t){return 0===t||180===t?"center":t<180?"left":"right"}function leftForTextAlign(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function yForAngle(t,e,i){return 90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e),t}function drawPointLabelBox(t,e,i){const{left:s,top:n,right:o,bottom:a}=i,{backdropColor:r}=e;if(!isNullOrUndef(r)){const i=toTRBLCorners(e.borderRadius),l=toPadding(e.backdropPadding);t.fillStyle=r;const h=s-l.left,c=n-l.top,d=o-s+l.width,u=a-n+l.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),addRoundedRectPath(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function drawPointLabels(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));drawPointLabelBox(i,o,e);const a=toFont(o.font),{x:r,y:l,textAlign:h}=e;renderText(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}function pathRadiusLine(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,TAU);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}function drawRadiusLine(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash),o.lineDashOffset=n.dashOffset,o.beginPath(),pathRadiusLine(t,i,a,s),o.closePath(),o.stroke(),o.restore())}function createPointLabelContext(t,e,i){return createContext(t,{label:i,index:e,type:"pointLabel"})}class RadialLinearScale extends LinearScaleBase{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ticks.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=toPadding(getTickBackdropHeight(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=isNumberFinite(t)&&!isNaN(t)?t:0,this.max=isNumberFinite(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/getTickBackdropHeight(this.options))}generateTickLabels(t){LinearScaleBase.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=callback(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?fitWithPointLabels(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return _normalizeAngle(t*(TAU/(this._pointLabels.length||1))+toRadians(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(isNullOrUndef(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(isNullOrUndef(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return createPointLabelContext(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const s=this.getIndexAngle(t)-HALF_PI+i;return{x:Math.cos(s)*e+this.xCenter,y:Math.sin(s)*e+this.yCenter,angle:s}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),pathRadiusLine(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s,border:n}=e,o=this._pointLabels.length;let a,r,l;if(e.pointLabels.display&&drawPointLabels(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);drawRadiusLine(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=toFont(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=toPadding(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}renderText(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const INTERVALS={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},UNITS=Object.keys(INTERVALS);function sorter(t,e){return t-e}function parse(t,e){if(isNullOrUndef(e))return null;const i=t._adapter,{parser:s,round:n,isoWeekday:o}=t._parseOpts;let a=e;return"function"==typeof s&&(a=s(a)),isNumberFinite(a)||(a="string"==typeof s?i.parse(a,s):i.parse(a)),null===a?null:(n&&(a="week"!==n||!isNumber(o)&&!0!==o?i.startOf(a,n):i.startOf(a,"isoWeek",o)),+a)}function determineUnitForAutoTicks(t,e,i,s){const n=UNITS.length;for(let o=UNITS.indexOf(t);o<n-1;++o){const t=INTERVALS[UNITS[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return UNITS[o]}return UNITS[n-1]}function determineUnitForFormatting(t,e,i,s,n){for(let o=UNITS.length-1;o>=UNITS.indexOf(i);o--){const i=UNITS[o];if(INTERVALS[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return UNITS[i?UNITS.indexOf(i):0]}function determineMajorUnit(t){for(let e=UNITS.indexOf(t)+1,i=UNITS.length;e<i;++e)if(INTERVALS[UNITS[e]].common)return UNITS[e]}function addTick(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=_lookup(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function setMajorTicks(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}function ticksFromTimestamps(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?setMajorTicks(t,s,n,i):s}class TimeScale extends Scale{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new adapters._date(t.adapters.date);s.init(e),mergeIf(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:parse(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:a}=this.getUserBounds();function r(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),a||isNaN(t.max)||(n=Math.max(n,t.max))}o&&a||(r(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||r(this.getMinMax(!1))),s=isNumberFinite(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=isNumberFinite(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=_filterBetween(s,n,this.max);return this._unit=e.unit||(i.autoSkip?determineUnitForAutoTicks(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):determineUnitForFormatting(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?determineMajorUnit(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),ticksFromTimestamps(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map((t=>+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=_limitValue(s,0,o),n=_limitValue(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||determineUnitForAutoTicks(n.minUnit,e,i,this._getLabelCapacity(e)),a=valueOrDefault(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,l=isNumber(r)||!0===r,h={};let c,d,u=e;if(l&&(u=+t.startOf(u,"isoWeek",r)),u=+t.startOf(u,l?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const g="data"===s.ticks.source&&this.getDataTimestamps();for(c=u,d=0;c<i;c=+t.add(c,a,o),d++)addTick(h,c,g);return c!==i&&"ticks"!==s.bounds&&1!==d||addTick(h,c,g),Object.keys(h).sort(sorter).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return callback(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],d=i[e],u=l&&c&&d&&d.major;return this._adapter.format(t,s||(u?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=toRadians(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,ticksFromTimestamps(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(parse(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return _arrayUnique(t.sort(sorter))}}function interpolate(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=_lookupByKey(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=_lookupByKey(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}class TimeSeriesScale extends TimeScale{static id="timeseries";static defaults=TimeScale.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=interpolate(e,this.min),this._tableRange=interpolate(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return i.includes(t)&&i.length||i.splice(0,0,t),i.includes(e)&&1!==i.length||i.push(e),i.sort(((t,e)=>t-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(interpolate(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return interpolate(this._table,i*this._tableRange+this._minPos,!0)}}var scales=Object.freeze({__proto__:null,CategoryScale,LinearScale,LogarithmicScale,RadialLinearScale,TimeScale,TimeSeriesScale});const registerables=[controllers,elements,plugins,scales];export{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};
+ */class wi{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=Et.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ki=new wi;const Si="transparent",Pi={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=$t(t||Si),n=s.valid&&$t(e||Si);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class Di{constructor(t,e,i,s){const n=e[i];s=Ce([t.to,s,n,t.from]);const o=Ce([t.from,n,s]);this._active=!0,this._fn=t.fn||Pi[t.type||typeof o],this._easing=Ht[t.easing]||Ht.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=Ce([t.to,e,s,t.from]),this._from=Ce([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}class Ci{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!F(t))return;const e=Object.keys(se.animation),i=this._properties;Object.getOwnPropertyNames(t).forEach((s=>{const n=t[s];if(!F(n))return;const o={};for(const t of e)o[t]=n[t];(z(n.properties)&&n.properties||[s]).forEach((t=>{t!==s&&i.has(t)||i.set(t,o)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new Di(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(ki.add(this._chart,i),!0):void 0}}function Oi(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function Ai(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function Ti(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let a,r,l,h;if(null!==e){for(a=0,r=n.length;a<r;++a){if(l=+n[a],l===i){if(s.all)continue;break}h=t.values[l],V(h)&&(o||0===e||ut(e)===ut(h))&&(e+=h)}return e}}function Li(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function Ei(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function Ri(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function Ii(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=Ei(n,c,o),u[r]=d,u._top=Ri(u,a,!0,s.type),u._bottom=Ri(u,a,!1,s.type);(u._visualValues||(u._visualValues={}))[r]=d}}function zi(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function Fi(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i],void 0!==e[s]._visualValues&&void 0!==e[s]._visualValues[i]&&delete e[s]._visualValues[i]}}}const Vi=t=>"reset"===t||"none"===t,Bi=(t,e)=>e?t:Object.assign({},t);class Wi{static defaults={};static datasetElementType=null;static dataElementType=null;constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=Li(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&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")}updateIndex(t){this.index!==t&&Fi(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=W(i.xAxisID,zi(t,"x")),o=e.yAxisID=W(i.yAxisID,zi(t,"y")),a=e.rAxisID=W(i.rAxisID,zi(t,"r")),r=e.indexAxis,l=e.iAxisID=s(r,n,o,a),h=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Tt(this._data,this),t._stacked&&Fi(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(F(e))this._data=function(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s],i[s]={x:o,y:t[o]};return i}(e);else if(i!==e){if(i){Tt(i,this);const t=this._cachedMeta;Fi(t),t._parsed=[]}e&&Object.isExtensible(e)&&(n=this,(s=e)._chartjs?s._chartjs.listeners.push(n):(Object.defineProperty(s,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[n]}}),At.forEach((t=>{const e="_onData"+Q(t),i=s[t];Object.defineProperty(s,t,{configurable:!0,enumerable:!1,value(...t){const n=i.apply(this,t);return s._chartjs.listeners.forEach((i=>{"function"==typeof i[e]&&i[e](...t)})),n}})})))),this._syncList=[],this._data=e}var s,n}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=Li(e.vScale,e),e.stack!==i.stack&&(s=!0,Fi(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&Ii(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:n,_stacked:o}=i,a=n.axis;let r,l,h,c=0===t&&e===s.length||i._sorted,d=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,h=s;else{h=z(s[t])?this.parseArrayData(i,s,t,e):F(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const n=()=>null===l[a]||d&&l[a]<d[a];for(r=0;r<e;++r)i._parsed[r+t]=l=h[r],c&&(n()&&(c=!1),d=l);i._sorted=c}o&&Ii(this,h)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[a]:h||n.parse(l[f],f),[r]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(J(u,a),d),y:o.parse(J(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return Ti({keys:Ai(s,!0),values:e._stacks[t.axis]._visualValues},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=Ti(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,a=this._getOtherScale(t),r=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:Ai(i,!0),values:null})(e,i,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:c}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(a);let d,u;function f(){u=s[d];const e=u[a.axis];return!V(u[t.axis])||h>e||c<e}for(d=0;d<o&&(f()||(this.updateRangeFromParsed(l,t,u,r),!n));++d);if(n)for(d=o-1;d>=0;--d)if(!f()){this.updateRangeFromParsed(l,t,u,r);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],V(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.update(t||"default"),e._clip=function(t){let e,i,s,n;return F(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(W(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=Oi(t,i),n=Oi(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a,l=this.options.drawActiveElementsOnTop;let h;for(i.dataset&&i.dataset.draw(t,n,a,r),h=a;h<a+r;++h){const e=s[h];e.hidden||(e.active&&l?o.push(e):e.draw(t,n))}for(h=0;h<o.length;++h)o[h].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return Oe(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return Oe(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&tt(i);if(a)return Bi(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(se.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s,e)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(Bi(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new Ci(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||Vi(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const i=this.resolveDataElementOptions(t,e),s=this._sharedOptions,n=this.getSharedOptions(i),o=this.includeOptions(e,n)||n!==s;return this.updateSharedOptions(n,e,i),{sharedOptions:n,includeOptions:o}}updateElement(t,e,i,s){Vi(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!Vi(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&Fi(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){e&&this._sync(["_removeElements",t,e]);const i=arguments.length-2;i&&this._sync(["_insertElements",t,i])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}function Ni(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=Lt(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(tt(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function Hi(t,e,i,s){return z(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function ji(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(Hi(u,d,o,h));return l}function $i(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function Yi(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);if(!0===n)return void(t.borderSkipped={top:!0,right:!0,bottom:!0,left:!0});const{start:a,end:r,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[Ui(c,a,r,l)]=!0,n=h)),o[Ui(n,a,r,l)]=!0,t.borderSkipped=o}function Ui(t,e,i,s){var n,o,a;return s?(a=i,t=Xi(t=(n=t)===(o=e)?a:n===a?o:n,i,e)):t=Xi(t,e,i),t}function Xi(t,e,i){return"start"===t?e:"end"===t?i:t}function qi(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class Ki extends Wi{static id="bar";static defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}};static overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};parsePrimitiveData(t,e,i,s){return ji(t,e,i,s)}parseArrayData(t,e,i,s){return ji(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;d<u;++d)g=e[d],f={},f[n.axis]=n.parse(J(g,l),d),c.push(Hi(J(g,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=$i(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,s){const n="reset"===s,{index:o,_cachedMeta:{vScale:a}}=this,r=a.getBasePixel(),l=a.isHorizontal(),h=this._getRuler(),{sharedOptions:c,includeOptions:d}=this._getSharedOptions(e,s);for(let u=e;u<e+i;u++){const e=this.getParsed(u),i=n||I(e[a.axis])?{base:r,head:r}:this._calculateBarValuePixels(u),f=this._calculateBarIndexPixels(u,h),g=(e._stacks||{})[a.axis],p={horizontal:l,base:i.base,enableBorderRadius:!g||$i(e._custom)||o===g._top||o===g._bottom,x:l?i.head:f.center,y:l?f.center:i.head,height:l?f.size:Math.abs(i.size),width:l?Math.abs(i.size):f.size};d&&(p.options=c||this.resolveDataElementOptions(u,t[u].active?"active":s));const m=p.options||t[u].options;Yi(p,m,g,o),qi(p,m,h.ratio),this.updateElement(t[u],u,p,s)}}_getStacks(t,e){const{iScale:i}=this._cachedMeta,s=i.getMatchingVisibleMetas(this._type).filter((t=>t.controller.options.grouped)),n=i.options.stacked,o=[],a=t=>{const i=t.controller.getParsed(e),s=i&&i[t.vScale.axis];if(I(s)||isNaN(s))return!0};for(const i of s)if((void 0===e||!a(i))&&((!1===n||-1===o.indexOf(i.stack)||void 0===n&&void 0===i.stack)&&o.push(i.stack),i.index===t))break;return o.length||o.push(void 0),o}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||Ni(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i,index:s},options:{base:n,minBarLength:o}}=this,a=n||0,r=this.getParsed(t),l=r._custom,h=$i(l);let c,d,u=r[e.axis],f=0,g=i?this.applyStack(e,r,i):u;g!==u&&(f=g-u,g=u),h&&(u=l.barStart,g=l.barEnd-l.barStart,0!==u&&ut(u)!==ut(l.barEnd)&&(f=0),f+=u);const p=I(n)||h?f:n;let m=e.getPixelForValue(p);if(c=this.chart.getDataVisibility(t)?e.getPixelForValue(f+g):m,d=c-m,Math.abs(d)<o){d=function(t,e,i){return 0!==t?ut(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(d,e,a)*o,u===a&&(m-=d/2);const t=e.getPixelForDecimal(0),n=e.getPixelForDecimal(1),l=Math.min(t,n),f=Math.max(t,n);m=Math.max(Math.min(m,f),l),c=m+d,i&&!h&&(r._stacks[e.axis]._visualValues[s]=e.getValueForPixel(c)-e.getValueForPixel(m))}if(m===e.getPixelForValue(a)){const t=ut(d)*e.getLineWidthForValue(a)/2;m+=t,d-=t}return{size:d,base:m,head:c,center:c+d/2}}_calculateBarIndexPixels(t,e){const i=e.scale,s=this.options,n=s.skipNull,o=W(s.maxBarThickness,1/0);let a,r;if(e.grouped){const i=n?this._getStackCount(t):e.stackCount,l="flex"===s.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,s,i):function(t,e,i,s){const n=i.barThickness;let o,a;return I(n)?(o=e.min*i.categoryPercentage,a=i.barPercentage):(o=n*s,a=1),{chunk:o/s,ratio:a,start:e.pixels[t]-o/2}}(t,e,s,i),h=this._getStackIndex(this.index,this._cachedMeta.stack,n?t:void 0);a=l.start+l.chunk*h+l.chunk/2,r=Math.min(o,l.chunk*l.ratio)}else a=i.getPixelForValue(this.getParsed(t)[i.axis],t),r=Math.min(o,e.min*e.ratio);return{base:a-r/2,head:a+r/2,center:a,size:r}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null!==this.getParsed(n)[e.axis]&&i[n].draw(this._ctx)}}class Gi extends Wi{static id="bubble";static defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}};static overrides={scales:{x:{type:"linear"},y:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=W(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=W(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y),l=o._custom;return{label:i[t]||"",value:"("+a+", "+r+(l?", "+l:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,{sharedOptions:r,includeOptions:l}=this._getSharedOptions(e,s),h=o.axis,c=a.axis;for(let d=e;d<e+i;d++){const e=t[d],i=!n&&this.getParsed(d),u={},f=u[h]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[h]),g=u[c]=n?a.getBasePixel():a.getPixelForValue(i[c]);u.skip=isNaN(f)||isNaN(g),l&&(u.options=r||this.resolveDataElementOptions(d,e.active?"active":s),n&&(u.options.radius=0)),this.updateElement(e,d,u,s)}}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=W(i&&i._custom,n),s}}class Zi extends Wi{static id="doughnut";static defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"};static descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t&&!t.startsWith("borderDash")&&!t.startsWith("hoverBorderDash")};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}}};constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,o,a=t=>+i[t];if(F(i[t])){const{key:t="value"}=this._parsing;a=e=>+J(i[e],t)}for(n=t,o=t+e;n<o;++n)s._parsed[n]=a(n)}}_getRotation(){return bt(this.options.rotation-90)}_getCircumference(){return bt(this.options.circumference)}_getRotationExtents(){let t=nt,e=-nt;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)&&this.chart.getDatasetMeta(i).type===this._type){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min((l=this.options.cutout,h=a,"string"==typeof l&&l.endsWith("%")?parseFloat(l)/100:+l/h),1);var l,h;const c=this._getRingWeight(this.index),{circumference:d,rotation:u}=this._getRotationExtents(),{ratioX:f,ratioY:g,offsetX:p,offsetY:m}=function(t,e,i){let s=1,n=1,o=0,a=0;if(e<nt){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>kt(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>kt(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(lt,c,u),b=g(st,h,d),x=g(st+lt,c,u);s=(p-b)/2,n=(m-x)/2,o=-(p+b)/2,a=-(m+x)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(u,d,r),b=(i.width-o)/f,x=(i.height-o)/g,_=Math.max(Math.min(b,x)/2,0),y=N(this.options.radius,_),v=(y-Math.max(y*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=p*y,this.offsetY=m*y,s.total=this.calculateTotal(),this.outerRadius=y-v*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-v*c,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/nt)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,{sharedOptions:f,includeOptions:g}=this._getSharedOptions(e,s);let p,m=this._getRotation();for(p=0;p<e;++p)m+=this._circumference(p,n);for(p=e;p<e+i;++p){const e=this._circumference(p,n),i=t[p],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:m,endAngle:m+e,circumference:e,outerRadius:u,innerRadius:d};g&&(o.options=f||this.resolveDataElementOptions(p,i.active?"active":s)),m+=e,this.updateElement(i,p,o,s)}}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?nt*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=Kt(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller;break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(W(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}class Ji extends Wi{static id="line";static defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1};static overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};initialize(){this.enableOptionSharing=!0,this.supportsDecimation=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=Ft(e,s,o);this._drawStart=a,this._drawCount=r,Vt(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a,_stacked:r,_dataset:l}=this._cachedMeta,{sharedOptions:h,includeOptions:c}=this._getSharedOptions(e,s),d=o.axis,u=a.axis,{spanGaps:f,segment:g}=this.options,p=pt(f)?f:Number.POSITIVE_INFINITY,m=this.chart._animationsDisabled||n||"none"===s,b=e+i,x=t.length;let _=e>0&&this.getParsed(e-1);for(let i=0;i<x;++i){const f=t[i],x=m?f:{};if(i<e||i>=b){x.skip=!0;continue}const y=this.getParsed(i),v=I(y[u]),M=x[d]=o.getPixelForValue(y[d],i),w=x[u]=n||v?a.getBasePixel():a.getPixelForValue(r?this.applyStack(a,y,r):y[u],i);x.skip=isNaN(M)||isNaN(w)||v,x.stop=i>0&&Math.abs(y[d]-_[d])>p,g&&(x.parsed=y,x.raw=l.data[i]),c&&(x.options=h||this.resolveDataElementOptions(i,f.active?"active":s)),m||this.updateElement(f,i,x,s),_=y}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}class Qi extends Wi{static id="polarArea";static defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0};static overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i,color:s}}=t.legend.options;return e.labels.map(((e,n)=>{const o=t.getDatasetMeta(0).controller.getStyle(n);return{text:e,fillStyle:o.backgroundColor,strokeStyle:o.borderColor,fontColor:s,lineWidth:o.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(n),index:n}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=Kt(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}parseObjectData(t,e,i,s){return je.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}getMinMax(){const t=this._cachedMeta,e={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY};return t.data.forEach(((t,i)=>{const s=this.getParsed(i).r;!isNaN(s)&&this.chart.getDataVisibility(i)&&(s<e.min&&(e.min=s),s>e.max&&(e.max=s))})),e}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.options.animation,r=this._cachedMeta.rScale,l=r.xCenter,h=r.yCenter,c=r.getIndexAngle(0)-.5*st;let d,u=c;const f=360/this.countVisibleElements();for(d=0;d<e;++d)u+=this._computeAngle(d,s,f);for(d=e;d<e+i;d++){const e=t[d];let i=u,g=u+this._computeAngle(d,s,f),p=o.getDataVisibility(d)?r.getDistanceFromCenterForValue(this.getParsed(d).r):0;u=g,n&&(a.animateScale&&(p=0),a.animateRotate&&(i=g=c));const m={x:l,y:h,innerRadius:0,outerRadius:p,startAngle:i,endAngle:g,options:this.resolveDataElementOptions(d,e.active?"active":s)};this.updateElement(e,d,m,s)}}countVisibleElements(){const t=this._cachedMeta;let e=0;return t.data.forEach(((t,i)=>{!isNaN(this.getParsed(i).r)&&this.chart.getDataVisibility(i)&&e++})),e}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?bt(this.resolveDataElementOptions(t,e).angle||i):0}}class ts extends Zi{static id="pie";static defaults={cutout:0,rotation:0,circumference:360,radius:"100%"}}class es extends Wi{static id="radar";static defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}};static overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}parseObjectData(t,e,i,s){return je.bind(this)(t,e,i,s)}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this._cachedMeta.rScale,o="reset"===s;for(let a=e;a<e+i;a++){const e=t[a],i=this.resolveDataElementOptions(a,e.active?"active":s),r=n.getPointPositionForValue(a,this.getParsed(a).r),l=o?n.xCenter:r.x,h=o?n.yCenter:r.y,c={x:l,y:h,angle:r.angle,skip:isNaN(l)||isNaN(h),options:i};this.updateElement(e,a,c,s)}}}class is extends Wi{static id="scatter";static defaults={datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1};static overrides={interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}};getLabelAndValue(t){const e=this._cachedMeta,i=this.chart.data.labels||[],{xScale:s,yScale:n}=e,o=this.getParsed(t),a=s.getLabelForValue(o.x),r=n.getLabelForValue(o.y);return{label:i[t]||"",value:"("+a+", "+r+")"}}update(t){const e=this._cachedMeta,{data:i=[]}=e,s=this.chart._animationsDisabled;let{start:n,count:o}=Ft(e,i,s);if(this._drawStart=n,this._drawCount=o,Vt(e)&&(n=0,o=i.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:n,_dataset:o}=e;n._chart=this.chart,n._datasetIndex=this.index,n._decimated=!!o._decimated,n.points=i;const a=this.resolveDatasetElementOptions(t);a.segment=this.options.segment,this.updateElement(n,void 0,{animated:!s,options:a},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(i,n,o,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a,_stacked:r,_dataset:l}=this._cachedMeta,h=this.resolveDataElementOptions(e,s),c=this.getSharedOptions(h),d=this.includeOptions(s,c),u=o.axis,f=a.axis,{spanGaps:g,segment:p}=this.options,m=pt(g)?g:Number.POSITIVE_INFINITY,b=this.chart._animationsDisabled||n||"none"===s;let x=e>0&&this.getParsed(e-1);for(let h=e;h<e+i;++h){const e=t[h],i=this.getParsed(h),g=b?e:{},_=I(i[f]),y=g[u]=o.getPixelForValue(i[u],h),v=g[f]=n||_?a.getBasePixel():a.getPixelForValue(r?this.applyStack(a,i,r):i[f],h);g.skip=isNaN(y)||isNaN(v)||_,g.stop=h>0&&Math.abs(i[u]-x[u])>m,p&&(g.parsed=i,g.raw=l.data[h]),d&&(g.options=c||this.resolveDataElementOptions(h,e.active?"active":s)),b||this.updateElement(e,h,g,s),x=i}this.updateSharedOptions(c,s,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let t=0;for(let i=e.length-1;i>=0;--i)t=Math.max(t,e[i].size(this.resolveDataElementOptions(i))/2);return t>0&&t}const i=t.dataset,s=i.options&&i.options.borderWidth||0;if(!e.length)return s;const n=e[0].size(this.resolveDataElementOptions(0)),o=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(s,n,o)/2}}var ss=Object.freeze({__proto__:null,BarController:Ki,BubbleController:Gi,DoughnutController:Zi,LineController:Ji,PieController:ts,PolarAreaController:Qi,RadarController:es,ScatterController:is});function ns(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class os{static override(t){Object.assign(os.prototype,t)}options;constructor(t){this.options=t||{}}init(){}formats(){return ns()}parse(){return ns()}format(){return ns()}add(){return ns()}diff(){return ns()}startOf(){return ns()}endOf(){return ns()}}var as={_date:os};function rs(t,e,i,s){const{controller:n,data:o,_sorted:a}=t,r=n._cachedMeta.iScale;if(r&&e===r.axis&&"r"!==e&&a&&o.length){const t=r._reversePixels?Ot:Ct;if(!s)return t(o,e,i);if(n._sharedOptions){const s=o[0],n="function"==typeof s.getRange&&s.getRange(e);if(n){const s=t(o,e,i-n),a=t(o,e,i+n);return{lo:s.lo,hi:a.hi}}}}return{lo:0,hi:o.length-1}}function ls(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=rs(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function hs(t,e,i,s,n){const o=[];if(!n&&!t.isPointInArea(e))return o;return ls(t,i,e,(function(i,a,r){(n||ce(i,t.chartArea,0))&&i.inRange(e.x,e.y,s)&&o.push({element:i,datasetIndex:a,index:r})}),!0),o}function cs(t,e,i,s,n,o){let a=[];const r=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let l=Number.POSITIVE_INFINITY;return ls(t,i,e,(function(i,h,c){const d=i.inRange(e.x,e.y,n);if(s&&!d)return;const u=i.getCenterPoint(n);if(!(!!o||t.isPointInArea(u))&&!d)return;const f=r(e,u);f<l?(a=[{element:i,datasetIndex:h,index:c}],l=f):f===l&&a.push({element:i,datasetIndex:h,index:c})})),a}function ds(t,e,i,s,n,o){return o||t.isPointInArea(e)?"r"!==i||s?cs(t,e,i,s,n,o):function(t,e,i,s){let n=[];return ls(t,i,e,(function(t,i,o){const{startAngle:a,endAngle:r}=t.getProps(["startAngle","endAngle"],s),{angle:l}=yt(t,{x:e.x,y:e.y});kt(l,a,r)&&n.push({element:t,datasetIndex:i,index:o})})),n}(t,e,i,n):[]}function us(t,e,i,s,n){const o=[],a="x"===i?"inXRange":"inYRange";let r=!1;return ls(t,i,e,((t,s,l)=>{t[a](e[i],n)&&(o.push({element:t,datasetIndex:s,index:l}),r=r||t.inRange(e.x,e.y,n))})),s&&!r?[]:o}var fs={evaluateInteractionItems:ls,modes:{index(t,e,i,s){const n=ni(e,t),o=i.axis||"x",a=i.includeInvisible||!1,r=i.intersect?hs(t,n,o,s,a):ds(t,n,o,!1,s,a),l=[];return r.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=r[0].index,i=t.data[e];i&&!i.skip&&l.push({element:i,datasetIndex:t.index,index:e})})),l):[]},dataset(t,e,i,s){const n=ni(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;let r=i.intersect?hs(t,n,o,s,a):ds(t,n,o,!1,s,a);if(r.length>0){const e=r[0].datasetIndex,i=t.getDatasetMeta(e).data;r=[];for(let t=0;t<i.length;++t)r.push({element:i[t],datasetIndex:e,index:t})}return r},point:(t,e,i,s)=>hs(t,ni(e,t),i.axis||"xy",s,i.includeInvisible||!1),nearest(t,e,i,s){const n=ni(e,t),o=i.axis||"xy",a=i.includeInvisible||!1;return ds(t,n,o,i.intersect,s,a)},x:(t,e,i,s)=>us(t,ni(e,t),"x",i.intersect,s),y:(t,e,i,s)=>us(t,ni(e,t),"y",i.intersect,s)}};const gs=["left","top","right","bottom"];function ps(t,e){return t.filter((t=>t.pos===e))}function ms(t,e){return t.filter((t=>-1===gs.indexOf(t.pos)&&t.box.axis===e))}function bs(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function xs(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!gs.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function _s(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function ys(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function vs(t,e,i,s){const{pos:n,box:o}=i,a=t.maxPadding;if(!F(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?o.height:o.width),i.size=e.size/e.count,t[n]+=i.size}o.getPadding&&ys(a,o.getPadding());const r=Math.max(0,e.outerWidth-_s(a,t,"left","right")),l=Math.max(0,e.outerHeight-_s(a,t,"top","bottom")),h=r!==t.w,c=l!==t.h;return t.w=r,t.h=l,i.horizontal?{same:h,other:c}:{same:c,other:h}}function Ms(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function ws(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,Ms(r.horizontal,e));const{same:a,other:d}=vs(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&ws(n,e,i,s)||c}function ks(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function Ss(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;tt(l.start)&&(a=l.start),t.fullSize?ks(t,n.left,a,i.outerWidth-n.right-n.left,o):ks(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;tt(l.start)&&(o=l.start),t.fullSize?ks(t,o,n.top,a,i.outerHeight-n.bottom-n.top):ks(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}var Ps={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=Pe(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=function(t){const e=function(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}(t),i=bs(e.filter((t=>t.box.fullSize)),!0),s=bs(ps(e,"left"),!0),n=bs(ps(e,"right")),o=bs(ps(e,"top"),!0),a=bs(ps(e,"bottom")),r=ms(e,"x"),l=ms(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:ps(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;j(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),u=Object.assign({},n);ys(u,Pe(s));const f=Object.assign({maxPadding:u,w:o,h:a,x:n.left,y:n.top},n),g=xs(l.concat(h),d);ws(r.fullSize,f,d,g),ws(l,f,d,g),ws(h,f,d,g)&&ws(l,f,d,g),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(f),Ss(r.leftAndTop,f,d,g),f.x+=f.w,f.y+=f.h,Ss(r.rightAndBottom,f,d,g),t.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},j(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})}))}};class Ds{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class Cs extends Ds{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Os="$chartjs",As={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Ts=t=>null===t||""===t;const Ls=!!li&&{passive:!0};function Es(t,e,i){t&&t.canvas&&t.canvas.removeEventListener(e,i,Ls)}function Rs(t,e){for(const i of t)if(i===e||i.contains(e))return!0}function Is(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||Rs(i.addedNodes,s),e=e&&!Rs(i.removedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function zs(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{let e=!1;for(const i of t)e=e||Rs(i.removedNodes,s),e=e&&!Rs(i.addedNodes,s);e&&i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const Fs=new Map;let Vs=0;function Bs(){const t=window.devicePixelRatio;t!==Vs&&(Vs=t,Fs.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function Ws(t,e,i){const s=t.canvas,n=s&&Je(s);if(!n)return;const o=Rt(((t,e)=>{const s=n.clientWidth;i(t,e),s<n.clientWidth&&i()}),window),a=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||o(i,s)}));return a.observe(n),function(t,e){Fs.size||window.addEventListener("resize",Bs),Fs.set(t,e)}(t,o),a}function Ns(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){Fs.delete(t),Fs.size||window.removeEventListener("resize",Bs)}(t)}function Hs(t,e,i){const s=t.canvas,n=Rt((e=>{null!==t.ctx&&i(function(t,e){const i=As[t.type]||t.type,{x:s,y:n}=ni(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t);return function(t,e,i){t&&t.addEventListener(e,i,Ls)}(s,e,n),n}class js extends Ds{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t[Os]={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",Ts(n)){const e=hi(t,"width");void 0!==e&&(t.width=e)}if(Ts(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=hi(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e[Os])return!1;const i=e[Os].initial;["height","width"].forEach((t=>{const s=i[t];I(s)?e.removeAttribute(t):e.setAttribute(t,s)}));const s=i.style||{};return Object.keys(s).forEach((t=>{e.style[t]=s[t]})),e.width=e.width,delete e[Os],!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:Is,detach:zs,resize:Ws}[e]||Hs;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:Ns,detach:Ns,resize:Ns}[e]||Es)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return ai(t,e,i,s)}isAttached(t){const e=Je(t);return!(!e||!e.isConnected)}}function $s(t){return!Ze()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?Cs:js}class Ys{static defaults={};static defaultRoutes=void 0;x;y;active=!1;options;$animations;tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return pt(this.x)&&pt(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}function Us(t,e){const i=t.options.ticks,s=function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),n=Math.min(i.maxTicksLimit||s,s),o=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],a=o.length,r=o[0],l=o[a-1],h=[];if(a>n)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}(e,h,o,a/n),h;const c=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=function(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(o,e,n);if(a>0){let t,i;const s=a>1?Math.round((l-r)/(a-1)):null;for(Xs(e,h,c,I(s)?0:r-s,r),t=0,i=a-1;t<i;t++)Xs(e,h,c,o[t],o[t+1]);return Xs(e,h,c,l,I(s)?e.length:l+s),h}return Xs(e,h,c),h}function Xs(t,e,i,s,n){const o=W(s,0),a=Math.min(W(n,t.length),t.length);let r,l,h,c=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),h=o;h<0;)c++,h=Math.round(o+c*i);for(l=Math.max(o,0);l<a;l++)l===h&&(e.push(t[l]),c++,h=Math.round(o+c*i))}const qs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i,Ks=(t,e)=>Math.min(e||t,t);function Gs(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function Zs(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function Js(t){return t.drawTicks?t.tickLength:0}function Qs(t,e){if(!t.display)return 0;const i=De(t.font,e),s=Pe(t.padding);return(z(t.text)?t.text.length:1)*i.lineHeight+s.height}function tn(t,e,i){let s=It(t);return(i&&"right"!==e||!i&&"right"===e)&&(s=(t=>"left"===t?"right":"right"===t?"left":t)(s)),s}class en extends Ys{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=B(t,Number.POSITIVE_INFINITY),e=B(e,Number.NEGATIVE_INFINITY),i=B(i,Number.POSITIVE_INFINITY),s=B(s,Number.NEGATIVE_INFINITY),{min:B(t,i),max:B(e,s),minDefined:V(t),maxDefined:V(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:B(i,B(s,i)),max:B(s,B(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){H(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(t,e,i){const{min:s,max:n}=t,o=N(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?Gs(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=Us(this,this.ticks),this._labelSizes=null,this.afterAutoSkip()),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){H(this.options.afterUpdate,[this])}beforeSetDimensions(){H(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){H(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),H(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){H(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=H(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){H(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){H(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=Ks(this.ticks.length,t.ticks.maxTicksLimit),s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=St(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Js(t.grid)-e.padding-Qs(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=xt(Math.min(Math.asin(St((h.highest.height+6)/o,-1,1)),Math.asin(St(a/r,-1,1))-Math.asin(St(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){H(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){H(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Qs(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Js(n)+o):(t.height=this.maxHeight,t.width=Js(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=bt(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:"inner"!==n&&(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){H(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)I(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Gs(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length,this.options.ticks.maxTicksLimit)}return t}_computeLabelSizes(t,e,i){const{ctx:s,_longestTextCache:n}=this,o=[],a=[],r=Math.floor(e/Ks(e,i));let l,h,c,d,u,f,g,p,m,b,x,_=0,y=0;for(l=0;l<e;l+=r){if(d=t[l].label,u=this._resolveTickFontOptions(l),s.font=f=u.string,g=n[f]=n[f]||{data:{},gc:[]},p=u.lineHeight,m=b=0,I(d)||z(d)){if(z(d))for(h=0,c=d.length;h<c;++h)x=d[h],I(x)||z(x)||(m=ne(s,g.data,g.gc,m,x),b+=p)}else m=ne(s,g.data,g.gc,m,d),b=p;o.push(m),a.push(b),_=Math.max(m,_),y=Math.max(b,y)}!function(t,e){j(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(n,e);const v=o.indexOf(_),M=a.indexOf(y),w=t=>({width:o[t]||0,height:a[t]||0});return{first:w(0),last:w(e-1),widest:w(v),highest:w(M),widths:o,heights:a}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return St(this._alignToPixels?ae(this.chart,e,0):e,-32768,32767)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return Oe(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=Oe(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=bt(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:o,border:a}=s,r=n.offset,l=this.isHorizontal(),h=this.ticks.length+(r?1:0),c=Js(n),d=[],u=a.setContext(this.getContext()),f=u.display?u.width:0,g=f/2,p=function(t){return ae(i,t,f)};let m,b,x,_,y,v,M,w,k,S,P,D;if("top"===o)m=p(this.bottom),v=this.bottom-c,w=m-g,S=p(t.top)+g,D=t.bottom;else if("bottom"===o)m=p(this.top),S=t.top,D=p(t.bottom)-g,v=m+g,w=this.top+c;else if("left"===o)m=p(this.right),y=this.right-c,M=m-g,k=p(t.left)+g,P=t.right;else if("right"===o)m=p(this.left),k=t.left,P=p(t.right)-g,y=m+g,M=this.left+c;else if("x"===e){if("center"===o)m=p((t.top+t.bottom)/2+.5);else if(F(o)){const t=Object.keys(o)[0],e=o[t];m=p(this.chart.scales[t].getPixelForValue(e))}S=t.top,D=t.bottom,v=m+g,w=v+c}else if("y"===e){if("center"===o)m=p((t.left+t.right)/2);else if(F(o)){const t=Object.keys(o)[0],e=o[t];m=p(this.chart.scales[t].getPixelForValue(e))}y=m-g,M=y-c,k=t.left,P=t.right}const C=W(s.ticks.maxTicksLimit,h),O=Math.max(1,Math.ceil(h/C));for(b=0;b<h;b+=O){const t=this.getContext(b),e=n.setContext(t),s=a.setContext(t),o=e.lineWidth,h=e.color,c=s.dash||[],u=s.dashOffset,f=e.tickWidth,g=e.tickColor,p=e.tickBorderDash||[],m=e.tickBorderDashOffset;x=Zs(this,b,r),void 0!==x&&(_=ae(i,x,o),l?y=M=k=P=_:v=w=S=D=_,d.push({tx1:y,ty1:v,tx2:M,ty2:w,x1:k,y1:S,x2:P,y2:D,width:o,color:h,borderDash:c,borderDashOffset:u,tickWidth:f,tickColor:g,tickBorderDash:p,tickBorderDashOffset:m}))}return this._ticksLength=h,this._borderValue=m,d}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:n}=i,o=this.isHorizontal(),a=this.ticks,{align:r,crossAlign:l,padding:h,mirror:c}=n,d=Js(i.grid),u=d+h,f=c?-h:u,g=-bt(this.labelRotation),p=[];let m,b,x,_,y,v,M,w,k,S,P,D,C="middle";if("top"===s)v=this.bottom-f,M=this._getXAxisLabelAlignment();else if("bottom"===s)v=this.top+f,M=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(d);M=t.textAlign,y=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(d);M=t.textAlign,y=t.x}else if("x"===e){if("center"===s)v=(t.top+t.bottom)/2+u;else if(F(s)){const t=Object.keys(s)[0],e=s[t];v=this.chart.scales[t].getPixelForValue(e)+u}M=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)y=(t.left+t.right)/2-u;else if(F(s)){const t=Object.keys(s)[0],e=s[t];y=this.chart.scales[t].getPixelForValue(e)}M=this._getYAxisLabelAlignment(d).textAlign}"y"===e&&("start"===r?C="top":"end"===r&&(C="bottom"));const O=this._getLabelSizes();for(m=0,b=a.length;m<b;++m){x=a[m],_=x.label;const t=n.setContext(this.getContext(m));w=this.getPixelForTick(m)+n.labelOffset,k=this._resolveTickFontOptions(m),S=k.lineHeight,P=z(_)?_.length:1;const e=P/2,i=t.color,r=t.textStrokeColor,h=t.textStrokeWidth;let d,u=M;if(o?(y=w,"inner"===M&&(u=m===b-1?this.options.reverse?"left":"right":0===m?this.options.reverse?"right":"left":"center"),D="top"===s?"near"===l||0!==g?-P*S+S/2:"center"===l?-O.highest.height/2-e*S+S:-O.highest.height+S/2:"near"===l||0!==g?S/2:"center"===l?O.highest.height/2-e*S:O.highest.height-P*S,c&&(D*=-1),0===g||t.showLabelBackdrop||(y+=S/2*Math.sin(g))):(v=w,D=(1-P)*S/2),t.showLabelBackdrop){const e=Pe(t.backdropPadding),i=O.heights[m],s=O.widths[m];let n=D-e.top,o=0-e.left;switch(C){case"middle":n-=i/2;break;case"bottom":n-=i}switch(M){case"center":o-=s/2;break;case"right":o-=s;break;case"inner":m===b-1?o-=s:m>0&&(o-=s/2)}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}p.push({label:_,font:k,textOffset:D,options:{rotation:g,color:i,strokeColor:r,strokeWidth:h,textAlign:u,textBaseline:C,translation:[y,v],backdrop:d}})}return p}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-bt(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align?i="right":"inner"===e.align&&(i="inner"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{border:i,grid:s}}=this,n=i.setContext(this.getContext()),o=i.display?n.width:0;if(!o)return;const a=s.setContext(this.getContext(0)).lineWidth,r=this._borderValue;let l,h,c,d;this.isHorizontal()?(l=ae(t,this.left,o)-o/2,h=ae(t,this.right,a)+a/2,c=d=r):(c=ae(t,this.top,o)-o/2,d=ae(t,this.bottom,a)+a/2,l=h=r),e.save(),e.lineWidth=n.width,e.strokeStyle=n.color,e.beginPath(),e.moveTo(l,c),e.lineTo(h,d),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&de(e,i);const s=this.getLabelItems(t);for(const t of s){const i=t.options,s=t.font;be(e,t.label,0,t.textOffset,s,i)}i&&ue(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const n=De(i.font),o=Pe(i.padding),a=i.align;let r=n.lineHeight/2;"bottom"===e||"center"===e||F(e)?(r+=o.bottom,z(i.text)&&(r+=n.lineHeight*(i.text.length-1))):r+=o.top;const{titleX:l,titleY:h,maxWidth:c,rotation:d}=function(t,e,i,s){const{top:n,left:o,bottom:a,right:r,chart:l}=t,{chartArea:h,scales:c}=l;let d,u,f,g=0;const p=a-n,m=r-o;if(t.isHorizontal()){if(u=zt(s,o,r),F(i)){const t=Object.keys(i)[0],s=i[t];f=c[t].getPixelForValue(s)+p-e}else f="center"===i?(h.bottom+h.top)/2+p-e:qs(t,i,e);d=r-o}else{if(F(i)){const t=Object.keys(i)[0],s=i[t];u=c[t].getPixelForValue(s)-m+e}else u="center"===i?(h.left+h.right)/2-m+e:qs(t,i,e);f=zt(s,a,n),g="left"===i?-lt:lt}return{titleX:u,titleY:f,maxWidth:d,rotation:g}}(this,r,e,a);be(t,i.text,0,0,n,{color:i.color,maxWidth:c,rotation:d,textAlign:tn(a,e,s),textBaseline:"middle",translation:[l,h]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=W(t.grid&&t.grid.z,-1),s=W(t.border&&t.border.z,0);return this._isVisible()&&this.draw===en.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:s,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return De(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class sn{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=q(Object.create(null),[i?se.get(i):{},se.get(e),t.defaults]);se.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");se.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&se.describe(e,t.descriptors)}(t,o,i),this.override&&se.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in se[s]&&(delete se[s][i],this.override&&delete Jt[i])}}class nn{constructor(){this.controllers=new sn(Wi,"datasets",!0),this.elements=new sn(Ys,"elements"),this.plugins=new sn(Object,"plugins"),this.scales=new sn(en,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):j(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=Q(t);H(i["before"+s],[],i),e[t](i),H(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}}var on=new nn;class an{constructor(){this._init=[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"afterDestroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===H(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){I(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=W(i.options&&i.options.plugins,{}),n=function(t){const e={},i=[],s=Object.keys(on.plugins.items);for(let t=0;t<s.length;t++)i.push(on.getPlugin(s[t]));const n=t.plugins||[];for(let t=0;t<n.length;t++){const s=n[t];-1===i.indexOf(s)&&(i.push(s),e[s.id]=!0)}return{plugins:i,localIds:e}}(i);return!1!==s||e?function(t,{plugins:e,localIds:i},s,n){const o=[],a=t.getContext();for(const r of e){const e=r.id,l=rn(s[e],n);null!==l&&o.push({plugin:r,options:ln(t.config,{plugin:r,local:i[e]},l,a)})}return o}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function rn(t,e){return e||!1!==t?!0===t?{}:t:null}function ln(t,{plugin:e,local:i},s,n){const o=t.pluginScopeKeys(e),a=t.getOptionScopes(s,o);return i&&e.defaults&&a.push(e.defaults),t.createResolver(a,n,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function hn(t,e){const i=se.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function cn(t){if("x"===t||"y"===t||"r"===t)return t}function dn(t,...e){if(cn(t))return t;for(const s of e){const e=s.axis||("top"===(i=s.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.length>1&&cn(t[0].toLowerCase());if(e)return e}var i;throw new Error(`Cannot determine type of '${t}' axis. Please provide 'axis' or 'position' option.`)}function un(t,e,i){if(i[e+"AxisID"]===t)return{axis:e}}function fn(t,e){const i=Jt[t.type]||{scales:{}},s=e.scales||{},n=hn(t.type,e),o=Object.create(null);return Object.keys(s).forEach((e=>{const a=s[e];if(!F(a))return console.error(`Invalid scale configuration for scale: ${e}`);if(a._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${e}`);const r=dn(e,a,function(t,e){if(e.data&&e.data.datasets){const i=e.data.datasets.filter((e=>e.xAxisID===t||e.yAxisID===t));if(i.length)return un(t,"x",i[0])||un(t,"y",i[0])}return{}}(e,t),se.scales[a.type]),l=function(t,e){return t===e?"_index_":"_value_"}(r,n),h=i.scales||{};o[e]=K(Object.create(null),[{axis:r},a,h[r],h[l]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,a=i.indexAxis||hn(n,e),r=(Jt[n]||{}).scales||{};Object.keys(r).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,a),n=i[e+"AxisID"]||e;o[n]=o[n]||Object.create(null),K(o[n],[{axis:e},s[n],r[t]])}))})),Object.keys(o).forEach((t=>{const e=o[t];K(e,[se.scales[e.type],se.scale])})),o}function gn(t){const e=t.options||(t.options={});e.plugins=W(e.plugins,{}),e.scales=fn(t,e)}function pn(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const mn=new Map,bn=new Set;function xn(t,e){let i=mn.get(t);return i||(i=e(),mn.set(t,i),bn.add(i)),i}const _n=(t,e,i)=>{const s=J(e,i);void 0!==s&&t.add(s)};class yn{constructor(t){this._config=function(t){return(t=t||{}).data=pn(t.data),gn(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=pn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),gn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return xn(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return xn(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return xn(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return xn(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>_n(r,t,e)))),e.forEach((t=>_n(r,s,t))),e.forEach((t=>_n(r,Jt[n]||{},t))),e.forEach((t=>_n(r,se,t))),e.forEach((t=>_n(r,Qt,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),bn.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,Jt[e]||{},se.datasets[e]||{},{type:e},se,Qt]}resolveNamedOptions(t,e,i,s=[""]){const n={$shared:!0},{resolver:o,subPrefixes:a}=vn(this._resolverCache,t,s);let r=o;if(function(t,e){const{isScriptable:i,isIndexable:s}=Le(t);for(const n of e){const e=i(n),o=s(n),a=(o||e)&&t[n];if(e&&(et(a)||Mn(a))||o&&z(a))return!0}return!1}(o,e)){n.$shared=!1;r=Te(o,i=et(i)?i():i,this.createResolver(t,i,a))}for(const t of e)n[t]=r[t];return n}createResolver(t,e,i=[""],s){const{resolver:n}=vn(this._resolverCache,t,i);return F(e)?Te(n,e,void 0,s):n}}function vn(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:Ae(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const Mn=t=>F(t)&&Object.getOwnPropertyNames(t).some((e=>et(t[e])));const wn=["top","bottom","left","right","chartArea"];function kn(t,e){return"top"===t||"bottom"===t||-1===wn.indexOf(t)&&"x"===e}function Sn(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function Pn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),H(i&&i.onComplete,[t],e)}function Dn(t){const e=t.chart,i=e.options.animation;H(i&&i.onProgress,[t],e)}function Cn(t){return Ze()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const On={},An=t=>{const e=Cn(t);return Object.values(On).filter((t=>t.canvas===e)).pop()};function Tn(t,e,i){const s=Object.keys(t);for(const n of s){const s=+n;if(s>=e){const o=t[n];delete t[n],(i>0||s>e)&&(t[s+i]=o)}}}function Ln(t,e,i){return t.options.clip?t[i]:e[i]}class En{static defaults=se;static instances=On;static overrides=Jt;static registry=on;static version="4.4.2";static getChart=An;static register(...t){on.add(...t),Rn()}static unregister(...t){on.remove(...t),Rn()}constructor(t,e){const i=this.config=new yn(e),s=Cn(t),n=An(s);if(n)throw new Error("Canvas is already in use. Chart with ID '"+n.id+"' must be destroyed before the canvas with ID '"+n.canvas.id+"' can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());this.platform=new(i.platform||$s(s)),this.platform.updateConfig(i);const a=this.platform.acquireContext(s,o.aspectRatio),r=a&&a.canvas,l=r&&r.height,h=r&&r.width;this.id=R(),this.ctx=a,this.canvas=r,this.width=h,this.height=l,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new an,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}((t=>this.update(t)),o.resizeDelay||0),this._dataChanges=[],On[this.id]=this,a&&r?(ki.listen(this,"complete",Pn),ki.listen(this,"progress",Dn),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:s,_aspectRatio:n}=this;return I(t)?e&&n?n:s?i/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return on}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():ri(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return re(this.canvas,this.ctx),this}stop(){return ki.stop(this),this}resize(t,e){ki.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,ri(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),H(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){j(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=dn(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),j(n,(e=>{const n=e.options,o=n.id,a=dn(o,n),r=W(n.type,e.dtype);void 0!==n.position&&kn(n.position,a)===kn(e.dposition)||(n.position=e.dposition),s[o]=!0;let l=null;if(o in i&&i[o].type===r)l=i[o];else{l=new(on.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[l.id]=l}l.init(n,t)})),j(s,((t,e)=>{t||delete i[e]})),j(i,(t=>{Ps.configure(this,t,t.options),Ps.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(Sn("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||hn(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=on.getController(o),{datasetElementType:s,dataElementType:a}=se.datasets[o];Object.assign(e,{dataElementType:on.getElement(a),datasetElementType:s&&on.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){j(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),s=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const n=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===n.indexOf(e);e.buildOrUpdateElements(i),o=Math.max(+e.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),s||j(n,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Sn("z","_idx"));const{_active:a,_lastEvent:r}=this;r?this._eventHandler(r,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){j(this.scales,(t=>{Ps.removeBox(this,t)})),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),i=new Set(t.events);it(e,i)&&!!this._responsiveListeners===t.responsive||(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:i,start:s,count:n}of e){Tn(t,s,"_removeElements"===i?-n:n)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,i=e=>new Set(t.filter((t=>t[0]===e)).map(((t,e)=>e+","+t.splice(1).join(",")))),s=i(0);for(let t=1;t<e;t++)if(!it(s,i(t)))return;return Array.from(s).map((t=>t.split(","))).map((t=>({method:t[1],start:+t[2],count:+t[3]})))}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;Ps.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],j(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let t=0,e=this.data.datasets.length;t<e;++t)this.getDatasetMeta(t).controller.configure();for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,et(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(ki.has(this)?this.attached&&!ki.running(this)&&ki.start(this):(this.draw(),Pn({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resize(t,e),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=function(t,e){const{xScale:i,yScale:s}=t;return i&&s?{left:Ln(i,e,"left"),right:Ln(i,e,"right"),top:Ln(s,e,"top"),bottom:Ln(s,e,"bottom")}:e}(t,this.chartArea),o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&de(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&ue(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}isPointInArea(t){return ce(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,i,s){const n=fs.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=Oe(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);tt(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),ki.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),re(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),delete On[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};j(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){j(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},j(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!$(i,e)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}isPluginEnabled(t){return 1===this._plugins._cache.filter((e=>e.plugin.id===t)).length}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e,i){const{_active:s=[],options:n}=this,o=e,a=this._getActiveElements(t,s,i,o),r=function(t){return"mouseup"===t.type||"click"===t.type||"contextmenu"===t.type}(t),l=function(t,e,i,s){return i&&"mouseout"!==t.type?s?e:t:null}(t,this._lastEvent,i,r);i&&(this._lastEvent=null,H(n.onHover,[t,a,this],this),r&&H(n.onClick,[t,a,this],this));const h=!$(a,s);return(h||e)&&(this._active=a,this._updateHoverStyles(a,s,e)),this._lastEvent=l,h}_getActiveElements(t,e,i,s){if("mouseout"===t.type)return[];if(!i)return e;const n=this.options.hover;return this.getElementsAtEventForMode(t,n.mode,n,s)}}function Rn(){return j(En.instances,(t=>t._plugins.invalidate()))}function In(t,e,i,s){const n=we(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return St(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:St(n.innerStart,0,a),innerEnd:St(n.innerEnd,0,a)}}function zn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Fn(t,e,i,s,n,o){const{x:a,y:r,startAngle:l,pixelMargin:h,innerRadius:c}=e,d=Math.max(e.outerRadius+s+i-h,0),u=c>0?c+s+i+h:0;let f=0;const g=n-l;if(s){const t=((c>0?c-s:0)+(d>0?d-s:0))/2;f=(g-(0!==t?g*t/(t+s):g))/2}const p=(g-Math.max(.001,g*d-i/st)/d)/2,m=l+p+f,b=n-p-f,{outerStart:x,outerEnd:_,innerStart:y,innerEnd:v}=In(e,u,d,b-m),M=d-x,w=d-_,k=m+x/M,S=b-_/w,P=u+y,D=u+v,C=m+y/P,O=b-v/D;if(t.beginPath(),o){const e=(k+S)/2;if(t.arc(a,r,d,k,e),t.arc(a,r,d,e,S),_>0){const e=zn(w,S,a,r);t.arc(e.x,e.y,_,S,b+lt)}const i=zn(D,b,a,r);if(t.lineTo(i.x,i.y),v>0){const e=zn(D,O,a,r);t.arc(e.x,e.y,v,b+lt,O+Math.PI)}const s=(b-v/u+(m+y/u))/2;if(t.arc(a,r,u,b-v/u,s,!0),t.arc(a,r,u,s,m+y/u,!0),y>0){const e=zn(P,C,a,r);t.arc(e.x,e.y,y,C+Math.PI,m-lt)}const n=zn(M,m,a,r);if(t.lineTo(n.x,n.y),x>0){const e=zn(M,k,a,r);t.arc(e.x,e.y,x,m-lt,k)}}else{t.moveTo(a,r);const e=Math.cos(k)*d+a,i=Math.sin(k)*d+r;t.lineTo(e,i);const s=Math.cos(S)*d+a,n=Math.sin(S)*d+r;t.lineTo(s,n)}t.closePath()}function Vn(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r,options:l}=e,{borderWidth:h,borderJoinStyle:c,borderDash:d,borderDashOffset:u}=l,f="inner"===l.borderAlign;if(!h)return;t.setLineDash(d||[]),t.lineDashOffset=u,f?(t.lineWidth=2*h,t.lineJoin=c||"round"):(t.lineWidth=h,t.lineJoin=c||"bevel");let g=e.endAngle;if(o){Fn(t,e,i,s,g,n);for(let e=0;e<o;++e)t.stroke();isNaN(r)||(g=a+(r%nt||nt))}f&&function(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+lt,s-lt),t.closePath(),t.clip()}(t,e,g),o||(Fn(t,e,i,s,g,n),t.stroke())}class Bn extends Ys{static id="arc";static defaults={borderAlign:"center",borderColor:"#fff",borderDash:[],borderDashOffset:0,borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0,circular:!0};static defaultRoutes={backgroundColor:"backgroundColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t};circumference;endAngle;fullCircles;innerRadius;outerRadius;pixelMargin;startAngle;constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=yt(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:l,outerRadius:h,circumference:c}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),d=(this.options.spacing+this.options.borderWidth)/2,u=W(c,r-a)>=nt||kt(n,a,r),f=Pt(o,l+d,h+d);return u&&f}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/4,n=(e.spacing||0)/2,o=e.circular;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>nt?Math.floor(i/nt):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();const a=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(a)*s,Math.sin(a)*s);const r=s*(1-Math.sin(Math.min(st,i||0)));t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor,function(t,e,i,s,n){const{fullCircles:o,startAngle:a,circumference:r}=e;let l=e.endAngle;if(o){Fn(t,e,i,s,l,n);for(let e=0;e<o;++e)t.fill();isNaN(r)||(l=a+(r%nt||nt))}Fn(t,e,i,s,l,n),t.fill()}(t,this,r,n,o),Vn(t,this,r,n,o),t.restore()}}function Wn(t,e,i=e){t.lineCap=W(i.borderCapStyle,e.borderCapStyle),t.setLineDash(W(i.borderDash,e.borderDash)),t.lineDashOffset=W(i.borderDashOffset,e.borderDashOffset),t.lineJoin=W(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=W(i.borderWidth,e.borderWidth),t.strokeStyle=W(i.borderColor,e.borderColor)}function Nn(t,e,i){t.lineTo(i.x,i.y)}function Hn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function jn(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=Hn(n,i,s),c=function(t){return t.stepped?fe:t.tension||"monotone"===t.cubicInterpolationMode?ge:Nn}(o);let d,u,f,{move:g=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(g?(t.moveTo(u.x,u.y),g=!1):c(t,f,u,p,o.stepped),f=u);return l&&(u=n[(r+(p?h:0))%a],c(t,f,u,p,o.stepped)),!!l}function $n(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=Hn(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,g,p,m=0,b=0;const x=t=>(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[x(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[x(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>g&&(g=i),m=(b*m+e)/++b):(_(),t.lineTo(e,i),u=s,b=0,f=g=i),p=i}_()}function Yn(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?$n:jn}const Un="function"==typeof Path2D;function Xn(t,e,i,s){Un&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),Wn(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=Yn(e);for(const r of n)Wn(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class qn extends Ys{static id="line";static defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};static descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;Ge(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);return yi(t,!0===s?[{start:a,end:r,loop:o}]:function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=_i(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?di:t.tension||"monotone"===t.cubicInterpolationMode?ui:ci}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const f=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],a.push(f)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return Yn(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=Yn(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),Xn(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function Kn(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}class Gn extends Ys{static id="point";parsed;skip;stop;static defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return Kn(this,t,"x",e)}inYRange(t,e){return Kn(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!ce(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,le(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function Zn(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function Jn(t,e,i,s){return t?0:St(e,i,s)}function Qn(t){const e=Zn(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=ke(s);return{t:Jn(n.top,o.top,0,i),r:Jn(n.right,o.right,0,e),b:Jn(n.bottom,o.bottom,0,i),l:Jn(n.left,o.left,0,e)}}(t,i/2,s/2),o=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,o=Se(n),a=Math.min(e,i),r=t.borderSkipped,l=s||F(n);return{topLeft:Jn(!l||r.top||r.left,o.topLeft,0,a),topRight:Jn(!l||r.top||r.right,o.topRight,0,a),bottomLeft:Jn(!l||r.bottom||r.left,o.bottomLeft,0,a),bottomRight:Jn(!l||r.bottom||r.right,o.bottomRight,0,a)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:o},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,o.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(n.b,n.r))}}}}function to(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&Zn(t,s);return a&&(n||Pt(e,a.left,a.right))&&(o||Pt(i,a.top,a.bottom))}function eo(t,e){t.rect(e.x,e.y,e.w,e.h)}function io(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}class so extends Ys{static id="bar";static defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0};static defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=Qn(this),a=(r=o.radius).topLeft||r.topRight||r.bottomLeft||r.bottomRight?xe:eo;var r;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,io(o,e,n)),t.clip(),a(t,io(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,io(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return to(this,t,e,i)}inXRange(t,e){return to(this,t,null,e)}inYRange(t,e){return to(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}}var no=Object.freeze({__proto__:null,ArcElement:Bn,BarElement:so,LineElement:qn,PointElement:Gn});const oo=["rgb(54, 162, 235)","rgb(255, 99, 132)","rgb(255, 159, 64)","rgb(255, 205, 86)","rgb(75, 192, 192)","rgb(153, 102, 255)","rgb(201, 203, 207)"],ao=oo.map((t=>t.replace("rgb(","rgba(").replace(")",", 0.5)")));function ro(t){return oo[t%oo.length]}function lo(t){return ao[t%ao.length]}function ho(t){let e=0;return(i,s)=>{const n=t.getDatasetMeta(s).controller;n instanceof Zi?e=function(t,e){return t.backgroundColor=t.data.map((()=>ro(e++))),e}(i,e):n instanceof Qi?e=function(t,e){return t.backgroundColor=t.data.map((()=>lo(e++))),e}(i,e):n&&(e=function(t,e){return t.borderColor=ro(e),t.backgroundColor=lo(e),++e}(i,e))}}function co(t){let e;for(e in t)if(t[e].borderColor||t[e].backgroundColor)return!0;return!1}var uo={id:"colors",defaults:{enabled:!0,forceOverride:!1},beforeLayout(t,e,i){if(!i.enabled)return;const{data:{datasets:s},options:n}=t.config,{elements:o}=n;if(!i.forceOverride&&(co(s)||(a=n)&&(a.borderColor||a.backgroundColor)||o&&co(o)))return;var a;const r=ho(t);s.forEach(r)}};function fo(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{configurable:!0,enumerable:!0,writable:!0,value:e})}}function go(t){t.data.datasets.forEach((t=>{fo(t)}))}var po={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void go(t);const s=t.width;t.data.datasets.forEach(((e,n)=>{const{_data:o,indexAxis:a}=e,r=t.getDatasetMeta(n),l=o||e.data;if("y"===Ce([a,t.options.indexAxis]))return;if(!r.controller.supportsDecimation)return;const h=t.scales[r.xAxisID];if("linear"!==h.type&&"time"!==h.type)return;if(t.options.parsing)return;let{start:c,count:d}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=St(Ct(e,o.axis,a).lo,0,i-1)),s=h?St(Ct(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(r,l);if(d<=(i.threshold||4*s))return void fo(e);let u;switch(I(o)&&(e._data=l,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":u=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,b=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=b,o/=b;const x=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=f=-1,s=x;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(l,c,d,s,i);break;case"min-max":u=function(t,e,i,s){let n,o,a,r,l,h,c,d,u,f,g=0,p=0;const m=[],b=e+i-1,x=t[e].x,_=t[b].x-x;for(n=e;n<e+i;++n){o=t[n],a=(o.x-x)/_*s,r=o.y;const e=0|a;if(e===l)r<u?(u=r,h=n):r>f&&(f=r,c=n),g=(p*g+o.x)/++p;else{const i=n-1;if(!I(h)&&!I(c)){const e=Math.min(h,c),s=Math.max(h,c);e!==d&&e!==i&&m.push({...t[e],x:g}),s!==d&&s!==i&&m.push({...t[s],x:g})}n>0&&i!==d&&m.push(t[i]),m.push(o),l=e,p=0,u=f=r,h=c=d=n}}return m}(l,c,d,s);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=u}))},destroy(t){go(t)}};function mo(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=wt(n),o=wt(o)),{property:t,start:n,end:o}}function bo(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function xo(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function _o(t,e){let i=[],s=!1;return z(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=bo(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new qn({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function yo(t){return t&&!1!==t.fill}function vo(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!V(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function Mo(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=W(i&&i.target,i);void 0===s&&(s=!!e.backgroundColor);if(!1===s||null===s)return!1;if(!0===s)return"origin";return s}(t);if(F(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return V(n)&&Math.floor(n)===n?function(t,e,i,s){"-"!==t&&"+"!==t||(i=e+i);if(i===e||i<0||i>=s)return!1;return i}(s[0],e,n,i):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}function wo(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=ko(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function ko(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(Pt(n,s,h)){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}class So{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:nt},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function Po(t){const{chart:e,fill:i,line:s}=t;if(V(i))return function(t,e){const i=t.getDatasetMeta(e),s=i&&t.isDatasetVisible(e);return s?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);r.push(_o({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)wo(n,a[t],r)}return new qn({points:n,options:{}})}(t);if("shape"===i)return!0;const n=function(t){const e=t.scale||{};if(e.getPointPositionForValue)return function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,o=s.reverse?e.max:e.min,a=function(t,e,i){let s;return s="start"===t?i:"end"===t?e.options.reverse?e.min:e.max:F(t)?t.value:e.getBaseValue(),s}(i,e,o),r=[];if(s.grid.circular){const t=e.getPointPositionForValue(0,o);return new So({x:t.x,y:t.y,radius:e.getDistanceFromCenterForValue(a)})}for(let t=0;t<n;++t)r.push(e.getPointPositionForValue(t,a));return r}(t);return function(t){const{scale:e={},fill:i}=t,s=function(t,e){let i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:F(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),i}(i,e);if(V(s)){const t=e.isHorizontal();return{x:t?s:null,y:t?null:s}}return null}(t)}(t);return n instanceof So?n:_o(n,s)}function Do(t,e,i){const s=Po(e),{line:n,scale:o,axis:a}=e,r=n.options,l=r.fill,h=r.backgroundColor,{above:c=h,below:d=h}=l||{};s&&n.points.length&&(de(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r}=e,l=i._loop?"angle":e.axis;t.save(),"x"===l&&o!==n&&(Co(t,s,a.top),Oo(t,{line:i,target:s,color:n,scale:r,property:l}),t.restore(),t.save(),Co(t,s,a.bottom));Oo(t,{line:i,target:s,color:o,scale:r,property:l}),t.restore()}(t,{line:n,target:s,above:c,below:d,area:i,scale:o,axis:a}),ue(t))}function Co(t,e,i){const{segments:s,points:n}=e;let o=!0,a=!1;t.beginPath();for(const r of s){const{start:s,end:l}=r,h=n[s],c=n[bo(s,l,n)];o?(t.moveTo(h.x,h.y),o=!1):(t.lineTo(h.x,i),t.lineTo(h.x,h.y)),a=!!e.pathSegment(t,r,{move:a}),a?t.closePath():t.lineTo(c.x,i)}t.lineTo(e.first().x,i),t.closePath(),t.clip()}function Oo(t,e){const{line:i,target:s,property:n,color:o,scale:a}=e,r=function(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=bo(s,r,n);const l=mo(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=_i(e,l);for(const e of h){const s=mo(i,o[e.start],o[e.end],e.loop),r=xi(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:xo(l,s,"start",Math.max)},end:{[i]:xo(l,s,"end",Math.min)}})}}return a}(i,s,n);for(const{source:e,target:l,start:h,end:c}of r){const{style:{backgroundColor:r=o}={}}=e,d=!0!==s;t.save(),t.fillStyle=r,Ao(t,a,d&&mo(n,h,c)),t.beginPath();const u=!!i.pathSegment(t,e);let f;if(d){u?t.closePath():To(t,s,c,n);const e=!!s.pathSegment(t,l,{move:u,reverse:!0});f=u&&e,f||To(t,s,h,n)}t.closePath(),t.fill(f?"evenodd":"nonzero"),t.restore()}}function Ao(t,e,i){const{top:s,bottom:n}=e.chart.chartArea,{property:o,start:a,end:r}=i||{};"x"===o&&(t.beginPath(),t.rect(a,s,r-a,n-s),t.clip())}function To(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}var Lo={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof qn&&(l={visible:t.isDatasetVisible(a),index:a,fill:Mo(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=vo(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&i.fill&&Do(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;yo(i)&&Do(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;yo(s)&&"beforeDatasetDraw"===i.drawTime&&Do(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Eo=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=t.pointStyleWidth||Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class Ro extends Ys{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=H(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=De(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=Eo(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,s,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const{itemWidth:p,itemHeight:m}=function(t,e,i,s,n){const o=function(t,e,i,s){let n=t.text;n&&"string"!=typeof n&&(n=n.reduce(((t,e)=>t.length>e.length?t:e)));return e+i.size/2+s.measureText(n).width}(s,t,e,i),a=function(t,e,i){let s=t;"string"!=typeof e.text&&(s=Io(e,i));return s}(n,s,e.lineHeight);return{itemWidth:o,itemHeight:a}}(i,e,n,t,s);o>0&&u+m+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:m},d=Math.max(d,p),u+=m+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:n}}=this,o=fi(n,this.left,this.width);if(this.isHorizontal()){let n=0,a=zt(i,this.left+s,this.right-this.lineWidths[n]);for(const r of e)n!==r.row&&(n=r.row,a=zt(i,this.left+s,this.right-this.lineWidths[n])),r.top+=this.top+t+s,r.left=o.leftForLtr(o.x(a),r.width),a+=r.width+s}else{let n=0,a=zt(i,this.top+t+s,this.bottom-this.columnSizes[n].height);for(const r of e)r.col!==n&&(n=r.col,a=zt(i,this.top+t+s,this.bottom-this.columnSizes[n].height)),r.top=a,r.left+=this.left+s,r.left=o.leftForLtr(o.x(r.left),r.width),a+=r.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;de(t,this),this._draw(),ue(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:n,labels:o}=t,a=se.color,r=fi(t.rtl,this.left,this.width),l=De(o.font),{padding:h}=o,c=l.size,d=c/2;let u;this.drawTitle(),s.textAlign=r.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=l.string;const{boxWidth:f,boxHeight:g,itemHeight:p}=Eo(o,c),m=this.isHorizontal(),b=this._computeTitleHeight();u=m?{x:zt(n,this.left+h,this.right-i[0]),y:this.top+h+b,line:0}:{x:this.left+h,y:zt(n,this.top+b+h,this.bottom-e[0].height),line:0},gi(this.ctx,t.textDirection);const x=p+h;this.legendItems.forEach(((_,y)=>{s.strokeStyle=_.fontColor,s.fillStyle=_.fontColor;const v=s.measureText(_.text).width,M=r.textAlign(_.textAlign||(_.textAlign=o.textAlign)),w=f+d+v;let k=u.x,S=u.y;r.setWidth(this.width),m?y>0&&k+w+h>this.right&&(S=u.y+=x,u.line++,k=u.x=zt(n,this.left+h,this.right-i[u.line])):y>0&&S+x>this.bottom&&(k=u.x=k+e[u.line].width+h,u.line++,S=u.y=zt(n,this.top+b+h,this.bottom-e[u.line].height));if(function(t,e,i){if(isNaN(f)||f<=0||isNaN(g)||g<0)return;s.save();const n=W(i.lineWidth,1);if(s.fillStyle=W(i.fillStyle,a),s.lineCap=W(i.lineCap,"butt"),s.lineDashOffset=W(i.lineDashOffset,0),s.lineJoin=W(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=W(i.strokeStyle,a),s.setLineDash(W(i.lineDash,[])),o.usePointStyle){const a={radius:g*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},l=r.xPlus(t,f/2);he(s,a,l,e+d,o.pointStyleWidth&&f)}else{const o=e+Math.max((c-g)/2,0),a=r.leftForLtr(t,f),l=Se(i.borderRadius);s.beginPath(),Object.values(l).some((t=>0!==t))?xe(s,{x:a,y:o,w:f,h:g,radius:l}):s.rect(a,o,f,g),s.fill(),0!==n&&s.stroke()}s.restore()}(r.x(k),S,_),k=((t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e)(M,k+f+d,m?k+w:this.right,t.rtl),function(t,e,i){be(s,i.text,t,e+p/2,l,{strikethrough:i.hidden,textAlign:r.textAlign(i.textAlign)})}(r.x(k),S,_),m)u.x+=w+h;else if("string"!=typeof _.text){const t=l.lineHeight;u.y+=Io(_,t)+h}else u.y+=x})),pi(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=De(e.font),s=Pe(e.padding);if(!e.display)return;const n=fi(t.rtl,this.left,this.width),o=this.ctx,a=e.position,r=i.size/2,l=s.top+r;let h,c=this.left,d=this.width;if(this.isHorizontal())d=Math.max(...this.lineWidths),h=this.top+l,c=zt(t.align,c,this.right-d);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);h=l+zt(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const u=zt(a,c,c+d);o.textAlign=n.textAlign(It(a)),o.textBaseline="middle",o.strokeStyle=e.color,o.fillStyle=e.color,o.font=i.string,be(o,e.text,u,h,i)}_computeTitleHeight(){const t=this.options.title,e=De(t.font),i=Pe(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(Pt(t,this.left,this.right)&&Pt(e,this.top,this.bottom))for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],Pt(t,s.left,s.left+s.width)&&Pt(e,s.top,s.top+s.height))return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if(("mousemove"===t||"mouseout"===t)&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type||"mouseout"===t.type){const o=this._hoveredItem,a=(n=i,null!==(s=o)&&null!==n&&s.datasetIndex===n.datasetIndex&&s.index===n.index);o&&!a&&H(e.onLeave,[t,o,this],this),this._hoveredItem=i,i&&!a&&H(e.onHover,[t,i,this],this)}else i&&H(e.onClick,[t,i,this],this);var s,n}}function Io(t,e){return e*(t.text?t.text.length:0)}var zo={id:"legend",_element:Ro,start(t,e,i){const s=t.legend=new Ro({ctx:t.ctx,options:i,chart:t});Ps.configure(t,s,i),Ps.addBox(t,s)},stop(t){Ps.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;Ps.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const l=t.controller.getStyle(i?0:void 0),h=Pe(l.borderWidth);return{text:e[t.index].label,fillStyle:l.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:l.borderCapStyle,lineDash:l.borderDash,lineDashOffset:l.borderDashOffset,lineJoin:l.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:l.borderColor,pointStyle:s||l.pointStyle,rotation:l.rotation,textAlign:n||l.textAlign,borderRadius:a&&(r||l.borderRadius),datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class Fo extends Ys{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=z(i.text)?i.text.length:1;this._padding=Pe(i.padding);const n=s*De(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=n:this.width=n}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:n,options:o}=this,a=o.align;let r,l,h,c=0;return this.isHorizontal()?(l=zt(a,i,n),h=e+t,r=n-i):("left"===o.position?(l=i+t,h=zt(a,s,e),c=-.5*st):(l=n-t,h=zt(a,e,s),c=.5*st),r=s-e),{titleX:l,titleY:h,maxWidth:r,rotation:c}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=De(e.font),s=i.lineHeight/2+this._padding.top,{titleX:n,titleY:o,maxWidth:a,rotation:r}=this._drawArgs(s);be(t,e.text,0,0,i,{color:e.color,maxWidth:a,rotation:r,textAlign:It(e.align),textBaseline:"middle",translation:[n,o]})}}var Vo={id:"title",_element:Fo,start(t,e,i){!function(t,e){const i=new Fo({ctx:t.ctx,options:e,chart:t});Ps.configure(t,i,e),Ps.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;Ps.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;Ps.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Bo=new WeakMap;var Wo={id:"subtitle",start(t,e,i){const s=new Fo({ctx:t.ctx,options:i,chart:t});Ps.configure(t,s,i),Ps.addBox(t,s),Bo.set(t,s)},stop(t){Ps.removeBox(t,Bo.get(t)),Bo.delete(t)},beforeUpdate(t,e,i){const s=Bo.get(t);Ps.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const No={average(t){if(!t.length)return!1;let e,i,s=new Set,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s.add(t.x),n+=t.y,++o}}return{x:[...s].reduce(((t,e)=>t+e))/s.size,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=vt(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function Ho(t,e){return e&&(z(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function jo(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function $o(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Yo(t,e){const i=t.chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=De(e.bodyFont),h=De(e.titleFont),c=De(e.footerFont),d=o.length,u=n.length,f=s.length,g=Pe(e.padding);let p=g.height,m=0,b=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(b+=t.beforeBody.length+t.afterBody.length,d&&(p+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),b){p+=f*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(b-f)*l.lineHeight+(b-1)*e.bodySpacing}u&&(p+=e.footerMarginTop+u*c.lineHeight+(u-1)*e.footerSpacing);let x=0;const _=function(t){m=Math.max(m,i.measureText(t).width+x)};return i.save(),i.font=h.string,j(t.title,_),i.font=l.string,j(t.beforeBody.concat(t.afterBody),_),x=e.displayColors?a+2+e.boxPadding:0,j(s,(t=>{j(t.before,_),j(t.lines,_),j(t.after,_)})),x=0,i.font=c.string,j(t.footer,_),i.restore(),m+=g.width,{width:m,height:p}}function Uo(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Xo(t,e,i){const s=i.yAlign||e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:i.xAlign||e.xAlign||Uo(t,e,i,s),yAlign:s}}function qo(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=Se(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+n:"right"===r&&(g+=Math.max(d,f)+n),{x:St(g,0,s.width-e.width),y:St(p,0,s.height-e.height)}}function Ko(t,e,i){const s=Pe(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Go(t){return Ho([],jo(t))}function Zo(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}const Jo={beforeTitle:E,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:E,beforeBody:E,beforeLabel:E,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return I(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:E,afterBody:E,beforeFooter:E,footer:E,afterFooter:E};function Qo(t,e,i,s){const n=t[e].call(i,s);return void 0===n?Jo[e].call(i,s):n}class ta extends Ys{static positioners=No;constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new Ci(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this.chart.getContext(),e=this,i=this._tooltipItems,Oe(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=Qo(i,"beforeTitle",this,t),n=Qo(i,"title",this,t),o=Qo(i,"afterTitle",this,t);let a=[];return a=Ho(a,jo(s)),a=Ho(a,jo(n)),a=Ho(a,jo(o)),a}getBeforeBody(t,e){return Go(Qo(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:i}=e,s=[];return j(t,(t=>{const e={before:[],lines:[],after:[]},n=Zo(i,t);Ho(e.before,jo(Qo(n,"beforeLabel",this,t))),Ho(e.lines,Qo(n,"label",this,t)),Ho(e.after,jo(Qo(n,"afterLabel",this,t))),s.push(e)})),s}getAfterBody(t,e){return Go(Qo(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:i}=e,s=Qo(i,"beforeFooter",this,t),n=Qo(i,"footer",this,t),o=Qo(i,"afterFooter",this,t);let a=[];return a=Ho(a,jo(s)),a=Ho(a,jo(n)),a=Ho(a,jo(o)),a}_createItems(t){const e=this._active,i=this.chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push($o(this.chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),j(l,(e=>{const i=Zo(t.callbacks,e);s.push(Qo(i,"labelColor",this,e)),n.push(Qo(i,"labelPointStyle",this,e)),o.push(Qo(i,"labelTextColor",this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=No[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Yo(this,i),a=Object.assign({},t,e),r=Xo(this.chart,i,a),l=qo(i,a,r,this.chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=Se(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,b,x,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,x=_+o,y=_-o):(p=d+f,m=p+o,x=_-o,y=_+o),b=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(x=u,_=x-o,p=m-o,b=m+o):(x=u+g,_=x+o,p=m+o,b=m-o),y=x),{x1:p,x2:m,x3:b,y1:x,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=fi(i.rtl,this.x,this.width);for(t.x=Ko(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=De(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const o=this.labelColors[i],a=this.labelPointStyles[i],{boxHeight:r,boxWidth:l}=n,h=De(n.bodyFont),c=Ko(this,"left",n),d=s.x(c),u=r<h.lineHeight?(h.lineHeight-r)/2:0,f=e.y+u;if(n.usePointStyle){const e={radius:Math.min(l,r)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},i=s.leftForLtr(d,l)+l/2,h=f+r/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,le(t,e,i,h),t.strokeStyle=o.borderColor,t.fillStyle=o.backgroundColor,le(t,e,i,h)}else{t.lineWidth=F(o.borderWidth)?Math.max(...Object.values(o.borderWidth)):o.borderWidth||1,t.strokeStyle=o.borderColor,t.setLineDash(o.borderDash||[]),t.lineDashOffset=o.borderDashOffset||0;const e=s.leftForLtr(d,l),i=s.leftForLtr(s.xPlus(d,1),l-2),a=Se(o.borderRadius);Object.values(a).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,xe(t,{x:e,y:f,w:l,h:r,radius:a}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),xe(t,{x:i,y:f+1,w:l-2,h:r-2,radius:a}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,f,l,r),t.strokeRect(e,f,l,r),t.fillStyle=o.backgroundColor,t.fillRect(i,f+1,l-2,r-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=De(i.bodyFont);let d=c.lineHeight,u=0;const f=fi(i.rtl,this.x,this.width),g=function(i){e.fillText(i,f.x(t.x+u),t.y+d/2),t.y+=d+n},p=f.textAlign(o);let m,b,x,_,y,v,M;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=Ko(this,p,i),e.fillStyle=i.bodyColor,j(this.beforeBody,g),u=a&&"right"!==p?"center"===o?l/2+h:l+2+h:0,_=0,v=s.length;_<v;++_){for(m=s[_],b=this.labelTextColors[_],e.fillStyle=b,j(m.before,g),x=m.lines,a&&x.length&&(this._drawColorBox(e,t,_,f,i),d=Math.max(c.lineHeight,r)),y=0,M=x.length;y<M;++y)g(x[y]),d=c.lineHeight;j(m.after,g)}u=0,d=c.lineHeight,j(this.afterBody,g),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=fi(i.rtl,this.x,this.width);for(t.x=Ko(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=De(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=Se(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-f),e.quadraticCurveTo(a+l,r+h,a+l-f,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=No[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Yo(this,t),a=Object.assign({},i,this._size),r=Xo(e,t,a),l=qo(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=Pe(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),gi(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),pi(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this.chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!$(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,i=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,n=this._active||[],o=this._getActiveElements(t,n,e,i),a=this._positionChanged(o,t),r=e||!$(o,n)||a;return r&&(this._active=o,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),r}_getActiveElements(t,e,i,s){const n=this.options;if("mouseout"===t.type)return[];if(!s)return e.filter((t=>this.chart.data.datasets[t.datasetIndex]&&void 0!==this.chart.getDatasetMeta(t.datasetIndex).controller.getParsed(t.index)));const o=this.chart.getElementsAtEventForMode(t,n.mode,n,i);return n.reverse&&o.reverse(),o}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=No[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}var ea={id:"tooltip",_element:ta,positioners:No,afterInit(t,e,i){i&&(t.tooltip=new ta({chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip;if(e&&e._willRender()){const i={tooltip:e};if(!1===t.notifyPlugins("beforeTooltipDraw",{...i,cancelable:!0}))return;e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i)}},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i,e.inChartArea)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Jo},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},ia=Object.freeze({__proto__:null,Colors:uo,Decimation:po,Filler:Lo,Legend:zo,SubTitle:Wo,Title:Vo,Tooltip:ea});function sa(t,e,i,s){const n=t.indexOf(e);if(-1===n)return((t,e,i,s)=>("string"==typeof e?(i=t.push(e)-1,s.unshift({index:i,label:e})):isNaN(e)&&(i=null),i))(t,e,i,s);return n!==t.lastIndexOf(e)?i:n}function na(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}class oa extends en{static id="category";static defaults={ticks:{callback:na}};constructor(t){super(t),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(t){const e=this._addedLabels;if(e.length){const t=this.getLabels();for(const{index:i,label:s}of e)t[i]===s&&t.splice(i,1);this._addedLabels=[]}super.init(t)}parse(t,e){if(I(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:St(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:sa(i,t,W(e,t),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){return na.call(this,t)}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function aa(t,e){const i=[],{bounds:s,step:n,min:o,max:a,precision:r,count:l,maxTicks:h,maxDigits:c,includeBounds:d}=t,u=n||1,f=h-1,{min:g,max:p}=e,m=!I(o),b=!I(a),x=!I(l),_=(p-g)/(c+1);let y,v,M,w,k=gt((p-g)/f/u)*u;if(k<1e-14&&!m&&!b)return[{value:g},{value:p}];w=Math.ceil(p/k)-Math.floor(g/k),w>f&&(k=gt(w*k/f/u)*u),I(r)||(y=Math.pow(10,r),k=Math.ceil(k*y)/y),"ticks"===s?(v=Math.floor(g/k)*k,M=Math.ceil(p/k)*k):(v=g,M=p),m&&b&&n&&function(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}((a-o)/n,k/1e3)?(w=Math.round(Math.min((a-o)/k,h)),k=(a-o)/w,v=o,M=a):x?(v=m?o:v,M=b?a:M,w=l-1,k=(M-v)/w):(w=(M-v)/k,w=ft(w,Math.round(w),k/1e3)?Math.round(w):Math.ceil(w));const S=Math.max(_t(k),_t(v));y=Math.pow(10,I(r)?S:r),v=Math.round(v*y)/y,M=Math.round(M*y)/y;let P=0;for(m&&(d&&v!==o?(i.push({value:o}),v<o&&P++,ft(Math.round((v+P*k)*y)/y,o,ra(o,_,t))&&P++):v<o&&P++);P<w;++P){const t=Math.round((v+P*k)*y)/y;if(b&&t>a)break;i.push({value:t})}return b&&d&&M!==a?i.length&&ft(i[i.length-1].value,a,ra(a,_,t))?i[i.length-1].value=a:i.push({value:a}):b&&M!==a||i.push({value:M}),i}function ra(t,e,{horizontal:i,minRotation:s}){const n=bt(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}class la extends en{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return I(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=ut(s),e=ut(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=0===n?1:Math.abs(.05*n);a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s=aa({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&mt(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Kt(t,this.chart.options.locale,this.options.ticks.format)}}class ha extends la{static id="linear";static defaults={ticks:{callback:Zt.formatters.numeric}};determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=V(t)?t:0,this.max=V(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=bt(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}const ca=t=>Math.floor(dt(t)),da=(t,e)=>Math.pow(10,ca(t)+e);function ua(t){return 1===t/Math.pow(10,ca(t))}function fa(t,e,i){const s=Math.pow(10,i),n=Math.floor(t/s);return Math.ceil(e/s)-n}function ga(t,{min:e,max:i}){e=B(t.min,e);const s=[],n=ca(e);let o=function(t,e){let i=ca(e-t);for(;fa(t,e,i)>10;)i++;for(;fa(t,e,i)<10;)i--;return Math.min(i,ca(t))}(e,i),a=o<0?Math.pow(10,Math.abs(o)):1;const r=Math.pow(10,o),l=n>o?Math.pow(10,n):0,h=Math.round((e-l)*a)/a,c=Math.floor((e-l)/r/10)*r*10;let d=Math.floor((h-c)/Math.pow(10,o)),u=B(t.min,Math.round((l+c+d*Math.pow(10,o))*a)/a);for(;u<i;)s.push({value:u,major:ua(u),significand:d}),d>=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,a=o>=0?1:a),u=Math.round((l+c+d*Math.pow(10,o))*a)/a;const f=B(t.max,u);return s.push({value:f,major:ua(f),significand:d}),s}class pa extends en{static id="logarithmic";static defaults={ticks:{callback:Zt.formatters.logarithmic,major:{enabled:!0}}};constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=la.prototype.parse.apply(this,[t,e]);if(0!==i)return V(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=V(t)?Math.max(0,t):null,this.max=V(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!V(this._userMin)&&(this.min=t===da(this.min,0)?da(this.min,-1):da(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t;i===s&&(i<=0?(n(1),o(10)):(n(da(i,-1)),o(da(s,1)))),i<=0&&n(da(s,-1)),s<=0&&o(da(i,1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=ga({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&mt(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":Kt(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=dt(t),this._valueRange=dt(this.max)-dt(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(dt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function ma(t){const e=t.ticks;if(e.display&&t.display){const t=Pe(e.backdropPadding);return W(e.font&&e.font.size,se.font.size)+t.height}return 0}function ba(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function xa(t){const e={l:t.left+t._padding.left,r:t.right-t._padding.right,t:t.top+t._padding.top,b:t.bottom-t._padding.bottom},i=Object.assign({},e),s=[],n=[],o=t._pointLabels.length,a=t.options.pointLabels,r=a.centerPointLabels?st/o:0;for(let d=0;d<o;d++){const o=a.setContext(t.getPointLabelContext(d));n[d]=o.padding;const u=t.getPointPosition(d,t.drawingArea+n[d],r),f=De(o.font),g=(l=t.ctx,h=f,c=z(c=t._pointLabels[d])?c:[c],{w:oe(l,h.string,c),h:c.length*h.lineHeight});s[d]=g;const p=wt(t.getIndexAngle(d)+r),m=Math.round(xt(p));_a(i,e,p,ba(m,u.x,g.w,0,180),ba(m,u.y,g.h,90,270))}var l,h,c;t.setCenterPoint(e.l-i.l,i.r-e.r,e.t-i.t,i.b-e.b),t._pointLabelItems=function(t,e,i){const s=[],n=t._pointLabels.length,o=t.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:ma(o)/2,additionalAngle:a?st/n:0};let h;for(let o=0;o<n;o++){l.padding=i[o],l.size=e[o];const n=ya(t,o,l);s.push(n),"auto"===r&&(n.visible=va(n,h),n.visible&&(h=n))}return s}(t,s,n)}function _a(t,e,i,s,n){const o=Math.abs(Math.sin(i)),a=Math.abs(Math.cos(i));let r=0,l=0;s.start<e.l?(r=(e.l-s.start)/o,t.l=Math.min(t.l,e.l-r)):s.end>e.r&&(r=(s.end-e.r)/o,t.r=Math.max(t.r,e.r+r)),n.start<e.t?(l=(e.t-n.start)/a,t.t=Math.min(t.t,e.t-l)):n.end>e.b&&(l=(n.end-e.b)/a,t.b=Math.max(t.b,e.b+l))}function ya(t,e,i){const s=t.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=i,l=t.getPointPosition(e,s+n+a,o),h=Math.round(xt(wt(l.angle+lt))),c=function(t,e,i){90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e);return t}(l.y,r.h,h),d=function(t){if(0===t||180===t)return"center";if(t<180)return"left";return"right"}(h),u=function(t,e,i){"right"===i?t-=e:"center"===i&&(t-=e/2);return t}(l.x,r.w,d);return{visible:!0,x:l.x,y:c,textAlign:d,left:u,top:c,right:u+r.w,bottom:c+r.h}}function va(t,e){if(!e)return!0;const{left:i,top:s,right:n,bottom:o}=t;return!(ce({x:i,y:s},e)||ce({x:i,y:o},e)||ce({x:n,y:s},e)||ce({x:n,y:o},e))}function Ma(t,e,i){const{left:s,top:n,right:o,bottom:a}=i,{backdropColor:r}=e;if(!I(r)){const i=Se(e.borderRadius),l=Pe(e.backdropPadding);t.fillStyle=r;const h=s-l.left,c=n-l.top,d=o-s+l.width,u=a-n+l.height;Object.values(i).some((t=>0!==t))?(t.beginPath(),xe(t,{x:h,y:c,w:d,h:u,radius:i}),t.fill()):t.fillRect(h,c,d,u)}}function wa(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,nt);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}class ka extends la{static id="radialLinear";static defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Zt.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5,centerPointLabels:!1}};static defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"};static descriptors={angleLines:{_fallback:"grid"}};constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const t=this._padding=Pe(ma(this.options)/2),e=this.width=this.maxWidth-t.width,i=this.height=this.maxHeight-t.height;this.xCenter=Math.floor(this.left+e/2+t.left),this.yCenter=Math.floor(this.top+i/2+t.top),this.drawingArea=Math.floor(Math.min(e,i)/2)}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=V(t)&&!isNaN(t)?t:0,this.max=V(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/ma(this.options))}generateTickLabels(t){la.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=H(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""})).filter(((t,e)=>this.chart.getDataVisibility(e)))}fit(){const t=this.options;t.display&&t.pointLabels.display?xa(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,i,s){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((i-s)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,i,s))}getIndexAngle(t){return wt(t*(nt/(this._pointLabels.length||1))+bt(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if(I(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(I(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return Oe(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e,i=0){const s=this.getIndexAngle(t)-lt+i;return{x:Math.cos(s)*e+this.xCenter,y:Math.sin(s)*e+this.yCenter,angle:s}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),wa(this,this.getDistanceFromCenterForValue(this._endValue),e,this._pointLabels.length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s,border:n}=e,o=this._pointLabels.length;let a,r,l;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=t._pointLabelItems[n];if(!e.visible)continue;const o=s.setContext(t.getPointLabelContext(n));Ma(i,o,e);const a=De(o.font),{x:r,y:l,textAlign:h}=e;be(i,t._pointLabels[n],r,l+a.lineHeight/2,a,{color:o.color,textAlign:h,textBaseline:"middle"})}}(this,o),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e||0===e&&this.min<0){r=this.getDistanceFromCenterForValue(t.value);const i=this.getContext(e),a=s.setContext(i),l=n.setContext(i);!function(t,e,i,s,n){const o=t.ctx,a=e.circular,{color:r,lineWidth:l}=e;!a&&!s||!r||!l||i<0||(o.save(),o.strokeStyle=r,o.lineWidth=l,o.setLineDash(n.dash),o.lineDashOffset=n.dashOffset,o.beginPath(),wa(t,i,a,s),o.closePath(),o.stroke(),o.restore())}(this,a,r,o,l)}})),i.display){for(t.save(),a=o-1;a>=0;a--){const s=i.setContext(this.getPointLabelContext(a)),{color:n,lineWidth:o}=s;o&&n&&(t.lineWidth=o,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,r=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),l=this.getPointPosition(a,r),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(l.x,l.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&this.min>=0&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=De(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=Pe(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}be(t,s.label,0,-n,l,{color:r.color,strokeColor:r.textStrokeColor,strokeWidth:r.textStrokeWidth})})),t.restore()}drawTitle(){}}const Sa={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},Pa=Object.keys(Sa);function Da(t,e){return t-e}function Ca(t,e){if(I(e))return null;const i=t._adapter,{parser:s,round:n,isoWeekday:o}=t._parseOpts;let a=e;return"function"==typeof s&&(a=s(a)),V(a)||(a="string"==typeof s?i.parse(a,s):i.parse(a)),null===a?null:(n&&(a="week"!==n||!pt(o)&&!0!==o?i.startOf(a,n):i.startOf(a,"isoWeek",o)),+a)}function Oa(t,e,i,s){const n=Pa.length;for(let o=Pa.indexOf(t);o<n-1;++o){const t=Sa[Pa[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return Pa[o]}return Pa[n-1]}function Aa(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=Dt(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function Ta(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class La extends en{static id="time";static defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",callback:!1,major:{enabled:!1}}};constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e={}){const i=t.time||(t.time={}),s=this._adapter=new as._date(t.adapters.date);s.init(e),K(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:Ca(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:a}=this.getUserBounds();function r(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),a||isNaN(t.max)||(n=Math.max(n,t.max))}o&&a||(r(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||r(this.getMinMax(!1))),s=V(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=V(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=function(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}(s,n,this.max);return this._unit=e.unit||(i.autoSkip?Oa(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=Pa.length-1;o>=Pa.indexOf(i);o--){const i=Pa[o];if(Sa[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return Pa[i?Pa.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=Pa.indexOf(t)+1,i=Pa.length;e<i;++e)if(Sa[Pa[e]].common)return Pa[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),Ta(this,o,this._majorUnit)}afterAutoSkip(){this.options.offsetAfterAutoskip&&this.initOffsets(this.ticks.map((t=>+t.value)))}initOffsets(t=[]){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=St(s,0,o),n=St(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||Oa(n.minUnit,e,i,this._getLabelCapacity(e)),a=W(s.ticks.stepSize,1),r="week"===o&&n.isoWeekday,l=pt(r)||!0===r,h={};let c,d,u=e;if(l&&(u=+t.startOf(u,"isoWeek",r)),u=+t.startOf(u,l?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const f="data"===s.ticks.source&&this.getDataTimestamps();for(c=u,d=0;c<i;c=+t.add(c,a,o),d++)Aa(h,c,f);return c!==i&&"ticks"!==s.bounds&&1!==d||Aa(h,c,f),Object.keys(h).sort(Da).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}format(t,e){const i=this.options.time.displayFormats,s=this._unit,n=e||i[s];return this._adapter.format(t,n)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.ticks.callback;if(o)return H(o,[t,e,i],this);const a=n.time.displayFormats,r=this._unit,l=this._majorUnit,h=r&&a[r],c=l&&a[l],d=i[e],u=l&&c&&d&&d.major;return this._adapter.format(t,s||(u?c:h))}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=bt(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,Ta(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(Ca(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Lt(t.sort(Da))}}function Ea(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=Ct(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=Ct(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}class Ra extends La{static id="timeseries";static defaults=La.defaults;constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ea(e,this.min),this._tableRange=Ea(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_generate(){const t=this.min,e=this.max;let i=super.getDataTimestamps();return i.includes(t)&&i.length||i.splice(0,0,t),i.includes(e)&&1!==i.length||i.push(e),i.sort(((t,e)=>t-e))}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(Ea(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return Ea(this._table,i*this._tableRange+this._minPos,!0)}}var Ia=Object.freeze({__proto__:null,CategoryScale:oa,LinearScale:ha,LogarithmicScale:pa,RadialLinearScale:ka,TimeScale:La,TimeSeriesScale:Ra});const za=[ss,no,ia,Ia];export{Di as Animation,Ci as Animations,Bn as ArcElement,Ki as BarController,so as BarElement,Ds as BasePlatform,Cs as BasicPlatform,Gi as BubbleController,oa as CategoryScale,En as Chart,uo as Colors,Wi as DatasetController,po as Decimation,js as DomPlatform,Zi as DoughnutController,Ys as Element,Lo as Filler,fs as Interaction,zo as Legend,Ji as LineController,qn as LineElement,ha as LinearScale,pa as LogarithmicScale,ts as PieController,Gn as PointElement,Qi as PolarAreaController,es as RadarController,ka as RadialLinearScale,en as Scale,is as ScatterController,Wo as SubTitle,Zt as Ticks,La as TimeScale,Ra as TimeSeriesScale,Vo as Title,ea as Tooltip,as as _adapters,$s as _detectPlatform,ki as animator,ss as controllers,se as defaults,no as elements,Ps as layouts,ia as plugins,za as registerables,on as registry,Ia as scales};
diff --git a/typo3/sysext/rte_ckeditor/Resources/Public/Contrib/@ckeditor/ckeditor5-ui.js b/typo3/sysext/rte_ckeditor/Resources/Public/Contrib/@ckeditor/ckeditor5-ui.js
index c68f08f6792fe78a263cdf0bc3c6c52251b4608c..916867c588526f6c2e32b5d72ef09e760aebccb0 100644
--- a/typo3/sysext/rte_ckeditor/Resources/Public/Contrib/@ckeditor/ckeditor5-ui.js
+++ b/typo3/sysext/rte_ckeditor/Resources/Public/Contrib/@ckeditor/ckeditor5-ui.js
@@ -193,7 +193,7 @@ function Ot(e,t=lt){const o="function"==typeof t?new t(e):t,i=new ct(e),s=new at
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  */ke(".ck.ck-dropdown>.ck-dropdown__panel>.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:first-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:0}.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button,.ck.ck-dropdown>.ck-dropdown__panel>.ck-list .ck-list__item:last-child>.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}");const Lt=(e,t,o)=>{const i=new it(e.locale);return i.set({id:t,ariaDescribedById:o}),i.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),i.bind("hasError").to(e,"errorText",(e=>!!e)),i.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(i),i},Dt=(e,t,o)=>{const i=new st(e.locale);return i.set({id:t,ariaDescribedById:o,inputMode:"numeric"}),i.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),i.bind("hasError").to(e,"errorText",(e=>!!e)),i.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(i),i},St=(e,t,o)=>{const i=new rt(e.locale);return i.set({id:t,ariaDescribedById:o}),i.bind("isReadOnly").to(e,"isEnabled",(e=>!e)),i.bind("hasError").to(e,"errorText",(e=>!!e)),i.on("input",(()=>{e.errorText=null})),e.bind("isEmpty","isFocused","placeholder").to(i),i},zt=(e,t,o)=>{const i=Ot(e.locale);return i.set({id:t,ariaDescribedById:o}),i.bind("isEnabled").to(e),i},Nt=(e,t=0,o=1)=>e>o?o:e<t?t:e,Rt=(e,t=0,o=Math.pow(10,t))=>Math.round(o*e)/o,Wt=e=>("#"===e[0]&&(e=e.substring(1)),e.length<6?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:4===e.length?Rt(parseInt(e[3]+e[3],16)/255,2):1}:{r:parseInt(e.substring(0,2),16),g:parseInt(e.substring(2,4),16),b:parseInt(e.substring(4,6),16),a:8===e.length?Rt(parseInt(e.substring(6,8),16)/255,2):1}),Gt=e=>{const{h:t,s:o,l:i}=(({h:e,s:t,v:o,a:i})=>{const s=(200-t)*o/100;return{h:Rt(e),s:Rt(s>0&&s<200?t*o/100/(s<=100?s:200-s)*100:0),l:Rt(s/2),a:Rt(i,2)}})(e);return`hsl(${t}, ${o}%, ${i}%)`},Ht=({h:e,s:t,v:o,a:i})=>{e=e/360*6,t/=100,o/=100;const s=Math.floor(e),r=o*(1-t),n=o*(1-(e-s)*t),c=o*(1-(1-e+s)*t),a=s%6;return{r:Rt(255*[o,n,r,r,c,o][a]),g:Rt(255*[c,o,o,n,r,r][a]),b:Rt(255*[r,r,c,o,o,n][a]),a:Rt(i,2)}},$t=e=>{const t=e.toString(16);return t.length<2?"0"+t:t},qt=({r:e,g:t,b:o,a:i})=>{const s=i<1?$t(Rt(255*i)):"";return"#"+$t(e)+$t(t)+$t(o)+s},jt=({r:e,g:t,b:o,a:i})=>{const s=Math.max(e,t,o),r=s-Math.min(e,t,o),n=r?s===e?(t-o)/r:s===t?2+(o-e)/r:4+(e-t)/r:0;return{h:Rt(60*(n<0?n+6:n)),s:Rt(s?r/s*100:0),v:Rt(s/255*100),a:i}},Ut=(e,t)=>{if(e===t)return!0;for(const o in e)if(e[o]!==t[o])return!1;return!0},Kt={},Xt=e=>{let t=Kt[e];return t||(t=document.createElement("template"),t.innerHTML=e,Kt[e]=t),t},Zt=(e,t,o)=>{e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:o}))};let Yt=!1;const Qt=e=>"touches"in e,Jt=(e,t)=>{const o=Qt(t)?t.touches[0]:t,i=e.el.getBoundingClientRect();Zt(e.el,"move",e.getMove({x:Nt((o.pageX-(i.left+window.pageXOffset))/i.width),y:Nt((o.pageY-(i.top+window.pageYOffset))/i.height)}))};class eo{constructor(e,t,o,i){const s=Xt(`<div role="slider" tabindex="0" part="${t}" ${o}><div part="${t}-pointer"></div></div>`);e.appendChild(s.content.cloneNode(!0));const r=e.querySelector(`[part=${t}]`);r.addEventListener("mousedown",this),r.addEventListener("touchstart",this),r.addEventListener("keydown",this),this.el=r,this.xy=i,this.nodes=[r.firstChild,r]}set dragging(e){const t=e?document.addEventListener:document.removeEventListener;t(Yt?"touchmove":"mousemove",this),t(Yt?"touchend":"mouseup",this)}handleEvent(e){switch(e.type){case"mousedown":case"touchstart":if(e.preventDefault(),!(e=>!(Yt&&!Qt(e)||(Yt||(Yt=Qt(e)),0)))(e)||!Yt&&0!=e.button)return;this.el.focus(),Jt(this,e),this.dragging=!0;break;case"mousemove":case"touchmove":e.preventDefault(),Jt(this,e);break;case"mouseup":case"touchend":this.dragging=!1;break;case"keydown":((e,t)=>{const o=t.keyCode;o>40||e.xy&&o<37||o<33||(t.preventDefault(),Zt(e.el,"move",e.getMove({x:39===o?.01:37===o?-.01:34===o?.05:33===o?-.05:35===o?1:36===o?-1:0,y:40===o?.01:38===o?-.01:0},!0)))})(this,e)}}style(e){e.forEach(((e,t)=>{for(const o in e)this.nodes[t].style.setProperty(o,e[o])}))}}class to extends eo{constructor(e){super(e,"hue",'aria-label="Hue" aria-valuemin="0" aria-valuemax="360"',!1)}update({h:e}){this.h=e,this.style([{left:e/360*100+"%",color:Gt({h:e,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuenow",`${Rt(e)}`)}getMove(e,t){return{h:t?Nt(this.h+360*e.x,0,360):360*e.x}}}class oo extends eo{constructor(e){super(e,"saturation",'aria-label="Color"',!0)}update(e){this.hsva=e,this.style([{top:100-e.v+"%",left:`${e.s}%`,color:Gt(e)},{"background-color":Gt({h:e.h,s:100,v:100,a:1})}]),this.el.setAttribute("aria-valuetext",`Saturation ${Rt(e.s)}%, Brightness ${Rt(e.v)}%`)}getMove(e,t){return{s:t?Nt(this.hsva.s+100*e.x,0,100):100*e.x,v:t?Nt(this.hsva.v-100*e.y,0,100):Math.round(100-100*e.y)}}}const io=Symbol("same"),so=Symbol("color"),ro=Symbol("hsva"),no=Symbol("update"),co=Symbol("parts"),ao=Symbol("css"),lo=Symbol("sliders");class ho extends HTMLElement{static get observedAttributes(){return["color"]}get[ao](){return[':host{display:flex;flex-direction:column;position:relative;width:200px;height:200px;user-select:none;-webkit-user-select:none;cursor:default}:host([hidden]){display:none!important}[role=slider]{position:relative;touch-action:none;user-select:none;-webkit-user-select:none;outline:0}[role=slider]:last-child{border-radius:0 0 8px 8px}[part$=pointer]{position:absolute;z-index:1;box-sizing:border-box;width:28px;height:28px;display:flex;place-content:center center;transform:translate(-50%,-50%);background-color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.2)}[part$=pointer]::after{content:"";width:100%;height:100%;border-radius:inherit;background-color:currentColor}[role=slider]:focus [part$=pointer]{transform:translate(-50%,-50%) scale(1.1)}',"[part=hue]{flex:0 0 24px;background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}[part=hue-pointer]{top:50%;z-index:2}","[part=saturation]{flex-grow:1;border-color:transparent;border-bottom:12px solid #000;border-radius:8px 8px 0 0;background-image:linear-gradient(to top,#000,transparent),linear-gradient(to right,#fff,rgba(255,255,255,0));box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}[part=saturation-pointer]{z-index:3}"]}get[lo](){return[oo,to]}get color(){return this[so]}set color(e){if(!this[io](e)){const t=this.colorModel.toHsva(e);this[no](t),this[so]=e}}constructor(){super();const e=Xt(`<style>${this[ao].join("")}</style>`),t=this.attachShadow({mode:"open"});t.appendChild(e.content.cloneNode(!0)),t.addEventListener("move",this),this[co]=this[lo].map((e=>new e(t)))}connectedCallback(){if(this.hasOwnProperty("color")){const e=this.color;delete this.color,this.color=e}else this.color||(this.color=this.colorModel.defaultColor)}attributeChangedCallback(e,t,o){const i=this.colorModel.fromAttr(o);this[io](i)||(this.color=i)}handleEvent(e){const t=this[ro],o={...t,...e.detail};let i;this[no](o),Ut(o,t)||this[io](i=this.colorModel.fromHsva(o))||(this[so]=i,Zt(this,"color-changed",{value:i}))}[io](e){return this.color&&this.colorModel.equal(e,this.color)}[no](e){this[ro]=e,this[co].forEach((t=>t.update(e)))}}const uo={defaultColor:"#000",toHsva:e=>jt(Wt(e)),fromHsva:({h:e,s:t,v:o})=>qt(Ht({h:e,s:t,v:o,a:1})),equal:(e,t)=>e.toLowerCase()===t.toLowerCase()||Ut(Wt(e),Wt(t)),fromAttr:e=>e};class ko extends ho{get colorModel(){return uo}}ke(".color-picker-hex-input{width:max-content}.color-picker-hex-input .ck.ck-input{min-width:unset}.ck.ck-color-picker__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;margin:var(--ck-spacing-large) 0 0;width:unset}.ck.ck-color-picker__row .ck.ck-labeled-field-view{padding-top:unset}.ck.ck-color-picker__row .ck.ck-input-text{width:unset}.ck.ck-color-picker__row .ck-color-picker__hash-view{padding-right:var(--ck-spacing-medium);padding-top:var(--ck-spacing-tiny)}");class bo extends be{constructor(e,t={}){super(e),this.set({color:"",_hexColor:""}),this.hexInputRow=this._createInputRow();const o=this.createCollection();t.hideInput||o.add(this.hexInputRow),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker"],tabindex:-1},children:o}),this._config=t,this._debounceColorPickerEvent=M((e=>{this.set("color",e),this.fire("colorSelected",{color:this.color})}),150,{leading:!0}),this.on("set:color",((e,t,o)=>{e.return=Qe(o,this._config.format||"hsl")})),this.on("change:color",(()=>{this._hexColor=po(this.color)})),this.on("change:_hexColor",(()=>{document.activeElement!==this.picker&&this.picker.setAttribute("color",this._hexColor),po(this.color)!=po(this._hexColor)&&(this.color=this._hexColor)}))}render(){var e,t;if(super.render(),e="hex-color-picker",t=ko,void 0===customElements.get(e)&&customElements.define(e,t),this.picker=w.document.createElement("hex-color-picker"),this.picker.setAttribute("class","hex-color-picker"),this.picker.setAttribute("tabindex","-1"),this._createSlidersView(),this.element){this.hexInputRow.element?this.element.insertBefore(this.picker,this.hexInputRow.element):this.element.appendChild(this.picker);const e=document.createElement("style");e.textContent='[role="slider"]:focus [part$="pointer"] {border: 1px solid #fff;outline: 1px solid var(--ck-color-focus-border);box-shadow: 0 0 0 2px #fff;}',this.picker.shadowRoot.appendChild(e)}this.picker.addEventListener("color-changed",(e=>{const t=e.detail.value;this._debounceColorPickerEvent(t)}))}focus(){
 /* istanbul ignore next -- @preserve */
-if(!this._config.hideInput&&(k.isGecko||k.isiOS||k.isSafari)){this.hexInputRow.children.get(1).focus()}this.slidersView.first.focus()}_createSlidersView(){const e=[...this.picker.shadowRoot.children].filter((e=>"slider"===e.getAttribute("role"))).map((e=>new _o(e)));this.slidersView=this.createCollection(),e.forEach((e=>{this.slidersView.add(e)}))}_createInputRow(){const e=new mo,t=this._createColorInput();return new fo(this.locale,[e,t])}_createColorInput(){const e=new et(this.locale,Lt),{t:t}=this.locale;return e.set({label:t("HEX"),class:"color-picker-hex-input"}),e.fieldView.bind("value").to(this,"_hexColor",(t=>e.isFocused?e.fieldView.value:t.startsWith("#")?t.substring(1):t)),e.fieldView.on("input",(()=>{const t=e.fieldView.element.value;if(t){const e=t.trim(),o=e.startsWith("#")?e.substring(1):e;[3,4,6,8].includes(o.length)&&/(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})/.test(o)&&this._debounceColorPickerEvent("#"+o)}})),e}}function po(e){let t=function(e){if(!e)return"";const t=Je(e);return t?"hex"===t.space?t.hexValue:Qe(e,"hex"):"#000"}(e);return t||(t="#000"),4===t.length&&(t="#"+[t[1],t[1],t[2],t[2],t[3],t[3]].join("")),t.toLowerCase()}class _o extends be{constructor(e){super(),this.element=e}focus(){this.element.focus()}}class mo extends be{constructor(e){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__hash-view"]},children:"#"})}}class fo extends be{constructor(e,t){super(e),this.children=this.createCollection(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__row"]},children:this.children})}}
+if(!this._config.hideInput&&(k.isGecko||k.isiOS||k.isSafari)){this.hexInputRow.children.get(1).focus()}this.slidersView.first.focus()}_createSlidersView(){const e=[...this.picker.shadowRoot.children].filter((e=>"slider"===e.getAttribute("role"))).map((e=>new _o(e)));this.slidersView=this.createCollection(),e.forEach((e=>{this.slidersView.add(e)}))}_createInputRow(){const e=new mo,t=this._createColorInput();return new fo(this.locale,[e,t])}_createColorInput(){const e=new et(this.locale,Lt),{t}=this.locale;return e.set({label:t("HEX"),class:"color-picker-hex-input"}),e.fieldView.bind("value").to(this,"_hexColor",(t=>e.isFocused?e.fieldView.value:t.startsWith("#")?t.substring(1):t)),e.fieldView.on("input",(()=>{const t=e.fieldView.element.value;if(t){const e=t.trim(),o=e.startsWith("#")?e.substring(1):e;[3,4,6,8].includes(o.length)&&/(([0-9a-fA-F]{2}){3,4}|([0-9a-fA-F]){3,4})/.test(o)&&this._debounceColorPickerEvent("#"+o)}})),e}}function po(e){let t=function(e){if(!e)return"";const t=Je(e);return t?"hex"===t.space?t.hexValue:Qe(e,"hex"):"#000"}(e);return t||(t="#000"),4===t.length&&(t="#"+[t[1],t[1],t[2],t[2],t[3],t[3]].join("")),t.toLowerCase()}class _o extends be{constructor(e){super(),this.element=e}focus(){this.element.focus()}}class mo extends be{constructor(e){super(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__hash-view"]},children:"#"})}}class fo extends be{constructor(e,t){super(e),this.children=this.createCollection(t),this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-picker__row"]},children:this.children})}}
 /**
  * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
diff --git a/typo3/sysext/rte_ckeditor/Resources/Public/Contrib/@ckeditor/ckeditor5-utils.js b/typo3/sysext/rte_ckeditor/Resources/Public/Contrib/@ckeditor/ckeditor5-utils.js
index 9584eca26905ea92a6f7bc56f9fe64ae31c01ef3..56f9c851ab1d84b04553b46e0ff1ce80018dd72a 100644
--- a/typo3/sysext/rte_ckeditor/Resources/Public/Contrib/@ckeditor/ckeditor5-utils.js
+++ b/typo3/sysext/rte_ckeditor/Resources/Public/Contrib/@ckeditor/ckeditor5-utils.js
@@ -104,7 +104,7 @@ E.rethrowUnexpectedError(t,this)}}delegate(...t){return{to:(e,n)=>{this[M]||(thi
 /**
  * @license Copyright (c) 2003-2024, CKSource Holding sp. z o.o. All rights reserved.
  * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */let pt;try{pt={window:window,document:document}}catch(t){
+ */let pt;try{pt={window,document}}catch(t){
 /* istanbul ignore next -- @preserve */
 pt={window:{},document:{}}}var gt=pt;
 /**