From d58b8869bf6752a9bf1540dc2096ffc19858e613 Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 11:52:47 +0800
Subject: [PATCH 01/10] Configure babel related item

---
 babel.config.afterbundle.json |  14 +++
 package-lock.json             | 167 +++++++++++++++++++++++++++++++++-
 package.json                  |   3 +-
 removeOldDist.js              |   5 +
 4 files changed, 185 insertions(+), 4 deletions(-)
 create mode 100644 babel.config.afterbundle.json
 create mode 100644 removeOldDist.js

diff --git a/babel.config.afterbundle.json b/babel.config.afterbundle.json
new file mode 100644
index 0000000..c9283f7
--- /dev/null
+++ b/babel.config.afterbundle.json
@@ -0,0 +1,14 @@
+{
+    "presets": [
+        [
+            "@vue/cli-plugin-babel/preset",
+            {
+                "useBuiltIns": false,
+                "targets": {
+                    "chrome": "60"
+                },
+                "modules": false
+            }
+        ]
+    ]
+}
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index 8bac988..01b68e0 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,6 +21,7 @@
         "vue-chartjs": "^5.3.2"
       },
       "devDependencies": {
+        "@babel/cli": "^7.26.4",
         "@babel/core": "^7.26.0",
         "@babel/eslint-parser": "^7.25.9",
         "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7",
@@ -79,6 +80,147 @@
         "node": ">=6.0.0"
       }
     },
+    "node_modules/@babel/cli": {
+      "version": "7.26.4",
+      "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.26.4.tgz",
+      "integrity": "sha512-+mORf3ezU3p3qr+82WvJSnQNE1GAYeoCfEv4fik6B5/2cvKZ75AX8oawWQdXtM9MmndooQj15Jr9kelRFWsuRw==",
+      "dev": true,
+      "dependencies": {
+        "@jridgewell/trace-mapping": "^0.3.25",
+        "commander": "^6.2.0",
+        "convert-source-map": "^2.0.0",
+        "fs-readdir-recursive": "^1.1.0",
+        "glob": "^7.2.0",
+        "make-dir": "^2.1.0",
+        "slash": "^2.0.0"
+      },
+      "bin": {
+        "babel": "bin/babel.js",
+        "babel-external-helpers": "bin/babel-external-helpers.js"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "optionalDependencies": {
+        "@nicolo-ribaudo/chokidar-2": "2.1.8-no-fsevents.3",
+        "chokidar": "^3.6.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/cli/node_modules/chokidar": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+      "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "anymatch": "~3.1.2",
+        "braces": "~3.0.2",
+        "glob-parent": "~5.1.2",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.6.0"
+      },
+      "engines": {
+        "node": ">= 8.10.0"
+      },
+      "funding": {
+        "url": "https://paulmillr.com/funding/"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
+      }
+    },
+    "node_modules/@babel/cli/node_modules/commander": {
+      "version": "6.2.1",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
+      "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+      "dev": true,
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/@babel/cli/node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
+      "dev": true,
+      "dependencies": {
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
+      },
+      "engines": {
+        "node": "*"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/@babel/cli/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "is-glob": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 6"
+      }
+    },
+    "node_modules/@babel/cli/node_modules/make-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+      "dev": true,
+      "dependencies": {
+        "pify": "^4.0.1",
+        "semver": "^5.6.0"
+      },
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/@babel/cli/node_modules/readdirp": {
+      "version": "3.6.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+      "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+      "dev": true,
+      "optional": true,
+      "dependencies": {
+        "picomatch": "^2.2.1"
+      },
+      "engines": {
+        "node": ">=8.10.0"
+      }
+    },
+    "node_modules/@babel/cli/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/@babel/cli/node_modules/slash": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
+      "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/@babel/code-frame": {
       "version": "7.26.2",
       "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz",
@@ -2727,6 +2869,13 @@
       "license": "MIT",
       "peer": true
     },
+    "node_modules/@nicolo-ribaudo/chokidar-2": {
+      "version": "2.1.8-no-fsevents.3",
+      "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz",
+      "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==",
+      "dev": true,
+      "optional": true
+    },
     "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": {
       "version": "5.1.1-v1",
       "resolved": "https://registry.npmmirror.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz",
@@ -5045,7 +5194,6 @@
       "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
       "dev": true,
       "license": "ISC",
-      "peer": true,
       "dependencies": {
         "normalize-path": "^3.0.0",
         "picomatch": "^2.0.4"
@@ -5468,7 +5616,6 @@
       "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "engines": {
         "node": ">=8"
       },
@@ -8968,6 +9115,12 @@
       "license": "Unlicense",
       "peer": true
     },
+    "node_modules/fs-readdir-recursive": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz",
+      "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==",
+      "dev": true
+    },
     "node_modules/fs.realpath": {
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz",
@@ -9966,7 +10119,6 @@
       "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "binary-extensions": "^2.0.0"
       },
@@ -12673,6 +12825,15 @@
         "node": ">=0.10"
       }
     },
+    "node_modules/pify": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
     "node_modules/pkg-dir": {
       "version": "4.2.0",
       "resolved": "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz",
diff --git a/package.json b/package.json
index 1b5b4d4..da40acc 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
   },
   "description": "ERE on Android",
   "devDependencies": {
+    "@babel/cli": "^7.26.4",
     "@babel/core": "^7.26.0",
     "@babel/eslint-parser": "^7.25.9",
     "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7",
@@ -52,7 +53,7 @@
   "name": "ere.app",
   "scripts": {
     "android": "cap run android",
-    "build": "vite build && cap sync",
+    "build": "vite build && node removeOldDist.js && npx babel dist_before_babel --out-dir dist --config-file ./babel.config.afterbundle.json --keep-file-extension --copy-files && cap sync",
     "lint": "lint-staged",
     "prepare": "husky",
     "start": "vite"
diff --git a/removeOldDist.js b/removeOldDist.js
new file mode 100644
index 0000000..3466800
--- /dev/null
+++ b/removeOldDist.js
@@ -0,0 +1,5 @@
+var fs = require("fs")
+if (fs.existsSync("dist")){
+    fs.rmdirSync("dist", {recursive: true});
+}
+console.log("Done");
\ No newline at end of file
-- 
GitLab


From 96ef0c0873835b20c9ed7c0fe98225196471d921 Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 11:58:27 +0800
Subject: [PATCH 02/10] Store pwa-elements in local instead of CDN; include
 Core-Js; Polyfill CSS Dark Theme

---
 package-lock.json                             |    5 +-
 package.json                                  |    1 +
 src/index.html                                |    4 +-
 src/js/main.js                                |   32 +-
 .../js/pwa-elements/cjs/index-d7f36e37.js     | 1666 +++++++++++++++++
 src/public/js/pwa-elements/cjs/index.cjs.js   |    2 +
 .../pwa-elements/cjs/ionicpwaelements.cjs.js  |   26 +
 src/public/js/pwa-elements/cjs/loader.cjs.js  |   22 +
 .../cjs/pwa-action-sheet.cjs.entry.js         |   46 +
 .../pwa-camera-modal-instance.cjs.entry.js    |   45 +
 .../cjs/pwa-camera-modal.cjs.entry.js         |   47 +
 .../pwa-elements/cjs/pwa-camera.cjs.entry.js  |  485 +++++
 .../pwa-elements/cjs/pwa-toast.cjs.entry.js   |   49 +
 .../collection/collection-manifest.json       |   16 +
 .../components/action-sheet/action-sheet.css  |   79 +
 .../components/action-sheet/action-sheet.js   |  129 ++
 .../camera-modal/camera-modal-instance.css    |   35 +
 .../camera-modal/camera-modal-instance.js     |  162 ++
 .../components/camera-modal/camera-modal.css  |   24 +
 .../components/camera-modal/camera-modal.js   |  155 ++
 .../collection/components/camera/camera.css   |  244 +++
 .../collection/components/camera/camera.js    |  455 +++++
 .../components/camera/icons/confirm.svg       |   15 +
 .../components/camera/icons/exit.svg          |   13 +
 .../components/camera/icons/flash-auto.svg    |   14 +
 .../components/camera/icons/flash-off.svg     |   14 +
 .../components/camera/icons/flash-on.svg      |   10 +
 .../components/camera/icons/retake.svg        |   14 +
 .../camera/icons/reverse-camera.svg           |   15 +
 .../components/camera/imagecapture.js         |  155 ++
 .../collection/components/toast/toast.css     |   37 +
 .../collection/components/toast/toast.js      |   93 +
 .../js/pwa-elements/collection/definitions.js |    1 +
 .../js/pwa-elements/collection/index.js       |    1 +
 .../js/pwa-elements/esm-es5/index-1c5c47b4.js |    1 +
 src/public/js/pwa-elements/esm-es5/index.js   |    0
 .../pwa-elements/esm-es5/ionicpwaelements.js  |    1 +
 src/public/js/pwa-elements/esm-es5/loader.js  |    1 +
 .../esm-es5/pwa-action-sheet.entry.js         |    1 +
 .../pwa-camera-modal-instance.entry.js        |    1 +
 .../esm-es5/pwa-camera-modal.entry.js         |    1 +
 .../pwa-elements/esm-es5/pwa-camera.entry.js  |   19 +
 .../pwa-elements/esm-es5/pwa-toast.entry.js   |    1 +
 .../js/pwa-elements/esm/index-1c5c47b4.js     | 1636 ++++++++++++++++
 src/public/js/pwa-elements/esm/index.js       |    1 +
 .../js/pwa-elements/esm/ionicpwaelements.js   |   21 +
 src/public/js/pwa-elements/esm/loader.js      |   18 +
 .../js/pwa-elements/esm/polyfills/core-js.js  |   11 +
 .../js/pwa-elements/esm/polyfills/css-shim.js |    1 +
 .../js/pwa-elements/esm/polyfills/dom.js      |   79 +
 .../esm/polyfills/es5-html-element.js         |    1 +
 .../js/pwa-elements/esm/polyfills/index.js    |   34 +
 .../js/pwa-elements/esm/polyfills/system.js   |    6 +
 .../esm/pwa-action-sheet.entry.js             |   42 +
 .../esm/pwa-camera-modal-instance.entry.js    |   41 +
 .../esm/pwa-camera-modal.entry.js             |   43 +
 .../js/pwa-elements/esm/pwa-camera.entry.js   |  481 +++++
 .../js/pwa-elements/esm/pwa-toast.entry.js    |   45 +
 src/public/js/pwa-elements/index.cjs.js       |    1 +
 src/public/js/pwa-elements/index.js           |    1 +
 .../ionicpwaelements/icons/confirm.svg        |   15 +
 .../ionicpwaelements/icons/exit.svg           |   13 +
 .../ionicpwaelements/icons/flash-auto.svg     |   14 +
 .../ionicpwaelements/icons/flash-off.svg      |   14 +
 .../ionicpwaelements/icons/flash-on.svg       |   10 +
 .../ionicpwaelements/icons/retake.svg         |   14 +
 .../ionicpwaelements/icons/reverse-camera.svg |   15 +
 .../ionicpwaelements/index.esm.js             |    0
 .../ionicpwaelements/ionicpwaelements.esm.js  |    1 +
 .../ionicpwaelements/ionicpwaelements.js      |  131 ++
 .../ionicpwaelements/p-00206cb0.system.js     |    1 +
 .../p-1b81a39d.system.entry.js                |    1 +
 .../ionicpwaelements/p-335782c2.system.js     |    2 +
 .../ionicpwaelements/p-386e91ad.js            |    2 +
 .../ionicpwaelements/p-3bb700a2.entry.js      |    1 +
 .../ionicpwaelements/p-50ea2036.system.js     |    1 +
 .../p-550557d3.system.entry.js                |    1 +
 .../p-5b57434a.system.entry.js                |    1 +
 .../ionicpwaelements/p-665001c2.entry.js      |   19 +
 .../ionicpwaelements/p-b57f4873.entry.js      |    1 +
 .../ionicpwaelements/p-d0cae4dc.entry.js      |    1 +
 .../ionicpwaelements/p-d212ae1d.entry.js      |    1 +
 .../p-db3c6183.system.entry.js                |    1 +
 .../p-fab2e7af.system.entry.js                |   20 +
 .../js/pwa-elements/types/components.d.ts     |  144 ++
 .../components/action-sheet/action-sheet.d.ts |   15 +
 .../camera-modal/camera-modal-instance.d.ts   |   16 +
 .../components/camera-modal/camera-modal.d.ts |   11 +
 .../types/components/camera/camera.d.ts       |   66 +
 .../types/components/camera/imagecapture.d.ts |   19 +
 .../types/components/toast/toast.d.ts         |   14 +
 .../js/pwa-elements/types/definitions.d.ts    |   15 +
 src/public/js/pwa-elements/types/index.d.ts   |    1 +
 .../types/stencil-public-runtime.d.ts         | 1640 ++++++++++++++++
 vite.config.ts                                |    8 +-
 95 files changed, 8821 insertions(+), 7 deletions(-)
 create mode 100644 src/public/js/pwa-elements/cjs/index-d7f36e37.js
 create mode 100644 src/public/js/pwa-elements/cjs/index.cjs.js
 create mode 100644 src/public/js/pwa-elements/cjs/ionicpwaelements.cjs.js
 create mode 100644 src/public/js/pwa-elements/cjs/loader.cjs.js
 create mode 100644 src/public/js/pwa-elements/cjs/pwa-action-sheet.cjs.entry.js
 create mode 100644 src/public/js/pwa-elements/cjs/pwa-camera-modal-instance.cjs.entry.js
 create mode 100644 src/public/js/pwa-elements/cjs/pwa-camera-modal.cjs.entry.js
 create mode 100644 src/public/js/pwa-elements/cjs/pwa-camera.cjs.entry.js
 create mode 100644 src/public/js/pwa-elements/cjs/pwa-toast.cjs.entry.js
 create mode 100644 src/public/js/pwa-elements/collection/collection-manifest.json
 create mode 100644 src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.css
 create mode 100644 src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.js
 create mode 100644 src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.css
 create mode 100644 src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.js
 create mode 100644 src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.css
 create mode 100644 src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.js
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/camera.css
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/camera.js
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/icons/confirm.svg
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/icons/exit.svg
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/icons/flash-auto.svg
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/icons/flash-off.svg
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/icons/flash-on.svg
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/icons/retake.svg
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/icons/reverse-camera.svg
 create mode 100644 src/public/js/pwa-elements/collection/components/camera/imagecapture.js
 create mode 100644 src/public/js/pwa-elements/collection/components/toast/toast.css
 create mode 100644 src/public/js/pwa-elements/collection/components/toast/toast.js
 create mode 100644 src/public/js/pwa-elements/collection/definitions.js
 create mode 100644 src/public/js/pwa-elements/collection/index.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/index-1c5c47b4.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/index.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/ionicpwaelements.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/loader.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/pwa-action-sheet.entry.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/pwa-camera-modal-instance.entry.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/pwa-camera-modal.entry.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/pwa-camera.entry.js
 create mode 100644 src/public/js/pwa-elements/esm-es5/pwa-toast.entry.js
 create mode 100644 src/public/js/pwa-elements/esm/index-1c5c47b4.js
 create mode 100644 src/public/js/pwa-elements/esm/index.js
 create mode 100644 src/public/js/pwa-elements/esm/ionicpwaelements.js
 create mode 100644 src/public/js/pwa-elements/esm/loader.js
 create mode 100644 src/public/js/pwa-elements/esm/polyfills/core-js.js
 create mode 100644 src/public/js/pwa-elements/esm/polyfills/css-shim.js
 create mode 100644 src/public/js/pwa-elements/esm/polyfills/dom.js
 create mode 100644 src/public/js/pwa-elements/esm/polyfills/es5-html-element.js
 create mode 100644 src/public/js/pwa-elements/esm/polyfills/index.js
 create mode 100644 src/public/js/pwa-elements/esm/polyfills/system.js
 create mode 100644 src/public/js/pwa-elements/esm/pwa-action-sheet.entry.js
 create mode 100644 src/public/js/pwa-elements/esm/pwa-camera-modal-instance.entry.js
 create mode 100644 src/public/js/pwa-elements/esm/pwa-camera-modal.entry.js
 create mode 100644 src/public/js/pwa-elements/esm/pwa-camera.entry.js
 create mode 100644 src/public/js/pwa-elements/esm/pwa-toast.entry.js
 create mode 100644 src/public/js/pwa-elements/index.cjs.js
 create mode 100644 src/public/js/pwa-elements/index.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/icons/confirm.svg
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/icons/exit.svg
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/icons/flash-auto.svg
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/icons/flash-off.svg
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/icons/flash-on.svg
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/icons/retake.svg
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/icons/reverse-camera.svg
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/index.esm.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-00206cb0.system.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-1b81a39d.system.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-335782c2.system.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-386e91ad.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-3bb700a2.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-50ea2036.system.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-550557d3.system.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-5b57434a.system.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-665001c2.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-b57f4873.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-d0cae4dc.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-d212ae1d.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-db3c6183.system.entry.js
 create mode 100644 src/public/js/pwa-elements/ionicpwaelements/p-fab2e7af.system.entry.js
 create mode 100644 src/public/js/pwa-elements/types/components.d.ts
 create mode 100644 src/public/js/pwa-elements/types/components/action-sheet/action-sheet.d.ts
 create mode 100644 src/public/js/pwa-elements/types/components/camera-modal/camera-modal-instance.d.ts
 create mode 100644 src/public/js/pwa-elements/types/components/camera-modal/camera-modal.d.ts
 create mode 100644 src/public/js/pwa-elements/types/components/camera/camera.d.ts
 create mode 100644 src/public/js/pwa-elements/types/components/camera/imagecapture.d.ts
 create mode 100644 src/public/js/pwa-elements/types/components/toast/toast.d.ts
 create mode 100644 src/public/js/pwa-elements/types/definitions.d.ts
 create mode 100644 src/public/js/pwa-elements/types/index.d.ts
 create mode 100644 src/public/js/pwa-elements/types/stencil-public-runtime.d.ts

diff --git a/package-lock.json b/package-lock.json
index 01b68e0..e9275a8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,6 +16,7 @@
         "@element-plus/icons-vue": "^2.3.1",
         "chart.js": "^4.4.7",
         "chartjs-plugin-annotation": "^3.1.0",
+        "core-js": "^3.39.0",
         "element-plus": "^2.9.1",
         "vue": "^3.4.27",
         "vue-chartjs": "^5.3.2"
@@ -6527,11 +6528,9 @@
     },
     "node_modules/core-js": {
       "version": "3.39.0",
-      "resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz",
       "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==",
-      "dev": true,
       "hasInstallScript": true,
-      "license": "MIT",
       "funding": {
         "type": "opencollective",
         "url": "https://opencollective.com/core-js"
diff --git a/package.json b/package.json
index da40acc..5b58ca2 100644
--- a/package.json
+++ b/package.json
@@ -9,6 +9,7 @@
     "@element-plus/icons-vue": "^2.3.1",
     "chart.js": "^4.4.7",
     "chartjs-plugin-annotation": "^3.1.0",
+    "core-js": "^3.39.0",
     "element-plus": "^2.9.1",
     "vue": "^3.4.27",
     "vue-chartjs": "^5.3.2"
diff --git a/src/index.html b/src/index.html
index d8c26df..cc0ada5 100644
--- a/src/index.html
+++ b/src/index.html
@@ -10,12 +10,12 @@
   <meta content="telephone=no" name="format-detection" />
   <meta content="no" name="msapplication-tap-highlight" />
   <script
-    src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.esm.js"
+    src="/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js"
     type="module"
   ></script>
   <script
     nomodule
-    src="https://unpkg.com/@ionic/pwa-elements@latest/dist/ionicpwaelements/ionicpwaelements.js"
+    src="/js/pwa-elements/ionicpwaelements/ionicpwaelements.js"
   ></script>
   <link href="./assets/icon/icon.ico" rel="icon" type="image/x-icon" />
   <link href="./manifest.json" rel="manifest" />
diff --git a/src/js/main.js b/src/js/main.js
index a1cb2f6..655094e 100644
--- a/src/js/main.js
+++ b/src/js/main.js
@@ -1,7 +1,8 @@
+import 'core-js/actual';
+
 import 'element-plus/dist/index.css';
 import 'element-plus/theme-chalk/dark/css-vars.css';
 import '@/assets/fonts/font.css';
-
 import { HomeFilled } from '@element-plus/icons-vue';
 import ElementPlus from 'element-plus';
 import { createApp } from 'vue';
@@ -11,3 +12,32 @@ import App from '@/js/app.vue';
 const app = createApp(App);
 app.component(HomeFilled.name, HomeFilled);
 app.use(ElementPlus).mount('#app');
+
+const css = `html {
+    background-color: var(--el-bg-color);
+    border-block-color: white;
+    border-inline-color: white;
+    border-color: white;
+    caret-color: white;
+    color: white;
+    column-rule-color: white;
+    fill: black;
+    flood-color: black;
+    lighting-color: white;
+    outline-color: white;
+    stop-color: black;
+    text-decoration-color: white;
+    text-emphasis-color: white;
+}
+    
+`
+if (!window.getComputedStyle || !window.getComputedStyle(document.querySelector("body"))["color-scheme"]){
+    var style = document.createElement("style");
+    style.innerHTML = css;
+    document.querySelector("body").append(style);
+
+    var svg = document.querySelector("svg");
+    svg.parentElement.style.fill = "#9e9eff";
+    svg.style.fill = "#9e9eff";
+    svg.querySelector("path").style.fill = "#9e9eff";
+}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/index-d7f36e37.js b/src/public/js/pwa-elements/cjs/index-d7f36e37.js
new file mode 100644
index 0000000..4cbe41d
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/index-d7f36e37.js
@@ -0,0 +1,1666 @@
+'use strict';
+
+function _interopNamespace(e) {
+  if (e && e.__esModule) return e;
+  var n = Object.create(null);
+  if (e) {
+    Object.keys(e).forEach(function (k) {
+      if (k !== 'default') {
+        var d = Object.getOwnPropertyDescriptor(e, k);
+        Object.defineProperty(n, k, d.get ? d : {
+          enumerable: true,
+          get: function () {
+            return e[k];
+          }
+        });
+      }
+    });
+  }
+  n['default'] = e;
+  return Object.freeze(n);
+}
+
+const NAMESPACE = 'ionicpwaelements';
+
+/**
+ * Virtual DOM patching algorithm based on Snabbdom by
+ * Simon Friis Vindum (@paldepind)
+ * Licensed under the MIT License
+ * https://github.com/snabbdom/snabbdom/blob/master/LICENSE
+ *
+ * Modified for Stencil's renderer and slot projection
+ */
+let scopeId;
+let hostTagName;
+let isSvgMode = false;
+let queuePending = false;
+const createTime = (fnName, tagName = '') => {
+    {
+        return () => {
+            return;
+        };
+    }
+};
+const uniqueTime = (key, measureText) => {
+    {
+        return () => {
+            return;
+        };
+    }
+};
+const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
+/**
+ * Default style mode id
+ */
+/**
+ * Reusable empty obj/array
+ * Don't add values to these!!
+ */
+const EMPTY_OBJ = {};
+/**
+ * Namespaces
+ */
+const SVG_NS = 'http://www.w3.org/2000/svg';
+const HTML_NS = 'http://www.w3.org/1999/xhtml';
+const isDef = (v) => v != null;
+/**
+ * Check whether a value is a 'complex type', defined here as an object or a
+ * function.
+ *
+ * @param o the value to check
+ * @returns whether it's a complex type or not
+ */
+const isComplexType = (o) => {
+    // https://jsperf.com/typeof-fn-object/5
+    o = typeof o;
+    return o === 'object' || o === 'function';
+};
+/**
+ * Helper method for querying a `meta` tag that contains a nonce value
+ * out of a DOM's head.
+ *
+ * @param doc The DOM containing the `head` to query against
+ * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
+ * exists or the tag has no content.
+ */
+function queryNonceMetaTagContent(doc) {
+    var _a, _b, _c;
+    return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
+}
+/**
+ * Production h() function based on Preact by
+ * Jason Miller (@developit)
+ * Licensed under the MIT License
+ * https://github.com/developit/preact/blob/master/LICENSE
+ *
+ * Modified for Stencil's compiler and vdom
+ */
+// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
+// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
+const h = (nodeName, vnodeData, ...children) => {
+    let child = null;
+    let simple = false;
+    let lastSimple = false;
+    const vNodeChildren = [];
+    const walk = (c) => {
+        for (let i = 0; i < c.length; i++) {
+            child = c[i];
+            if (Array.isArray(child)) {
+                walk(child);
+            }
+            else if (child != null && typeof child !== 'boolean') {
+                if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {
+                    child = String(child);
+                }
+                if (simple && lastSimple) {
+                    // If the previous child was simple (string), we merge both
+                    vNodeChildren[vNodeChildren.length - 1].$text$ += child;
+                }
+                else {
+                    // Append a new vNode, if it's text, we create a text vNode
+                    vNodeChildren.push(simple ? newVNode(null, child) : child);
+                }
+                lastSimple = simple;
+            }
+        }
+    };
+    walk(children);
+    if (vnodeData) {
+        {
+            const classData = vnodeData.className || vnodeData.class;
+            if (classData) {
+                vnodeData.class =
+                    typeof classData !== 'object'
+                        ? classData
+                        : Object.keys(classData)
+                            .filter((k) => classData[k])
+                            .join(' ');
+            }
+        }
+    }
+    const vnode = newVNode(nodeName, null);
+    vnode.$attrs$ = vnodeData;
+    if (vNodeChildren.length > 0) {
+        vnode.$children$ = vNodeChildren;
+    }
+    return vnode;
+};
+/**
+ * A utility function for creating a virtual DOM node from a tag and some
+ * possible text content.
+ *
+ * @param tag the tag for this element
+ * @param text possible text content for the node
+ * @returns a newly-minted virtual DOM node
+ */
+const newVNode = (tag, text) => {
+    const vnode = {
+        $flags$: 0,
+        $tag$: tag,
+        $text$: text,
+        $elm$: null,
+        $children$: null,
+    };
+    {
+        vnode.$attrs$ = null;
+    }
+    return vnode;
+};
+const Host = {};
+/**
+ * Check whether a given node is a Host node or not
+ *
+ * @param node the virtual DOM node to check
+ * @returns whether it's a Host node or not
+ */
+const isHost = (node) => node && node.$tag$ === Host;
+/**
+ * Parse a new property value for a given property type.
+ *
+ * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
+ * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
+ *   1. `any`, the type given to `propValue` in the function signature
+ *   2. the type stored from `propType`.
+ *
+ * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
+ *
+ * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
+ * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
+ * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
+ * ```tsx
+ * <my-cmp prop-val={0}></my-cmp>
+ * ```
+ *
+ * HTML prop values on the other hand, will always a string
+ *
+ * @param propValue the new value to coerce to some type
+ * @param propType the type of the prop, expressed as a binary number
+ * @returns the parsed/coerced value
+ */
+const parsePropertyValue = (propValue, propType) => {
+    // ensure this value is of the correct prop type
+    if (propValue != null && !isComplexType(propValue)) {
+        if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
+            // per the HTML spec, any string value means it is a boolean true value
+            // but we'll cheat here and say that the string "false" is the boolean false
+            return propValue === 'false' ? false : propValue === '' || !!propValue;
+        }
+        if (propType & 2 /* MEMBER_FLAGS.Number */) {
+            // force it to be a number
+            return parseFloat(propValue);
+        }
+        if (propType & 1 /* MEMBER_FLAGS.String */) {
+            // could have been passed as a number or boolean
+            // but we still want it as a string
+            return String(propValue);
+        }
+        // redundant return here for better minification
+        return propValue;
+    }
+    // not sure exactly what type we want
+    // so no need to change to a different type
+    return propValue;
+};
+const getElement = (ref) => (getHostRef(ref).$hostElement$ );
+const createEvent = (ref, name, flags) => {
+    const elm = getElement(ref);
+    return {
+        emit: (detail) => {
+            return emitEvent(elm, name, {
+                bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
+                composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
+                cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
+                detail,
+            });
+        },
+    };
+};
+/**
+ * Helper function to create & dispatch a custom Event on a provided target
+ * @param elm the target of the Event
+ * @param name the name to give the custom Event
+ * @param opts options for configuring a custom Event
+ * @returns the custom Event
+ */
+const emitEvent = (elm, name, opts) => {
+    const ev = plt.ce(name, opts);
+    elm.dispatchEvent(ev);
+    return ev;
+};
+const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
+const registerStyle = (scopeId, cssText, allowCS) => {
+    let style = styles.get(scopeId);
+    if (supportsConstructableStylesheets && allowCS) {
+        style = (style || new CSSStyleSheet());
+        if (typeof style === 'string') {
+            style = cssText;
+        }
+        else {
+            style.replaceSync(cssText);
+        }
+    }
+    else {
+        style = cssText;
+    }
+    styles.set(scopeId, style);
+};
+const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
+    var _a;
+    let scopeId = getScopeId(cmpMeta);
+    const style = styles.get(scopeId);
+    // if an element is NOT connected then getRootNode() will return the wrong root node
+    // so the fallback is to always use the document for the root node in those cases
+    styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
+    if (style) {
+        if (typeof style === 'string') {
+            styleContainerNode = styleContainerNode.head || styleContainerNode;
+            let appliedStyles = rootAppliedStyles.get(styleContainerNode);
+            let styleElm;
+            if (!appliedStyles) {
+                rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
+            }
+            if (!appliedStyles.has(scopeId)) {
+                {
+                    // TODO(STENCIL-659): Remove code implementing the CSS variable shim
+                    {
+                        styleElm = doc.createElement('style');
+                        styleElm.innerHTML = style;
+                    }
+                    // Apply CSP nonce to the style tag if it exists
+                    const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
+                    if (nonce != null) {
+                        styleElm.setAttribute('nonce', nonce);
+                    }
+                    styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
+                }
+                if (appliedStyles) {
+                    appliedStyles.add(scopeId);
+                }
+            }
+        }
+        else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
+            styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
+        }
+    }
+    return scopeId;
+};
+const attachStyles = (hostRef) => {
+    const cmpMeta = hostRef.$cmpMeta$;
+    const elm = hostRef.$hostElement$;
+    const flags = cmpMeta.$flags$;
+    const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
+    const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
+    // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
+    if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
+        // only required when we're NOT using native shadow dom (slot)
+        // or this browser doesn't support native shadow dom
+        // and this host element was NOT created with SSR
+        // let's pick out the inner content for slot projection
+        // create a node to represent where the original
+        // content was first placed, which is useful later on
+        // DOM WRITE!!
+        elm['s-sc'] = scopeId;
+        elm.classList.add(scopeId + '-h');
+    }
+    endAttachStyles();
+};
+const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
+/**
+ * Production setAccessor() function based on Preact by
+ * Jason Miller (@developit)
+ * Licensed under the MIT License
+ * https://github.com/developit/preact/blob/master/LICENSE
+ *
+ * Modified for Stencil's compiler and vdom
+ */
+const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
+    if (oldValue !== newValue) {
+        let isProp = isMemberInElement(elm, memberName);
+        let ln = memberName.toLowerCase();
+        if (memberName === 'class') {
+            const classList = elm.classList;
+            const oldClasses = parseClassList(oldValue);
+            const newClasses = parseClassList(newValue);
+            classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
+            classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
+        }
+        else if (memberName === 'style') {
+            // update style attribute, css properties and values
+            {
+                for (const prop in oldValue) {
+                    if (!newValue || newValue[prop] == null) {
+                        if (prop.includes('-')) {
+                            elm.style.removeProperty(prop);
+                        }
+                        else {
+                            elm.style[prop] = '';
+                        }
+                    }
+                }
+            }
+            for (const prop in newValue) {
+                if (!oldValue || newValue[prop] !== oldValue[prop]) {
+                    if (prop.includes('-')) {
+                        elm.style.setProperty(prop, newValue[prop]);
+                    }
+                    else {
+                        elm.style[prop] = newValue[prop];
+                    }
+                }
+            }
+        }
+        else if (memberName === 'ref') {
+            // minifier will clean this up
+            if (newValue) {
+                newValue(elm);
+            }
+        }
+        else if ((!isProp ) &&
+            memberName[0] === 'o' &&
+            memberName[1] === 'n') {
+            // Event Handlers
+            // so if the member name starts with "on" and the 3rd characters is
+            // a capital letter, and it's not already a member on the element,
+            // then we're assuming it's an event listener
+            if (memberName[2] === '-') {
+                // on- prefixed events
+                // allows to be explicit about the dom event to listen without any magic
+                // under the hood:
+                // <my-cmp on-click> // listens for "click"
+                // <my-cmp on-Click> // listens for "Click"
+                // <my-cmp on-ionChange> // listens for "ionChange"
+                // <my-cmp on-EVENTS> // listens for "EVENTS"
+                memberName = memberName.slice(3);
+            }
+            else if (isMemberInElement(win, ln)) {
+                // standard event
+                // the JSX attribute could have been "onMouseOver" and the
+                // member name "onmouseover" is on the window's prototype
+                // so let's add the listener "mouseover", which is all lowercased
+                memberName = ln.slice(2);
+            }
+            else {
+                // custom event
+                // the JSX attribute could have been "onMyCustomEvent"
+                // so let's trim off the "on" prefix and lowercase the first character
+                // and add the listener "myCustomEvent"
+                // except for the first character, we keep the event name case
+                memberName = ln[2] + memberName.slice(3);
+            }
+            if (oldValue) {
+                plt.rel(elm, memberName, oldValue, false);
+            }
+            if (newValue) {
+                plt.ael(elm, memberName, newValue, false);
+            }
+        }
+        else {
+            // Set property if it exists and it's not a SVG
+            const isComplex = isComplexType(newValue);
+            if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
+                try {
+                    if (!elm.tagName.includes('-')) {
+                        const n = newValue == null ? '' : newValue;
+                        // Workaround for Safari, moving the <input> caret when re-assigning the same valued
+                        if (memberName === 'list') {
+                            isProp = false;
+                        }
+                        else if (oldValue == null || elm[memberName] != n) {
+                            elm[memberName] = n;
+                        }
+                    }
+                    else {
+                        elm[memberName] = newValue;
+                    }
+                }
+                catch (e) { }
+            }
+            if (newValue == null || newValue === false) {
+                if (newValue !== false || elm.getAttribute(memberName) === '') {
+                    {
+                        elm.removeAttribute(memberName);
+                    }
+                }
+            }
+            else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
+                newValue = newValue === true ? '' : newValue;
+                {
+                    elm.setAttribute(memberName, newValue);
+                }
+            }
+        }
+    }
+};
+const parseClassListRegex = /\s/;
+const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
+const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
+    // if the element passed in is a shadow root, which is a document fragment
+    // then we want to be adding attrs/props to the shadow root's "host" element
+    // if it's not a shadow root, then we add attrs/props to the same element
+    const elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host
+        ? newVnode.$elm$.host
+        : newVnode.$elm$;
+    const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
+    const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
+    {
+        // remove attributes no longer present on the vnode by setting them to undefined
+        for (memberName in oldVnodeAttrs) {
+            if (!(memberName in newVnodeAttrs)) {
+                setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
+            }
+        }
+    }
+    // add new & update changed attributes
+    for (memberName in newVnodeAttrs) {
+        setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
+    }
+};
+/**
+ * Create a DOM Node corresponding to one of the children of a given VNode.
+ *
+ * @param oldParentVNode the parent VNode from the previous render
+ * @param newParentVNode the parent VNode from the current render
+ * @param childIndex the index of the VNode, in the _new_ parent node's
+ * children, for which we will create a new DOM node
+ * @param parentElm the parent DOM node which our new node will be a child of
+ * @returns the newly created node
+ */
+const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
+    // tslint:disable-next-line: prefer-const
+    const newVNode = newParentVNode.$children$[childIndex];
+    let i = 0;
+    let elm;
+    let childNode;
+    if (newVNode.$text$ !== null) {
+        // create text node
+        elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
+    }
+    else {
+        if (!isSvgMode) {
+            isSvgMode = newVNode.$tag$ === 'svg';
+        }
+        // create element
+        elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
+            );
+        if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
+            isSvgMode = false;
+        }
+        // add css classes, attrs, props, listeners, etc.
+        {
+            updateElement(null, newVNode, isSvgMode);
+        }
+        if (isDef(scopeId) && elm['s-si'] !== scopeId) {
+            // if there is a scopeId and this is the initial render
+            // then let's add the scopeId as a css class
+            elm.classList.add((elm['s-si'] = scopeId));
+        }
+        if (newVNode.$children$) {
+            for (i = 0; i < newVNode.$children$.length; ++i) {
+                // create the node
+                childNode = createElm(oldParentVNode, newVNode, i);
+                // return node could have been null
+                if (childNode) {
+                    // append our new node
+                    elm.appendChild(childNode);
+                }
+            }
+        }
+        {
+            if (newVNode.$tag$ === 'svg') {
+                // Only reset the SVG context when we're exiting <svg> element
+                isSvgMode = false;
+            }
+            else if (elm.tagName === 'foreignObject') {
+                // Reenter SVG context when we're exiting <foreignObject> element
+                isSvgMode = true;
+            }
+        }
+    }
+    return elm;
+};
+/**
+ * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
+ * add them to the DOM in the appropriate place.
+ *
+ * @param parentElm the DOM node which should be used as a parent for the new
+ * DOM nodes
+ * @param before a child of the `parentElm` which the new children should be
+ * inserted before (optional)
+ * @param parentVNode the parent virtual DOM node
+ * @param vnodes the new child virtual DOM nodes to produce DOM nodes for
+ * @param startIdx the index in the child virtual DOM nodes at which to start
+ * creating DOM nodes (inclusive)
+ * @param endIdx the index in the child virtual DOM nodes at which to stop
+ * creating DOM nodes (inclusive)
+ */
+const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
+    let containerElm = (parentElm);
+    let childNode;
+    if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
+        containerElm = containerElm.shadowRoot;
+    }
+    for (; startIdx <= endIdx; ++startIdx) {
+        if (vnodes[startIdx]) {
+            childNode = createElm(null, parentVNode, startIdx);
+            if (childNode) {
+                vnodes[startIdx].$elm$ = childNode;
+                containerElm.insertBefore(childNode, before);
+            }
+        }
+    }
+};
+/**
+ * Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
+ * This can be used to, for instance, clean up after a list of children which
+ * should no longer be shown.
+ *
+ * This function also handles some of Stencil's slot relocation logic.
+ *
+ * @param vnodes a list of virtual DOM nodes to remove
+ * @param startIdx the index at which to start removing nodes (inclusive)
+ * @param endIdx the index at which to stop removing nodes (inclusive)
+ */
+const removeVnodes = (vnodes, startIdx, endIdx) => {
+    for (let index = startIdx; index <= endIdx; ++index) {
+        const vnode = vnodes[index];
+        if (vnode) {
+            const elm = vnode.$elm$;
+            nullifyVNodeRefs(vnode);
+            if (elm) {
+                // remove the vnode's element from the dom
+                elm.remove();
+            }
+        }
+    }
+};
+/**
+ * Reconcile the children of a new VNode with the children of an old VNode by
+ * traversing the two collections of children, identifying nodes that are
+ * conserved or changed, calling out to `patch` to make any necessary
+ * updates to the DOM, and rearranging DOM nodes as needed.
+ *
+ * The algorithm for reconciling children works by analyzing two 'windows' onto
+ * the two arrays of children (`oldCh` and `newCh`). We keep track of the
+ * 'windows' by storing start and end indices and references to the
+ * corresponding array entries. Initially the two 'windows' are basically equal
+ * to the entire array, but we progressively narrow the windows until there are
+ * no children left to update by doing the following:
+ *
+ * 1. Skip any `null` entries at the beginning or end of the two arrays, so
+ *    that if we have an initial array like the following we'll end up dealing
+ *    only with a window bounded by the highlighted elements:
+ *
+ *    [null, null, VNode1 , ... , VNode2, null, null]
+ *                 ^^^^^^         ^^^^^^
+ *
+ * 2. Check to see if the elements at the head and tail positions are equal
+ *    across the windows. This will basically detect elements which haven't
+ *    been added, removed, or changed position, i.e. if you had the following
+ *    VNode elements (represented as HTML):
+ *
+ *    oldVNode: `<div><p><span>HEY</span></p></div>`
+ *    newVNode: `<div><p><span>THERE</span></p></div>`
+ *
+ *    Then when comparing the children of the `<div>` tag we check the equality
+ *    of the VNodes corresponding to the `<p>` tags and, since they are the
+ *    same tag in the same position, we'd be able to avoid completely
+ *    re-rendering the subtree under them with a new DOM element and would just
+ *    call out to `patch` to handle reconciling their children and so on.
+ *
+ * 3. Check, for both windows, to see if the element at the beginning of the
+ *    window corresponds to the element at the end of the other window. This is
+ *    a heuristic which will let us identify _some_ situations in which
+ *    elements have changed position, for instance it _should_ detect that the
+ *    children nodes themselves have not changed but merely moved in the
+ *    following example:
+ *
+ *    oldVNode: `<div><element-one /><element-two /></div>`
+ *    newVNode: `<div><element-two /><element-one /></div>`
+ *
+ *    If we find cases like this then we also need to move the concrete DOM
+ *    elements corresponding to the moved children to write the re-order to the
+ *    DOM.
+ *
+ * 4. Finally, if VNodes have the `key` attribute set on them we check for any
+ *    nodes in the old children which have the same key as the first element in
+ *    our window on the new children. If we find such a node we handle calling
+ *    out to `patch`, moving relevant DOM nodes, and so on, in accordance with
+ *    what we find.
+ *
+ * Finally, once we've narrowed our 'windows' to the point that either of them
+ * collapse (i.e. they have length 0) we then handle any remaining VNode
+ * insertion or deletion that needs to happen to get a DOM state that correctly
+ * reflects the new child VNodes. If, for instance, after our window on the old
+ * children has collapsed we still have more nodes on the new children that
+ * we haven't dealt with yet then we need to add them, or if the new children
+ * collapse but we still have unhandled _old_ children then we need to make
+ * sure the corresponding DOM nodes are removed.
+ *
+ * @param parentElm the node into which the parent VNode is rendered
+ * @param oldCh the old children of the parent node
+ * @param newVNode the new VNode which will replace the parent
+ * @param newCh the new children of the parent node
+ */
+const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
+    let oldStartIdx = 0;
+    let newStartIdx = 0;
+    let oldEndIdx = oldCh.length - 1;
+    let oldStartVnode = oldCh[0];
+    let oldEndVnode = oldCh[oldEndIdx];
+    let newEndIdx = newCh.length - 1;
+    let newStartVnode = newCh[0];
+    let newEndVnode = newCh[newEndIdx];
+    let node;
+    while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
+        if (oldStartVnode == null) {
+            // VNode might have been moved left
+            oldStartVnode = oldCh[++oldStartIdx];
+        }
+        else if (oldEndVnode == null) {
+            oldEndVnode = oldCh[--oldEndIdx];
+        }
+        else if (newStartVnode == null) {
+            newStartVnode = newCh[++newStartIdx];
+        }
+        else if (newEndVnode == null) {
+            newEndVnode = newCh[--newEndIdx];
+        }
+        else if (isSameVnode(oldStartVnode, newStartVnode)) {
+            // if the start nodes are the same then we should patch the new VNode
+            // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
+            // indices to reflect that. We don't need to move any DOM Nodes around
+            // since things are matched up in order.
+            patch(oldStartVnode, newStartVnode);
+            oldStartVnode = oldCh[++oldStartIdx];
+            newStartVnode = newCh[++newStartIdx];
+        }
+        else if (isSameVnode(oldEndVnode, newEndVnode)) {
+            // likewise, if the end nodes are the same we patch new onto old and
+            // decrement our end indices, and also likewise in this case we don't
+            // need to move any DOM Nodes.
+            patch(oldEndVnode, newEndVnode);
+            oldEndVnode = oldCh[--oldEndIdx];
+            newEndVnode = newCh[--newEndIdx];
+        }
+        else if (isSameVnode(oldStartVnode, newEndVnode)) {
+            patch(oldStartVnode, newEndVnode);
+            // We need to move the element for `oldStartVnode` into a position which
+            // will be appropriate for `newEndVnode`. For this we can use
+            // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
+            // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
+            // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
+            //
+            // <old-start-node />
+            // <some-intervening-node />
+            // <old-end-node />
+            // <!-- ->              <-- `oldStartVnode.$elm$` should be inserted here
+            // <next-sibling />
+            //
+            // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
+            // the node for `oldStartVnode` at the end of the children of
+            // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
+            // aren't any siblings, and passing `null` to `Node.insertBefore` will
+            // append it to the children of the parent element.
+            parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
+            oldStartVnode = oldCh[++oldStartIdx];
+            newEndVnode = newCh[--newEndIdx];
+        }
+        else if (isSameVnode(oldEndVnode, newStartVnode)) {
+            patch(oldEndVnode, newStartVnode);
+            // We've already checked above if `oldStartVnode` and `newStartVnode` are
+            // the same node, so since we're here we know that they are not. Thus we
+            // can move the element for `oldEndVnode` _before_ the element for
+            // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
+            // future.
+            parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
+            oldEndVnode = oldCh[--oldEndIdx];
+            newStartVnode = newCh[++newStartIdx];
+        }
+        else {
+            {
+                // We either didn't find an element in the old children that matches
+                // the key of the first new child OR the build is not using `key`
+                // attributes at all. In either case we need to create a new element
+                // for the new node.
+                node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
+                newStartVnode = newCh[++newStartIdx];
+            }
+            if (node) {
+                // if we created a new node then handle inserting it to the DOM
+                {
+                    oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
+                }
+            }
+        }
+    }
+    if (oldStartIdx > oldEndIdx) {
+        // we have some more new nodes to add which don't match up with old nodes
+        addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
+    }
+    else if (newStartIdx > newEndIdx) {
+        // there are nodes in the `oldCh` array which no longer correspond to nodes
+        // in the new array, so lets remove them (which entails cleaning up the
+        // relevant DOM nodes)
+        removeVnodes(oldCh, oldStartIdx, oldEndIdx);
+    }
+};
+/**
+ * Compare two VNodes to determine if they are the same
+ *
+ * **NB**: This function is an equality _heuristic_ based on the available
+ * information set on the two VNodes and can be misleading under certain
+ * circumstances. In particular, if the two nodes do not have `key` attrs
+ * (available under `$key$` on VNodes) then the function falls back on merely
+ * checking that they have the same tag.
+ *
+ * So, in other words, if `key` attrs are not set on VNodes which may be
+ * changing order within a `children` array or something along those lines then
+ * we could obtain a false negative and then have to do needless re-rendering
+ * (i.e. we'd say two VNodes aren't equal when in fact they should be).
+ *
+ * @param leftVNode the first VNode to check
+ * @param rightVNode the second VNode to check
+ * @returns whether they're equal or not
+ */
+const isSameVnode = (leftVNode, rightVNode) => {
+    // compare if two vnode to see if they're "technically" the same
+    // need to have the same element tag, and same key to be the same
+    if (leftVNode.$tag$ === rightVNode.$tag$) {
+        return true;
+    }
+    return false;
+};
+/**
+ * Handle reconciling an outdated VNode with a new one which corresponds to
+ * it. This function handles flushing updates to the DOM and reconciling the
+ * children of the two nodes (if any).
+ *
+ * @param oldVNode an old VNode whose DOM element and children we want to update
+ * @param newVNode a new VNode representing an updated version of the old one
+ */
+const patch = (oldVNode, newVNode) => {
+    const elm = (newVNode.$elm$ = oldVNode.$elm$);
+    const oldChildren = oldVNode.$children$;
+    const newChildren = newVNode.$children$;
+    const tag = newVNode.$tag$;
+    const text = newVNode.$text$;
+    if (text === null) {
+        {
+            // test if we're rendering an svg element, or still rendering nodes inside of one
+            // only add this to the when the compiler sees we're using an svg somewhere
+            isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
+        }
+        {
+            {
+                // either this is the first render of an element OR it's an update
+                // AND we already know it's possible it could have changed
+                // this updates the element's css classes, attrs, props, listeners, etc.
+                updateElement(oldVNode, newVNode, isSvgMode);
+            }
+        }
+        if (oldChildren !== null && newChildren !== null) {
+            // looks like there's child vnodes for both the old and new vnodes
+            // so we need to call `updateChildren` to reconcile them
+            updateChildren(elm, oldChildren, newVNode, newChildren);
+        }
+        else if (newChildren !== null) {
+            // no old child vnodes, but there are new child vnodes to add
+            if (oldVNode.$text$ !== null) {
+                // the old vnode was text, so be sure to clear it out
+                elm.textContent = '';
+            }
+            // add the new vnode children
+            addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
+        }
+        else if (oldChildren !== null) {
+            // no new child vnodes, but there are old child vnodes to remove
+            removeVnodes(oldChildren, 0, oldChildren.length - 1);
+        }
+        if (isSvgMode && tag === 'svg') {
+            isSvgMode = false;
+        }
+    }
+    else if (oldVNode.$text$ !== text) {
+        // update the text content for the text only vnode
+        // and also only if the text is different than before
+        elm.data = text;
+    }
+};
+/**
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
+ * calling them with `null`. This signals that the DOM element corresponding to
+ * the VDom node has been removed from the DOM.
+ *
+ * @param vNode a virtual DOM node
+ */
+const nullifyVNodeRefs = (vNode) => {
+    {
+        vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
+        vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
+    }
+};
+/**
+ * The main entry point for Stencil's virtual DOM-based rendering engine
+ *
+ * Given a {@link d.HostRef} container and some virtual DOM nodes, this
+ * function will handle creating a virtual DOM tree with a single root, patching
+ * the current virtual DOM tree onto an old one (if any), dealing with slot
+ * relocation, and reflecting attributes.
+ *
+ * @param hostRef data needed to root and render the virtual DOM tree, such as
+ * the DOM node into which it should be rendered.
+ * @param renderFnResults the virtual DOM nodes to be rendered
+ */
+const renderVdom = (hostRef, renderFnResults) => {
+    const hostElm = hostRef.$hostElement$;
+    const oldVNode = hostRef.$vnode$ || newVNode(null, null);
+    const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
+    hostTagName = hostElm.tagName;
+    rootVnode.$tag$ = null;
+    rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
+    hostRef.$vnode$ = rootVnode;
+    rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
+    {
+        scopeId = hostElm['s-sc'];
+    }
+    // synchronous patch
+    patch(oldVNode, rootVnode);
+};
+const attachToAncestor = (hostRef, ancestorComponent) => {
+    if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
+        ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
+    }
+};
+const scheduleUpdate = (hostRef, isInitialLoad) => {
+    {
+        hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
+    }
+    if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
+        hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
+        return;
+    }
+    attachToAncestor(hostRef, hostRef.$ancestorComponent$);
+    // there is no ancestor component or the ancestor component
+    // has already fired off its lifecycle update then
+    // fire off the initial update
+    const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
+    return writeTask(dispatch) ;
+};
+/**
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
+ * component lifecycle methods like `componentWillLoad` as well as
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
+ *
+ * @param hostRef a reference to a host DOM node
+ * @param isInitialLoad whether we're on the initial load or not
+ * @returns an empty Promise which is used to enqueue a series of operations for
+ * the component
+ */
+const dispatchHooks = (hostRef, isInitialLoad) => {
+    const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
+    const instance = hostRef.$lazyInstance$ ;
+    // We're going to use this variable together with `enqueue` to implement a
+    // little promise-based queue. We start out with it `undefined`. When we add
+    // the first function to the queue we'll set this variable to be that
+    // function's return value. When we attempt to add subsequent values to the
+    // queue we'll check that value and, if it was a `Promise`, we'll then chain
+    // the new function off of that `Promise` using `.then()`. This will give our
+    // queue two nice properties:
+    //
+    // 1. If all functions added to the queue are synchronous they'll be called
+    //    synchronously right away.
+    // 2. If all functions added to the queue are asynchronous they'll all be
+    //    called in order after `dispatchHooks` exits.
+    let maybePromise;
+    if (isInitialLoad) {
+        {
+            hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
+            if (hostRef.$queuedListeners$) {
+                hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
+                hostRef.$queuedListeners$ = undefined;
+            }
+        }
+    }
+    endSchedule();
+    return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
+};
+/**
+ * This function uses a Promise to implement a simple first-in, first-out queue
+ * of functions to be called.
+ *
+ * The queue is ordered on the basis of the first argument. If it's
+ * `undefined`, then nothing is on the queue yet, so the provided function can
+ * be called synchronously (although note that this function may return a
+ * `Promise`). The idea is that then the return value of that enqueueing
+ * operation is kept around, so that if it was a `Promise` then subsequent
+ * functions can be enqueued by calling this function again with that `Promise`
+ * as the first argument.
+ *
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
+ * @param fn a function to enqueue
+ * @returns either a `Promise` or the return value of the provided function
+ */
+const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
+/**
+ * Check that a value is a `Promise`. To check, we first see if the value is an
+ * instance of the `Promise` global. In a few circumstances, in particular if
+ * the global has been overwritten, this is could be misleading, so we also do
+ * a little 'duck typing' check to see if the `.then` property of the value is
+ * defined and a function.
+ *
+ * @param maybePromise it might be a promise!
+ * @returns whether it is or not
+ */
+const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
+    (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
+const updateComponent = async (hostRef, instance, isInitialLoad) => {
+    var _a;
+    const elm = hostRef.$hostElement$;
+    const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
+    const rc = elm['s-rc'];
+    if (isInitialLoad) {
+        // DOM WRITE!
+        attachStyles(hostRef);
+    }
+    const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
+    {
+        callRender(hostRef, instance);
+    }
+    if (rc) {
+        // ok, so turns out there are some child host elements
+        // waiting on this parent element to load
+        // let's fire off all update callbacks waiting
+        rc.map((cb) => cb());
+        elm['s-rc'] = undefined;
+    }
+    endRender();
+    endUpdate();
+    {
+        const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
+        const postUpdate = () => postUpdateComponent(hostRef);
+        if (childrenPromises.length === 0) {
+            postUpdate();
+        }
+        else {
+            Promise.all(childrenPromises).then(postUpdate);
+            hostRef.$flags$ |= 4 /* HOST_FLAGS.isWaitingForChildren */;
+            childrenPromises.length = 0;
+        }
+    }
+};
+const callRender = (hostRef, instance, elm) => {
+    try {
+        instance = instance.render() ;
+        {
+            hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
+        }
+        {
+            hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
+        }
+        {
+            {
+                // looks like we've got child nodes to render into this host element
+                // or we need to update the css class/attrs on the host element
+                // DOM WRITE!
+                {
+                    renderVdom(hostRef, instance);
+                }
+            }
+        }
+    }
+    catch (e) {
+        consoleError(e, hostRef.$hostElement$);
+    }
+    return null;
+};
+const postUpdateComponent = (hostRef) => {
+    const tagName = hostRef.$cmpMeta$.$tagName$;
+    const elm = hostRef.$hostElement$;
+    const endPostUpdate = createTime('postUpdate', tagName);
+    const instance = hostRef.$lazyInstance$ ;
+    const ancestorComponent = hostRef.$ancestorComponent$;
+    if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
+        hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
+        {
+            // DOM WRITE!
+            addHydratedFlag(elm);
+        }
+        {
+            safeCall(instance, 'componentDidLoad');
+        }
+        endPostUpdate();
+        {
+            hostRef.$onReadyResolve$(elm);
+            if (!ancestorComponent) {
+                appDidLoad();
+            }
+        }
+    }
+    else {
+        endPostUpdate();
+    }
+    {
+        hostRef.$onInstanceResolve$(elm);
+    }
+    // load events fire from bottom to top
+    // the deepest elements load first then bubbles up
+    {
+        if (hostRef.$onRenderResolve$) {
+            hostRef.$onRenderResolve$();
+            hostRef.$onRenderResolve$ = undefined;
+        }
+        if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
+            nextTick(() => scheduleUpdate(hostRef, false));
+        }
+        hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
+    }
+    // ( •_•)
+    // ( •_•)>⌐■-■
+    // (⌐■_■)
+};
+const forceUpdate = (ref) => {
+    {
+        const hostRef = getHostRef(ref);
+        const isConnected = hostRef.$hostElement$.isConnected;
+        if (isConnected &&
+            (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
+            scheduleUpdate(hostRef, false);
+        }
+        // Returns "true" when the forced update was successfully scheduled
+        return isConnected;
+    }
+};
+const appDidLoad = (who) => {
+    // on appload
+    // we have finish the first big initial render
+    {
+        addHydratedFlag(doc.documentElement);
+    }
+    nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
+};
+const safeCall = (instance, method, arg) => {
+    if (instance && instance[method]) {
+        try {
+            return instance[method](arg);
+        }
+        catch (e) {
+            consoleError(e);
+        }
+    }
+    return undefined;
+};
+const addHydratedFlag = (elm) => elm.classList.add('hydrated')
+    ;
+const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
+const setValue = (ref, propName, newVal, cmpMeta) => {
+    // check our new property value against our internal value
+    const hostRef = getHostRef(ref);
+    const oldVal = hostRef.$instanceValues$.get(propName);
+    const flags = hostRef.$flags$;
+    const instance = hostRef.$lazyInstance$ ;
+    newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
+    // explicitly check for NaN on both sides, as `NaN === NaN` is always false
+    const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
+    const didValueChange = newVal !== oldVal && !areBothNaN;
+    if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
+        // gadzooks! the property's value has changed!!
+        // set our new value!
+        hostRef.$instanceValues$.set(propName, newVal);
+        if (instance) {
+            if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
+                // looks like this value actually changed, so we've got work to do!
+                // but only if we've already rendered, otherwise just chill out
+                // queue that we need to do an update, but don't worry about queuing
+                // up millions cuz this function ensures it only runs once
+                scheduleUpdate(hostRef, false);
+            }
+        }
+    }
+};
+/**
+ * Attach a series of runtime constructs to a compiled Stencil component
+ * constructor, including getters and setters for the `@Prop` and `@State`
+ * decorators, callbacks for when attributes change, and so on.
+ *
+ * @param Cstr the constructor for a component that we need to process
+ * @param cmpMeta metadata collected previously about the component
+ * @param flags a number used to store a series of bit flags
+ * @returns a reference to the same constructor passed in (but now mutated)
+ */
+const proxyComponent = (Cstr, cmpMeta, flags) => {
+    if (cmpMeta.$members$) {
+        // It's better to have a const than two Object.entries()
+        const members = Object.entries(cmpMeta.$members$);
+        const prototype = Cstr.prototype;
+        members.map(([memberName, [memberFlags]]) => {
+            if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
+                    ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
+                // proxyComponent - prop
+                Object.defineProperty(prototype, memberName, {
+                    get() {
+                        // proxyComponent, get value
+                        return getValue(this, memberName);
+                    },
+                    set(newValue) {
+                        // proxyComponent, set value
+                        setValue(this, memberName, newValue, cmpMeta);
+                    },
+                    configurable: true,
+                    enumerable: true,
+                });
+            }
+            else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ &&
+                memberFlags & 64 /* MEMBER_FLAGS.Method */) {
+                // proxyComponent - method
+                Object.defineProperty(prototype, memberName, {
+                    value(...args) {
+                        const ref = getHostRef(this);
+                        return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
+                    },
+                });
+            }
+        });
+        if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
+            const attrNameToPropName = new Map();
+            prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
+                plt.jmp(() => {
+                    const propName = attrNameToPropName.get(attrName);
+                    //  In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
+                    //  in the case where an attribute was set inline.
+                    //  ```html
+                    //    <my-component some-attribute="some-value"></my-component>
+                    //  ```
+                    //
+                    //  There is an edge case where a developer sets the attribute inline on a custom element and then
+                    //  programmatically changes it before it has been upgraded as shown below:
+                    //
+                    //  ```html
+                    //    <!-- this component has _not_ been upgraded yet -->
+                    //    <my-component id="test" some-attribute="some-value"></my-component>
+                    //    <script>
+                    //      // grab non-upgraded component
+                    //      el = document.querySelector("#test");
+                    //      el.someAttribute = "another-value";
+                    //      // upgrade component
+                    //      customElements.define('my-component', MyComponent);
+                    //    </script>
+                    //  ```
+                    //  In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
+                    //  will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
+                    //  to the value that was set inline i.e. "some-value" from above example. When
+                    //  the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
+                    //
+                    //  The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
+                    //  by connectedCallback as this attributeChangedCallback will not fire.
+                    //
+                    //  https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
+                    //
+                    //  TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
+                    //  properties here given that this goes against best practices outlined here
+                    //  https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
+                    if (this.hasOwnProperty(propName)) {
+                        newValue = this[propName];
+                        delete this[propName];
+                    }
+                    else if (prototype.hasOwnProperty(propName) &&
+                        typeof this[propName] === 'number' &&
+                        this[propName] == newValue) {
+                        // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
+                        // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
+                        // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
+                        return;
+                    }
+                    this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
+                });
+            };
+            // create an array of attributes to observe
+            // and also create a map of html attribute name to js property name
+            Cstr.observedAttributes = members
+                .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
+                .map(([propName, m]) => {
+                const attrName = m[1] || propName;
+                attrNameToPropName.set(attrName, propName);
+                return attrName;
+            });
+        }
+    }
+    return Cstr;
+};
+const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
+    // initializeComponent
+    if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
+        // Let the runtime know that the component has been initialized
+        hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
+        {
+            // lazy loaded components
+            // request the component's implementation to be
+            // wired up with the host element
+            Cstr = loadModule(cmpMeta);
+            if (Cstr.then) {
+                // Await creates a micro-task avoid if possible
+                const endLoad = uniqueTime();
+                Cstr = await Cstr;
+                endLoad();
+            }
+            if (!Cstr.isProxied) {
+                proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
+                Cstr.isProxied = true;
+            }
+            const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);
+            // ok, time to construct the instance
+            // but let's keep track of when we start and stop
+            // so that the getters/setters don't incorrectly step on data
+            {
+                hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
+            }
+            // construct the lazy-loaded component implementation
+            // passing the hostRef is very important during
+            // construction in order to directly wire together the
+            // host element and the lazy-loaded instance
+            try {
+                new Cstr(hostRef);
+            }
+            catch (e) {
+                consoleError(e);
+            }
+            {
+                hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
+            }
+            endNewInstance();
+        }
+        if (Cstr.style) {
+            // this component has styles but we haven't registered them yet
+            let style = Cstr.style;
+            const scopeId = getScopeId(cmpMeta);
+            if (!styles.has(scopeId)) {
+                const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
+                registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
+                endRegisterStyles();
+            }
+        }
+    }
+    // we've successfully created a lazy instance
+    const ancestorComponent = hostRef.$ancestorComponent$;
+    const schedule = () => scheduleUpdate(hostRef, true);
+    if (ancestorComponent && ancestorComponent['s-rc']) {
+        // this is the initial load and this component it has an ancestor component
+        // but the ancestor component has NOT fired its will update lifecycle yet
+        // so let's just cool our jets and wait for the ancestor to continue first
+        // this will get fired off when the ancestor component
+        // finally gets around to rendering its lazy self
+        // fire off the initial update
+        ancestorComponent['s-rc'].push(schedule);
+    }
+    else {
+        schedule();
+    }
+};
+const connectedCallback = (elm) => {
+    if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
+        const hostRef = getHostRef(elm);
+        const cmpMeta = hostRef.$cmpMeta$;
+        const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
+        if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
+            // first time this component has connected
+            hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
+            {
+                // find the first ancestor component (if there is one) and register
+                // this component as one of the actively loading child components for its ancestor
+                let ancestorComponent = elm;
+                while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {
+                    // climb up the ancestors looking for the first
+                    // component that hasn't finished its lifecycle update yet
+                    if (ancestorComponent['s-p']) {
+                        // we found this components first ancestor component
+                        // keep a reference to this component's ancestor component
+                        attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));
+                        break;
+                    }
+                }
+            }
+            // Lazy properties
+            // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
+            if (cmpMeta.$members$) {
+                Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
+                    if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
+                        const value = elm[memberName];
+                        delete elm[memberName];
+                        elm[memberName] = value;
+                    }
+                });
+            }
+            {
+                initializeComponent(elm, hostRef, cmpMeta);
+            }
+        }
+        else {
+            // not the first time this has connected
+            // reattach any event listeners to the host
+            // since they would have been removed when disconnected
+            addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
+        }
+        endConnected();
+    }
+};
+const disconnectedCallback = (elm) => {
+    if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
+        const hostRef = getHostRef(elm);
+        const instance = hostRef.$lazyInstance$ ;
+        {
+            if (hostRef.$rmListeners$) {
+                hostRef.$rmListeners$.map((rmListener) => rmListener());
+                hostRef.$rmListeners$ = undefined;
+            }
+        }
+        {
+            safeCall(instance, 'disconnectedCallback');
+        }
+    }
+};
+const bootstrapLazy = (lazyBundles, options = {}) => {
+    var _a;
+    const endBootstrap = createTime();
+    const cmpTags = [];
+    const exclude = options.exclude || [];
+    const customElements = win.customElements;
+    const head = doc.head;
+    const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
+    const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
+    const deferredConnectedCallbacks = [];
+    let appLoadFallback;
+    let isBootstrapping = true;
+    Object.assign(plt, options);
+    plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
+    lazyBundles.map((lazyBundle) => {
+        lazyBundle[1].map((compactMeta) => {
+            const cmpMeta = {
+                $flags$: compactMeta[0],
+                $tagName$: compactMeta[1],
+                $members$: compactMeta[2],
+                $listeners$: compactMeta[3],
+            };
+            {
+                cmpMeta.$members$ = compactMeta[2];
+            }
+            {
+                cmpMeta.$listeners$ = compactMeta[3];
+            }
+            const tagName = cmpMeta.$tagName$;
+            const HostElement = class extends HTMLElement {
+                // StencilLazyHost
+                constructor(self) {
+                    // @ts-ignore
+                    super(self);
+                    self = this;
+                    registerHost(self, cmpMeta);
+                    if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
+                        // this component is using shadow dom
+                        // and this browser supports shadow dom
+                        // add the read-only property "shadowRoot" to the host element
+                        // adding the shadow root build conditionals to minimize runtime
+                        {
+                            {
+                                self.attachShadow({ mode: 'open' });
+                            }
+                        }
+                    }
+                }
+                connectedCallback() {
+                    if (appLoadFallback) {
+                        clearTimeout(appLoadFallback);
+                        appLoadFallback = null;
+                    }
+                    if (isBootstrapping) {
+                        // connectedCallback will be processed once all components have been registered
+                        deferredConnectedCallbacks.push(this);
+                    }
+                    else {
+                        plt.jmp(() => connectedCallback(this));
+                    }
+                }
+                disconnectedCallback() {
+                    plt.jmp(() => disconnectedCallback(this));
+                }
+                componentOnReady() {
+                    return getHostRef(this).$onReadyPromise$;
+                }
+            };
+            cmpMeta.$lazyBundleId$ = lazyBundle[0];
+            if (!exclude.includes(tagName) && !customElements.get(tagName)) {
+                cmpTags.push(tagName);
+                customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
+            }
+        });
+    });
+    {
+        visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
+        visibilityStyle.setAttribute('data-styles', '');
+        // Apply CSP nonce to the style tag if it exists
+        const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
+        if (nonce != null) {
+            visibilityStyle.setAttribute('nonce', nonce);
+        }
+        head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
+    }
+    // Process deferred connectedCallbacks now all components have been registered
+    isBootstrapping = false;
+    if (deferredConnectedCallbacks.length) {
+        deferredConnectedCallbacks.map((host) => host.connectedCallback());
+    }
+    else {
+        {
+            plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));
+        }
+    }
+    // Fallback appLoad event
+    endBootstrap();
+};
+const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
+    if (listeners) {
+        listeners.map(([flags, name, method]) => {
+            const target = getHostListenerTarget(elm, flags) ;
+            const handler = hostListenerProxy(hostRef, method);
+            const opts = hostListenerOpts(flags);
+            plt.ael(target, name, handler, opts);
+            (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
+        });
+    }
+};
+const hostListenerProxy = (hostRef, methodName) => (ev) => {
+    try {
+        {
+            if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
+                // instance is ready, let's call it's member method for this event
+                hostRef.$lazyInstance$[methodName](ev);
+            }
+            else {
+                (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
+            }
+        }
+    }
+    catch (e) {
+        consoleError(e);
+    }
+};
+const getHostListenerTarget = (elm, flags) => {
+    if (flags & 16 /* LISTENER_FLAGS.TargetBody */)
+        return doc.body;
+    return elm;
+};
+// prettier-ignore
+const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
+/**
+ * Assigns the given value to the nonce property on the runtime platform object.
+ * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
+ * @param nonce The value to be assigned to the platform nonce property.
+ * @returns void
+ */
+const setNonce = (nonce) => (plt.$nonce$ = nonce);
+const hostRefs = /*@__PURE__*/ new WeakMap();
+const getHostRef = (ref) => hostRefs.get(ref);
+const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
+const registerHost = (elm, cmpMeta) => {
+    const hostRef = {
+        $flags$: 0,
+        $hostElement$: elm,
+        $cmpMeta$: cmpMeta,
+        $instanceValues$: new Map(),
+    };
+    {
+        hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));
+    }
+    {
+        hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
+        elm['s-p'] = [];
+        elm['s-rc'] = [];
+    }
+    addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
+    return hostRefs.set(elm, hostRef);
+};
+const isMemberInElement = (elm, memberName) => memberName in elm;
+const consoleError = (e, el) => (0, console.error)(e, el);
+const cmpModules = /*@__PURE__*/ new Map();
+const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
+    // loadModuleImport
+    const exportName = cmpMeta.$tagName$.replace(/-/g, '_');
+    const bundleId = cmpMeta.$lazyBundleId$;
+    const module = cmpModules.get(bundleId) ;
+    if (module) {
+        return module[exportName];
+    }
+    
+    if (!hmrVersionId || !BUILD.hotModuleReplacement) {
+      const processMod = importedModule => {
+        cmpModules.set(bundleId, importedModule);
+        return importedModule[exportName];
+      }
+      switch(bundleId) {
+        
+        case 'pwa-action-sheet.cjs':
+          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
+            /* webpackMode: "lazy" */
+            './pwa-action-sheet.cjs.entry.js')); }).then(processMod, consoleError);
+        case 'pwa-camera-modal.cjs':
+          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
+            /* webpackMode: "lazy" */
+            './pwa-camera-modal.cjs.entry.js')); }).then(processMod, consoleError);
+        case 'pwa-toast.cjs':
+          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
+            /* webpackMode: "lazy" */
+            './pwa-toast.cjs.entry.js')); }).then(processMod, consoleError);
+        case 'pwa-camera-modal-instance.cjs':
+          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
+            /* webpackMode: "lazy" */
+            './pwa-camera-modal-instance.cjs.entry.js')); }).then(processMod, consoleError);
+        case 'pwa-camera.cjs':
+          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
+            /* webpackMode: "lazy" */
+            './pwa-camera.cjs.entry.js')); }).then(processMod, consoleError);
+      }
+    }
+    return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
+    /* @vite-ignore */
+    /* webpackInclude: /\.entry\.js$/ */
+    /* webpackExclude: /\.system\.entry\.js$/ */
+    /* webpackMode: "lazy" */
+    `./${bundleId}.entry.js${''}`)); }).then((importedModule) => {
+        {
+            cmpModules.set(bundleId, importedModule);
+        }
+        return importedModule[exportName];
+    }, consoleError);
+};
+const styles = /*@__PURE__*/ new Map();
+const win = typeof window !== 'undefined' ? window : {};
+const doc = win.document || { head: {} };
+const plt = {
+    $flags$: 0,
+    $resourcesUrl$: '',
+    jmp: (h) => h(),
+    raf: (h) => requestAnimationFrame(h),
+    ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
+    rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
+    ce: (eventName, opts) => new CustomEvent(eventName, opts),
+};
+const promiseResolve = (v) => Promise.resolve(v);
+const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
+        try {
+            new CSSStyleSheet();
+            return typeof new CSSStyleSheet().replaceSync === 'function';
+        }
+        catch (e) { }
+        return false;
+    })()
+    ;
+const queueDomReads = [];
+const queueDomWrites = [];
+const queueTask = (queue, write) => (cb) => {
+    queue.push(cb);
+    if (!queuePending) {
+        queuePending = true;
+        if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
+            nextTick(flush);
+        }
+        else {
+            plt.raf(flush);
+        }
+    }
+};
+const consume = (queue) => {
+    for (let i = 0; i < queue.length; i++) {
+        try {
+            queue[i](performance.now());
+        }
+        catch (e) {
+            consoleError(e);
+        }
+    }
+    queue.length = 0;
+};
+const flush = () => {
+    // always force a bunch of medium callbacks to run, but still have
+    // a throttle on how many can run in a certain time
+    // DOM READS!!!
+    consume(queueDomReads);
+    // DOM WRITES!!!
+    {
+        consume(queueDomWrites);
+        if ((queuePending = queueDomReads.length > 0)) {
+            // still more to do yet, but we've run out of time
+            // let's let this thing cool off and try again in the next tick
+            plt.raf(flush);
+        }
+    }
+};
+const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
+const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
+
+exports.Host = Host;
+exports.bootstrapLazy = bootstrapLazy;
+exports.createEvent = createEvent;
+exports.forceUpdate = forceUpdate;
+exports.getElement = getElement;
+exports.h = h;
+exports.promiseResolve = promiseResolve;
+exports.registerInstance = registerInstance;
+exports.setNonce = setNonce;
diff --git a/src/public/js/pwa-elements/cjs/index.cjs.js b/src/public/js/pwa-elements/cjs/index.cjs.js
new file mode 100644
index 0000000..eb109ab
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/index.cjs.js
@@ -0,0 +1,2 @@
+'use strict';
+
diff --git a/src/public/js/pwa-elements/cjs/ionicpwaelements.cjs.js b/src/public/js/pwa-elements/cjs/ionicpwaelements.cjs.js
new file mode 100644
index 0000000..10dd1b3
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/ionicpwaelements.cjs.js
@@ -0,0 +1,26 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+const index = require('./index-d7f36e37.js');
+
+/*
+ Stencil Client Patch Browser v3.4.0 | MIT Licensed | https://stenciljs.com
+ */
+const patchBrowser = () => {
+    const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('ionicpwaelements.cjs.js', document.baseURI).href));
+    const opts = {};
+    // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
+    if (importMeta !== '') {
+        opts.resourcesUrl = new URL('.', importMeta).href;
+        // TODO(STENCIL-661): Remove code related to the dynamic import shim
+        // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
+    }
+    return index.promiseResolve(opts);
+};
+
+patchBrowser().then(options => {
+  return index.bootstrapLazy([["pwa-camera-modal.cjs",[[1,"pwa-camera-modal",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"present":[64],"dismiss":[64]}]]],["pwa-action-sheet.cjs",[[1,"pwa-action-sheet",{"header":[1],"cancelable":[4],"options":[16],"open":[32]}]]],["pwa-toast.cjs",[[1,"pwa-toast",{"message":[1],"duration":[2],"closing":[32]}]]],["pwa-camera.cjs",[[1,"pwa-camera",{"facingMode":[1,"facing-mode"],"handlePhoto":[16],"hidePicker":[4,"hide-picker"],"handleNoDeviceError":[16],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"],"photo":[32],"photoSrc":[32],"showShutterOverlay":[32],"flashIndex":[32],"hasCamera":[32],"rotation":[32],"deviceError":[32]}]]],["pwa-camera-modal-instance.cjs",[[1,"pwa-camera-modal-instance",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]], options);
+});
+
+exports.setNonce = index.setNonce;
diff --git a/src/public/js/pwa-elements/cjs/loader.cjs.js b/src/public/js/pwa-elements/cjs/loader.cjs.js
new file mode 100644
index 0000000..a197f5f
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/loader.cjs.js
@@ -0,0 +1,22 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+const index = require('./index-d7f36e37.js');
+
+/*
+ Stencil Client Patch Esm v3.4.0 | MIT Licensed | https://stenciljs.com
+ */
+const patchEsm = () => {
+    return index.promiseResolve();
+};
+
+const defineCustomElements = (win, options) => {
+  if (typeof window === 'undefined') return Promise.resolve();
+  return patchEsm().then(() => {
+  return index.bootstrapLazy([["pwa-camera-modal.cjs",[[1,"pwa-camera-modal",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"present":[64],"dismiss":[64]}]]],["pwa-action-sheet.cjs",[[1,"pwa-action-sheet",{"header":[1],"cancelable":[4],"options":[16],"open":[32]}]]],["pwa-toast.cjs",[[1,"pwa-toast",{"message":[1],"duration":[2],"closing":[32]}]]],["pwa-camera.cjs",[[1,"pwa-camera",{"facingMode":[1,"facing-mode"],"handlePhoto":[16],"hidePicker":[4,"hide-picker"],"handleNoDeviceError":[16],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"],"photo":[32],"photoSrc":[32],"showShutterOverlay":[32],"flashIndex":[32],"hasCamera":[32],"rotation":[32],"deviceError":[32]}]]],["pwa-camera-modal-instance.cjs",[[1,"pwa-camera-modal-instance",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]], options);
+  });
+};
+
+exports.setNonce = index.setNonce;
+exports.defineCustomElements = defineCustomElements;
diff --git a/src/public/js/pwa-elements/cjs/pwa-action-sheet.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-action-sheet.cjs.entry.js
new file mode 100644
index 0000000..f482ee2
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/pwa-action-sheet.cjs.entry.js
@@ -0,0 +1,46 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+const index = require('./index-d7f36e37.js');
+
+const actionSheetCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}";
+
+const PWAActionSheet = class {
+  constructor(hostRef) {
+    index.registerInstance(this, hostRef);
+    this.onSelection = index.createEvent(this, "onSelection", 7);
+    this.header = undefined;
+    this.cancelable = true;
+    this.options = [];
+    this.open = false;
+  }
+  componentDidLoad() {
+    requestAnimationFrame(() => {
+      this.open = true;
+    });
+  }
+  dismiss() {
+    if (this.cancelable) {
+      this.close();
+    }
+  }
+  close() {
+    this.open = false;
+    setTimeout(() => {
+      this.el.parentNode.removeChild(this.el);
+    }, 500);
+  }
+  handleOptionClick(e, i) {
+    e.stopPropagation();
+    this.onSelection.emit(i);
+    this.close();
+  }
+  render() {
+    return (index.h("div", { class: `wrapper${this.open ? ' open' : ''}`, onClick: () => this.dismiss() }, index.h("div", { class: "content" }, index.h("div", { class: "title" }, this.header), this.options.map((option, i) => index.h("div", { class: "action-sheet-option", onClick: (e) => this.handleOptionClick(e, i) }, index.h("div", { class: "action-sheet-button" }, option.title))))));
+  }
+  get el() { return index.getElement(this); }
+};
+PWAActionSheet.style = actionSheetCss;
+
+exports.pwa_action_sheet = PWAActionSheet;
diff --git a/src/public/js/pwa-elements/cjs/pwa-camera-modal-instance.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-camera-modal-instance.cjs.entry.js
new file mode 100644
index 0000000..0c8cfe3
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/pwa-camera-modal-instance.cjs.entry.js
@@ -0,0 +1,45 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+const index = require('./index-d7f36e37.js');
+
+const cameraModalInstanceCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
+
+const PWACameraModal = class {
+  constructor(hostRef) {
+    index.registerInstance(this, hostRef);
+    this.onPhoto = index.createEvent(this, "onPhoto", 7);
+    this.noDeviceError = index.createEvent(this, "noDeviceError", 7);
+    this.handlePhoto = async (photo) => {
+      this.onPhoto.emit(photo);
+    };
+    this.handleNoDeviceError = async (photo) => {
+      this.noDeviceError.emit(photo);
+    };
+    this.facingMode = 'user';
+    this.hidePicker = false;
+    this.noDevicesText = 'No camera found';
+    this.noDevicesButtonText = 'Choose image';
+  }
+  handleBackdropClick(e) {
+    if (e.target !== this.el) {
+      this.onPhoto.emit(null);
+    }
+  }
+  handleComponentClick(e) {
+    e.stopPropagation();
+  }
+  handleBackdropKeyUp(e) {
+    if (e.key === "Escape") {
+      this.onPhoto.emit(null);
+    }
+  }
+  render() {
+    return (index.h("div", { class: "wrapper", onClick: e => this.handleBackdropClick(e) }, index.h("div", { class: "content" }, index.h("pwa-camera", { onClick: e => this.handleComponentClick(e), facingMode: this.facingMode, hidePicker: this.hidePicker, handlePhoto: this.handlePhoto, handleNoDeviceError: this.handleNoDeviceError, noDevicesButtonText: this.noDevicesButtonText, noDevicesText: this.noDevicesText }))));
+  }
+  get el() { return index.getElement(this); }
+};
+PWACameraModal.style = cameraModalInstanceCss;
+
+exports.pwa_camera_modal_instance = PWACameraModal;
diff --git a/src/public/js/pwa-elements/cjs/pwa-camera-modal.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-camera-modal.cjs.entry.js
new file mode 100644
index 0000000..867fa4c
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/pwa-camera-modal.cjs.entry.js
@@ -0,0 +1,47 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+const index = require('./index-d7f36e37.js');
+
+const cameraModalCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
+
+const PWACameraModal = class {
+  constructor(hostRef) {
+    index.registerInstance(this, hostRef);
+    this.onPhoto = index.createEvent(this, "onPhoto", 7);
+    this.noDeviceError = index.createEvent(this, "noDeviceError", 7);
+    this.facingMode = 'user';
+    this.hidePicker = false;
+  }
+  async present() {
+    const camera = document.createElement('pwa-camera-modal-instance');
+    camera.facingMode = this.facingMode;
+    camera.hidePicker = this.hidePicker;
+    camera.addEventListener('onPhoto', async (e) => {
+      if (!this._modal) {
+        return;
+      }
+      const photo = e.detail;
+      this.onPhoto.emit(photo);
+    });
+    camera.addEventListener('noDeviceError', async (e) => {
+      this.noDeviceError.emit(e);
+    });
+    document.body.append(camera);
+    this._modal = camera;
+  }
+  async dismiss() {
+    if (!this._modal) {
+      return;
+    }
+    this._modal && this._modal.parentNode.removeChild(this._modal);
+    this._modal = null;
+  }
+  render() {
+    return (index.h("div", null));
+  }
+};
+PWACameraModal.style = cameraModalCss;
+
+exports.pwa_camera_modal = PWACameraModal;
diff --git a/src/public/js/pwa-elements/cjs/pwa-camera.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-camera.cjs.entry.js
new file mode 100644
index 0000000..f961db3
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/pwa-camera.cjs.entry.js
@@ -0,0 +1,485 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+const index = require('./index-d7f36e37.js');
+
+/**
+ * MediaStream ImageCapture polyfill
+ *
+ * @license
+ * Copyright 2018 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+let ImageCapture = window.ImageCapture;
+if (typeof ImageCapture === 'undefined') {
+  ImageCapture = class {
+    /**
+     * TODO https://www.w3.org/TR/image-capture/#constructors
+     *
+     * @param {MediaStreamTrack} videoStreamTrack - A MediaStreamTrack of the 'video' kind
+     */
+    constructor(videoStreamTrack) {
+      if (videoStreamTrack.kind !== 'video')
+        throw new DOMException('NotSupportedError');
+      this._videoStreamTrack = videoStreamTrack;
+      if (!('readyState' in this._videoStreamTrack)) {
+        // Polyfill for Firefox
+        this._videoStreamTrack.readyState = 'live';
+      }
+      // MediaStream constructor not available until Chrome 55 - https://www.chromestatus.com/feature/5912172546752512
+      this._previewStream = new MediaStream([videoStreamTrack]);
+      this.videoElement = document.createElement('video');
+      this.videoElementPlaying = new Promise(resolve => {
+        this.videoElement.addEventListener('playing', resolve);
+      });
+      if (HTMLMediaElement) {
+        this.videoElement.srcObject = this._previewStream; // Safari 11 doesn't allow use of createObjectURL for MediaStream
+      }
+      else {
+        this.videoElement.src = URL.createObjectURL(this._previewStream);
+      }
+      this.videoElement.muted = true;
+      this.videoElement.setAttribute('playsinline', ''); // Required by Safari on iOS 11. See https://webkit.org/blog/6784
+      this.videoElement.play();
+      this.canvasElement = document.createElement('canvas');
+      // TODO Firefox has https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas
+      this.canvas2dContext = this.canvasElement.getContext('2d');
+    }
+    /**
+     * https://w3c.github.io/mediacapture-image/index.html#dom-imagecapture-videostreamtrack
+     * @return {MediaStreamTrack} The MediaStreamTrack passed into the constructor
+     */
+    get videoStreamTrack() {
+      return this._videoStreamTrack;
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
+     * @return {Promise<PhotoCapabilities>} Fulfilled promise with
+     * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
+     * object on success, rejected promise on failure
+     */
+    getPhotoCapabilities() {
+      return new Promise(function executorGPC(resolve, reject) {
+        // TODO see https://github.com/w3c/mediacapture-image/issues/97
+        const MediaSettingsRange = {
+          current: 0, min: 0, max: 0,
+        };
+        resolve({
+          exposureCompensation: MediaSettingsRange,
+          exposureMode: 'none',
+          fillLightMode: ['none'],
+          focusMode: 'none',
+          imageHeight: MediaSettingsRange,
+          imageWidth: MediaSettingsRange,
+          iso: MediaSettingsRange,
+          redEyeReduction: false,
+          whiteBalanceMode: 'none',
+          zoom: MediaSettingsRange,
+        });
+        reject(new DOMException('OperationError'));
+      });
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
+     * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
+     * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
+     */
+    setOptions(_photoSettings = {}) {
+      return new Promise(function executorSO(_resolve, _reject) {
+        // TODO
+      });
+    }
+    /**
+     * TODO
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
+     * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
+     * argument on success; rejected promise on failure
+     */
+    takePhoto() {
+      const self = this;
+      return new Promise(function executorTP(resolve, reject) {
+        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+        if (self._videoStreamTrack.readyState !== 'live') {
+          return reject(new DOMException('InvalidStateError'));
+        }
+        self.videoElementPlaying.then(() => {
+          try {
+            self.canvasElement.width = self.videoElement.videoWidth;
+            self.canvasElement.height = self.videoElement.videoHeight;
+            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+            self.canvasElement.toBlob(resolve);
+          }
+          catch (error) {
+            reject(new DOMException('UnknownError'));
+          }
+        });
+      });
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
+     * @return {Promise<ImageBitmap>} Fulfilled promise with
+     * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
+     * argument on success; rejected promise on failure
+     */
+    grabFrame() {
+      const self = this;
+      return new Promise(function executorGF(resolve, reject) {
+        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+        if (self._videoStreamTrack.readyState !== 'live') {
+          return reject(new DOMException('InvalidStateError'));
+        }
+        self.videoElementPlaying.then(() => {
+          try {
+            self.canvasElement.width = self.videoElement.videoWidth;
+            self.canvasElement.height = self.videoElement.videoHeight;
+            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+            // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
+            resolve(window.createImageBitmap(self.canvasElement));
+          }
+          catch (error) {
+            reject(new DOMException('UnknownError'));
+          }
+        });
+      });
+    }
+  };
+}
+window.ImageCapture = ImageCapture;
+
+const cameraCss = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
+
+const CameraPWA = class {
+  constructor(hostRef) {
+    index.registerInstance(this, hostRef);
+    // Whether the device has multiple cameras (front/back)
+    this.hasMultipleCameras = false;
+    // Whether the device has flash support
+    this.hasFlash = false;
+    // Flash modes for camera
+    this.flashModes = [];
+    // Current flash mode
+    this.flashMode = 'off';
+    this.handlePickFile = (_e) => {
+    };
+    this.handleShutterClick = (_e) => {
+      console.debug('shutter click');
+      this.capture();
+    };
+    this.handleRotateClick = (_e) => {
+      this.rotate();
+    };
+    this.handleClose = (_e) => {
+      this.handlePhoto && this.handlePhoto(null);
+    };
+    this.handleFlashClick = (_e) => {
+      this.cycleFlash();
+    };
+    this.handleCancelPhoto = (_e) => {
+      const track = this.stream && this.stream.getTracks()[0];
+      let c = track && track.getConstraints();
+      this.photo = null;
+      this.photoSrc = null;
+      if (c) {
+        this.initCamera({
+          video: {
+            facingMode: c.facingMode
+          }
+        });
+      }
+      else {
+        this.initCamera();
+      }
+    };
+    this.handleAcceptPhoto = (_e) => {
+      this.handlePhoto && this.handlePhoto(this.photo);
+    };
+    this.handleFileInputChange = async (e) => {
+      const input = e.target;
+      const file = input.files[0];
+      try {
+        const orientation = await this.getOrientation(file);
+        console.debug('Got orientation', orientation);
+        this.photoOrientation = orientation;
+      }
+      catch (e) {
+      }
+      this.handlePhoto && this.handlePhoto(file);
+    };
+    this.handleVideoMetadata = (e) => {
+      console.debug('Video metadata', e);
+    };
+    this.facingMode = 'user';
+    this.handlePhoto = undefined;
+    this.hidePicker = false;
+    this.handleNoDeviceError = undefined;
+    this.noDevicesText = 'No camera found';
+    this.noDevicesButtonText = 'Choose image';
+    this.photo = undefined;
+    this.photoSrc = undefined;
+    this.showShutterOverlay = false;
+    this.flashIndex = 0;
+    this.hasCamera = null;
+    this.rotation = 0;
+    this.deviceError = null;
+  }
+  async componentDidLoad() {
+    this.defaultConstraints = {
+      video: {
+        facingMode: this.facingMode
+      }
+    };
+    // Figure out how many cameras we have
+    await this.queryDevices();
+    // Initialize the camera
+    await this.initCamera();
+  }
+  disconnectedCallback() {
+    this.stopStream();
+    this.photoSrc && URL.revokeObjectURL(this.photoSrc);
+  }
+  hasImageCapture() {
+    return 'ImageCapture' in window;
+  }
+  /**
+   * Query the list of connected devices and figure out how many video inputs we have.
+   */
+  async queryDevices() {
+    try {
+      const devices = await navigator.mediaDevices.enumerateDevices();
+      const videoDevices = devices.filter(d => d.kind == 'videoinput');
+      this.hasCamera = !!videoDevices.length;
+      this.hasMultipleCameras = videoDevices.length > 1;
+    }
+    catch (e) {
+      this.deviceError = e;
+    }
+  }
+  async initCamera(constraints) {
+    if (!constraints) {
+      constraints = this.defaultConstraints;
+    }
+    try {
+      const stream = await navigator.mediaDevices.getUserMedia(Object.assign({ video: true, audio: false }, constraints));
+      this.initStream(stream);
+    }
+    catch (e) {
+      this.deviceError = e;
+      this.handleNoDeviceError && this.handleNoDeviceError(e);
+    }
+  }
+  async initStream(stream) {
+    this.stream = stream;
+    this.videoElement.srcObject = stream;
+    if (this.hasImageCapture()) {
+      this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
+      await this.initPhotoCapabilities(this.imageCapture);
+    }
+    else {
+      this.deviceError = 'No image capture';
+      this.handleNoDeviceError && this.handleNoDeviceError();
+    }
+    // Always re-render
+    index.forceUpdate(this.el);
+  }
+  async initPhotoCapabilities(imageCapture) {
+    const c = await imageCapture.getPhotoCapabilities();
+    if (c.fillLightMode && c.fillLightMode.length > 1) {
+      this.flashModes = c.fillLightMode.map(m => m);
+      // Try to recall the current flash mode
+      if (this.flashMode) {
+        this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
+        this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+      }
+      else {
+        this.flashIndex = 0;
+      }
+    }
+  }
+  stopStream() {
+    if (this.videoElement) {
+      this.videoElement.srcObject = null;
+    }
+    this.stream && this.stream.getTracks().forEach(track => track.stop());
+  }
+  async capture() {
+    if (this.hasImageCapture()) {
+      try {
+        const photo = await this.imageCapture.takePhoto({
+          fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
+        });
+        await this.flashScreen();
+        this.promptAccept(photo);
+      }
+      catch (e) {
+        console.error('Unable to take photo!', e);
+      }
+    }
+    this.stopStream();
+  }
+  async promptAccept(photo) {
+    this.photo = photo;
+    const orientation = await this.getOrientation(photo);
+    console.debug('Got orientation', orientation);
+    this.photoOrientation = orientation;
+    if (orientation) {
+      switch (orientation) {
+        case 1:
+        case 2:
+          this.rotation = 0;
+          break;
+        case 3:
+        case 4:
+          this.rotation = 180;
+          break;
+        case 5:
+        case 6:
+          this.rotation = 90;
+          break;
+        case 7:
+        case 8:
+          this.rotation = 270;
+          break;
+      }
+    }
+    this.photoSrc = URL.createObjectURL(photo);
+  }
+  getOrientation(file) {
+    return new Promise(resolve => {
+      const reader = new FileReader();
+      reader.onload = (event) => {
+        const view = new DataView(event.target.result);
+        if (view.getUint16(0, false) !== 0xFFD8) {
+          return resolve(-2);
+        }
+        const length = view.byteLength;
+        let offset = 2;
+        while (offset < length) {
+          const marker = view.getUint16(offset, false);
+          offset += 2;
+          if (marker === 0xFFE1) {
+            if (view.getUint32(offset += 2, false) !== 0x45786966) {
+              return resolve(-1);
+            }
+            const little = view.getUint16(offset += 6, false) === 0x4949;
+            offset += view.getUint32(offset + 4, little);
+            const tags = view.getUint16(offset, little);
+            offset += 2;
+            for (let i = 0; i < tags; i++) {
+              if (view.getUint16(offset + (i * 12), little) === 0x0112) {
+                return resolve(view.getUint16(offset + (i * 12) + 8, little));
+              }
+            }
+          }
+          else if ((marker & 0xFF00) !== 0xFF00) {
+            break;
+          }
+          else {
+            offset += view.getUint16(offset, false);
+          }
+        }
+        return resolve(-1);
+      };
+      reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
+    });
+  }
+  rotate() {
+    this.stopStream();
+    const track = this.stream && this.stream.getTracks()[0];
+    if (!track) {
+      return;
+    }
+    let c = track.getConstraints();
+    let facingMode = c.facingMode;
+    if (!facingMode) {
+      let c = track.getCapabilities();
+      if (c.facingMode) {
+        facingMode = c.facingMode[0];
+      }
+    }
+    if (facingMode === 'environment') {
+      this.initCamera({
+        video: {
+          facingMode: 'user'
+        }
+      });
+    }
+    else {
+      this.initCamera({
+        video: {
+          facingMode: 'environment'
+        }
+      });
+    }
+  }
+  setFlashMode(mode) {
+    console.debug('New flash mode: ', mode);
+    this.flashMode = mode;
+  }
+  cycleFlash() {
+    if (this.flashModes.length > 0) {
+      this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
+      this.setFlashMode(this.flashModes[this.flashIndex]);
+    }
+  }
+  async flashScreen() {
+    return new Promise((resolve, _reject) => {
+      this.showShutterOverlay = true;
+      setTimeout(() => {
+        this.showShutterOverlay = false;
+        resolve();
+      }, 100);
+    });
+  }
+  iconExit() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconPhotos() {
+    return (index.h("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '512', height: '512', viewBox: '0 0 512 512' }, index.h("path", { d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z' }), index.h("path", { d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z' })));
+  }
+  iconConfirm() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconReverseCamera() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconRetake() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconFlashOff() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconFlashOn() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E`;
+  }
+  iconFlashAuto() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  render() {
+    // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
+    const acceptStyles = {};
+    return (index.h("div", { class: "camera-wrapper" }, index.h("div", { class: "camera-header" }, index.h("section", { class: "items" }, index.h("div", { class: "item close", onClick: e => this.handleClose(e) }, index.h("img", { src: this.iconExit() })), index.h("div", { class: "item flash", onClick: e => this.handleFlashClick(e) }, this.flashModes.length > 0 && (index.h("div", null, this.flashMode == 'off' ? index.h("img", { src: this.iconFlashOff() }) : '', this.flashMode == 'auto' ? index.h("img", { src: this.iconFlashAuto() }) : '', this.flashMode == 'flash' ? index.h("img", { src: this.iconFlashOn() }) : ''))))), (this.hasCamera === false || !!this.deviceError) && (index.h("div", { class: "no-device" }, index.h("h2", null, this.noDevicesText), index.h("label", { htmlFor: "_pwa-elements-camera-input" }, this.noDevicesButtonText), index.h("input", { type: "file", id: "_pwa-elements-camera-input", onChange: this.handleFileInputChange, accept: "image/*", class: "select-file-button" }))), this.photoSrc ? (index.h("div", { class: "accept" }, index.h("div", { class: "accept-image", style: Object.assign({ backgroundImage: `url(${this.photoSrc})` }, acceptStyles) }))) : (index.h("div", { class: "camera-video" }, this.showShutterOverlay && (index.h("div", { class: "shutter-overlay" })), this.hasImageCapture() ? (index.h("video", { ref: (el) => this.videoElement = el, onLoadedMetaData: this.handleVideoMetadata, autoplay: true, playsinline: true })) : (index.h("canvas", { ref: (el) => this.canvasElement = el, width: "100%", height: "100%" })), index.h("canvas", { class: "offscreen-image-render", ref: e => this.offscreenCanvas = e, width: "100%", height: "100%" }))), this.hasCamera && (index.h("div", { class: "camera-footer" }, !this.photo ? ([
+      !this.hidePicker && (index.h("div", { class: "pick-image", onClick: this.handlePickFile }, index.h("label", { htmlFor: "_pwa-elements-file-pick" }, this.iconPhotos()), index.h("input", { type: "file", id: "_pwa-elements-file-pick", onChange: this.handleFileInputChange, accept: "image/*", class: "pick-image-button" }))),
+      index.h("div", { class: "shutter", onClick: this.handleShutterClick }, index.h("div", { class: "shutter-button" })),
+      index.h("div", { class: "rotate", onClick: this.handleRotateClick }, index.h("img", { src: this.iconReverseCamera() })),
+    ]) : (index.h("section", { class: "items" }, index.h("div", { class: "item accept-cancel", onClick: e => this.handleCancelPhoto(e) }, index.h("img", { src: this.iconRetake() })), index.h("div", { class: "item accept-use", onClick: e => this.handleAcceptPhoto(e) }, index.h("img", { src: this.iconConfirm() }))))))));
+  }
+  static get assetsDirs() { return ["icons"]; }
+  get el() { return index.getElement(this); }
+};
+CameraPWA.style = cameraCss;
+
+exports.pwa_camera = CameraPWA;
diff --git a/src/public/js/pwa-elements/cjs/pwa-toast.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-toast.cjs.entry.js
new file mode 100644
index 0000000..a799f7d
--- /dev/null
+++ b/src/public/js/pwa-elements/cjs/pwa-toast.cjs.entry.js
@@ -0,0 +1,49 @@
+'use strict';
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+const index = require('./index-d7f36e37.js');
+
+const toastCss = ":host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, \"Helvetica Neue\", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}";
+
+const PWAToast = class {
+  constructor(hostRef) {
+    index.registerInstance(this, hostRef);
+    this.message = undefined;
+    this.duration = 2000;
+    this.closing = null;
+  }
+  hostData() {
+    const classes = {
+      out: !!this.closing
+    };
+    if (this.closing !== null) {
+      classes['in'] = !this.closing;
+    }
+    return {
+      class: classes
+    };
+  }
+  componentDidLoad() {
+    setTimeout(() => {
+      this.closing = false;
+    });
+    setTimeout(() => {
+      this.close();
+    }, this.duration);
+  }
+  close() {
+    this.closing = true;
+    setTimeout(() => {
+      this.el.parentNode.removeChild(this.el);
+    }, 1000);
+  }
+  __stencil_render() {
+    return (index.h("div", { class: "wrapper" }, index.h("div", { class: "toast" }, this.message)));
+  }
+  get el() { return index.getElement(this); }
+  render() { return index.h(index.Host, this.hostData(), this.__stencil_render()); }
+};
+PWAToast.style = toastCss;
+
+exports.pwa_toast = PWAToast;
diff --git a/src/public/js/pwa-elements/collection/collection-manifest.json b/src/public/js/pwa-elements/collection/collection-manifest.json
new file mode 100644
index 0000000..d234bf1
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/collection-manifest.json
@@ -0,0 +1,16 @@
+{
+  "entries": [
+    "./components/action-sheet/action-sheet.js",
+    "./components/camera/camera.js",
+    "./components/camera-modal/camera-modal-instance.js",
+    "./components/camera-modal/camera-modal.js",
+    "./components/toast/toast.js"
+  ],
+  "compiler": {
+    "name": "@stencil/core",
+    "version": "3.4.0",
+    "typescriptVersion": "5.0.4"
+  },
+  "collections": [],
+  "bundles": []
+}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.css b/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.css
new file mode 100644
index 0000000..5b18b97
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.css
@@ -0,0 +1,79 @@
+:host {
+  z-index: 1000;
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  contain: strict;
+
+  user-select: none;
+
+  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif;
+}
+
+.wrapper {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  background-color: rgba(0, 0, 0, 0);
+  transition: 400ms background-color cubic-bezier(.36,.66,.04,1);
+}
+
+.wrapper.open {
+  background-color: rgba(0, 0, 0, 0.32);
+}
+
+.title {
+  color: #999;
+  height: 23px;
+  line-height: 23px;
+  padding-bottom: 17px;
+  padding-inline-end: 16px;
+  padding-inline-start: 16px;
+  padding-left: 16px;
+  padding-right: 16px;
+  padding-top: 20px;
+}
+
+.content {
+  width: 568px;
+  align-self: flex-end;
+  background-color:#fff;
+  transition: 400ms transform cubic-bezier(.36,.66,.04,1);
+  transform: translateY(100%);
+}
+
+.wrapper.open .content {
+  transform: translateY(0%);
+}
+
+@media only screen and (max-width: 568px) {
+  .content {
+    width: 100%;
+  }
+}
+
+.action-sheet-option {
+  cursor: pointer;
+  height: 52px;
+  line-height: 52px;
+}
+
+.action-sheet-button {
+  color: rgb(38, 38, 38);
+  font-size: 16px;
+  padding-inline-end: 16px;
+  padding-inline-start: 16px;
+  padding-left: 16px;
+  padding-right: 16px;
+  padding-top: 0px;
+}
+
+.action-sheet-button:hover {
+  background-color: #F6F6F6;
+}
+
+
diff --git a/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.js b/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.js
new file mode 100644
index 0000000..a2c8e06
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.js
@@ -0,0 +1,129 @@
+import { h } from '@stencil/core';
+export class PWAActionSheet {
+  constructor() {
+    this.header = undefined;
+    this.cancelable = true;
+    this.options = [];
+    this.open = false;
+  }
+  componentDidLoad() {
+    requestAnimationFrame(() => {
+      this.open = true;
+    });
+  }
+  dismiss() {
+    if (this.cancelable) {
+      this.close();
+    }
+  }
+  close() {
+    this.open = false;
+    setTimeout(() => {
+      this.el.parentNode.removeChild(this.el);
+    }, 500);
+  }
+  handleOptionClick(e, i) {
+    e.stopPropagation();
+    this.onSelection.emit(i);
+    this.close();
+  }
+  render() {
+    return (h("div", { class: `wrapper${this.open ? ' open' : ''}`, onClick: () => this.dismiss() }, h("div", { class: "content" }, h("div", { class: "title" }, this.header), this.options.map((option, i) => h("div", { class: "action-sheet-option", onClick: (e) => this.handleOptionClick(e, i) }, h("div", { class: "action-sheet-button" }, option.title))))));
+  }
+  static get is() { return "pwa-action-sheet"; }
+  static get encapsulation() { return "shadow"; }
+  static get originalStyleUrls() {
+    return {
+      "$": ["action-sheet.css"]
+    };
+  }
+  static get styleUrls() {
+    return {
+      "$": ["action-sheet.css"]
+    };
+  }
+  static get properties() {
+    return {
+      "header": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "header",
+        "reflect": false
+      },
+      "cancelable": {
+        "type": "boolean",
+        "mutable": false,
+        "complexType": {
+          "original": "boolean",
+          "resolved": "boolean",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "cancelable",
+        "reflect": false,
+        "defaultValue": "true"
+      },
+      "options": {
+        "type": "unknown",
+        "mutable": false,
+        "complexType": {
+          "original": "ActionSheetOption[]",
+          "resolved": "ActionSheetOption[]",
+          "references": {
+            "ActionSheetOption": {
+              "location": "import",
+              "path": "../../definitions"
+            }
+          }
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "defaultValue": "[]"
+      }
+    };
+  }
+  static get states() {
+    return {
+      "open": {}
+    };
+  }
+  static get events() {
+    return [{
+        "method": "onSelection",
+        "name": "onSelection",
+        "bubbles": true,
+        "cancelable": true,
+        "composed": true,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "complexType": {
+          "original": "any",
+          "resolved": "any",
+          "references": {}
+        }
+      }];
+  }
+  static get elementRef() { return "el"; }
+}
diff --git a/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.css b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.css
new file mode 100644
index 0000000..595d43a
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.css
@@ -0,0 +1,35 @@
+:host {
+  z-index: 1000;
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  contain: strict;
+
+  --inset-width: 600px;
+  --inset-height: 600px;
+}
+
+.wrapper {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  background-color: rgba(0, 0, 0, 0.15);
+}
+
+.content {
+  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
+  width: var(--inset-width);
+  height: var(--inset-height);
+  max-height: 100%;
+}
+
+@media only screen and (max-width: 600px) {
+  .content {
+    width: 100%;
+    height: 100%;
+  }
+}
diff --git a/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.js b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.js
new file mode 100644
index 0000000..6f0187a
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.js
@@ -0,0 +1,162 @@
+import { h } from '@stencil/core';
+export class PWACameraModal {
+  constructor() {
+    this.handlePhoto = async (photo) => {
+      this.onPhoto.emit(photo);
+    };
+    this.handleNoDeviceError = async (photo) => {
+      this.noDeviceError.emit(photo);
+    };
+    this.facingMode = 'user';
+    this.hidePicker = false;
+    this.noDevicesText = 'No camera found';
+    this.noDevicesButtonText = 'Choose image';
+  }
+  handleBackdropClick(e) {
+    if (e.target !== this.el) {
+      this.onPhoto.emit(null);
+    }
+  }
+  handleComponentClick(e) {
+    e.stopPropagation();
+  }
+  handleBackdropKeyUp(e) {
+    if (e.key === "Escape") {
+      this.onPhoto.emit(null);
+    }
+  }
+  render() {
+    return (h("div", { class: "wrapper", onClick: e => this.handleBackdropClick(e) }, h("div", { class: "content" }, h("pwa-camera", { onClick: e => this.handleComponentClick(e), facingMode: this.facingMode, hidePicker: this.hidePicker, handlePhoto: this.handlePhoto, handleNoDeviceError: this.handleNoDeviceError, noDevicesButtonText: this.noDevicesButtonText, noDevicesText: this.noDevicesText }))));
+  }
+  static get is() { return "pwa-camera-modal-instance"; }
+  static get encapsulation() { return "shadow"; }
+  static get originalStyleUrls() {
+    return {
+      "$": ["camera-modal-instance.css"]
+    };
+  }
+  static get styleUrls() {
+    return {
+      "$": ["camera-modal-instance.css"]
+    };
+  }
+  static get properties() {
+    return {
+      "facingMode": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "facing-mode",
+        "reflect": false,
+        "defaultValue": "'user'"
+      },
+      "hidePicker": {
+        "type": "boolean",
+        "mutable": false,
+        "complexType": {
+          "original": "boolean",
+          "resolved": "boolean",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "hide-picker",
+        "reflect": false,
+        "defaultValue": "false"
+      },
+      "noDevicesText": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "no-devices-text",
+        "reflect": false,
+        "defaultValue": "'No camera found'"
+      },
+      "noDevicesButtonText": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "no-devices-button-text",
+        "reflect": false,
+        "defaultValue": "'Choose image'"
+      }
+    };
+  }
+  static get events() {
+    return [{
+        "method": "onPhoto",
+        "name": "onPhoto",
+        "bubbles": true,
+        "cancelable": true,
+        "composed": true,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "complexType": {
+          "original": "any",
+          "resolved": "any",
+          "references": {}
+        }
+      }, {
+        "method": "noDeviceError",
+        "name": "noDeviceError",
+        "bubbles": true,
+        "cancelable": true,
+        "composed": true,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "complexType": {
+          "original": "any",
+          "resolved": "any",
+          "references": {}
+        }
+      }];
+  }
+  static get elementRef() { return "el"; }
+  static get listeners() {
+    return [{
+        "name": "keyup",
+        "method": "handleBackdropKeyUp",
+        "target": "body",
+        "capture": false,
+        "passive": false
+      }];
+  }
+}
diff --git a/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.css b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.css
new file mode 100644
index 0000000..7fa443e
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.css
@@ -0,0 +1,24 @@
+:host {
+  z-index: 1000;
+  position: fixed;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100%;
+  display: flex;
+  contain: strict;
+}
+
+.wrapper {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  background-color: rgba(0, 0, 0, 0.15);
+}
+
+.content {
+  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.2);
+  width: 600px;
+  height: 600px;
+}
diff --git a/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.js b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.js
new file mode 100644
index 0000000..3326ee3
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.js
@@ -0,0 +1,155 @@
+import { h } from '@stencil/core';
+export class PWACameraModal {
+  constructor() {
+    this.facingMode = 'user';
+    this.hidePicker = false;
+  }
+  async present() {
+    const camera = document.createElement('pwa-camera-modal-instance');
+    camera.facingMode = this.facingMode;
+    camera.hidePicker = this.hidePicker;
+    camera.addEventListener('onPhoto', async (e) => {
+      if (!this._modal) {
+        return;
+      }
+      const photo = e.detail;
+      this.onPhoto.emit(photo);
+    });
+    camera.addEventListener('noDeviceError', async (e) => {
+      this.noDeviceError.emit(e);
+    });
+    document.body.append(camera);
+    this._modal = camera;
+  }
+  async dismiss() {
+    if (!this._modal) {
+      return;
+    }
+    this._modal && this._modal.parentNode.removeChild(this._modal);
+    this._modal = null;
+  }
+  render() {
+    return (h("div", null));
+  }
+  static get is() { return "pwa-camera-modal"; }
+  static get encapsulation() { return "shadow"; }
+  static get originalStyleUrls() {
+    return {
+      "$": ["camera-modal.css"]
+    };
+  }
+  static get styleUrls() {
+    return {
+      "$": ["camera-modal.css"]
+    };
+  }
+  static get properties() {
+    return {
+      "facingMode": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "facing-mode",
+        "reflect": false,
+        "defaultValue": "'user'"
+      },
+      "hidePicker": {
+        "type": "boolean",
+        "mutable": false,
+        "complexType": {
+          "original": "boolean",
+          "resolved": "boolean",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "hide-picker",
+        "reflect": false,
+        "defaultValue": "false"
+      }
+    };
+  }
+  static get events() {
+    return [{
+        "method": "onPhoto",
+        "name": "onPhoto",
+        "bubbles": true,
+        "cancelable": true,
+        "composed": true,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "complexType": {
+          "original": "any",
+          "resolved": "any",
+          "references": {}
+        }
+      }, {
+        "method": "noDeviceError",
+        "name": "noDeviceError",
+        "bubbles": true,
+        "cancelable": true,
+        "composed": true,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "complexType": {
+          "original": "any",
+          "resolved": "any",
+          "references": {}
+        }
+      }];
+  }
+  static get methods() {
+    return {
+      "present": {
+        "complexType": {
+          "signature": "() => Promise<void>",
+          "parameters": [],
+          "references": {
+            "Promise": {
+              "location": "global"
+            }
+          },
+          "return": "Promise<void>"
+        },
+        "docs": {
+          "text": "",
+          "tags": []
+        }
+      },
+      "dismiss": {
+        "complexType": {
+          "signature": "() => Promise<void>",
+          "parameters": [],
+          "references": {
+            "Promise": {
+              "location": "global"
+            }
+          },
+          "return": "Promise<void>"
+        },
+        "docs": {
+          "text": "",
+          "tags": []
+        }
+      }
+    };
+  }
+}
diff --git a/src/public/js/pwa-elements/collection/components/camera/camera.css b/src/public/js/pwa-elements/collection/components/camera/camera.css
new file mode 100644
index 0000000..b328579
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/camera.css
@@ -0,0 +1,244 @@
+:host {
+  --header-height: 4em;
+  --footer-height: 9em;
+  --header-height-landscape: 3em;
+  --footer-height-landscape: 6em;
+  --shutter-size: 6em;
+  --icon-size-header: 1.5em;
+  --icon-size-footer: 2.5em;
+  --margin-size-header: 1.5em;
+  --margin-size-footer: 2.0em;
+
+  font-family: -apple-system, BlinkMacSystemFont,
+    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;
+
+  display: block;
+  width: 100%;
+  height: 100%;
+}
+
+.items {
+  box-sizing: border-box;
+  display: flex;
+  width: 100%;
+  height: 100%;
+  align-items: center;
+  justify-content: center;
+}
+
+.items .item {
+  flex: 1;
+  text-align: center;
+}
+.items .item:first-child {
+  text-align: left;
+}
+.items .item:last-child {
+  text-align: right;
+}
+
+.camera-wrapper {
+  position: relative;
+  display: flex;
+  flex-direction: column;
+  width: 100%;
+  height: 100%;
+}
+
+.camera-header {
+  color: white;
+  background-color: black;
+  height: var(--header-height);
+}
+
+.camera-header .items {
+  padding: var(--margin-size-header);
+}
+
+.camera-footer {
+  position: relative;
+  color: white;
+  background-color: black;
+  height: var(--footer-height);
+}
+
+.camera-footer .items {
+  padding: var(--margin-size-footer);
+}
+
+@media (max-height: 375px) {
+  .camera-header {
+    --header-height: var(--header-height-landscape);
+  }
+  .camera-footer {
+    --footer-height: var(--footer-height-landscape);
+  }
+  .camera-footer .shutter {
+    --shutter-size: 4em;
+  }
+}
+
+.camera-video {
+  position: relative;
+  flex: 1;
+  overflow: hidden;
+  background-color: black;
+}
+
+video {
+  width: 100%;
+  height: 100%;
+  max-height: 100%;
+  min-height: 100%;
+  object-fit: cover;
+  background-color: black;
+}
+
+.pick-image {
+  display: flex;
+  align-items: center;
+  position: absolute;
+  left: var(--margin-size-footer);
+  top: 0;
+  height: 100%;
+  width: var(--icon-size-footer);
+  color: white;
+}
+
+.pick-image input {
+  visibility: hidden;
+}
+
+.pick-image svg {
+  cursor: pointer;
+  fill: white;
+  width: var(--icon-size-footer);
+  height: var(--icon-size-footer);
+}
+
+.shutter {
+  position: absolute;
+  left: 50%;
+  top: 50%;
+  width: var(--shutter-size);
+  height: var(--shutter-size);
+  margin-top: calc(var(--shutter-size) / -2);
+  margin-left: calc(var(--shutter-size) / -2);
+  border-radius: 100%;
+  background-color: #c6cdd8;
+  padding: 12px;
+  box-sizing: border-box;
+}
+
+.shutter:active .shutter-button {
+  background-color: #9da9bb;
+}
+
+.shutter-button {
+  background-color: white;
+  border-radius: 100%;
+  width: 100%;
+  height: 100%;
+}
+
+.rotate {
+  display: flex;
+  align-items: center;
+  position: absolute;
+  right: var(--margin-size-footer);
+  top: 0;
+  height: 100%;
+  width: var(--icon-size-footer);
+  color: white;
+}
+
+.rotate img {
+  width: var(--icon-size-footer);
+  height: var(--icon-size-footer);
+}
+
+.shutter-overlay {
+  z-index: 5;
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  background-color: black;
+}
+
+.error {
+  width: 100%;
+  height: 100%;
+  color: white;
+  display: flex;
+  justify-content: center;
+  align-items: center;
+}
+
+.no-device {
+  background-color: black;
+  flex: 1;
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  color: white;
+}
+
+.no-device label {
+  cursor: pointer;
+  background: #fff;
+  border-radius: 6px;
+  padding: 6px 8px;
+  color: black;
+}
+
+.no-device input {
+  visibility: hidden;
+  height: 0;
+  margin-top: 16px;
+}
+
+.accept {
+  background-color: black;
+  flex: 1;
+  overflow: hidden;
+}
+
+.accept .accept-image {
+  width: 100%;
+  height: 100%;
+  max-height: 100%;
+  background-position: center center;
+  background-size: cover;
+  background-repeat: no-repeat;
+}
+
+.close img {
+  cursor: pointer;
+  width: var(--icon-size-header);
+  height: var(--icon-size-header);
+}
+
+.flash img {
+  width: var(--icon-size-header);
+  height: var(--icon-size-header);
+}
+
+.accept-use img {
+  width: var(--icon-size-footer);
+  height: var(--icon-size-footer);
+}
+
+.accept-cancel img {
+  width: var(--icon-size-footer);
+  height: var(--icon-size-footer);
+}
+
+.offscreen-image-render {
+  top: 0;
+  left: 0;
+  visibility: hidden;
+  pointer-events: none;
+  width: 100%;
+  height: 100%;
+}
diff --git a/src/public/js/pwa-elements/collection/components/camera/camera.js b/src/public/js/pwa-elements/collection/components/camera/camera.js
new file mode 100644
index 0000000..d94b830
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/camera.js
@@ -0,0 +1,455 @@
+import { h, Build, forceUpdate } from '@stencil/core';
+import './imagecapture';
+export class CameraPWA {
+  constructor() {
+    // Whether the device has multiple cameras (front/back)
+    this.hasMultipleCameras = false;
+    // Whether the device has flash support
+    this.hasFlash = false;
+    // Flash modes for camera
+    this.flashModes = [];
+    // Current flash mode
+    this.flashMode = 'off';
+    this.handlePickFile = (_e) => {
+    };
+    this.handleShutterClick = (_e) => {
+      console.debug('shutter click');
+      this.capture();
+    };
+    this.handleRotateClick = (_e) => {
+      this.rotate();
+    };
+    this.handleClose = (_e) => {
+      this.handlePhoto && this.handlePhoto(null);
+    };
+    this.handleFlashClick = (_e) => {
+      this.cycleFlash();
+    };
+    this.handleCancelPhoto = (_e) => {
+      const track = this.stream && this.stream.getTracks()[0];
+      let c = track && track.getConstraints();
+      this.photo = null;
+      this.photoSrc = null;
+      if (c) {
+        this.initCamera({
+          video: {
+            facingMode: c.facingMode
+          }
+        });
+      }
+      else {
+        this.initCamera();
+      }
+    };
+    this.handleAcceptPhoto = (_e) => {
+      this.handlePhoto && this.handlePhoto(this.photo);
+    };
+    this.handleFileInputChange = async (e) => {
+      const input = e.target;
+      const file = input.files[0];
+      try {
+        const orientation = await this.getOrientation(file);
+        console.debug('Got orientation', orientation);
+        this.photoOrientation = orientation;
+      }
+      catch (e) {
+      }
+      this.handlePhoto && this.handlePhoto(file);
+    };
+    this.handleVideoMetadata = (e) => {
+      console.debug('Video metadata', e);
+    };
+    this.facingMode = 'user';
+    this.handlePhoto = undefined;
+    this.hidePicker = false;
+    this.handleNoDeviceError = undefined;
+    this.noDevicesText = 'No camera found';
+    this.noDevicesButtonText = 'Choose image';
+    this.photo = undefined;
+    this.photoSrc = undefined;
+    this.showShutterOverlay = false;
+    this.flashIndex = 0;
+    this.hasCamera = null;
+    this.rotation = 0;
+    this.deviceError = null;
+  }
+  async componentDidLoad() {
+    if (Build.isServer) {
+      return;
+    }
+    this.defaultConstraints = {
+      video: {
+        facingMode: this.facingMode
+      }
+    };
+    // Figure out how many cameras we have
+    await this.queryDevices();
+    // Initialize the camera
+    await this.initCamera();
+  }
+  disconnectedCallback() {
+    this.stopStream();
+    this.photoSrc && URL.revokeObjectURL(this.photoSrc);
+  }
+  hasImageCapture() {
+    return 'ImageCapture' in window;
+  }
+  /**
+   * Query the list of connected devices and figure out how many video inputs we have.
+   */
+  async queryDevices() {
+    try {
+      const devices = await navigator.mediaDevices.enumerateDevices();
+      const videoDevices = devices.filter(d => d.kind == 'videoinput');
+      this.hasCamera = !!videoDevices.length;
+      this.hasMultipleCameras = videoDevices.length > 1;
+    }
+    catch (e) {
+      this.deviceError = e;
+    }
+  }
+  async initCamera(constraints) {
+    if (!constraints) {
+      constraints = this.defaultConstraints;
+    }
+    try {
+      const stream = await navigator.mediaDevices.getUserMedia(Object.assign({ video: true, audio: false }, constraints));
+      this.initStream(stream);
+    }
+    catch (e) {
+      this.deviceError = e;
+      this.handleNoDeviceError && this.handleNoDeviceError(e);
+    }
+  }
+  async initStream(stream) {
+    this.stream = stream;
+    this.videoElement.srcObject = stream;
+    if (this.hasImageCapture()) {
+      this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
+      await this.initPhotoCapabilities(this.imageCapture);
+    }
+    else {
+      this.deviceError = 'No image capture';
+      this.handleNoDeviceError && this.handleNoDeviceError();
+    }
+    // Always re-render
+    forceUpdate(this.el);
+  }
+  async initPhotoCapabilities(imageCapture) {
+    const c = await imageCapture.getPhotoCapabilities();
+    if (c.fillLightMode && c.fillLightMode.length > 1) {
+      this.flashModes = c.fillLightMode.map(m => m);
+      // Try to recall the current flash mode
+      if (this.flashMode) {
+        this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
+        this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+      }
+      else {
+        this.flashIndex = 0;
+      }
+    }
+  }
+  stopStream() {
+    if (this.videoElement) {
+      this.videoElement.srcObject = null;
+    }
+    this.stream && this.stream.getTracks().forEach(track => track.stop());
+  }
+  async capture() {
+    if (this.hasImageCapture()) {
+      try {
+        const photo = await this.imageCapture.takePhoto({
+          fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
+        });
+        await this.flashScreen();
+        this.promptAccept(photo);
+      }
+      catch (e) {
+        console.error('Unable to take photo!', e);
+      }
+    }
+    this.stopStream();
+  }
+  async promptAccept(photo) {
+    this.photo = photo;
+    const orientation = await this.getOrientation(photo);
+    console.debug('Got orientation', orientation);
+    this.photoOrientation = orientation;
+    if (orientation) {
+      switch (orientation) {
+        case 1:
+        case 2:
+          this.rotation = 0;
+          break;
+        case 3:
+        case 4:
+          this.rotation = 180;
+          break;
+        case 5:
+        case 6:
+          this.rotation = 90;
+          break;
+        case 7:
+        case 8:
+          this.rotation = 270;
+          break;
+      }
+    }
+    this.photoSrc = URL.createObjectURL(photo);
+  }
+  getOrientation(file) {
+    return new Promise(resolve => {
+      const reader = new FileReader();
+      reader.onload = (event) => {
+        const view = new DataView(event.target.result);
+        if (view.getUint16(0, false) !== 0xFFD8) {
+          return resolve(-2);
+        }
+        const length = view.byteLength;
+        let offset = 2;
+        while (offset < length) {
+          const marker = view.getUint16(offset, false);
+          offset += 2;
+          if (marker === 0xFFE1) {
+            if (view.getUint32(offset += 2, false) !== 0x45786966) {
+              return resolve(-1);
+            }
+            const little = view.getUint16(offset += 6, false) === 0x4949;
+            offset += view.getUint32(offset + 4, little);
+            const tags = view.getUint16(offset, little);
+            offset += 2;
+            for (let i = 0; i < tags; i++) {
+              if (view.getUint16(offset + (i * 12), little) === 0x0112) {
+                return resolve(view.getUint16(offset + (i * 12) + 8, little));
+              }
+            }
+          }
+          else if ((marker & 0xFF00) !== 0xFF00) {
+            break;
+          }
+          else {
+            offset += view.getUint16(offset, false);
+          }
+        }
+        return resolve(-1);
+      };
+      reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
+    });
+  }
+  rotate() {
+    this.stopStream();
+    const track = this.stream && this.stream.getTracks()[0];
+    if (!track) {
+      return;
+    }
+    let c = track.getConstraints();
+    let facingMode = c.facingMode;
+    if (!facingMode) {
+      let c = track.getCapabilities();
+      if (c.facingMode) {
+        facingMode = c.facingMode[0];
+      }
+    }
+    if (facingMode === 'environment') {
+      this.initCamera({
+        video: {
+          facingMode: 'user'
+        }
+      });
+    }
+    else {
+      this.initCamera({
+        video: {
+          facingMode: 'environment'
+        }
+      });
+    }
+  }
+  setFlashMode(mode) {
+    console.debug('New flash mode: ', mode);
+    this.flashMode = mode;
+  }
+  cycleFlash() {
+    if (this.flashModes.length > 0) {
+      this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
+      this.setFlashMode(this.flashModes[this.flashIndex]);
+    }
+  }
+  async flashScreen() {
+    return new Promise((resolve, _reject) => {
+      this.showShutterOverlay = true;
+      setTimeout(() => {
+        this.showShutterOverlay = false;
+        resolve();
+      }, 100);
+    });
+  }
+  iconExit() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconPhotos() {
+    return (h("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '512', height: '512', viewBox: '0 0 512 512' }, h("path", { d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z' }), h("path", { d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z' })));
+  }
+  iconConfirm() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconReverseCamera() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconRetake() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconFlashOff() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconFlashOn() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E`;
+  }
+  iconFlashAuto() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  render() {
+    // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
+    const acceptStyles = {};
+    return (h("div", { class: "camera-wrapper" }, h("div", { class: "camera-header" }, h("section", { class: "items" }, h("div", { class: "item close", onClick: e => this.handleClose(e) }, h("img", { src: this.iconExit() })), h("div", { class: "item flash", onClick: e => this.handleFlashClick(e) }, this.flashModes.length > 0 && (h("div", null, this.flashMode == 'off' ? h("img", { src: this.iconFlashOff() }) : '', this.flashMode == 'auto' ? h("img", { src: this.iconFlashAuto() }) : '', this.flashMode == 'flash' ? h("img", { src: this.iconFlashOn() }) : ''))))), (this.hasCamera === false || !!this.deviceError) && (h("div", { class: "no-device" }, h("h2", null, this.noDevicesText), h("label", { htmlFor: "_pwa-elements-camera-input" }, this.noDevicesButtonText), h("input", { type: "file", id: "_pwa-elements-camera-input", onChange: this.handleFileInputChange, accept: "image/*", class: "select-file-button" }))), this.photoSrc ? (h("div", { class: "accept" }, h("div", { class: "accept-image", style: Object.assign({ backgroundImage: `url(${this.photoSrc})` }, acceptStyles) }))) : (h("div", { class: "camera-video" }, this.showShutterOverlay && (h("div", { class: "shutter-overlay" })), this.hasImageCapture() ? (h("video", { ref: (el) => this.videoElement = el, onLoadedMetaData: this.handleVideoMetadata, autoplay: true, playsinline: true })) : (h("canvas", { ref: (el) => this.canvasElement = el, width: "100%", height: "100%" })), h("canvas", { class: "offscreen-image-render", ref: e => this.offscreenCanvas = e, width: "100%", height: "100%" }))), this.hasCamera && (h("div", { class: "camera-footer" }, !this.photo ? ([
+      !this.hidePicker && (h("div", { class: "pick-image", onClick: this.handlePickFile }, h("label", { htmlFor: "_pwa-elements-file-pick" }, this.iconPhotos()), h("input", { type: "file", id: "_pwa-elements-file-pick", onChange: this.handleFileInputChange, accept: "image/*", class: "pick-image-button" }))),
+      h("div", { class: "shutter", onClick: this.handleShutterClick }, h("div", { class: "shutter-button" })),
+      h("div", { class: "rotate", onClick: this.handleRotateClick }, h("img", { src: this.iconReverseCamera() })),
+    ]) : (h("section", { class: "items" }, h("div", { class: "item accept-cancel", onClick: e => this.handleCancelPhoto(e) }, h("img", { src: this.iconRetake() })), h("div", { class: "item accept-use", onClick: e => this.handleAcceptPhoto(e) }, h("img", { src: this.iconConfirm() }))))))));
+  }
+  static get is() { return "pwa-camera"; }
+  static get encapsulation() { return "shadow"; }
+  static get originalStyleUrls() {
+    return {
+      "$": ["camera.css"]
+    };
+  }
+  static get styleUrls() {
+    return {
+      "$": ["camera.css"]
+    };
+  }
+  static get assetsDirs() { return ["icons"]; }
+  static get properties() {
+    return {
+      "facingMode": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "facing-mode",
+        "reflect": false,
+        "defaultValue": "'user'"
+      },
+      "handlePhoto": {
+        "type": "unknown",
+        "mutable": false,
+        "complexType": {
+          "original": "(photo: Blob) => void",
+          "resolved": "(photo: Blob) => void",
+          "references": {
+            "Blob": {
+              "location": "global"
+            }
+          }
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        }
+      },
+      "hidePicker": {
+        "type": "boolean",
+        "mutable": false,
+        "complexType": {
+          "original": "boolean",
+          "resolved": "boolean",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "hide-picker",
+        "reflect": false,
+        "defaultValue": "false"
+      },
+      "handleNoDeviceError": {
+        "type": "unknown",
+        "mutable": false,
+        "complexType": {
+          "original": "(e?: any) => void",
+          "resolved": "(e?: any) => void",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        }
+      },
+      "noDevicesText": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "no-devices-text",
+        "reflect": false,
+        "defaultValue": "'No camera found'"
+      },
+      "noDevicesButtonText": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "no-devices-button-text",
+        "reflect": false,
+        "defaultValue": "'Choose image'"
+      }
+    };
+  }
+  static get states() {
+    return {
+      "photo": {},
+      "photoSrc": {},
+      "showShutterOverlay": {},
+      "flashIndex": {},
+      "hasCamera": {},
+      "rotation": {},
+      "deviceError": {}
+    };
+  }
+  static get elementRef() { return "el"; }
+}
diff --git a/src/public/js/pwa-elements/collection/components/camera/icons/confirm.svg b/src/public/js/pwa-elements/collection/components/camera/icons/confirm.svg
new file mode 100644
index 0000000..1213fd9
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/icons/confirm.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<circle fill="#2CD865" cx="256" cy="256" r="256"/>
+<g id="Icon_1_">
+	<g>
+		<g>
+			<path fill="#FFFFFF" d="M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4
+				c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4
+				C212.1,303,209.6,303,208,301.4z"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/collection/components/camera/icons/exit.svg b/src/public/js/pwa-elements/collection/components/camera/icons/exit.svg
new file mode 100644
index 0000000..be96592
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/icons/exit.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g id="Icon_5_">
+	<g>
+		<path fill="#FFFFFF" d="M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8
+			c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7
+			l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1
+			c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z"/>
+	</g>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/collection/components/camera/icons/flash-auto.svg b/src/public/js/pwa-elements/collection/components/camera/icons/flash-auto.svg
new file mode 100644
index 0000000..c388e86
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/icons/flash-auto.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9
+	c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z"/>
+<g>
+	<path class="st0" d="M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7
+		H415.8z"/>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/collection/components/camera/icons/flash-off.svg b/src/public/js/pwa-elements/collection/components/camera/icons/flash-off.svg
new file mode 100644
index 0000000..98b2599
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/icons/flash-off.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<g>
+	<path class="st0" d="M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7
+		L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z"/>
+	<path class="st0" d="M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6
+		l161.3,161.3L449,218.2z"/>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/collection/components/camera/icons/flash-on.svg b/src/public/js/pwa-elements/collection/components/camera/icons/flash-on.svg
new file mode 100644
index 0000000..e045c08
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/icons/flash-on.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9
+	c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z"/>
+</svg>
diff --git a/src/public/js/pwa-elements/collection/components/camera/icons/retake.svg b/src/public/js/pwa-elements/collection/components/camera/icons/retake.svg
new file mode 100644
index 0000000..04fc2a0
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/icons/retake.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<circle fill="#727A87" cx="256" cy="256" r="256"/>
+<g id="Icon_5_">
+	<g>
+		<path fill="#FFFFFF" d="M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8
+			c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7
+			l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1
+			c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z"/>
+	</g>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/collection/components/camera/icons/reverse-camera.svg b/src/public/js/pwa-elements/collection/components/camera/icons/reverse-camera.svg
new file mode 100644
index 0000000..ec09076
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/icons/reverse-camera.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g>
+	<path fill="#FFFFFF" d="M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z
+		 M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64
+		c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8
+		c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6
+		C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8
+		c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5
+		c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7
+		c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z"/>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/collection/components/camera/imagecapture.js b/src/public/js/pwa-elements/collection/components/camera/imagecapture.js
new file mode 100644
index 0000000..dfb6cba
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/camera/imagecapture.js
@@ -0,0 +1,155 @@
+/**
+ * MediaStream ImageCapture polyfill
+ *
+ * @license
+ * Copyright 2018 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export let ImageCapture = window.ImageCapture;
+if (typeof ImageCapture === 'undefined') {
+  ImageCapture = class {
+    /**
+     * TODO https://www.w3.org/TR/image-capture/#constructors
+     *
+     * @param {MediaStreamTrack} videoStreamTrack - A MediaStreamTrack of the 'video' kind
+     */
+    constructor(videoStreamTrack) {
+      if (videoStreamTrack.kind !== 'video')
+        throw new DOMException('NotSupportedError');
+      this._videoStreamTrack = videoStreamTrack;
+      if (!('readyState' in this._videoStreamTrack)) {
+        // Polyfill for Firefox
+        this._videoStreamTrack.readyState = 'live';
+      }
+      // MediaStream constructor not available until Chrome 55 - https://www.chromestatus.com/feature/5912172546752512
+      this._previewStream = new MediaStream([videoStreamTrack]);
+      this.videoElement = document.createElement('video');
+      this.videoElementPlaying = new Promise(resolve => {
+        this.videoElement.addEventListener('playing', resolve);
+      });
+      if (HTMLMediaElement) {
+        this.videoElement.srcObject = this._previewStream; // Safari 11 doesn't allow use of createObjectURL for MediaStream
+      }
+      else {
+        this.videoElement.src = URL.createObjectURL(this._previewStream);
+      }
+      this.videoElement.muted = true;
+      this.videoElement.setAttribute('playsinline', ''); // Required by Safari on iOS 11. See https://webkit.org/blog/6784
+      this.videoElement.play();
+      this.canvasElement = document.createElement('canvas');
+      // TODO Firefox has https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas
+      this.canvas2dContext = this.canvasElement.getContext('2d');
+    }
+    /**
+     * https://w3c.github.io/mediacapture-image/index.html#dom-imagecapture-videostreamtrack
+     * @return {MediaStreamTrack} The MediaStreamTrack passed into the constructor
+     */
+    get videoStreamTrack() {
+      return this._videoStreamTrack;
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
+     * @return {Promise<PhotoCapabilities>} Fulfilled promise with
+     * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
+     * object on success, rejected promise on failure
+     */
+    getPhotoCapabilities() {
+      return new Promise(function executorGPC(resolve, reject) {
+        // TODO see https://github.com/w3c/mediacapture-image/issues/97
+        const MediaSettingsRange = {
+          current: 0, min: 0, max: 0,
+        };
+        resolve({
+          exposureCompensation: MediaSettingsRange,
+          exposureMode: 'none',
+          fillLightMode: ['none'],
+          focusMode: 'none',
+          imageHeight: MediaSettingsRange,
+          imageWidth: MediaSettingsRange,
+          iso: MediaSettingsRange,
+          redEyeReduction: false,
+          whiteBalanceMode: 'none',
+          zoom: MediaSettingsRange,
+        });
+        reject(new DOMException('OperationError'));
+      });
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
+     * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
+     * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
+     */
+    setOptions(_photoSettings = {}) {
+      return new Promise(function executorSO(_resolve, _reject) {
+        // TODO
+      });
+    }
+    /**
+     * TODO
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
+     * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
+     * argument on success; rejected promise on failure
+     */
+    takePhoto() {
+      const self = this;
+      return new Promise(function executorTP(resolve, reject) {
+        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+        if (self._videoStreamTrack.readyState !== 'live') {
+          return reject(new DOMException('InvalidStateError'));
+        }
+        self.videoElementPlaying.then(() => {
+          try {
+            self.canvasElement.width = self.videoElement.videoWidth;
+            self.canvasElement.height = self.videoElement.videoHeight;
+            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+            self.canvasElement.toBlob(resolve);
+          }
+          catch (error) {
+            reject(new DOMException('UnknownError'));
+          }
+        });
+      });
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
+     * @return {Promise<ImageBitmap>} Fulfilled promise with
+     * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
+     * argument on success; rejected promise on failure
+     */
+    grabFrame() {
+      const self = this;
+      return new Promise(function executorGF(resolve, reject) {
+        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+        if (self._videoStreamTrack.readyState !== 'live') {
+          return reject(new DOMException('InvalidStateError'));
+        }
+        self.videoElementPlaying.then(() => {
+          try {
+            self.canvasElement.width = self.videoElement.videoWidth;
+            self.canvasElement.height = self.videoElement.videoHeight;
+            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+            // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
+            resolve(window.createImageBitmap(self.canvasElement));
+          }
+          catch (error) {
+            reject(new DOMException('UnknownError'));
+          }
+        });
+      });
+    }
+  };
+}
+window.ImageCapture = ImageCapture;
diff --git a/src/public/js/pwa-elements/collection/components/toast/toast.css b/src/public/js/pwa-elements/collection/components/toast/toast.css
new file mode 100644
index 0000000..180ec87
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/toast/toast.css
@@ -0,0 +1,37 @@
+:host {
+  position: fixed;
+  bottom: 20px;
+  left: 0;
+  right: 0;
+  display: flex;
+
+  opacity: 0;
+}
+
+:host(.in) {
+  transition: opacity 300ms;
+  opacity: 1;
+}
+
+:host(.out) {
+  transition: opacity 1s;
+  opacity: 0;
+}
+
+.wrapper {
+  flex: 1;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.toast {
+  font-family: -apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;
+  background-color: #eee;
+  color: black;
+  border-radius: 5px;
+  padding: 10px 15px;
+  font-size: 14px;
+  font-weight: 500;
+  box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.20);
+}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/components/toast/toast.js b/src/public/js/pwa-elements/collection/components/toast/toast.js
new file mode 100644
index 0000000..3dc57b7
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/components/toast/toast.js
@@ -0,0 +1,93 @@
+import { h } from '@stencil/core';
+export class PWAToast {
+  constructor() {
+    this.message = undefined;
+    this.duration = 2000;
+    this.closing = null;
+  }
+  hostData() {
+    const classes = {
+      out: !!this.closing
+    };
+    if (this.closing !== null) {
+      classes['in'] = !this.closing;
+    }
+    return {
+      class: classes
+    };
+  }
+  componentDidLoad() {
+    setTimeout(() => {
+      this.closing = false;
+    });
+    setTimeout(() => {
+      this.close();
+    }, this.duration);
+  }
+  close() {
+    this.closing = true;
+    setTimeout(() => {
+      this.el.parentNode.removeChild(this.el);
+    }, 1000);
+  }
+  render() {
+    return (h("div", { class: "wrapper" }, h("div", { class: "toast" }, this.message)));
+  }
+  static get is() { return "pwa-toast"; }
+  static get encapsulation() { return "shadow"; }
+  static get originalStyleUrls() {
+    return {
+      "$": ["toast.css"]
+    };
+  }
+  static get styleUrls() {
+    return {
+      "$": ["toast.css"]
+    };
+  }
+  static get properties() {
+    return {
+      "message": {
+        "type": "string",
+        "mutable": false,
+        "complexType": {
+          "original": "string",
+          "resolved": "string",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "message",
+        "reflect": false
+      },
+      "duration": {
+        "type": "number",
+        "mutable": false,
+        "complexType": {
+          "original": "number",
+          "resolved": "number",
+          "references": {}
+        },
+        "required": false,
+        "optional": false,
+        "docs": {
+          "tags": [],
+          "text": ""
+        },
+        "attribute": "duration",
+        "reflect": false,
+        "defaultValue": "2000"
+      }
+    };
+  }
+  static get states() {
+    return {
+      "closing": {}
+    };
+  }
+  static get elementRef() { return "el"; }
+}
diff --git a/src/public/js/pwa-elements/collection/definitions.js b/src/public/js/pwa-elements/collection/definitions.js
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/definitions.js
@@ -0,0 +1 @@
+export {};
diff --git a/src/public/js/pwa-elements/collection/index.js b/src/public/js/pwa-elements/collection/index.js
new file mode 100644
index 0000000..07635cb
--- /dev/null
+++ b/src/public/js/pwa-elements/collection/index.js
@@ -0,0 +1 @@
+export * from './components';
diff --git a/src/public/js/pwa-elements/esm-es5/index-1c5c47b4.js b/src/public/js/pwa-elements/esm-es5/index-1c5c47b4.js
new file mode 100644
index 0000000..6f5cdf8
--- /dev/null
+++ b/src/public/js/pwa-elements/esm-es5/index-1c5c47b4.js
@@ -0,0 +1 @@
+var __extends=this&&this.__extends||function(){var e=function(t,n){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))e[n]=t[n]};return e(t,n)};return function(t,n){if(typeof n!=="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();var __awaiter=this&&this.__awaiter||function(e,t,n,r){function a(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function i(e){try{l(r["throw"](e))}catch(e){o(e)}}function l(e){e.done?n(e.value):a(e.value).then(s,i)}l((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,a,o,s;return s={next:i(0),throw:i(1),return:i(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function i(e){return function(t){return l([e,t])}}function l(i){if(r)throw new TypeError("Generator is already executing.");while(s&&(s=0,i[0]&&(n=0)),n)try{if(r=1,a&&(o=i[0]&2?a["return"]:i[0]?a["throw"]||((o=a["return"])&&o.call(a),0):a.next)&&!(o=o.call(a,i[1])).done)return o;if(a=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:n.label++;return{value:i[1],done:false};case 5:n.label++;a=i[1];i=[0];continue;case 7:i=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){n=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){n.label=i[1];break}if(i[0]===6&&n.label<o[1]){n.label=o[1];o=i;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(i);break}if(o[2])n.ops.pop();n.trys.pop();continue}i=t.call(e,n)}catch(e){i=[6,e];a=0}finally{r=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,n){if(n||arguments.length===2)for(var r=0,a=t.length,o;r<a;r++){if(o||!(r in t)){if(!o)o=Array.prototype.slice.call(t,0,r);o[r]=t[r]}}return e.concat(o||Array.prototype.slice.call(t))};var NAMESPACE="ionicpwaelements";var scopeId;var hostTagName;var isSvgMode=false;var queuePending=false;var createTime=function(e,t){if(t===void 0){t=""}{return function(){return}}};var uniqueTime=function(e,t){{return function(){return}}};var HYDRATED_CSS="{visibility:hidden}.hydrated{visibility:inherit}";var EMPTY_OBJ={};var SVG_NS="http://www.w3.org/2000/svg";var HTML_NS="http://www.w3.org/1999/xhtml";var isDef=function(e){return e!=null};var isComplexType=function(e){e=typeof e;return e==="object"||e==="function"};function queryNonceMetaTagContent(e){var t,n,r;return(r=(n=(t=e.head)===null||t===void 0?void 0:t.querySelector('meta[name="csp-nonce"]'))===null||n===void 0?void 0:n.getAttribute("content"))!==null&&r!==void 0?r:undefined}var h=function(e,t){var n=[];for(var r=2;r<arguments.length;r++){n[r-2]=arguments[r]}var a=null;var o=false;var s=false;var i=[];var l=function(t){for(var n=0;n<t.length;n++){a=t[n];if(Array.isArray(a)){l(a)}else if(a!=null&&typeof a!=="boolean"){if(o=typeof e!=="function"&&!isComplexType(a)){a=String(a)}if(o&&s){i[i.length-1].$text$+=a}else{i.push(o?newVNode(null,a):a)}s=o}}};l(n);if(t){{var u=t.className||t.class;if(u){t.class=typeof u!=="object"?u:Object.keys(u).filter((function(e){return u[e]})).join(" ")}}}var c=newVNode(e,null);c.$attrs$=t;if(i.length>0){c.$children$=i}return c};var newVNode=function(e,t){var n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null};{n.$attrs$=null}return n};var Host={};var isHost=function(e){return e&&e.$tag$===Host};var parsePropertyValue=function(e,t){if(e!=null&&!isComplexType(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};var getElement=function(e){return getHostRef(e).$hostElement$};var createEvent=function(e,t,n){var r=getElement(e);return{emit:function(e){return emitEvent(r,t,{bubbles:!!(n&4),composed:!!(n&2),cancelable:!!(n&1),detail:e})}}};var emitEvent=function(e,t,n){var r=plt.ce(t,n);e.dispatchEvent(r);return r};var rootAppliedStyles=new WeakMap;var registerStyle=function(e,t,n){var r=styles.get(e);if(supportsConstructableStylesheets&&n){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}styles.set(e,r)};var addStyle=function(e,t,n,r){var a;var o=getScopeId(t);var s=styles.get(o);e=e.nodeType===11?e:doc;if(s){if(typeof s==="string"){e=e.head||e;var i=rootAppliedStyles.get(e);var l=void 0;if(!i){rootAppliedStyles.set(e,i=new Set)}if(!i.has(o)){{{l=doc.createElement("style");l.innerHTML=s}var u=(a=plt.$nonce$)!==null&&a!==void 0?a:queryNonceMetaTagContent(doc);if(u!=null){l.setAttribute("nonce",u)}e.insertBefore(l,e.querySelector("link"))}if(i){i.add(o)}}}else if(!e.adoptedStyleSheets.includes(s)){e.adoptedStyleSheets=__spreadArray(__spreadArray([],e.adoptedStyleSheets,true),[s],false)}}return o};var attachStyles=function(e){var t=e.$cmpMeta$;var n=e.$hostElement$;var r=t.$flags$;var a=createTime("attachStyles",t.$tagName$);var o=addStyle(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);if(r&10){n["s-sc"]=o;n.classList.add(o+"-h")}a()};var getScopeId=function(e,t){return"sc-"+e.$tagName$};var setAccessor=function(e,t,n,r,a,o){if(n!==r){var s=isMemberInElement(e,t);var i=t.toLowerCase();if(t==="class"){var l=e.classList;var u=parseClassList(n);var c=parseClassList(r);l.remove.apply(l,u.filter((function(e){return e&&!c.includes(e)})));l.add.apply(l,c.filter((function(e){return e&&!u.includes(e)})))}else if(t==="style"){{for(var f in n){if(!r||r[f]==null){if(f.includes("-")){e.style.removeProperty(f)}else{e.style[f]=""}}}}for(var f in r){if(!n||r[f]!==n[f]){if(f.includes("-")){e.style.setProperty(f,r[f])}else{e.style[f]=r[f]}}}}else if(t==="ref"){if(r){r(e)}}else if(!s&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(isMemberInElement(win,i)){t=i.slice(2)}else{t=i[2]+t.slice(3)}if(n){plt.rel(e,t,n,false)}if(r){plt.ael(e,t,r,false)}}else{var $=isComplexType(r);if((s||$&&r!==null)&&!a){try{if(!e.tagName.includes("-")){var d=r==null?"":r;if(t==="list"){s=false}else if(n==null||e[t]!=d){e[t]=d}}else{e[t]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){{e.removeAttribute(t)}}}else if((!s||o&4||a)&&!$){r=r===true?"":r;{e.setAttribute(t,r)}}}}};var parseClassListRegex=/\s/;var parseClassList=function(e){return!e?[]:e.split(parseClassListRegex)};var updateElement=function(e,t,n,r){var a=t.$elm$.nodeType===11&&t.$elm$.host?t.$elm$.host:t.$elm$;var o=e&&e.$attrs$||EMPTY_OBJ;var s=t.$attrs$||EMPTY_OBJ;{for(r in o){if(!(r in s)){setAccessor(a,r,o[r],undefined,n,t.$flags$)}}}for(r in s){setAccessor(a,r,o[r],s[r],n,t.$flags$)}};var createElm=function(e,t,n,r){var a=t.$children$[n];var o=0;var s;var i;if(a.$text$!==null){s=a.$elm$=doc.createTextNode(a.$text$)}else{if(!isSvgMode){isSvgMode=a.$tag$==="svg"}s=a.$elm$=doc.createElementNS(isSvgMode?SVG_NS:HTML_NS,a.$tag$);if(isSvgMode&&a.$tag$==="foreignObject"){isSvgMode=false}{updateElement(null,a,isSvgMode)}if(isDef(scopeId)&&s["s-si"]!==scopeId){s.classList.add(s["s-si"]=scopeId)}if(a.$children$){for(o=0;o<a.$children$.length;++o){i=createElm(e,a,o);if(i){s.appendChild(i)}}}{if(a.$tag$==="svg"){isSvgMode=false}else if(s.tagName==="foreignObject"){isSvgMode=true}}}return s};var addVnodes=function(e,t,n,r,a,o){var s=e;var i;if(s.shadowRoot&&s.tagName===hostTagName){s=s.shadowRoot}for(;a<=o;++a){if(r[a]){i=createElm(null,n,a);if(i){r[a].$elm$=i;s.insertBefore(i,t)}}}};var removeVnodes=function(e,t,n){for(var r=t;r<=n;++r){var a=e[r];if(a){var o=a.$elm$;nullifyVNodeRefs(a);if(o){o.remove()}}}};var updateChildren=function(e,t,n,r){var a=0;var o=0;var s=t.length-1;var i=t[0];var l=t[s];var u=r.length-1;var c=r[0];var f=r[u];var $;while(a<=s&&o<=u){if(i==null){i=t[++a]}else if(l==null){l=t[--s]}else if(c==null){c=r[++o]}else if(f==null){f=r[--u]}else if(isSameVnode(i,c)){patch(i,c);i=t[++a];c=r[++o]}else if(isSameVnode(l,f)){patch(l,f);l=t[--s];f=r[--u]}else if(isSameVnode(i,f)){patch(i,f);e.insertBefore(i.$elm$,l.$elm$.nextSibling);i=t[++a];f=r[--u]}else if(isSameVnode(l,c)){patch(l,c);e.insertBefore(l.$elm$,i.$elm$);l=t[--s];c=r[++o]}else{{$=createElm(t&&t[o],n,o);c=r[++o]}if($){{i.$elm$.parentNode.insertBefore($,i.$elm$)}}}}if(a>s){addVnodes(e,r[u+1]==null?null:r[u+1].$elm$,n,r,o,u)}else if(o>u){removeVnodes(t,a,s)}};var isSameVnode=function(e,t){if(e.$tag$===t.$tag$){return true}return false};var patch=function(e,t){var n=t.$elm$=e.$elm$;var r=e.$children$;var a=t.$children$;var o=t.$tag$;var s=t.$text$;if(s===null){{isSvgMode=o==="svg"?true:o==="foreignObject"?false:isSvgMode}{{updateElement(e,t,isSvgMode)}}if(r!==null&&a!==null){updateChildren(n,r,t,a)}else if(a!==null){if(e.$text$!==null){n.textContent=""}addVnodes(n,null,t,a,0,a.length-1)}else if(r!==null){removeVnodes(r,0,r.length-1)}if(isSvgMode&&o==="svg"){isSvgMode=false}}else if(e.$text$!==s){n.data=s}};var nullifyVNodeRefs=function(e){{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null);e.$children$&&e.$children$.map(nullifyVNodeRefs)}};var renderVdom=function(e,t){var n=e.$hostElement$;var r=e.$vnode$||newVNode(null,null);var a=isHost(t)?t:h(null,null,t);hostTagName=n.tagName;a.$tag$=null;a.$flags$|=4;e.$vnode$=a;a.$elm$=r.$elm$=n.shadowRoot||n;{scopeId=n["s-sc"]}patch(r,a)};var attachToAncestor=function(e,t){if(t&&!e.$onRenderResolve$&&t["s-p"]){t["s-p"].push(new Promise((function(t){return e.$onRenderResolve$=t})))}};var scheduleUpdate=function(e,t){{e.$flags$|=16}if(e.$flags$&4){e.$flags$|=512;return}attachToAncestor(e,e.$ancestorComponent$);var n=function(){return dispatchHooks(e,t)};return writeTask(n)};var dispatchHooks=function(e,t){var n=createTime("scheduleUpdate",e.$cmpMeta$.$tagName$);var r=e.$lazyInstance$;var a;if(t){{e.$flags$|=256;if(e.$queuedListeners$){e.$queuedListeners$.map((function(e){var t=e[0],n=e[1];return safeCall(r,t,n)}));e.$queuedListeners$=undefined}}}n();return enqueue(a,(function(){return updateComponent(e,r,t)}))};var enqueue=function(e,t){return isPromisey(e)?e.then(t):t()};var isPromisey=function(e){return e instanceof Promise||e&&e.then&&typeof e.then==="function"};var updateComponent=function(e,t,n){return __awaiter(void 0,void 0,void 0,(function(){var r,a,o,s,i,l,u;return __generator(this,(function(c){a=e.$hostElement$;o=createTime("update",e.$cmpMeta$.$tagName$);s=a["s-rc"];if(n){attachStyles(e)}i=createTime("render",e.$cmpMeta$.$tagName$);{callRender(e,t)}if(s){s.map((function(e){return e()}));a["s-rc"]=undefined}i();o();{l=(r=a["s-p"])!==null&&r!==void 0?r:[];u=function(){return postUpdateComponent(e)};if(l.length===0){u()}else{Promise.all(l).then(u);e.$flags$|=4;l.length=0}}return[2]}))}))};var callRender=function(e,t,n){try{t=t.render();{e.$flags$&=~16}{e.$flags$|=2}{{{renderVdom(e,t)}}}}catch(t){consoleError(t,e.$hostElement$)}return null};var postUpdateComponent=function(e){var t=e.$cmpMeta$.$tagName$;var n=e.$hostElement$;var r=createTime("postUpdate",t);var a=e.$lazyInstance$;var o=e.$ancestorComponent$;if(!(e.$flags$&64)){e.$flags$|=64;{addHydratedFlag(n)}{safeCall(a,"componentDidLoad")}r();{e.$onReadyResolve$(n);if(!o){appDidLoad()}}}else{r()}{e.$onInstanceResolve$(n)}{if(e.$onRenderResolve$){e.$onRenderResolve$();e.$onRenderResolve$=undefined}if(e.$flags$&512){nextTick((function(){return scheduleUpdate(e,false)}))}e.$flags$&=~(4|512)}};var forceUpdate=function(e){{var t=getHostRef(e);var n=t.$hostElement$.isConnected;if(n&&(t.$flags$&(2|16))===2){scheduleUpdate(t,false)}return n}};var appDidLoad=function(e){{addHydratedFlag(doc.documentElement)}nextTick((function(){return emitEvent(win,"appload",{detail:{namespace:NAMESPACE}})}))};var safeCall=function(e,t,n){if(e&&e[t]){try{return e[t](n)}catch(e){consoleError(e)}}return undefined};var addHydratedFlag=function(e){return e.classList.add("hydrated")};var getValue=function(e,t){return getHostRef(e).$instanceValues$.get(t)};var setValue=function(e,t,n,r){var a=getHostRef(e);var o=a.$instanceValues$.get(t);var s=a.$flags$;var i=a.$lazyInstance$;n=parsePropertyValue(n,r.$members$[t][0]);var l=Number.isNaN(o)&&Number.isNaN(n);var u=n!==o&&!l;if((!(s&8)||o===undefined)&&u){a.$instanceValues$.set(t,n);if(i){if((s&(2|16))===2){scheduleUpdate(a,false)}}}};var proxyComponent=function(e,t,n){if(t.$members$){var r=Object.entries(t.$members$);var a=e.prototype;r.map((function(e){var r=e[0],o=e[1][0];if(o&31||n&2&&o&32){Object.defineProperty(a,r,{get:function(){return getValue(this,r)},set:function(e){setValue(this,r,e,t)},configurable:true,enumerable:true})}else if(n&1&&o&64){Object.defineProperty(a,r,{value:function(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var n=getHostRef(this);return n.$onInstancePromise$.then((function(){var t;return(t=n.$lazyInstance$)[r].apply(t,e)}))}})}}));if(n&1){var o=new Map;a.attributeChangedCallback=function(e,t,n){var r=this;plt.jmp((function(){var t=o.get(e);if(r.hasOwnProperty(t)){n=r[t];delete r[t]}else if(a.hasOwnProperty(t)&&typeof r[t]==="number"&&r[t]==n){return}r[t]=n===null&&typeof r[t]==="boolean"?false:n}))};e.observedAttributes=r.filter((function(e){var t=e[0],n=e[1];return n[0]&15})).map((function(e){var t=e[0],n=e[1];var r=n[1]||t;o.set(r,t);return r}))}}return e};var initializeComponent=function(e,t,n,r,a){return __awaiter(void 0,void 0,void 0,(function(){var e,r,o,s,i,l,u;return __generator(this,(function(c){switch(c.label){case 0:if(!((t.$flags$&32)===0))return[3,3];t.$flags$|=32;a=loadModule(n);if(!a.then)return[3,2];e=uniqueTime();return[4,a];case 1:a=c.sent();e();c.label=2;case 2:if(!a.isProxied){proxyComponent(a,n,2);a.isProxied=true}r=createTime("createInstance",n.$tagName$);{t.$flags$|=8}try{new a(t)}catch(e){consoleError(e)}{t.$flags$&=~8}r();if(a.style){o=a.style;s=getScopeId(n);if(!styles.has(s)){i=createTime("registerStyles",n.$tagName$);registerStyle(s,o,!!(n.$flags$&1));i()}}c.label=3;case 3:l=t.$ancestorComponent$;u=function(){return scheduleUpdate(t,true)};if(l&&l["s-rc"]){l["s-rc"].push(u)}else{u()}return[2]}}))}))};var connectedCallback=function(e){if((plt.$flags$&1)===0){var t=getHostRef(e);var n=t.$cmpMeta$;var r=createTime("connectedCallback",n.$tagName$);if(!(t.$flags$&1)){t.$flags$|=1;{var a=e;while(a=a.parentNode||a.host){if(a["s-p"]){attachToAncestor(t,t.$ancestorComponent$=a);break}}}if(n.$members$){Object.entries(n.$members$).map((function(t){var n=t[0],r=t[1][0];if(r&31&&e.hasOwnProperty(n)){var a=e[n];delete e[n];e[n]=a}}))}{initializeComponent(e,t,n)}}else{addHostEventListeners(e,t,n.$listeners$)}r()}};var disconnectedCallback=function(e){if((plt.$flags$&1)===0){var t=getHostRef(e);var n=t.$lazyInstance$;{if(t.$rmListeners$){t.$rmListeners$.map((function(e){return e()}));t.$rmListeners$=undefined}}{safeCall(n,"disconnectedCallback")}}};var bootstrapLazy=function(e,t){if(t===void 0){t={}}var n;var r=createTime();var a=[];var o=t.exclude||[];var s=win.customElements;var i=doc.head;var l=i.querySelector("meta[charset]");var u=doc.createElement("style");var c=[];var f;var $=true;Object.assign(plt,t);plt.$resourcesUrl$=new URL(t.resourcesUrl||"./",doc.baseURI).href;e.map((function(e){e[1].map((function(t){var n={$flags$:t[0],$tagName$:t[1],$members$:t[2],$listeners$:t[3]};{n.$members$=t[2]}{n.$listeners$=t[3]}var r=n.$tagName$;var i=function(e){__extends(t,e);function t(t){var r=e.call(this,t)||this;t=r;registerHost(t,n);if(n.$flags$&1){{{t.attachShadow({mode:"open"})}}}return r}t.prototype.connectedCallback=function(){var e=this;if(f){clearTimeout(f);f=null}if($){c.push(this)}else{plt.jmp((function(){return connectedCallback(e)}))}};t.prototype.disconnectedCallback=function(){var e=this;plt.jmp((function(){return disconnectedCallback(e)}))};t.prototype.componentOnReady=function(){return getHostRef(this).$onReadyPromise$};return t}(HTMLElement);n.$lazyBundleId$=e[0];if(!o.includes(r)&&!s.get(r)){a.push(r);s.define(r,proxyComponent(i,n,1))}}))}));{u.innerHTML=a+HYDRATED_CSS;u.setAttribute("data-styles","");var d=(n=plt.$nonce$)!==null&&n!==void 0?n:queryNonceMetaTagContent(doc);if(d!=null){u.setAttribute("nonce",d)}i.insertBefore(u,l?l.nextSibling:i.firstChild)}$=false;if(c.length){c.map((function(e){return e.connectedCallback()}))}else{{plt.jmp((function(){return f=setTimeout(appDidLoad,30)}))}}r()};var addHostEventListeners=function(e,t,n,r){if(n){n.map((function(n){var r=n[0],a=n[1],o=n[2];var s=getHostListenerTarget(e,r);var i=hostListenerProxy(t,o);var l=hostListenerOpts(r);plt.ael(s,a,i,l);(t.$rmListeners$=t.$rmListeners$||[]).push((function(){return plt.rel(s,a,i,l)}))}))}};var hostListenerProxy=function(e,t){return function(n){try{{if(e.$flags$&256){e.$lazyInstance$[t](n)}else{(e.$queuedListeners$=e.$queuedListeners$||[]).push([t,n])}}}catch(e){consoleError(e)}}};var getHostListenerTarget=function(e,t){if(t&16)return doc.body;return e};var hostListenerOpts=function(e){return(e&2)!==0};var setNonce=function(e){return plt.$nonce$=e};var hostRefs=new WeakMap;var getHostRef=function(e){return hostRefs.get(e)};var registerInstance=function(e,t){return hostRefs.set(t.$lazyInstance$=e,t)};var registerHost=function(e,t){var n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};{n.$onInstancePromise$=new Promise((function(e){return n.$onInstanceResolve$=e}))}{n.$onReadyPromise$=new Promise((function(e){return n.$onReadyResolve$=e}));e["s-p"]=[];e["s-rc"]=[]}addHostEventListeners(e,n,t.$listeners$);return hostRefs.set(e,n)};var isMemberInElement=function(e,t){return t in e};var consoleError=function(e,t){return(0,console.error)(e,t)};var cmpModules=new Map;var loadModule=function(e,t,n){var r=e.$tagName$.replace(/-/g,"_");var a=e.$lazyBundleId$;var o=cmpModules.get(a);if(o){return o[r]}if(!n||!BUILD.hotModuleReplacement){var s=function(e){cmpModules.set(a,e);return e[r]};switch(a){case"pwa-action-sheet":return import("./pwa-action-sheet.entry.js").then(s,consoleError);case"pwa-camera-modal":return import("./pwa-camera-modal.entry.js").then(s,consoleError);case"pwa-toast":return import("./pwa-toast.entry.js").then(s,consoleError);case"pwa-camera-modal-instance":return import("./pwa-camera-modal-instance.entry.js").then(s,consoleError);case"pwa-camera":return import("./pwa-camera.entry.js").then(s,consoleError)}}return import("./".concat(a,".entry.js").concat("")).then((function(e){{cmpModules.set(a,e)}return e[r]}),consoleError)};var styles=new Map;var win=typeof window!=="undefined"?window:{};var doc=win.document||{head:{}};var plt={$flags$:0,$resourcesUrl$:"",jmp:function(e){return e()},raf:function(e){return requestAnimationFrame(e)},ael:function(e,t,n,r){return e.addEventListener(t,n,r)},rel:function(e,t,n,r){return e.removeEventListener(t,n,r)},ce:function(e,t){return new CustomEvent(e,t)}};var promiseResolve=function(e){return Promise.resolve(e)};var supportsConstructableStylesheets=function(){try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false}();var queueDomReads=[];var queueDomWrites=[];var queueTask=function(e,t){return function(n){e.push(n);if(!queuePending){queuePending=true;if(t&&plt.$flags$&4){nextTick(flush)}else{plt.raf(flush)}}}};var consume=function(e){for(var t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){consoleError(e)}}e.length=0};var flush=function(){consume(queueDomReads);{consume(queueDomWrites);if(queuePending=queueDomReads.length>0){plt.raf(flush)}}};var nextTick=function(e){return promiseResolve().then(e)};var writeTask=queueTask(queueDomWrites,true);export{Host as H,bootstrapLazy as b,createEvent as c,forceUpdate as f,getElement as g,h,promiseResolve as p,registerInstance as r,setNonce as s};
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/index.js b/src/public/js/pwa-elements/esm-es5/index.js
new file mode 100644
index 0000000..e69de29
diff --git a/src/public/js/pwa-elements/esm-es5/ionicpwaelements.js b/src/public/js/pwa-elements/esm-es5/ionicpwaelements.js
new file mode 100644
index 0000000..a1b8a72
--- /dev/null
+++ b/src/public/js/pwa-elements/esm-es5/ionicpwaelements.js
@@ -0,0 +1 @@
+import{p as promiseResolve,b as bootstrapLazy}from"./index-1c5c47b4.js";export{s as setNonce}from"./index-1c5c47b4.js";var patchBrowser=function(){var e=import.meta.url;var a={};if(e!==""){a.resourcesUrl=new URL(".",e).href}return promiseResolve(a)};patchBrowser().then((function(e){return bootstrapLazy([["pwa-camera-modal",[[1,"pwa-camera-modal",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],present:[64],dismiss:[64]}]]],["pwa-action-sheet",[[1,"pwa-action-sheet",{header:[1],cancelable:[4],options:[16],open:[32]}]]],["pwa-toast",[[1,"pwa-toast",{message:[1],duration:[2],closing:[32]}]]],["pwa-camera",[[1,"pwa-camera",{facingMode:[1,"facing-mode"],handlePhoto:[16],hidePicker:[4,"hide-picker"],handleNoDeviceError:[16],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"],photo:[32],photoSrc:[32],showShutterOverlay:[32],flashIndex:[32],hasCamera:[32],rotation:[32],deviceError:[32]}]]],["pwa-camera-modal-instance",[[1,"pwa-camera-modal-instance",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]],e)}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/loader.js b/src/public/js/pwa-elements/esm-es5/loader.js
new file mode 100644
index 0000000..89fde8d
--- /dev/null
+++ b/src/public/js/pwa-elements/esm-es5/loader.js
@@ -0,0 +1 @@
+import{p as promiseResolve,b as bootstrapLazy}from"./index-1c5c47b4.js";export{s as setNonce}from"./index-1c5c47b4.js";var patchEsm=function(){return promiseResolve()};var defineCustomElements=function(e,o){if(typeof window==="undefined")return Promise.resolve();return patchEsm().then((function(){return bootstrapLazy([["pwa-camera-modal",[[1,"pwa-camera-modal",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],present:[64],dismiss:[64]}]]],["pwa-action-sheet",[[1,"pwa-action-sheet",{header:[1],cancelable:[4],options:[16],open:[32]}]]],["pwa-toast",[[1,"pwa-toast",{message:[1],duration:[2],closing:[32]}]]],["pwa-camera",[[1,"pwa-camera",{facingMode:[1,"facing-mode"],handlePhoto:[16],hidePicker:[4,"hide-picker"],handleNoDeviceError:[16],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"],photo:[32],photoSrc:[32],showShutterOverlay:[32],flashIndex:[32],hasCamera:[32],rotation:[32],deviceError:[32]}]]],["pwa-camera-modal-instance",[[1,"pwa-camera-modal-instance",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]],o)}))};export{defineCustomElements};
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-action-sheet.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-action-sheet.entry.js
new file mode 100644
index 0000000..36f6d26
--- /dev/null
+++ b/src/public/js/pwa-elements/esm-es5/pwa-action-sheet.entry.js
@@ -0,0 +1 @@
+import{r as registerInstance,c as createEvent,h,g as getElement}from"./index-1c5c47b4.js";var actionSheetCss=':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';var PWAActionSheet=function(){function e(e){registerInstance(this,e);this.onSelection=createEvent(this,"onSelection",7);this.header=undefined;this.cancelable=true;this.options=[];this.open=false}e.prototype.componentDidLoad=function(){var e=this;requestAnimationFrame((function(){e.open=true}))};e.prototype.dismiss=function(){if(this.cancelable){this.close()}};e.prototype.close=function(){var e=this;this.open=false;setTimeout((function(){e.el.parentNode.removeChild(e.el)}),500)};e.prototype.handleOptionClick=function(e,t){e.stopPropagation();this.onSelection.emit(t);this.close()};e.prototype.render=function(){var e=this;return h("div",{class:"wrapper".concat(this.open?" open":""),onClick:function(){return e.dismiss()}},h("div",{class:"content"},h("div",{class:"title"},this.header),this.options.map((function(t,n){return h("div",{class:"action-sheet-option",onClick:function(t){return e.handleOptionClick(t,n)}},h("div",{class:"action-sheet-button"},t.title))}))))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PWAActionSheet.style=actionSheetCss;export{PWAActionSheet as pwa_action_sheet};
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-camera-modal-instance.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-camera-modal-instance.entry.js
new file mode 100644
index 0000000..a1746cf
--- /dev/null
+++ b/src/public/js/pwa-elements/esm-es5/pwa-camera-modal-instance.entry.js
@@ -0,0 +1 @@
+var __awaiter=this&&this.__awaiter||function(e,t,n,o){function r(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{s(o.next(e))}catch(e){i(e)}}function c(e){try{s(o["throw"](e))}catch(e){i(e)}}function s(e){e.done?n(e.value):r(e.value).then(a,c)}s((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,r,i,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(t){return s([e,t])}}function s(c){if(o)throw new TypeError("Generator is already executing.");while(a&&(a=0,c[0]&&(n=0)),n)try{if(o=1,r&&(i=c[0]&2?r["return"]:c[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,c[1])).done)return i;if(r=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:n.label++;return{value:c[1],done:false};case 5:n.label++;r=c[1];c=[0];continue;case 7:c=n.ops.pop();n.trys.pop();continue;default:if(!(i=n.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){n.label=c[1];break}if(c[0]===6&&n.label<i[1]){n.label=i[1];i=c;break}if(i&&n.label<i[2]){n.label=i[2];n.ops.push(c);break}if(i[2])n.ops.pop();n.trys.pop();continue}c=t.call(e,n)}catch(e){c=[6,e];r=0}finally{o=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,g as getElement}from"./index-1c5c47b4.js";var cameraModalInstanceCss=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";var PWACameraModal=function(){function e(e){var t=this;registerInstance(this,e);this.onPhoto=createEvent(this,"onPhoto",7);this.noDeviceError=createEvent(this,"noDeviceError",7);this.handlePhoto=function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){this.onPhoto.emit(e);return[2]}))}))};this.handleNoDeviceError=function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){this.noDeviceError.emit(e);return[2]}))}))};this.facingMode="user";this.hidePicker=false;this.noDevicesText="No camera found";this.noDevicesButtonText="Choose image"}e.prototype.handleBackdropClick=function(e){if(e.target!==this.el){this.onPhoto.emit(null)}};e.prototype.handleComponentClick=function(e){e.stopPropagation()};e.prototype.handleBackdropKeyUp=function(e){if(e.key==="Escape"){this.onPhoto.emit(null)}};e.prototype.render=function(){var e=this;return h("div",{class:"wrapper",onClick:function(t){return e.handleBackdropClick(t)}},h("div",{class:"content"},h("pwa-camera",{onClick:function(t){return e.handleComponentClick(t)},facingMode:this.facingMode,hidePicker:this.hidePicker,handlePhoto:this.handlePhoto,handleNoDeviceError:this.handleNoDeviceError,noDevicesButtonText:this.noDevicesButtonText,noDevicesText:this.noDevicesText})))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PWACameraModal.style=cameraModalInstanceCss;export{PWACameraModal as pwa_camera_modal_instance};
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-camera-modal.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-camera-modal.entry.js
new file mode 100644
index 0000000..3f04ded
--- /dev/null
+++ b/src/public/js/pwa-elements/esm-es5/pwa-camera-modal.entry.js
@@ -0,0 +1 @@
+var __awaiter=this&&this.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function s(e){try{c(r["throw"](e))}catch(e){o(e)}}function c(e){e.done?n(e.value):i(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(n=0)),n)try{if(r=1,i&&(o=s[0]&2?i["return"]:s[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;if(i=0,o)s=[s[0]&2,o.value];switch(s[0]){case 0:case 1:o=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;i=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!o||s[1]>o[0]&&s[1]<o[3])){n.label=s[1];break}if(s[0]===6&&n.label<o[1]){n.label=o[1];o=s;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(s);break}if(o[2])n.ops.pop();n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e];i=0}finally{r=o=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h}from"./index-1c5c47b4.js";var cameraModalCss=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";var PWACameraModal=function(){function e(e){registerInstance(this,e);this.onPhoto=createEvent(this,"onPhoto",7);this.noDeviceError=createEvent(this,"noDeviceError",7);this.facingMode="user";this.hidePicker=false}e.prototype.present=function(){return __awaiter(this,void 0,void 0,(function(){var e;var t=this;return __generator(this,(function(n){e=document.createElement("pwa-camera-modal-instance");e.facingMode=this.facingMode;e.hidePicker=this.hidePicker;e.addEventListener("onPhoto",(function(e){return __awaiter(t,void 0,void 0,(function(){var t;return __generator(this,(function(n){if(!this._modal){return[2]}t=e.detail;this.onPhoto.emit(t);return[2]}))}))}));e.addEventListener("noDeviceError",(function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){this.noDeviceError.emit(e);return[2]}))}))}));document.body.append(e);this._modal=e;return[2]}))}))};e.prototype.dismiss=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!this._modal){return[2]}this._modal&&this._modal.parentNode.removeChild(this._modal);this._modal=null;return[2]}))}))};e.prototype.render=function(){return h("div",null)};return e}();PWACameraModal.style=cameraModalCss;export{PWACameraModal as pwa_camera_modal};
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-camera.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-camera.entry.js
new file mode 100644
index 0000000..ae82a51
--- /dev/null
+++ b/src/public/js/pwa-elements/esm-es5/pwa-camera.entry.js
@@ -0,0 +1,19 @@
+var __awaiter=this&&this.__awaiter||function(e,t,i,n){function r(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n["throw"](e))}catch(e){a(e)}}function c(e){e.done?i(e.value):r(e.value).then(o,s)}c((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,s[0]&&(i=0)),i)try{if(n=1,r&&(a=s[0]&2?r["return"]:s[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;if(r=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:i.label++;return{value:s[1],done:false};case 5:i.label++;r=s[1];s=[0];continue;case 7:s=i.ops.pop();i.trys.pop();continue;default:if(!(a=i.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){i=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(s[0]===6&&i.label<a[1]){i.label=a[1];a=s;break}if(a&&i.label<a[2]){i.label=a[2];i.ops.push(s);break}if(a[2])i.ops.pop();i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e];r=0}finally{n=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};import{r as registerInstance,f as forceUpdate,h,g as getElement}from"./index-1c5c47b4.js";
+/**
+ * MediaStream ImageCapture polyfill
+ *
+ * @license
+ * Copyright 2018 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */var ImageCapture=window.ImageCapture;if(typeof ImageCapture==="undefined"){ImageCapture=function(){function e(e){var t=this;if(e.kind!=="video")throw new DOMException("NotSupportedError");this._videoStreamTrack=e;if(!("readyState"in this._videoStreamTrack)){this._videoStreamTrack.readyState="live"}this._previewStream=new MediaStream([e]);this.videoElement=document.createElement("video");this.videoElementPlaying=new Promise((function(e){t.videoElement.addEventListener("playing",e)}));if(HTMLMediaElement){this.videoElement.srcObject=this._previewStream}else{this.videoElement.src=URL.createObjectURL(this._previewStream)}this.videoElement.muted=true;this.videoElement.setAttribute("playsinline","");this.videoElement.play();this.canvasElement=document.createElement("canvas");this.canvas2dContext=this.canvasElement.getContext("2d")}Object.defineProperty(e.prototype,"videoStreamTrack",{get:function(){return this._videoStreamTrack},enumerable:false,configurable:true});e.prototype.getPhotoCapabilities=function(){return new Promise((function e(t,i){var n={current:0,min:0,max:0};t({exposureCompensation:n,exposureMode:"none",fillLightMode:["none"],focusMode:"none",imageHeight:n,imageWidth:n,iso:n,redEyeReduction:false,whiteBalanceMode:"none",zoom:n});i(new DOMException("OperationError"))}))};e.prototype.setOptions=function(e){if(e===void 0){e={}}return new Promise((function e(t,i){}))};e.prototype.takePhoto=function(){var e=this;return new Promise((function t(i,n){if(e._videoStreamTrack.readyState!=="live"){return n(new DOMException("InvalidStateError"))}e.videoElementPlaying.then((function(){try{e.canvasElement.width=e.videoElement.videoWidth;e.canvasElement.height=e.videoElement.videoHeight;e.canvas2dContext.drawImage(e.videoElement,0,0);e.canvasElement.toBlob(i)}catch(e){n(new DOMException("UnknownError"))}}))}))};e.prototype.grabFrame=function(){var e=this;return new Promise((function t(i,n){if(e._videoStreamTrack.readyState!=="live"){return n(new DOMException("InvalidStateError"))}e.videoElementPlaying.then((function(){try{e.canvasElement.width=e.videoElement.videoWidth;e.canvasElement.height=e.videoElement.videoHeight;e.canvas2dContext.drawImage(e.videoElement,0,0);i(window.createImageBitmap(e.canvasElement))}catch(e){n(new DOMException("UnknownError"))}}))}))};return e}()}window.ImageCapture=ImageCapture;var cameraCss=":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";var CameraPWA=function(){function e(e){var t=this;registerInstance(this,e);this.hasMultipleCameras=false;this.hasFlash=false;this.flashModes=[];this.flashMode="off";this.handlePickFile=function(e){};this.handleShutterClick=function(e){console.debug("shutter click");t.capture()};this.handleRotateClick=function(e){t.rotate()};this.handleClose=function(e){t.handlePhoto&&t.handlePhoto(null)};this.handleFlashClick=function(e){t.cycleFlash()};this.handleCancelPhoto=function(e){var i=t.stream&&t.stream.getTracks()[0];var n=i&&i.getConstraints();t.photo=null;t.photoSrc=null;if(n){t.initCamera({video:{facingMode:n.facingMode}})}else{t.initCamera()}};this.handleAcceptPhoto=function(e){t.handlePhoto&&t.handlePhoto(t.photo)};this.handleFileInputChange=function(e){return __awaiter(t,void 0,void 0,(function(){var t,i,n,r;return __generator(this,(function(a){switch(a.label){case 0:t=e.target;i=t.files[0];a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.getOrientation(i)];case 2:n=a.sent();console.debug("Got orientation",n);this.photoOrientation=n;return[3,4];case 3:r=a.sent();return[3,4];case 4:this.handlePhoto&&this.handlePhoto(i);return[2]}}))}))};this.handleVideoMetadata=function(e){console.debug("Video metadata",e)};this.facingMode="user";this.handlePhoto=undefined;this.hidePicker=false;this.handleNoDeviceError=undefined;this.noDevicesText="No camera found";this.noDevicesButtonText="Choose image";this.photo=undefined;this.photoSrc=undefined;this.showShutterOverlay=false;this.flashIndex=0;this.hasCamera=null;this.rotation=0;this.deviceError=null}e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:this.defaultConstraints={video:{facingMode:this.facingMode}};return[4,this.queryDevices()];case 1:e.sent();return[4,this.initCamera()];case 2:e.sent();return[2]}}))}))};e.prototype.disconnectedCallback=function(){this.stopStream();this.photoSrc&&URL.revokeObjectURL(this.photoSrc)};e.prototype.hasImageCapture=function(){return"ImageCapture"in window};e.prototype.queryDevices=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,i;return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,navigator.mediaDevices.enumerateDevices()];case 1:e=n.sent();t=e.filter((function(e){return e.kind=="videoinput"}));this.hasCamera=!!t.length;this.hasMultipleCameras=t.length>1;return[3,3];case 2:i=n.sent();this.deviceError=i;return[3,3];case 3:return[2]}}))}))};e.prototype.initCamera=function(e){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(n){switch(n.label){case 0:if(!e){e=this.defaultConstraints}n.label=1;case 1:n.trys.push([1,3,,4]);return[4,navigator.mediaDevices.getUserMedia(Object.assign({video:true,audio:false},e))];case 2:t=n.sent();this.initStream(t);return[3,4];case 3:i=n.sent();this.deviceError=i;this.handleNoDeviceError&&this.handleNoDeviceError(i);return[3,4];case 4:return[2]}}))}))};e.prototype.initStream=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:this.stream=e;this.videoElement.srcObject=e;if(!this.hasImageCapture())return[3,2];this.imageCapture=new window.ImageCapture(e.getVideoTracks()[0]);return[4,this.initPhotoCapabilities(this.imageCapture)];case 1:t.sent();return[3,3];case 2:this.deviceError="No image capture";this.handleNoDeviceError&&this.handleNoDeviceError();t.label=3;case 3:forceUpdate(this.el);return[2]}}))}))};e.prototype.initPhotoCapabilities=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:return[4,e.getPhotoCapabilities()];case 1:t=i.sent();if(t.fillLightMode&&t.fillLightMode.length>1){this.flashModes=t.fillLightMode.map((function(e){return e}));if(this.flashMode){this.flashMode=this.flashModes[this.flashModes.indexOf(this.flashMode)]||"off";this.flashIndex=this.flashModes.indexOf(this.flashMode)||0}else{this.flashIndex=0}}return[2]}}))}))};e.prototype.stopStream=function(){if(this.videoElement){this.videoElement.srcObject=null}this.stream&&this.stream.getTracks().forEach((function(e){return e.stop()}))};e.prototype.capture=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){switch(i.label){case 0:if(!this.hasImageCapture())return[3,5];i.label=1;case 1:i.trys.push([1,4,,5]);return[4,this.imageCapture.takePhoto({fillLightMode:this.flashModes.length>1?this.flashMode:undefined})];case 2:e=i.sent();return[4,this.flashScreen()];case 3:i.sent();this.promptAccept(e);return[3,5];case 4:t=i.sent();console.error("Unable to take photo!",t);return[3,5];case 5:this.stopStream();return[2]}}))}))};e.prototype.promptAccept=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:this.photo=e;return[4,this.getOrientation(e)];case 1:t=i.sent();console.debug("Got orientation",t);this.photoOrientation=t;if(t){switch(t){case 1:case 2:this.rotation=0;break;case 3:case 4:this.rotation=180;break;case 5:case 6:this.rotation=90;break;case 7:case 8:this.rotation=270;break}}this.photoSrc=URL.createObjectURL(e);return[2]}}))}))};e.prototype.getOrientation=function(e){return new Promise((function(t){var i=new FileReader;i.onload=function(e){var i=new DataView(e.target.result);if(i.getUint16(0,false)!==65496){return t(-2)}var n=i.byteLength;var r=2;while(r<n){var a=i.getUint16(r,false);r+=2;if(a===65505){if(i.getUint32(r+=2,false)!==1165519206){return t(-1)}var o=i.getUint16(r+=6,false)===18761;r+=i.getUint32(r+4,o);var s=i.getUint16(r,o);r+=2;for(var c=0;c<s;c++){if(i.getUint16(r+c*12,o)===274){return t(i.getUint16(r+c*12+8,o))}}}else if((a&65280)!==65280){break}else{r+=i.getUint16(r,false)}}return t(-1)};i.readAsArrayBuffer(e.slice(0,64*1024))}))};e.prototype.rotate=function(){this.stopStream();var e=this.stream&&this.stream.getTracks()[0];if(!e){return}var t=e.getConstraints();var i=t.facingMode;if(!i){var n=e.getCapabilities();if(n.facingMode){i=n.facingMode[0]}}if(i==="environment"){this.initCamera({video:{facingMode:"user"}})}else{this.initCamera({video:{facingMode:"environment"}})}};e.prototype.setFlashMode=function(e){console.debug("New flash mode: ",e);this.flashMode=e};e.prototype.cycleFlash=function(){if(this.flashModes.length>0){this.flashIndex=(this.flashIndex+1)%this.flashModes.length;this.setFlashMode(this.flashModes[this.flashIndex])}};e.prototype.flashScreen=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,new Promise((function(t,i){e.showShutterOverlay=true;setTimeout((function(){e.showShutterOverlay=false;t()}),100)}))]}))}))};e.prototype.iconExit=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconPhotos=function(){return h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"512",height:"512",viewBox:"0 0 512 512"},h("path",{d:"M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"}),h("path",{d:"M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"}))};e.prototype.iconConfirm=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconReverseCamera=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconRetake=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconFlashOff=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconFlashOn=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E"};e.prototype.iconFlashAuto=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.render=function(){var e=this;var t={};return h("div",{class:"camera-wrapper"},h("div",{class:"camera-header"},h("section",{class:"items"},h("div",{class:"item close",onClick:function(t){return e.handleClose(t)}},h("img",{src:this.iconExit()})),h("div",{class:"item flash",onClick:function(t){return e.handleFlashClick(t)}},this.flashModes.length>0&&h("div",null,this.flashMode=="off"?h("img",{src:this.iconFlashOff()}):"",this.flashMode=="auto"?h("img",{src:this.iconFlashAuto()}):"",this.flashMode=="flash"?h("img",{src:this.iconFlashOn()}):"")))),(this.hasCamera===false||!!this.deviceError)&&h("div",{class:"no-device"},h("h2",null,this.noDevicesText),h("label",{htmlFor:"_pwa-elements-camera-input"},this.noDevicesButtonText),h("input",{type:"file",id:"_pwa-elements-camera-input",onChange:this.handleFileInputChange,accept:"image/*",class:"select-file-button"})),this.photoSrc?h("div",{class:"accept"},h("div",{class:"accept-image",style:Object.assign({backgroundImage:"url(".concat(this.photoSrc,")")},t)})):h("div",{class:"camera-video"},this.showShutterOverlay&&h("div",{class:"shutter-overlay"}),this.hasImageCapture()?h("video",{ref:function(t){return e.videoElement=t},onLoadedMetaData:this.handleVideoMetadata,autoplay:true,playsinline:true}):h("canvas",{ref:function(t){return e.canvasElement=t},width:"100%",height:"100%"}),h("canvas",{class:"offscreen-image-render",ref:function(t){return e.offscreenCanvas=t},width:"100%",height:"100%"})),this.hasCamera&&h("div",{class:"camera-footer"},!this.photo?[!this.hidePicker&&h("div",{class:"pick-image",onClick:this.handlePickFile},h("label",{htmlFor:"_pwa-elements-file-pick"},this.iconPhotos()),h("input",{type:"file",id:"_pwa-elements-file-pick",onChange:this.handleFileInputChange,accept:"image/*",class:"pick-image-button"})),h("div",{class:"shutter",onClick:this.handleShutterClick},h("div",{class:"shutter-button"})),h("div",{class:"rotate",onClick:this.handleRotateClick},h("img",{src:this.iconReverseCamera()}))]:h("section",{class:"items"},h("div",{class:"item accept-cancel",onClick:function(t){return e.handleCancelPhoto(t)}},h("img",{src:this.iconRetake()})),h("div",{class:"item accept-use",onClick:function(t){return e.handleAcceptPhoto(t)}},h("img",{src:this.iconConfirm()})))))};Object.defineProperty(e,"assetsDirs",{get:function(){return["icons"]},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();CameraPWA.style=cameraCss;export{CameraPWA as pwa_camera};
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-toast.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-toast.entry.js
new file mode 100644
index 0000000..2b8e239
--- /dev/null
+++ b/src/public/js/pwa-elements/esm-es5/pwa-toast.entry.js
@@ -0,0 +1 @@
+import{r as registerInstance,h,g as getElement,H as Host}from"./index-1c5c47b4.js";var toastCss=':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';var PWAToast=function(){function t(t){registerInstance(this,t);this.message=undefined;this.duration=2e3;this.closing=null}t.prototype.hostData=function(){var t={out:!!this.closing};if(this.closing!==null){t["in"]=!this.closing}return{class:t}};t.prototype.componentDidLoad=function(){var t=this;setTimeout((function(){t.closing=false}));setTimeout((function(){t.close()}),this.duration)};t.prototype.close=function(){var t=this;this.closing=true;setTimeout((function(){t.el.parentNode.removeChild(t.el)}),1e3)};t.prototype.__stencil_render=function(){return h("div",{class:"wrapper"},h("div",{class:"toast"},this.message))};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});t.prototype.render=function(){return h(Host,this.hostData(),this.__stencil_render())};return t}();PWAToast.style=toastCss;export{PWAToast as pwa_toast};
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/index-1c5c47b4.js b/src/public/js/pwa-elements/esm/index-1c5c47b4.js
new file mode 100644
index 0000000..14e6a7f
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/index-1c5c47b4.js
@@ -0,0 +1,1636 @@
+const NAMESPACE = 'ionicpwaelements';
+
+/**
+ * Virtual DOM patching algorithm based on Snabbdom by
+ * Simon Friis Vindum (@paldepind)
+ * Licensed under the MIT License
+ * https://github.com/snabbdom/snabbdom/blob/master/LICENSE
+ *
+ * Modified for Stencil's renderer and slot projection
+ */
+let scopeId;
+let hostTagName;
+let isSvgMode = false;
+let queuePending = false;
+const createTime = (fnName, tagName = '') => {
+    {
+        return () => {
+            return;
+        };
+    }
+};
+const uniqueTime = (key, measureText) => {
+    {
+        return () => {
+            return;
+        };
+    }
+};
+const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
+/**
+ * Default style mode id
+ */
+/**
+ * Reusable empty obj/array
+ * Don't add values to these!!
+ */
+const EMPTY_OBJ = {};
+/**
+ * Namespaces
+ */
+const SVG_NS = 'http://www.w3.org/2000/svg';
+const HTML_NS = 'http://www.w3.org/1999/xhtml';
+const isDef = (v) => v != null;
+/**
+ * Check whether a value is a 'complex type', defined here as an object or a
+ * function.
+ *
+ * @param o the value to check
+ * @returns whether it's a complex type or not
+ */
+const isComplexType = (o) => {
+    // https://jsperf.com/typeof-fn-object/5
+    o = typeof o;
+    return o === 'object' || o === 'function';
+};
+/**
+ * Helper method for querying a `meta` tag that contains a nonce value
+ * out of a DOM's head.
+ *
+ * @param doc The DOM containing the `head` to query against
+ * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
+ * exists or the tag has no content.
+ */
+function queryNonceMetaTagContent(doc) {
+    var _a, _b, _c;
+    return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
+}
+/**
+ * Production h() function based on Preact by
+ * Jason Miller (@developit)
+ * Licensed under the MIT License
+ * https://github.com/developit/preact/blob/master/LICENSE
+ *
+ * Modified for Stencil's compiler and vdom
+ */
+// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
+// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
+const h = (nodeName, vnodeData, ...children) => {
+    let child = null;
+    let simple = false;
+    let lastSimple = false;
+    const vNodeChildren = [];
+    const walk = (c) => {
+        for (let i = 0; i < c.length; i++) {
+            child = c[i];
+            if (Array.isArray(child)) {
+                walk(child);
+            }
+            else if (child != null && typeof child !== 'boolean') {
+                if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {
+                    child = String(child);
+                }
+                if (simple && lastSimple) {
+                    // If the previous child was simple (string), we merge both
+                    vNodeChildren[vNodeChildren.length - 1].$text$ += child;
+                }
+                else {
+                    // Append a new vNode, if it's text, we create a text vNode
+                    vNodeChildren.push(simple ? newVNode(null, child) : child);
+                }
+                lastSimple = simple;
+            }
+        }
+    };
+    walk(children);
+    if (vnodeData) {
+        {
+            const classData = vnodeData.className || vnodeData.class;
+            if (classData) {
+                vnodeData.class =
+                    typeof classData !== 'object'
+                        ? classData
+                        : Object.keys(classData)
+                            .filter((k) => classData[k])
+                            .join(' ');
+            }
+        }
+    }
+    const vnode = newVNode(nodeName, null);
+    vnode.$attrs$ = vnodeData;
+    if (vNodeChildren.length > 0) {
+        vnode.$children$ = vNodeChildren;
+    }
+    return vnode;
+};
+/**
+ * A utility function for creating a virtual DOM node from a tag and some
+ * possible text content.
+ *
+ * @param tag the tag for this element
+ * @param text possible text content for the node
+ * @returns a newly-minted virtual DOM node
+ */
+const newVNode = (tag, text) => {
+    const vnode = {
+        $flags$: 0,
+        $tag$: tag,
+        $text$: text,
+        $elm$: null,
+        $children$: null,
+    };
+    {
+        vnode.$attrs$ = null;
+    }
+    return vnode;
+};
+const Host = {};
+/**
+ * Check whether a given node is a Host node or not
+ *
+ * @param node the virtual DOM node to check
+ * @returns whether it's a Host node or not
+ */
+const isHost = (node) => node && node.$tag$ === Host;
+/**
+ * Parse a new property value for a given property type.
+ *
+ * While the prop value can reasonably be expected to be of `any` type as far as TypeScript's type checker is concerned,
+ * it is not safe to assume that the string returned by evaluating `typeof propValue` matches:
+ *   1. `any`, the type given to `propValue` in the function signature
+ *   2. the type stored from `propType`.
+ *
+ * This function provides the capability to parse/coerce a property's value to potentially any other JavaScript type.
+ *
+ * Property values represented in TSX preserve their type information. In the example below, the number 0 is passed to
+ * a component. This `propValue` will preserve its type information (`typeof propValue === 'number'`). Note that is
+ * based on the type of the value being passed in, not the type declared of the class member decorated with `@Prop`.
+ * ```tsx
+ * <my-cmp prop-val={0}></my-cmp>
+ * ```
+ *
+ * HTML prop values on the other hand, will always a string
+ *
+ * @param propValue the new value to coerce to some type
+ * @param propType the type of the prop, expressed as a binary number
+ * @returns the parsed/coerced value
+ */
+const parsePropertyValue = (propValue, propType) => {
+    // ensure this value is of the correct prop type
+    if (propValue != null && !isComplexType(propValue)) {
+        if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
+            // per the HTML spec, any string value means it is a boolean true value
+            // but we'll cheat here and say that the string "false" is the boolean false
+            return propValue === 'false' ? false : propValue === '' || !!propValue;
+        }
+        if (propType & 2 /* MEMBER_FLAGS.Number */) {
+            // force it to be a number
+            return parseFloat(propValue);
+        }
+        if (propType & 1 /* MEMBER_FLAGS.String */) {
+            // could have been passed as a number or boolean
+            // but we still want it as a string
+            return String(propValue);
+        }
+        // redundant return here for better minification
+        return propValue;
+    }
+    // not sure exactly what type we want
+    // so no need to change to a different type
+    return propValue;
+};
+const getElement = (ref) => (getHostRef(ref).$hostElement$ );
+const createEvent = (ref, name, flags) => {
+    const elm = getElement(ref);
+    return {
+        emit: (detail) => {
+            return emitEvent(elm, name, {
+                bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
+                composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
+                cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
+                detail,
+            });
+        },
+    };
+};
+/**
+ * Helper function to create & dispatch a custom Event on a provided target
+ * @param elm the target of the Event
+ * @param name the name to give the custom Event
+ * @param opts options for configuring a custom Event
+ * @returns the custom Event
+ */
+const emitEvent = (elm, name, opts) => {
+    const ev = plt.ce(name, opts);
+    elm.dispatchEvent(ev);
+    return ev;
+};
+const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
+const registerStyle = (scopeId, cssText, allowCS) => {
+    let style = styles.get(scopeId);
+    if (supportsConstructableStylesheets && allowCS) {
+        style = (style || new CSSStyleSheet());
+        if (typeof style === 'string') {
+            style = cssText;
+        }
+        else {
+            style.replaceSync(cssText);
+        }
+    }
+    else {
+        style = cssText;
+    }
+    styles.set(scopeId, style);
+};
+const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
+    var _a;
+    let scopeId = getScopeId(cmpMeta);
+    const style = styles.get(scopeId);
+    // if an element is NOT connected then getRootNode() will return the wrong root node
+    // so the fallback is to always use the document for the root node in those cases
+    styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
+    if (style) {
+        if (typeof style === 'string') {
+            styleContainerNode = styleContainerNode.head || styleContainerNode;
+            let appliedStyles = rootAppliedStyles.get(styleContainerNode);
+            let styleElm;
+            if (!appliedStyles) {
+                rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
+            }
+            if (!appliedStyles.has(scopeId)) {
+                {
+                    // TODO(STENCIL-659): Remove code implementing the CSS variable shim
+                    {
+                        styleElm = doc.createElement('style');
+                        styleElm.innerHTML = style;
+                    }
+                    // Apply CSP nonce to the style tag if it exists
+                    const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
+                    if (nonce != null) {
+                        styleElm.setAttribute('nonce', nonce);
+                    }
+                    styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
+                }
+                if (appliedStyles) {
+                    appliedStyles.add(scopeId);
+                }
+            }
+        }
+        else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
+            styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
+        }
+    }
+    return scopeId;
+};
+const attachStyles = (hostRef) => {
+    const cmpMeta = hostRef.$cmpMeta$;
+    const elm = hostRef.$hostElement$;
+    const flags = cmpMeta.$flags$;
+    const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
+    const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
+    // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
+    if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
+        // only required when we're NOT using native shadow dom (slot)
+        // or this browser doesn't support native shadow dom
+        // and this host element was NOT created with SSR
+        // let's pick out the inner content for slot projection
+        // create a node to represent where the original
+        // content was first placed, which is useful later on
+        // DOM WRITE!!
+        elm['s-sc'] = scopeId;
+        elm.classList.add(scopeId + '-h');
+    }
+    endAttachStyles();
+};
+const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
+/**
+ * Production setAccessor() function based on Preact by
+ * Jason Miller (@developit)
+ * Licensed under the MIT License
+ * https://github.com/developit/preact/blob/master/LICENSE
+ *
+ * Modified for Stencil's compiler and vdom
+ */
+const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
+    if (oldValue !== newValue) {
+        let isProp = isMemberInElement(elm, memberName);
+        let ln = memberName.toLowerCase();
+        if (memberName === 'class') {
+            const classList = elm.classList;
+            const oldClasses = parseClassList(oldValue);
+            const newClasses = parseClassList(newValue);
+            classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
+            classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
+        }
+        else if (memberName === 'style') {
+            // update style attribute, css properties and values
+            {
+                for (const prop in oldValue) {
+                    if (!newValue || newValue[prop] == null) {
+                        if (prop.includes('-')) {
+                            elm.style.removeProperty(prop);
+                        }
+                        else {
+                            elm.style[prop] = '';
+                        }
+                    }
+                }
+            }
+            for (const prop in newValue) {
+                if (!oldValue || newValue[prop] !== oldValue[prop]) {
+                    if (prop.includes('-')) {
+                        elm.style.setProperty(prop, newValue[prop]);
+                    }
+                    else {
+                        elm.style[prop] = newValue[prop];
+                    }
+                }
+            }
+        }
+        else if (memberName === 'ref') {
+            // minifier will clean this up
+            if (newValue) {
+                newValue(elm);
+            }
+        }
+        else if ((!isProp ) &&
+            memberName[0] === 'o' &&
+            memberName[1] === 'n') {
+            // Event Handlers
+            // so if the member name starts with "on" and the 3rd characters is
+            // a capital letter, and it's not already a member on the element,
+            // then we're assuming it's an event listener
+            if (memberName[2] === '-') {
+                // on- prefixed events
+                // allows to be explicit about the dom event to listen without any magic
+                // under the hood:
+                // <my-cmp on-click> // listens for "click"
+                // <my-cmp on-Click> // listens for "Click"
+                // <my-cmp on-ionChange> // listens for "ionChange"
+                // <my-cmp on-EVENTS> // listens for "EVENTS"
+                memberName = memberName.slice(3);
+            }
+            else if (isMemberInElement(win, ln)) {
+                // standard event
+                // the JSX attribute could have been "onMouseOver" and the
+                // member name "onmouseover" is on the window's prototype
+                // so let's add the listener "mouseover", which is all lowercased
+                memberName = ln.slice(2);
+            }
+            else {
+                // custom event
+                // the JSX attribute could have been "onMyCustomEvent"
+                // so let's trim off the "on" prefix and lowercase the first character
+                // and add the listener "myCustomEvent"
+                // except for the first character, we keep the event name case
+                memberName = ln[2] + memberName.slice(3);
+            }
+            if (oldValue) {
+                plt.rel(elm, memberName, oldValue, false);
+            }
+            if (newValue) {
+                plt.ael(elm, memberName, newValue, false);
+            }
+        }
+        else {
+            // Set property if it exists and it's not a SVG
+            const isComplex = isComplexType(newValue);
+            if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
+                try {
+                    if (!elm.tagName.includes('-')) {
+                        const n = newValue == null ? '' : newValue;
+                        // Workaround for Safari, moving the <input> caret when re-assigning the same valued
+                        if (memberName === 'list') {
+                            isProp = false;
+                        }
+                        else if (oldValue == null || elm[memberName] != n) {
+                            elm[memberName] = n;
+                        }
+                    }
+                    else {
+                        elm[memberName] = newValue;
+                    }
+                }
+                catch (e) { }
+            }
+            if (newValue == null || newValue === false) {
+                if (newValue !== false || elm.getAttribute(memberName) === '') {
+                    {
+                        elm.removeAttribute(memberName);
+                    }
+                }
+            }
+            else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
+                newValue = newValue === true ? '' : newValue;
+                {
+                    elm.setAttribute(memberName, newValue);
+                }
+            }
+        }
+    }
+};
+const parseClassListRegex = /\s/;
+const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
+const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
+    // if the element passed in is a shadow root, which is a document fragment
+    // then we want to be adding attrs/props to the shadow root's "host" element
+    // if it's not a shadow root, then we add attrs/props to the same element
+    const elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host
+        ? newVnode.$elm$.host
+        : newVnode.$elm$;
+    const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
+    const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
+    {
+        // remove attributes no longer present on the vnode by setting them to undefined
+        for (memberName in oldVnodeAttrs) {
+            if (!(memberName in newVnodeAttrs)) {
+                setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
+            }
+        }
+    }
+    // add new & update changed attributes
+    for (memberName in newVnodeAttrs) {
+        setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
+    }
+};
+/**
+ * Create a DOM Node corresponding to one of the children of a given VNode.
+ *
+ * @param oldParentVNode the parent VNode from the previous render
+ * @param newParentVNode the parent VNode from the current render
+ * @param childIndex the index of the VNode, in the _new_ parent node's
+ * children, for which we will create a new DOM node
+ * @param parentElm the parent DOM node which our new node will be a child of
+ * @returns the newly created node
+ */
+const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
+    // tslint:disable-next-line: prefer-const
+    const newVNode = newParentVNode.$children$[childIndex];
+    let i = 0;
+    let elm;
+    let childNode;
+    if (newVNode.$text$ !== null) {
+        // create text node
+        elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
+    }
+    else {
+        if (!isSvgMode) {
+            isSvgMode = newVNode.$tag$ === 'svg';
+        }
+        // create element
+        elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
+            );
+        if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
+            isSvgMode = false;
+        }
+        // add css classes, attrs, props, listeners, etc.
+        {
+            updateElement(null, newVNode, isSvgMode);
+        }
+        if (isDef(scopeId) && elm['s-si'] !== scopeId) {
+            // if there is a scopeId and this is the initial render
+            // then let's add the scopeId as a css class
+            elm.classList.add((elm['s-si'] = scopeId));
+        }
+        if (newVNode.$children$) {
+            for (i = 0; i < newVNode.$children$.length; ++i) {
+                // create the node
+                childNode = createElm(oldParentVNode, newVNode, i);
+                // return node could have been null
+                if (childNode) {
+                    // append our new node
+                    elm.appendChild(childNode);
+                }
+            }
+        }
+        {
+            if (newVNode.$tag$ === 'svg') {
+                // Only reset the SVG context when we're exiting <svg> element
+                isSvgMode = false;
+            }
+            else if (elm.tagName === 'foreignObject') {
+                // Reenter SVG context when we're exiting <foreignObject> element
+                isSvgMode = true;
+            }
+        }
+    }
+    return elm;
+};
+/**
+ * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
+ * add them to the DOM in the appropriate place.
+ *
+ * @param parentElm the DOM node which should be used as a parent for the new
+ * DOM nodes
+ * @param before a child of the `parentElm` which the new children should be
+ * inserted before (optional)
+ * @param parentVNode the parent virtual DOM node
+ * @param vnodes the new child virtual DOM nodes to produce DOM nodes for
+ * @param startIdx the index in the child virtual DOM nodes at which to start
+ * creating DOM nodes (inclusive)
+ * @param endIdx the index in the child virtual DOM nodes at which to stop
+ * creating DOM nodes (inclusive)
+ */
+const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
+    let containerElm = (parentElm);
+    let childNode;
+    if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
+        containerElm = containerElm.shadowRoot;
+    }
+    for (; startIdx <= endIdx; ++startIdx) {
+        if (vnodes[startIdx]) {
+            childNode = createElm(null, parentVNode, startIdx);
+            if (childNode) {
+                vnodes[startIdx].$elm$ = childNode;
+                containerElm.insertBefore(childNode, before);
+            }
+        }
+    }
+};
+/**
+ * Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
+ * This can be used to, for instance, clean up after a list of children which
+ * should no longer be shown.
+ *
+ * This function also handles some of Stencil's slot relocation logic.
+ *
+ * @param vnodes a list of virtual DOM nodes to remove
+ * @param startIdx the index at which to start removing nodes (inclusive)
+ * @param endIdx the index at which to stop removing nodes (inclusive)
+ */
+const removeVnodes = (vnodes, startIdx, endIdx) => {
+    for (let index = startIdx; index <= endIdx; ++index) {
+        const vnode = vnodes[index];
+        if (vnode) {
+            const elm = vnode.$elm$;
+            nullifyVNodeRefs(vnode);
+            if (elm) {
+                // remove the vnode's element from the dom
+                elm.remove();
+            }
+        }
+    }
+};
+/**
+ * Reconcile the children of a new VNode with the children of an old VNode by
+ * traversing the two collections of children, identifying nodes that are
+ * conserved or changed, calling out to `patch` to make any necessary
+ * updates to the DOM, and rearranging DOM nodes as needed.
+ *
+ * The algorithm for reconciling children works by analyzing two 'windows' onto
+ * the two arrays of children (`oldCh` and `newCh`). We keep track of the
+ * 'windows' by storing start and end indices and references to the
+ * corresponding array entries. Initially the two 'windows' are basically equal
+ * to the entire array, but we progressively narrow the windows until there are
+ * no children left to update by doing the following:
+ *
+ * 1. Skip any `null` entries at the beginning or end of the two arrays, so
+ *    that if we have an initial array like the following we'll end up dealing
+ *    only with a window bounded by the highlighted elements:
+ *
+ *    [null, null, VNode1 , ... , VNode2, null, null]
+ *                 ^^^^^^         ^^^^^^
+ *
+ * 2. Check to see if the elements at the head and tail positions are equal
+ *    across the windows. This will basically detect elements which haven't
+ *    been added, removed, or changed position, i.e. if you had the following
+ *    VNode elements (represented as HTML):
+ *
+ *    oldVNode: `<div><p><span>HEY</span></p></div>`
+ *    newVNode: `<div><p><span>THERE</span></p></div>`
+ *
+ *    Then when comparing the children of the `<div>` tag we check the equality
+ *    of the VNodes corresponding to the `<p>` tags and, since they are the
+ *    same tag in the same position, we'd be able to avoid completely
+ *    re-rendering the subtree under them with a new DOM element and would just
+ *    call out to `patch` to handle reconciling their children and so on.
+ *
+ * 3. Check, for both windows, to see if the element at the beginning of the
+ *    window corresponds to the element at the end of the other window. This is
+ *    a heuristic which will let us identify _some_ situations in which
+ *    elements have changed position, for instance it _should_ detect that the
+ *    children nodes themselves have not changed but merely moved in the
+ *    following example:
+ *
+ *    oldVNode: `<div><element-one /><element-two /></div>`
+ *    newVNode: `<div><element-two /><element-one /></div>`
+ *
+ *    If we find cases like this then we also need to move the concrete DOM
+ *    elements corresponding to the moved children to write the re-order to the
+ *    DOM.
+ *
+ * 4. Finally, if VNodes have the `key` attribute set on them we check for any
+ *    nodes in the old children which have the same key as the first element in
+ *    our window on the new children. If we find such a node we handle calling
+ *    out to `patch`, moving relevant DOM nodes, and so on, in accordance with
+ *    what we find.
+ *
+ * Finally, once we've narrowed our 'windows' to the point that either of them
+ * collapse (i.e. they have length 0) we then handle any remaining VNode
+ * insertion or deletion that needs to happen to get a DOM state that correctly
+ * reflects the new child VNodes. If, for instance, after our window on the old
+ * children has collapsed we still have more nodes on the new children that
+ * we haven't dealt with yet then we need to add them, or if the new children
+ * collapse but we still have unhandled _old_ children then we need to make
+ * sure the corresponding DOM nodes are removed.
+ *
+ * @param parentElm the node into which the parent VNode is rendered
+ * @param oldCh the old children of the parent node
+ * @param newVNode the new VNode which will replace the parent
+ * @param newCh the new children of the parent node
+ */
+const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
+    let oldStartIdx = 0;
+    let newStartIdx = 0;
+    let oldEndIdx = oldCh.length - 1;
+    let oldStartVnode = oldCh[0];
+    let oldEndVnode = oldCh[oldEndIdx];
+    let newEndIdx = newCh.length - 1;
+    let newStartVnode = newCh[0];
+    let newEndVnode = newCh[newEndIdx];
+    let node;
+    while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
+        if (oldStartVnode == null) {
+            // VNode might have been moved left
+            oldStartVnode = oldCh[++oldStartIdx];
+        }
+        else if (oldEndVnode == null) {
+            oldEndVnode = oldCh[--oldEndIdx];
+        }
+        else if (newStartVnode == null) {
+            newStartVnode = newCh[++newStartIdx];
+        }
+        else if (newEndVnode == null) {
+            newEndVnode = newCh[--newEndIdx];
+        }
+        else if (isSameVnode(oldStartVnode, newStartVnode)) {
+            // if the start nodes are the same then we should patch the new VNode
+            // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
+            // indices to reflect that. We don't need to move any DOM Nodes around
+            // since things are matched up in order.
+            patch(oldStartVnode, newStartVnode);
+            oldStartVnode = oldCh[++oldStartIdx];
+            newStartVnode = newCh[++newStartIdx];
+        }
+        else if (isSameVnode(oldEndVnode, newEndVnode)) {
+            // likewise, if the end nodes are the same we patch new onto old and
+            // decrement our end indices, and also likewise in this case we don't
+            // need to move any DOM Nodes.
+            patch(oldEndVnode, newEndVnode);
+            oldEndVnode = oldCh[--oldEndIdx];
+            newEndVnode = newCh[--newEndIdx];
+        }
+        else if (isSameVnode(oldStartVnode, newEndVnode)) {
+            patch(oldStartVnode, newEndVnode);
+            // We need to move the element for `oldStartVnode` into a position which
+            // will be appropriate for `newEndVnode`. For this we can use
+            // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
+            // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
+            // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
+            //
+            // <old-start-node />
+            // <some-intervening-node />
+            // <old-end-node />
+            // <!-- ->              <-- `oldStartVnode.$elm$` should be inserted here
+            // <next-sibling />
+            //
+            // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
+            // the node for `oldStartVnode` at the end of the children of
+            // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
+            // aren't any siblings, and passing `null` to `Node.insertBefore` will
+            // append it to the children of the parent element.
+            parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
+            oldStartVnode = oldCh[++oldStartIdx];
+            newEndVnode = newCh[--newEndIdx];
+        }
+        else if (isSameVnode(oldEndVnode, newStartVnode)) {
+            patch(oldEndVnode, newStartVnode);
+            // We've already checked above if `oldStartVnode` and `newStartVnode` are
+            // the same node, so since we're here we know that they are not. Thus we
+            // can move the element for `oldEndVnode` _before_ the element for
+            // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
+            // future.
+            parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
+            oldEndVnode = oldCh[--oldEndIdx];
+            newStartVnode = newCh[++newStartIdx];
+        }
+        else {
+            {
+                // We either didn't find an element in the old children that matches
+                // the key of the first new child OR the build is not using `key`
+                // attributes at all. In either case we need to create a new element
+                // for the new node.
+                node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
+                newStartVnode = newCh[++newStartIdx];
+            }
+            if (node) {
+                // if we created a new node then handle inserting it to the DOM
+                {
+                    oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
+                }
+            }
+        }
+    }
+    if (oldStartIdx > oldEndIdx) {
+        // we have some more new nodes to add which don't match up with old nodes
+        addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
+    }
+    else if (newStartIdx > newEndIdx) {
+        // there are nodes in the `oldCh` array which no longer correspond to nodes
+        // in the new array, so lets remove them (which entails cleaning up the
+        // relevant DOM nodes)
+        removeVnodes(oldCh, oldStartIdx, oldEndIdx);
+    }
+};
+/**
+ * Compare two VNodes to determine if they are the same
+ *
+ * **NB**: This function is an equality _heuristic_ based on the available
+ * information set on the two VNodes and can be misleading under certain
+ * circumstances. In particular, if the two nodes do not have `key` attrs
+ * (available under `$key$` on VNodes) then the function falls back on merely
+ * checking that they have the same tag.
+ *
+ * So, in other words, if `key` attrs are not set on VNodes which may be
+ * changing order within a `children` array or something along those lines then
+ * we could obtain a false negative and then have to do needless re-rendering
+ * (i.e. we'd say two VNodes aren't equal when in fact they should be).
+ *
+ * @param leftVNode the first VNode to check
+ * @param rightVNode the second VNode to check
+ * @returns whether they're equal or not
+ */
+const isSameVnode = (leftVNode, rightVNode) => {
+    // compare if two vnode to see if they're "technically" the same
+    // need to have the same element tag, and same key to be the same
+    if (leftVNode.$tag$ === rightVNode.$tag$) {
+        return true;
+    }
+    return false;
+};
+/**
+ * Handle reconciling an outdated VNode with a new one which corresponds to
+ * it. This function handles flushing updates to the DOM and reconciling the
+ * children of the two nodes (if any).
+ *
+ * @param oldVNode an old VNode whose DOM element and children we want to update
+ * @param newVNode a new VNode representing an updated version of the old one
+ */
+const patch = (oldVNode, newVNode) => {
+    const elm = (newVNode.$elm$ = oldVNode.$elm$);
+    const oldChildren = oldVNode.$children$;
+    const newChildren = newVNode.$children$;
+    const tag = newVNode.$tag$;
+    const text = newVNode.$text$;
+    if (text === null) {
+        {
+            // test if we're rendering an svg element, or still rendering nodes inside of one
+            // only add this to the when the compiler sees we're using an svg somewhere
+            isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
+        }
+        {
+            {
+                // either this is the first render of an element OR it's an update
+                // AND we already know it's possible it could have changed
+                // this updates the element's css classes, attrs, props, listeners, etc.
+                updateElement(oldVNode, newVNode, isSvgMode);
+            }
+        }
+        if (oldChildren !== null && newChildren !== null) {
+            // looks like there's child vnodes for both the old and new vnodes
+            // so we need to call `updateChildren` to reconcile them
+            updateChildren(elm, oldChildren, newVNode, newChildren);
+        }
+        else if (newChildren !== null) {
+            // no old child vnodes, but there are new child vnodes to add
+            if (oldVNode.$text$ !== null) {
+                // the old vnode was text, so be sure to clear it out
+                elm.textContent = '';
+            }
+            // add the new vnode children
+            addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
+        }
+        else if (oldChildren !== null) {
+            // no new child vnodes, but there are old child vnodes to remove
+            removeVnodes(oldChildren, 0, oldChildren.length - 1);
+        }
+        if (isSvgMode && tag === 'svg') {
+            isSvgMode = false;
+        }
+    }
+    else if (oldVNode.$text$ !== text) {
+        // update the text content for the text only vnode
+        // and also only if the text is different than before
+        elm.data = text;
+    }
+};
+/**
+ * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
+ * calling them with `null`. This signals that the DOM element corresponding to
+ * the VDom node has been removed from the DOM.
+ *
+ * @param vNode a virtual DOM node
+ */
+const nullifyVNodeRefs = (vNode) => {
+    {
+        vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
+        vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
+    }
+};
+/**
+ * The main entry point for Stencil's virtual DOM-based rendering engine
+ *
+ * Given a {@link d.HostRef} container and some virtual DOM nodes, this
+ * function will handle creating a virtual DOM tree with a single root, patching
+ * the current virtual DOM tree onto an old one (if any), dealing with slot
+ * relocation, and reflecting attributes.
+ *
+ * @param hostRef data needed to root and render the virtual DOM tree, such as
+ * the DOM node into which it should be rendered.
+ * @param renderFnResults the virtual DOM nodes to be rendered
+ */
+const renderVdom = (hostRef, renderFnResults) => {
+    const hostElm = hostRef.$hostElement$;
+    const oldVNode = hostRef.$vnode$ || newVNode(null, null);
+    const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
+    hostTagName = hostElm.tagName;
+    rootVnode.$tag$ = null;
+    rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
+    hostRef.$vnode$ = rootVnode;
+    rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
+    {
+        scopeId = hostElm['s-sc'];
+    }
+    // synchronous patch
+    patch(oldVNode, rootVnode);
+};
+const attachToAncestor = (hostRef, ancestorComponent) => {
+    if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
+        ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
+    }
+};
+const scheduleUpdate = (hostRef, isInitialLoad) => {
+    {
+        hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
+    }
+    if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
+        hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
+        return;
+    }
+    attachToAncestor(hostRef, hostRef.$ancestorComponent$);
+    // there is no ancestor component or the ancestor component
+    // has already fired off its lifecycle update then
+    // fire off the initial update
+    const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
+    return writeTask(dispatch) ;
+};
+/**
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
+ * component lifecycle methods like `componentWillLoad` as well as
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
+ *
+ * @param hostRef a reference to a host DOM node
+ * @param isInitialLoad whether we're on the initial load or not
+ * @returns an empty Promise which is used to enqueue a series of operations for
+ * the component
+ */
+const dispatchHooks = (hostRef, isInitialLoad) => {
+    const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
+    const instance = hostRef.$lazyInstance$ ;
+    // We're going to use this variable together with `enqueue` to implement a
+    // little promise-based queue. We start out with it `undefined`. When we add
+    // the first function to the queue we'll set this variable to be that
+    // function's return value. When we attempt to add subsequent values to the
+    // queue we'll check that value and, if it was a `Promise`, we'll then chain
+    // the new function off of that `Promise` using `.then()`. This will give our
+    // queue two nice properties:
+    //
+    // 1. If all functions added to the queue are synchronous they'll be called
+    //    synchronously right away.
+    // 2. If all functions added to the queue are asynchronous they'll all be
+    //    called in order after `dispatchHooks` exits.
+    let maybePromise;
+    if (isInitialLoad) {
+        {
+            hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
+            if (hostRef.$queuedListeners$) {
+                hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
+                hostRef.$queuedListeners$ = undefined;
+            }
+        }
+    }
+    endSchedule();
+    return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
+};
+/**
+ * This function uses a Promise to implement a simple first-in, first-out queue
+ * of functions to be called.
+ *
+ * The queue is ordered on the basis of the first argument. If it's
+ * `undefined`, then nothing is on the queue yet, so the provided function can
+ * be called synchronously (although note that this function may return a
+ * `Promise`). The idea is that then the return value of that enqueueing
+ * operation is kept around, so that if it was a `Promise` then subsequent
+ * functions can be enqueued by calling this function again with that `Promise`
+ * as the first argument.
+ *
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
+ * @param fn a function to enqueue
+ * @returns either a `Promise` or the return value of the provided function
+ */
+const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
+/**
+ * Check that a value is a `Promise`. To check, we first see if the value is an
+ * instance of the `Promise` global. In a few circumstances, in particular if
+ * the global has been overwritten, this is could be misleading, so we also do
+ * a little 'duck typing' check to see if the `.then` property of the value is
+ * defined and a function.
+ *
+ * @param maybePromise it might be a promise!
+ * @returns whether it is or not
+ */
+const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
+    (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
+const updateComponent = async (hostRef, instance, isInitialLoad) => {
+    var _a;
+    const elm = hostRef.$hostElement$;
+    const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
+    const rc = elm['s-rc'];
+    if (isInitialLoad) {
+        // DOM WRITE!
+        attachStyles(hostRef);
+    }
+    const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
+    {
+        callRender(hostRef, instance);
+    }
+    if (rc) {
+        // ok, so turns out there are some child host elements
+        // waiting on this parent element to load
+        // let's fire off all update callbacks waiting
+        rc.map((cb) => cb());
+        elm['s-rc'] = undefined;
+    }
+    endRender();
+    endUpdate();
+    {
+        const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
+        const postUpdate = () => postUpdateComponent(hostRef);
+        if (childrenPromises.length === 0) {
+            postUpdate();
+        }
+        else {
+            Promise.all(childrenPromises).then(postUpdate);
+            hostRef.$flags$ |= 4 /* HOST_FLAGS.isWaitingForChildren */;
+            childrenPromises.length = 0;
+        }
+    }
+};
+const callRender = (hostRef, instance, elm) => {
+    try {
+        instance = instance.render() ;
+        {
+            hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
+        }
+        {
+            hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
+        }
+        {
+            {
+                // looks like we've got child nodes to render into this host element
+                // or we need to update the css class/attrs on the host element
+                // DOM WRITE!
+                {
+                    renderVdom(hostRef, instance);
+                }
+            }
+        }
+    }
+    catch (e) {
+        consoleError(e, hostRef.$hostElement$);
+    }
+    return null;
+};
+const postUpdateComponent = (hostRef) => {
+    const tagName = hostRef.$cmpMeta$.$tagName$;
+    const elm = hostRef.$hostElement$;
+    const endPostUpdate = createTime('postUpdate', tagName);
+    const instance = hostRef.$lazyInstance$ ;
+    const ancestorComponent = hostRef.$ancestorComponent$;
+    if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
+        hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
+        {
+            // DOM WRITE!
+            addHydratedFlag(elm);
+        }
+        {
+            safeCall(instance, 'componentDidLoad');
+        }
+        endPostUpdate();
+        {
+            hostRef.$onReadyResolve$(elm);
+            if (!ancestorComponent) {
+                appDidLoad();
+            }
+        }
+    }
+    else {
+        endPostUpdate();
+    }
+    {
+        hostRef.$onInstanceResolve$(elm);
+    }
+    // load events fire from bottom to top
+    // the deepest elements load first then bubbles up
+    {
+        if (hostRef.$onRenderResolve$) {
+            hostRef.$onRenderResolve$();
+            hostRef.$onRenderResolve$ = undefined;
+        }
+        if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
+            nextTick(() => scheduleUpdate(hostRef, false));
+        }
+        hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
+    }
+    // ( •_•)
+    // ( •_•)>⌐■-■
+    // (⌐■_■)
+};
+const forceUpdate = (ref) => {
+    {
+        const hostRef = getHostRef(ref);
+        const isConnected = hostRef.$hostElement$.isConnected;
+        if (isConnected &&
+            (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
+            scheduleUpdate(hostRef, false);
+        }
+        // Returns "true" when the forced update was successfully scheduled
+        return isConnected;
+    }
+};
+const appDidLoad = (who) => {
+    // on appload
+    // we have finish the first big initial render
+    {
+        addHydratedFlag(doc.documentElement);
+    }
+    nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
+};
+const safeCall = (instance, method, arg) => {
+    if (instance && instance[method]) {
+        try {
+            return instance[method](arg);
+        }
+        catch (e) {
+            consoleError(e);
+        }
+    }
+    return undefined;
+};
+const addHydratedFlag = (elm) => elm.classList.add('hydrated')
+    ;
+const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
+const setValue = (ref, propName, newVal, cmpMeta) => {
+    // check our new property value against our internal value
+    const hostRef = getHostRef(ref);
+    const oldVal = hostRef.$instanceValues$.get(propName);
+    const flags = hostRef.$flags$;
+    const instance = hostRef.$lazyInstance$ ;
+    newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
+    // explicitly check for NaN on both sides, as `NaN === NaN` is always false
+    const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
+    const didValueChange = newVal !== oldVal && !areBothNaN;
+    if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
+        // gadzooks! the property's value has changed!!
+        // set our new value!
+        hostRef.$instanceValues$.set(propName, newVal);
+        if (instance) {
+            if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
+                // looks like this value actually changed, so we've got work to do!
+                // but only if we've already rendered, otherwise just chill out
+                // queue that we need to do an update, but don't worry about queuing
+                // up millions cuz this function ensures it only runs once
+                scheduleUpdate(hostRef, false);
+            }
+        }
+    }
+};
+/**
+ * Attach a series of runtime constructs to a compiled Stencil component
+ * constructor, including getters and setters for the `@Prop` and `@State`
+ * decorators, callbacks for when attributes change, and so on.
+ *
+ * @param Cstr the constructor for a component that we need to process
+ * @param cmpMeta metadata collected previously about the component
+ * @param flags a number used to store a series of bit flags
+ * @returns a reference to the same constructor passed in (but now mutated)
+ */
+const proxyComponent = (Cstr, cmpMeta, flags) => {
+    if (cmpMeta.$members$) {
+        // It's better to have a const than two Object.entries()
+        const members = Object.entries(cmpMeta.$members$);
+        const prototype = Cstr.prototype;
+        members.map(([memberName, [memberFlags]]) => {
+            if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
+                    ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
+                // proxyComponent - prop
+                Object.defineProperty(prototype, memberName, {
+                    get() {
+                        // proxyComponent, get value
+                        return getValue(this, memberName);
+                    },
+                    set(newValue) {
+                        // proxyComponent, set value
+                        setValue(this, memberName, newValue, cmpMeta);
+                    },
+                    configurable: true,
+                    enumerable: true,
+                });
+            }
+            else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ &&
+                memberFlags & 64 /* MEMBER_FLAGS.Method */) {
+                // proxyComponent - method
+                Object.defineProperty(prototype, memberName, {
+                    value(...args) {
+                        const ref = getHostRef(this);
+                        return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
+                    },
+                });
+            }
+        });
+        if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
+            const attrNameToPropName = new Map();
+            prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
+                plt.jmp(() => {
+                    const propName = attrNameToPropName.get(attrName);
+                    //  In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
+                    //  in the case where an attribute was set inline.
+                    //  ```html
+                    //    <my-component some-attribute="some-value"></my-component>
+                    //  ```
+                    //
+                    //  There is an edge case where a developer sets the attribute inline on a custom element and then
+                    //  programmatically changes it before it has been upgraded as shown below:
+                    //
+                    //  ```html
+                    //    <!-- this component has _not_ been upgraded yet -->
+                    //    <my-component id="test" some-attribute="some-value"></my-component>
+                    //    <script>
+                    //      // grab non-upgraded component
+                    //      el = document.querySelector("#test");
+                    //      el.someAttribute = "another-value";
+                    //      // upgrade component
+                    //      customElements.define('my-component', MyComponent);
+                    //    </script>
+                    //  ```
+                    //  In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
+                    //  will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
+                    //  to the value that was set inline i.e. "some-value" from above example. When
+                    //  the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
+                    //
+                    //  The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
+                    //  by connectedCallback as this attributeChangedCallback will not fire.
+                    //
+                    //  https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
+                    //
+                    //  TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
+                    //  properties here given that this goes against best practices outlined here
+                    //  https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
+                    if (this.hasOwnProperty(propName)) {
+                        newValue = this[propName];
+                        delete this[propName];
+                    }
+                    else if (prototype.hasOwnProperty(propName) &&
+                        typeof this[propName] === 'number' &&
+                        this[propName] == newValue) {
+                        // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
+                        // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
+                        // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
+                        return;
+                    }
+                    this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
+                });
+            };
+            // create an array of attributes to observe
+            // and also create a map of html attribute name to js property name
+            Cstr.observedAttributes = members
+                .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
+                .map(([propName, m]) => {
+                const attrName = m[1] || propName;
+                attrNameToPropName.set(attrName, propName);
+                return attrName;
+            });
+        }
+    }
+    return Cstr;
+};
+const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
+    // initializeComponent
+    if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
+        // Let the runtime know that the component has been initialized
+        hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
+        {
+            // lazy loaded components
+            // request the component's implementation to be
+            // wired up with the host element
+            Cstr = loadModule(cmpMeta);
+            if (Cstr.then) {
+                // Await creates a micro-task avoid if possible
+                const endLoad = uniqueTime();
+                Cstr = await Cstr;
+                endLoad();
+            }
+            if (!Cstr.isProxied) {
+                proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
+                Cstr.isProxied = true;
+            }
+            const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);
+            // ok, time to construct the instance
+            // but let's keep track of when we start and stop
+            // so that the getters/setters don't incorrectly step on data
+            {
+                hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
+            }
+            // construct the lazy-loaded component implementation
+            // passing the hostRef is very important during
+            // construction in order to directly wire together the
+            // host element and the lazy-loaded instance
+            try {
+                new Cstr(hostRef);
+            }
+            catch (e) {
+                consoleError(e);
+            }
+            {
+                hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
+            }
+            endNewInstance();
+        }
+        if (Cstr.style) {
+            // this component has styles but we haven't registered them yet
+            let style = Cstr.style;
+            const scopeId = getScopeId(cmpMeta);
+            if (!styles.has(scopeId)) {
+                const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
+                registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
+                endRegisterStyles();
+            }
+        }
+    }
+    // we've successfully created a lazy instance
+    const ancestorComponent = hostRef.$ancestorComponent$;
+    const schedule = () => scheduleUpdate(hostRef, true);
+    if (ancestorComponent && ancestorComponent['s-rc']) {
+        // this is the initial load and this component it has an ancestor component
+        // but the ancestor component has NOT fired its will update lifecycle yet
+        // so let's just cool our jets and wait for the ancestor to continue first
+        // this will get fired off when the ancestor component
+        // finally gets around to rendering its lazy self
+        // fire off the initial update
+        ancestorComponent['s-rc'].push(schedule);
+    }
+    else {
+        schedule();
+    }
+};
+const connectedCallback = (elm) => {
+    if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
+        const hostRef = getHostRef(elm);
+        const cmpMeta = hostRef.$cmpMeta$;
+        const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
+        if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
+            // first time this component has connected
+            hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
+            {
+                // find the first ancestor component (if there is one) and register
+                // this component as one of the actively loading child components for its ancestor
+                let ancestorComponent = elm;
+                while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {
+                    // climb up the ancestors looking for the first
+                    // component that hasn't finished its lifecycle update yet
+                    if (ancestorComponent['s-p']) {
+                        // we found this components first ancestor component
+                        // keep a reference to this component's ancestor component
+                        attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));
+                        break;
+                    }
+                }
+            }
+            // Lazy properties
+            // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
+            if (cmpMeta.$members$) {
+                Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
+                    if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
+                        const value = elm[memberName];
+                        delete elm[memberName];
+                        elm[memberName] = value;
+                    }
+                });
+            }
+            {
+                initializeComponent(elm, hostRef, cmpMeta);
+            }
+        }
+        else {
+            // not the first time this has connected
+            // reattach any event listeners to the host
+            // since they would have been removed when disconnected
+            addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
+        }
+        endConnected();
+    }
+};
+const disconnectedCallback = (elm) => {
+    if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
+        const hostRef = getHostRef(elm);
+        const instance = hostRef.$lazyInstance$ ;
+        {
+            if (hostRef.$rmListeners$) {
+                hostRef.$rmListeners$.map((rmListener) => rmListener());
+                hostRef.$rmListeners$ = undefined;
+            }
+        }
+        {
+            safeCall(instance, 'disconnectedCallback');
+        }
+    }
+};
+const bootstrapLazy = (lazyBundles, options = {}) => {
+    var _a;
+    const endBootstrap = createTime();
+    const cmpTags = [];
+    const exclude = options.exclude || [];
+    const customElements = win.customElements;
+    const head = doc.head;
+    const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
+    const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
+    const deferredConnectedCallbacks = [];
+    let appLoadFallback;
+    let isBootstrapping = true;
+    Object.assign(plt, options);
+    plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
+    lazyBundles.map((lazyBundle) => {
+        lazyBundle[1].map((compactMeta) => {
+            const cmpMeta = {
+                $flags$: compactMeta[0],
+                $tagName$: compactMeta[1],
+                $members$: compactMeta[2],
+                $listeners$: compactMeta[3],
+            };
+            {
+                cmpMeta.$members$ = compactMeta[2];
+            }
+            {
+                cmpMeta.$listeners$ = compactMeta[3];
+            }
+            const tagName = cmpMeta.$tagName$;
+            const HostElement = class extends HTMLElement {
+                // StencilLazyHost
+                constructor(self) {
+                    // @ts-ignore
+                    super(self);
+                    self = this;
+                    registerHost(self, cmpMeta);
+                    if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
+                        // this component is using shadow dom
+                        // and this browser supports shadow dom
+                        // add the read-only property "shadowRoot" to the host element
+                        // adding the shadow root build conditionals to minimize runtime
+                        {
+                            {
+                                self.attachShadow({ mode: 'open' });
+                            }
+                        }
+                    }
+                }
+                connectedCallback() {
+                    if (appLoadFallback) {
+                        clearTimeout(appLoadFallback);
+                        appLoadFallback = null;
+                    }
+                    if (isBootstrapping) {
+                        // connectedCallback will be processed once all components have been registered
+                        deferredConnectedCallbacks.push(this);
+                    }
+                    else {
+                        plt.jmp(() => connectedCallback(this));
+                    }
+                }
+                disconnectedCallback() {
+                    plt.jmp(() => disconnectedCallback(this));
+                }
+                componentOnReady() {
+                    return getHostRef(this).$onReadyPromise$;
+                }
+            };
+            cmpMeta.$lazyBundleId$ = lazyBundle[0];
+            if (!exclude.includes(tagName) && !customElements.get(tagName)) {
+                cmpTags.push(tagName);
+                customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
+            }
+        });
+    });
+    {
+        visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
+        visibilityStyle.setAttribute('data-styles', '');
+        // Apply CSP nonce to the style tag if it exists
+        const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
+        if (nonce != null) {
+            visibilityStyle.setAttribute('nonce', nonce);
+        }
+        head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
+    }
+    // Process deferred connectedCallbacks now all components have been registered
+    isBootstrapping = false;
+    if (deferredConnectedCallbacks.length) {
+        deferredConnectedCallbacks.map((host) => host.connectedCallback());
+    }
+    else {
+        {
+            plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));
+        }
+    }
+    // Fallback appLoad event
+    endBootstrap();
+};
+const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
+    if (listeners) {
+        listeners.map(([flags, name, method]) => {
+            const target = getHostListenerTarget(elm, flags) ;
+            const handler = hostListenerProxy(hostRef, method);
+            const opts = hostListenerOpts(flags);
+            plt.ael(target, name, handler, opts);
+            (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
+        });
+    }
+};
+const hostListenerProxy = (hostRef, methodName) => (ev) => {
+    try {
+        {
+            if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
+                // instance is ready, let's call it's member method for this event
+                hostRef.$lazyInstance$[methodName](ev);
+            }
+            else {
+                (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
+            }
+        }
+    }
+    catch (e) {
+        consoleError(e);
+    }
+};
+const getHostListenerTarget = (elm, flags) => {
+    if (flags & 16 /* LISTENER_FLAGS.TargetBody */)
+        return doc.body;
+    return elm;
+};
+// prettier-ignore
+const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
+/**
+ * Assigns the given value to the nonce property on the runtime platform object.
+ * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
+ * @param nonce The value to be assigned to the platform nonce property.
+ * @returns void
+ */
+const setNonce = (nonce) => (plt.$nonce$ = nonce);
+const hostRefs = /*@__PURE__*/ new WeakMap();
+const getHostRef = (ref) => hostRefs.get(ref);
+const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
+const registerHost = (elm, cmpMeta) => {
+    const hostRef = {
+        $flags$: 0,
+        $hostElement$: elm,
+        $cmpMeta$: cmpMeta,
+        $instanceValues$: new Map(),
+    };
+    {
+        hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));
+    }
+    {
+        hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
+        elm['s-p'] = [];
+        elm['s-rc'] = [];
+    }
+    addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
+    return hostRefs.set(elm, hostRef);
+};
+const isMemberInElement = (elm, memberName) => memberName in elm;
+const consoleError = (e, el) => (0, console.error)(e, el);
+const cmpModules = /*@__PURE__*/ new Map();
+const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
+    // loadModuleImport
+    const exportName = cmpMeta.$tagName$.replace(/-/g, '_');
+    const bundleId = cmpMeta.$lazyBundleId$;
+    const module = cmpModules.get(bundleId) ;
+    if (module) {
+        return module[exportName];
+    }
+    
+    if (!hmrVersionId || !BUILD.hotModuleReplacement) {
+      const processMod = importedModule => {
+        cmpModules.set(bundleId, importedModule);
+        return importedModule[exportName];
+      }
+      switch(bundleId) {
+        
+        case 'pwa-action-sheet':
+          return import(
+            /* webpackMode: "lazy" */
+            './pwa-action-sheet.entry.js').then(processMod, consoleError);
+        case 'pwa-camera-modal':
+          return import(
+            /* webpackMode: "lazy" */
+            './pwa-camera-modal.entry.js').then(processMod, consoleError);
+        case 'pwa-toast':
+          return import(
+            /* webpackMode: "lazy" */
+            './pwa-toast.entry.js').then(processMod, consoleError);
+        case 'pwa-camera-modal-instance':
+          return import(
+            /* webpackMode: "lazy" */
+            './pwa-camera-modal-instance.entry.js').then(processMod, consoleError);
+        case 'pwa-camera':
+          return import(
+            /* webpackMode: "lazy" */
+            './pwa-camera.entry.js').then(processMod, consoleError);
+      }
+    }
+    return import(
+    /* @vite-ignore */
+    /* webpackInclude: /\.entry\.js$/ */
+    /* webpackExclude: /\.system\.entry\.js$/ */
+    /* webpackMode: "lazy" */
+    `./${bundleId}.entry.js${''}`).then((importedModule) => {
+        {
+            cmpModules.set(bundleId, importedModule);
+        }
+        return importedModule[exportName];
+    }, consoleError);
+};
+const styles = /*@__PURE__*/ new Map();
+const win = typeof window !== 'undefined' ? window : {};
+const doc = win.document || { head: {} };
+const plt = {
+    $flags$: 0,
+    $resourcesUrl$: '',
+    jmp: (h) => h(),
+    raf: (h) => requestAnimationFrame(h),
+    ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
+    rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
+    ce: (eventName, opts) => new CustomEvent(eventName, opts),
+};
+const promiseResolve = (v) => Promise.resolve(v);
+const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
+        try {
+            new CSSStyleSheet();
+            return typeof new CSSStyleSheet().replaceSync === 'function';
+        }
+        catch (e) { }
+        return false;
+    })()
+    ;
+const queueDomReads = [];
+const queueDomWrites = [];
+const queueTask = (queue, write) => (cb) => {
+    queue.push(cb);
+    if (!queuePending) {
+        queuePending = true;
+        if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
+            nextTick(flush);
+        }
+        else {
+            plt.raf(flush);
+        }
+    }
+};
+const consume = (queue) => {
+    for (let i = 0; i < queue.length; i++) {
+        try {
+            queue[i](performance.now());
+        }
+        catch (e) {
+            consoleError(e);
+        }
+    }
+    queue.length = 0;
+};
+const flush = () => {
+    // always force a bunch of medium callbacks to run, but still have
+    // a throttle on how many can run in a certain time
+    // DOM READS!!!
+    consume(queueDomReads);
+    // DOM WRITES!!!
+    {
+        consume(queueDomWrites);
+        if ((queuePending = queueDomReads.length > 0)) {
+            // still more to do yet, but we've run out of time
+            // let's let this thing cool off and try again in the next tick
+            plt.raf(flush);
+        }
+    }
+};
+const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
+const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
+
+export { Host as H, bootstrapLazy as b, createEvent as c, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
diff --git a/src/public/js/pwa-elements/esm/index.js b/src/public/js/pwa-elements/esm/index.js
new file mode 100644
index 0000000..8b13789
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/index.js
@@ -0,0 +1 @@
+
diff --git a/src/public/js/pwa-elements/esm/ionicpwaelements.js b/src/public/js/pwa-elements/esm/ionicpwaelements.js
new file mode 100644
index 0000000..e189a23
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/ionicpwaelements.js
@@ -0,0 +1,21 @@
+import { p as promiseResolve, b as bootstrapLazy } from './index-1c5c47b4.js';
+export { s as setNonce } from './index-1c5c47b4.js';
+
+/*
+ Stencil Client Patch Browser v3.4.0 | MIT Licensed | https://stenciljs.com
+ */
+const patchBrowser = () => {
+    const importMeta = import.meta.url;
+    const opts = {};
+    // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
+    if (importMeta !== '') {
+        opts.resourcesUrl = new URL('.', importMeta).href;
+        // TODO(STENCIL-661): Remove code related to the dynamic import shim
+        // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
+    }
+    return promiseResolve(opts);
+};
+
+patchBrowser().then(options => {
+  return bootstrapLazy([["pwa-camera-modal",[[1,"pwa-camera-modal",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"present":[64],"dismiss":[64]}]]],["pwa-action-sheet",[[1,"pwa-action-sheet",{"header":[1],"cancelable":[4],"options":[16],"open":[32]}]]],["pwa-toast",[[1,"pwa-toast",{"message":[1],"duration":[2],"closing":[32]}]]],["pwa-camera",[[1,"pwa-camera",{"facingMode":[1,"facing-mode"],"handlePhoto":[16],"hidePicker":[4,"hide-picker"],"handleNoDeviceError":[16],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"],"photo":[32],"photoSrc":[32],"showShutterOverlay":[32],"flashIndex":[32],"hasCamera":[32],"rotation":[32],"deviceError":[32]}]]],["pwa-camera-modal-instance",[[1,"pwa-camera-modal-instance",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]], options);
+});
diff --git a/src/public/js/pwa-elements/esm/loader.js b/src/public/js/pwa-elements/esm/loader.js
new file mode 100644
index 0000000..608f50d
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/loader.js
@@ -0,0 +1,18 @@
+import { p as promiseResolve, b as bootstrapLazy } from './index-1c5c47b4.js';
+export { s as setNonce } from './index-1c5c47b4.js';
+
+/*
+ Stencil Client Patch Esm v3.4.0 | MIT Licensed | https://stenciljs.com
+ */
+const patchEsm = () => {
+    return promiseResolve();
+};
+
+const defineCustomElements = (win, options) => {
+  if (typeof window === 'undefined') return Promise.resolve();
+  return patchEsm().then(() => {
+  return bootstrapLazy([["pwa-camera-modal",[[1,"pwa-camera-modal",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"present":[64],"dismiss":[64]}]]],["pwa-action-sheet",[[1,"pwa-action-sheet",{"header":[1],"cancelable":[4],"options":[16],"open":[32]}]]],["pwa-toast",[[1,"pwa-toast",{"message":[1],"duration":[2],"closing":[32]}]]],["pwa-camera",[[1,"pwa-camera",{"facingMode":[1,"facing-mode"],"handlePhoto":[16],"hidePicker":[4,"hide-picker"],"handleNoDeviceError":[16],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"],"photo":[32],"photoSrc":[32],"showShutterOverlay":[32],"flashIndex":[32],"hasCamera":[32],"rotation":[32],"deviceError":[32]}]]],["pwa-camera-modal-instance",[[1,"pwa-camera-modal-instance",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]], options);
+  });
+};
+
+export { defineCustomElements };
diff --git a/src/public/js/pwa-elements/esm/polyfills/core-js.js b/src/public/js/pwa-elements/esm/polyfills/core-js.js
new file mode 100644
index 0000000..7bbc909
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/polyfills/core-js.js
@@ -0,0 +1,11 @@
+/**
+ * core-js 3.6.5
+ * https://github.com/zloirock/core-js
+ * License: http://rock.mit-license.org
+ * © 2019 Denis Pushkarev (zloirock.ru)
+ */
+!function(t){"use strict";!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)}([function(t,n,e){e(1),e(55),e(62),e(68),e(70),e(71),e(72),e(73),e(75),e(76),e(78),e(87),e(88),e(89),e(98),e(99),e(101),e(102),e(103),e(105),e(106),e(107),e(108),e(110),e(111),e(112),e(113),e(114),e(115),e(116),e(117),e(118),e(127),e(130),e(131),e(133),e(135),e(136),e(137),e(138),e(139),e(141),e(143),e(146),e(148),e(150),e(151),e(153),e(154),e(155),e(156),e(157),e(159),e(160),e(162),e(163),e(164),e(165),e(166),e(167),e(168),e(169),e(170),e(172),e(173),e(183),e(184),e(185),e(189),e(191),e(192),e(193),e(194),e(195),e(196),e(198),e(201),e(202),e(203),e(204),e(208),e(209),e(212),e(213),e(214),e(215),e(216),e(217),e(218),e(219),e(221),e(222),e(223),e(226),e(227),e(228),e(229),e(230),e(231),e(232),e(233),e(234),e(235),e(236),e(237),e(238),e(240),e(241),e(243),e(248),t.exports=e(246)},function(t,n,e){var r=e(2),o=e(6),i=e(45),a=e(14),u=e(46),c=e(39),f=e(47),s=e(48),l=e(52),p=e(49),h=e(53),v=p("isConcatSpreadable"),g=h>=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),d=l("concat"),y=function(t){if(!a(t))return!1;var n=t[v];return void 0!==n?!!n:i(t)};r({target:"Array",proto:!0,forced:!g||!d},{concat:function(t){var n,e,r,o,i,a=u(this),l=s(a,0),p=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?a:arguments[n],y(i)){if(p+(o=c(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,p++)e in i&&f(l,p,i[e])}else{if(p>=9007199254740991)throw TypeError("Maximum allowed index exceeded");f(l,p++,i)}return l.length=p,l}})},function(t,n,e){var r=e(3),o=e(4).f,i=e(18),a=e(21),u=e(22),c=e(32),f=e(44);t.exports=function(t,n){var e,s,l,p,h,v=t.target,g=t.global,d=t.stat;if(e=g?r:d?r[v]||u(v,{}):(r[v]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(h=o(e,s))&&h.value:e[s],!f(g?s:v+(d?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;c(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(e,s,p,t)}}},function(t,n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof global&&global)||Function("return this")()},function(t,n,e){var r=e(5),o=e(7),i=e(8),a=e(9),u=e(13),c=e(15),f=e(16),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=a(t),n=u(n,!0),f)try{return s(t,n)}catch(t){}if(c(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n,e){var r=e(6);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(10),o=e(12);t.exports=function(t){return r(o(t))}},function(t,n,e){var r=e(6),o=e(11),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(14);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5),o=e(6),i=e(17);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(14),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,n,e){var r=e(5),o=e(19),i=e(8);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(5),o=e(16),i=e(20),a=e(13),u=Object.defineProperty;n.f=r?u:function(t,n,e){if(i(t),n=a(n,!0),i(e),o)try{return u(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(3),o=e(18),i=e(15),a=e(22),u=e(23),c=e(25),f=c.get,s=c.enforce,l=String(String).split("String");(t.exports=function(t,n,e,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof e&&("string"!=typeof n||i(e,"name")||o(e,"name",n),s(e).source=l.join("string"==typeof n?n:"")),t!==r?(c?!p&&t[n]&&(f=!0):delete t[n],f?t[n]=e:o(t,n,e)):f?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&f(this).source||u(this)}))},function(t,n,e){var r=e(3),o=e(18);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(24),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(3),o=e(22),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,e){var r,o,i,a=e(26),u=e(3),c=e(14),f=e(18),s=e(15),l=e(27),p=e(31),h=u.WeakMap;if(a){var v=new h,g=v.get,d=v.has,y=v.set;r=function(t,n){return y.call(v,t,n),n},o=function(t){return g.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var x=l("state");p[x]=!0,r=function(t,n){return f(t,x,n),n},o=function(t){return s(t,x)?t[x]:{}},i=function(t){return s(t,x)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!c(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(3),o=e(23),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},function(t,n,e){var r=e(28),o=e(30),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n,e){var r=e(29),o=e(24);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n){t.exports=!1},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n){t.exports={}},function(t,n,e){var r=e(15),o=e(33),i=e(4),a=e(19);t.exports=function(t,n){for(var e=o(n),u=a.f,c=i.f,f=0;f<e.length;f++){var s=e[f];r(t,s)||u(t,s,c(n,s))}}},function(t,n,e){var r=e(34),o=e(36),i=e(43),a=e(20);t.exports=r("Reflect","ownKeys")||function(t){var n=o.f(a(t)),e=i.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(35),o=e(3),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][n]||o[t]&&o[t][n]}},function(t,n,e){var r=e(3);t.exports=r},function(t,n,e){var r=e(37),o=e(42).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,n,e){var r=e(15),o=e(9),i=e(38).indexOf,a=e(31);t.exports=function(t,n){var e,u=o(t),c=0,f=[];for(e in u)!r(a,e)&&r(u,e)&&f.push(e);for(;n.length>c;)r(u,e=n[c++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(9),o=e(39),i=e(41),a=function(t){return function(n,e,a){var u,c=r(n),f=o(c.length),s=i(a,f);if(t&&e!=e){for(;f>s;)if((u=c[s++])!=u)return!0}else for(;f>s;s++)if((t||s in c)&&c[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){var r=e(40),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(40),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(6),o=/#|\.prototype\./,i=function(t,n){var e=u[a(t)];return e==f||e!=c&&("function"==typeof n?r(n):!!n)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){var r=e(11);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(12);t.exports=function(t){return Object(r(t))}},function(t,n,e){var r=e(13),o=e(19),i=e(8);t.exports=function(t,n,e){var a=r(n);a in t?o.f(t,a,i(0,e)):t[a]=e}},function(t,n,e){var r=e(14),o=e(45),i=e(49)("species");t.exports=function(t,n){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)?r(e)&&null===(e=e[i])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){var r=e(3),o=e(28),i=e(15),a=e(30),u=e(50),c=e(51),f=o("wks"),s=r.Symbol,l=c?s:s&&s.withoutSetter||a;t.exports=function(t){return i(f,t)||(u&&i(s,t)?f[t]=s[t]:f[t]=l("Symbol."+t)),f[t]}},function(t,n,e){var r=e(6);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(50);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(6),o=e(49),i=e(53),a=o("species");t.exports=function(t){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},function(t,n,e){var r,o,i=e(3),a=e(54),u=i.process,c=u&&u.versions,f=c&&c.v8;f?o=(r=f.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},function(t,n,e){var r=e(34);t.exports=r("navigator","userAgent")||""},function(t,n,e){var r=e(2),o=e(56),i=e(57);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(t,n,e){var r=e(46),o=e(41),i=e(39),a=Math.min;t.exports=[].copyWithin||function(t,n){var e=r(this),u=i(e.length),c=o(t,u),f=o(n,u),s=arguments.length>2?arguments[2]:void 0,l=a((void 0===s?u:o(s,u))-f,u-c),p=1;for(f<c&&c<f+l&&(p=-1,f+=l-1,c+=l-1);l-- >0;)f in e?e[c]=e[f]:delete e[c],c+=p,f+=p;return e}},function(t,n,e){var r=e(49),o=e(58),i=e(19),a=r("unscopables"),u=Array.prototype;null==u[a]&&i.f(u,a,{configurable:!0,value:o(null)}),t.exports=function(t){u[a][t]=!0}},function(t,n,e){var r,o=e(20),i=e(59),a=e(42),u=e(31),c=e(61),f=e(17),s=e(27),l=s("IE_PROTO"),p=function(){},h=function(t){return"<script>"+t+"<\/script>"},v=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;v=r?function(t){t.write(h("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=f("iframe")).style.display="none",c.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(h("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete v.prototype[a[e]];return v()};u[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=o(t),e=new p,p.prototype=null,e[l]=t):e=v(),void 0===n?e:i(e,n)}},function(t,n,e){var r=e(5),o=e(19),i=e(20),a=e(60);t.exports=r?Object.defineProperties:function(t,n){i(t);for(var e,r=a(n),u=r.length,c=0;u>c;)o.f(t,e=r[c++],n[e]);return t}},function(t,n,e){var r=e(37),o=e(42);t.exports=Object.keys||function(t){return r(t,o)}},function(t,n,e){var r=e(34);t.exports=r("document","documentElement")},function(t,n,e){var r=e(2),o=e(63).every,i=e(66),a=e(67),u=i("every"),c=a("every");r({target:"Array",proto:!0,forced:!u||!c},{every:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(64),o=e(10),i=e(46),a=e(39),u=e(48),c=[].push,f=function(t){var n=1==t,e=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l;return function(h,v,g,d){for(var y,x,m=i(h),b=o(m),S=r(v,g,3),E=a(b.length),w=0,O=d||u,R=n?O(h,E):e?O(h,0):void 0;E>w;w++)if((p||w in b)&&(x=S(y=b[w],w,m),t))if(n)R[w]=x;else if(x)switch(t){case 3:return!0;case 5:return y;case 6:return w;case 2:c.call(R,y)}else if(s)return!1;return l?-1:f||s?s:R}};t.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6)}},function(t,n,e){var r=e(65);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n,e){var r=e(6);t.exports=function(t,n){var e=[][t];return!!e&&r((function(){e.call(null,n||function(){throw 1},1)}))}},function(t,n,e){var r=e(5),o=e(6),i=e(15),a=Object.defineProperty,u={},c=function(t){throw t};t.exports=function(t,n){if(i(u,t))return u[t];n||(n={});var e=[][t],f=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:c,l=i(n,1)?n[1]:void 0;return u[t]=!!e&&!o((function(){if(f&&!r)return!0;var t={length:-1};f?a(t,1,{enumerable:!0,get:c}):t[1]=1,e.call(t,s,l)}))}},function(t,n,e){var r=e(2),o=e(69),i=e(57);r({target:"Array",proto:!0},{fill:o}),i("fill")},function(t,n,e){var r=e(46),o=e(41),i=e(39);t.exports=function(t){for(var n=r(this),e=i(n.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,e),c=a>2?arguments[2]:void 0,f=void 0===c?e:o(c,e);f>u;)n[u++]=t;return n}},function(t,n,e){var r=e(2),o=e(63).filter,i=e(52),a=e(67),u=i("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!u||!c},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(63).find,i=e(57),a=e(67),u=!0,c=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,e){var r=e(2),o=e(63).findIndex,i=e(57),a=e(67),u=!0,c=a("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("findIndex")},function(t,n,e){var r=e(2),o=e(74),i=e(46),a=e(39),u=e(40),c=e(48);r({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,n=i(this),e=a(n.length),r=c(n,0);return r.length=o(r,n,n,e,0,void 0===t?1:u(t)),r}})},function(t,n,e){var r=e(45),o=e(39),i=e(64),a=function(t,n,e,u,c,f,s,l){for(var p,h=c,v=0,g=!!s&&i(s,l,3);v<u;){if(v in e){if(p=g?g(e[v],v,n):e[v],f>0&&r(p))h=a(t,n,p,o(p.length),h,f-1)-1;else{if(h>=9007199254740991)throw TypeError("Exceed the acceptable array length");t[h]=p}h++}v++}return h};t.exports=a},function(t,n,e){var r=e(2),o=e(74),i=e(46),a=e(39),u=e(65),c=e(48);r({target:"Array",proto:!0},{flatMap:function(t){var n,e=i(this),r=a(e.length);return u(t),(n=c(e,0)).length=o(n,e,e,r,0,1,t,arguments.length>1?arguments[1]:void 0),n}})},function(t,n,e){var r=e(2),o=e(77);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(t,n,e){var r=e(63).forEach,o=e(66),i=e(67),a=o("forEach"),u=i("forEach");t.exports=a&&u?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},function(t,n,e){var r=e(2),o=e(79);r({target:"Array",stat:!0,forced:!e(86)((function(t){Array.from(t)}))},{from:o})},function(t,n,e){var r=e(64),o=e(46),i=e(80),a=e(81),u=e(39),c=e(47),f=e(83);t.exports=function(t){var n,e,s,l,p,h,v=o(t),g="function"==typeof this?this:Array,d=arguments.length,y=d>1?arguments[1]:void 0,x=void 0!==y,m=f(v),b=0;if(x&&(y=r(y,d>2?arguments[2]:void 0,2)),null==m||g==Array&&a(m))for(e=new g(n=u(v.length));n>b;b++)h=x?y(v[b],b):v[b],c(e,b,h);else for(p=(l=m.call(v)).next,e=new g;!(s=p.call(l)).done;b++)h=x?i(l,y,[s.value,b],!0):s.value,c(e,b,h);return e.length=b,e}},function(t,n,e){var r=e(20);t.exports=function(t,n,e,o){try{return o?n(r(e)[0],e[1]):n(e)}catch(n){var i=t.return;throw void 0!==i&&r(i.call(t)),n}}},function(t,n,e){var r=e(49),o=e(82),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},function(t,n){t.exports={}},function(t,n,e){var r=e(84),o=e(82),i=e(49)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,n,e){var r=e(85),o=e(11),i=e(49)("toStringTag"),a="Arguments"==o(function(){return arguments}());t.exports=r?o:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?e:a?o(n):"Object"==(r=o(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r={};r[e(49)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(49)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!o)return!1;var e=!1;try{var i={};i[r]=function(){return{next:function(){return{done:e=!0}}}},t(i)}catch(t){}return e}},function(t,n,e){var r=e(2),o=e(38).includes,i=e(57);r({target:"Array",proto:!0,forced:!e(67)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("includes")},function(t,n,e){var r=e(2),o=e(38).indexOf,i=e(66),a=e(67),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,f=i("indexOf"),s=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:c||!f||!s},{indexOf:function(t){return c?u.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(9),o=e(57),i=e(82),a=e(25),u=e(90),c=a.set,f=a.getterFor("Array Iterator");t.exports=u(Array,"Array",(function(t,n){c(this,{type:"Array Iterator",target:r(t),index:0,kind:n})}),(function(){var t=f(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(t,n,e){var r=e(2),o=e(91),i=e(93),a=e(96),u=e(95),c=e(18),f=e(21),s=e(49),l=e(29),p=e(82),h=e(92),v=h.IteratorPrototype,g=h.BUGGY_SAFARI_ITERATORS,d=s("iterator"),y=function(){return this};t.exports=function(t,n,e,s,h,x,m){o(e,n,s);var b,S,E,w=function(t){if(t===h&&I)return I;if(!g&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},O=n+" Iterator",R=!1,A=t.prototype,j=A[d]||A["@@iterator"]||h&&A[h],I=!g&&j||w(h),k="Array"==n&&A.entries||j;if(k&&(b=i(k.call(new t)),v!==Object.prototype&&b.next&&(l||i(b)===v||(a?a(b,v):"function"!=typeof b[d]&&c(b,d,y)),u(b,O,!0,!0),l&&(p[O]=y))),"values"==h&&j&&"values"!==j.name&&(R=!0,I=function(){return j.call(this)}),l&&!m||A[d]===I||c(A,d,I),p[n]=I,h)if(S={values:w("values"),keys:x?I:w("keys"),entries:w("entries")},m)for(E in S)(g||R||!(E in A))&&f(A,E,S[E]);else r({target:n,proto:!0,forced:g||R},S);return S}},function(t,n,e){var r=e(92).IteratorPrototype,o=e(58),i=e(8),a=e(95),u=e(82),c=function(){return this};t.exports=function(t,n,e){var f=n+" Iterator";return t.prototype=o(r,{next:i(1,e)}),a(t,f,!1,!0),u[f]=c,t}},function(t,n,e){var r,o,i,a=e(93),u=e(18),c=e(15),f=e(49),s=e(29),l=f("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):p=!0),null==r&&(r={}),s||c(r,l)||u(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},function(t,n,e){var r=e(15),o=e(46),i=e(27),a=e(94),u=i("IE_PROTO"),c=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),r(t,u)?t[u]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},function(t,n,e){var r=e(6);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,n,e){var r=e(19).f,o=e(15),i=e(49)("toStringTag");t.exports=function(t,n,e){t&&!o(t=e?t:t.prototype,i)&&r(t,i,{configurable:!0,value:n})}},function(t,n,e){var r=e(20),o=e(97);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,i){return r(e),o(i),n?t.call(e,i):e.__proto__=i,e}}():void 0)},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},function(t,n,e){var r=e(2),o=e(10),i=e(9),a=e(66),u=[].join,c=o!=Object,f=a("join",",");r({target:"Array",proto:!0,forced:c||!f},{join:function(t){return u.call(i(this),void 0===t?",":t)}})},function(t,n,e){var r=e(2),o=e(100);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(t,n,e){var r=e(9),o=e(40),i=e(39),a=e(66),u=e(67),c=Math.min,f=[].lastIndexOf,s=!!f&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),p=u("indexOf",{ACCESSORS:!0,1:0}),h=s||!l||!p;t.exports=h?function(t){if(s)return f.apply(this,arguments)||0;var n=r(this),e=i(n.length),a=e-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=e+a);a>=0;a--)if(a in n&&n[a]===t)return a||0;return-1}:f},function(t,n,e){var r=e(2),o=e(63).map,i=e(52),a=e(67),u=i("map"),c=a("map");r({target:"Array",proto:!0,forced:!u||!c},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(6),i=e(47);r({target:"Array",stat:!0,forced:o((function(){function t(){}return!(Array.of.call(t)instanceof t)}))},{of:function(){for(var t=0,n=arguments.length,e=new("function"==typeof this?this:Array)(n);n>t;)i(e,t,arguments[t++]);return e.length=n,e}})},function(t,n,e){var r=e(2),o=e(104).left,i=e(66),a=e(67),u=i("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduce:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(65),o=e(46),i=e(10),a=e(39),u=function(t){return function(n,e,u,c){r(e);var f=o(n),s=i(f),l=a(f.length),p=t?l-1:0,h=t?-1:1;if(u<2)for(;;){if(p in s){c=s[p],p+=h;break}if(p+=h,t?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;t?p>=0:l>p;p+=h)p in s&&(c=e(c,s[p],p,f));return c}};t.exports={left:u(!1),right:u(!0)}},function(t,n,e){var r=e(2),o=e(104).right,i=e(66),a=e(67),u=i("reduceRight"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduceRight:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(14),i=e(45),a=e(41),u=e(39),c=e(9),f=e(47),s=e(49),l=e(52),p=e(67),h=l("slice"),v=p("slice",{ACCESSORS:!0,0:0,1:2}),g=s("species"),d=[].slice,y=Math.max;r({target:"Array",proto:!0,forced:!h||!v},{slice:function(t,n){var e,r,s,l=c(this),p=u(l.length),h=a(t,p),v=a(void 0===n?p:n,p);if(i(l)&&("function"!=typeof(e=l.constructor)||e!==Array&&!i(e.prototype)?o(e)&&null===(e=e[g])&&(e=void 0):e=void 0,e===Array||void 0===e))return d.call(l,h,v);for(r=new(void 0===e?Array:e)(y(v-h,0)),s=0;h<v;h++,s++)h in l&&f(r,s,l[h]);return r.length=s,r}})},function(t,n,e){var r=e(2),o=e(63).some,i=e(66),a=e(67),u=i("some"),c=a("some");r({target:"Array",proto:!0,forced:!u||!c},{some:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){e(109)("Array")},function(t,n,e){var r=e(34),o=e(19),i=e(49),a=e(5),u=i("species");t.exports=function(t){var n=r(t),e=o.f;a&&n&&!n[u]&&e(n,u,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(2),o=e(41),i=e(40),a=e(39),u=e(46),c=e(48),f=e(47),s=e(52),l=e(67),p=s("splice"),h=l("splice",{ACCESSORS:!0,0:0,1:2}),v=Math.max,g=Math.min;r({target:"Array",proto:!0,forced:!p||!h},{splice:function(t,n){var e,r,s,l,p,h,d=u(this),y=a(d.length),x=o(t,y),m=arguments.length;if(0===m?e=r=0:1===m?(e=0,r=y-x):(e=m-2,r=g(v(i(n),0),y-x)),y+e-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(s=c(d,r),l=0;l<r;l++)(p=x+l)in d&&f(s,l,d[p]);if(s.length=r,e<r){for(l=x;l<y-r;l++)h=l+e,(p=l+r)in d?d[h]=d[p]:delete d[h];for(l=y;l>y-r+e;l--)delete d[l-1]}else if(e>r)for(l=y-r;l>x;l--)h=l+e-1,(p=l+r-1)in d?d[h]=d[p]:delete d[h];for(l=0;l<e;l++)d[l+x]=arguments[l+2];return d.length=y-r+e,s}})},function(t,n,e){e(57)("flat")},function(t,n,e){e(57)("flatMap")},function(t,n,e){var r=e(14),o=e(19),i=e(93),a=e(49)("hasInstance"),u=Function.prototype;a in u||o.f(u,a,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,e){var r=e(5),o=e(19).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/;r&&!("name"in i)&&o(i,"name",{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(t){return""}}})},function(t,n,e){e(2)({global:!0},{globalThis:e(3)})},function(t,n,e){var r=e(2),o=e(34),i=e(6),a=o("JSON","stringify"),u=/[\uD800-\uDFFF]/g,c=/^[\uD800-\uDBFF]$/,f=/^[\uDC00-\uDFFF]$/,s=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return c.test(t)&&!f.test(o)||f.test(t)&&!c.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},l=i((function(){return'"\\udf06\\ud834"'!==a("\udf06\ud834")||'"\\udead"'!==a("\udead")}));a&&r({target:"JSON",stat:!0,forced:l},{stringify:function(t,n,e){var r=a.apply(null,arguments);return"string"==typeof r?r.replace(u,s):r}})},function(t,n,e){var r=e(3);e(95)(r.JSON,"JSON",!0)},function(t,n,e){var r=e(119),o=e(125);t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},function(t,n,e){var r=e(2),o=e(3),i=e(44),a=e(21),u=e(120),c=e(122),f=e(123),s=e(14),l=e(6),p=e(86),h=e(95),v=e(124);t.exports=function(t,n,e){var g=-1!==t.indexOf("Map"),d=-1!==t.indexOf("Weak"),y=g?"set":"add",x=o[t],m=x&&x.prototype,b=x,S={},E=function(t){var n=m[t];a(m,t,"add"==t?function(t){return n.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return d&&!s(t)?void 0:n.call(this,0===t?0:t)}:"has"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:function(t,e){return n.call(this,0===t?0:t,e),this})};if(i(t,"function"!=typeof x||!(d||m.forEach&&!l((function(){(new x).entries().next()})))))b=e.getConstructor(n,t,g,y),u.REQUIRED=!0;else if(i(t,!0)){var w=new b,O=w[y](d?{}:-0,1)!=w,R=l((function(){w.has(1)})),A=p((function(t){new x(t)})),j=!d&&l((function(){for(var t=new x,n=5;n--;)t[y](n,n);return!t.has(-0)}));A||((b=n((function(n,e){f(n,b,t);var r=v(new x,n,b);return null!=e&&c(e,r[y],r,g),r}))).prototype=m,m.constructor=b),(R||j)&&(E("delete"),E("has"),g&&E("get")),(j||O)&&E(y),d&&m.clear&&delete m.clear}return S[t]=b,r({global:!0,forced:b!=x},S),h(b,t),d||e.setStrong(b,t,g),b}},function(t,n,e){var r=e(31),o=e(14),i=e(15),a=e(19).f,u=e(30),c=e(121),f=u("meta"),s=0,l=Object.isExtensible||function(){return!0},p=function(t){a(t,f,{value:{objectID:"O"+ ++s,weakData:{}}})},h=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,f)){if(!l(t))return"F";if(!n)return"E";p(t)}return t[f].objectID},getWeakData:function(t,n){if(!i(t,f)){if(!l(t))return!0;if(!n)return!1;p(t)}return t[f].weakData},onFreeze:function(t){return c&&h.REQUIRED&&l(t)&&!i(t,f)&&p(t),t}};r[f]=!0},function(t,n,e){var r=e(6);t.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(t,n,e){var r=e(20),o=e(81),i=e(39),a=e(64),u=e(83),c=e(80),f=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,n,e,s,l){var p,h,v,g,d,y,x,m=a(n,e,s?2:1);if(l)p=t;else{if("function"!=typeof(h=u(t)))throw TypeError("Target is not iterable");if(o(h)){for(v=0,g=i(t.length);g>v;v++)if((d=s?m(r(x=t[v])[0],x[1]):m(t[v]))&&d instanceof f)return d;return new f(!1)}p=h.call(t)}for(y=p.next;!(x=y.call(p)).done;)if("object"==typeof(d=c(p,m,x.value,s))&&d&&d instanceof f)return d;return new f(!1)}).stop=function(t){return new f(!0,t)}},function(t,n){t.exports=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t}},function(t,n,e){var r=e(14),o=e(96);t.exports=function(t,n,e){var i,a;return o&&"function"==typeof(i=n.constructor)&&i!==e&&r(a=i.prototype)&&a!==e.prototype&&o(t,a),t}},function(t,n,e){var r=e(19).f,o=e(58),i=e(126),a=e(64),u=e(123),c=e(122),f=e(90),s=e(109),l=e(5),p=e(120).fastKey,h=e(25),v=h.set,g=h.getterFor;t.exports={getConstructor:function(t,n,e,f){var s=t((function(t,r){u(t,s,n),v(t,{type:n,index:o(null),first:void 0,last:void 0,size:0}),l||(t.size=0),null!=r&&c(r,t[f],t,e)})),h=g(n),d=function(t,n,e){var r,o,i=h(t),a=y(t,n);return a?a.value=e:(i.last=a={index:o=p(n,!0),key:n,value:e,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),l?i.size++:t.size++,"F"!==o&&(i.index[o]=a)),t},y=function(t,n){var e,r=h(t),o=p(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return i(s.prototype,{clear:function(){for(var t=h(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,l?t.size=0:this.size=0},delete:function(t){var n=h(this),e=y(this,t);if(e){var r=e.next,o=e.previous;delete n.index[e.index],e.removed=!0,o&&(o.next=r),r&&(r.previous=o),n.first==e&&(n.first=r),n.last==e&&(n.last=o),l?n.size--:this.size--}return!!e},forEach:function(t){for(var n,e=h(this),r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!y(this,t)}}),i(s.prototype,e?{get:function(t){var n=y(this,t);return n&&n.value},set:function(t,n){return d(this,0===t?0:t,n)}}:{add:function(t){return d(this,t=0===t?0:t,t)}}),l&&r(s.prototype,"size",{get:function(){return h(this).size}}),s},setStrong:function(t,n,e){var r=n+" Iterator",o=g(n),i=g(r);f(t,n,(function(t,n){v(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),s(n)}}},function(t,n,e){var r=e(21);t.exports=function(t,n,e){for(var o in n)r(t,o,n[o],e);return t}},function(t,n,e){var r=e(5),o=e(3),i=e(44),a=e(21),u=e(15),c=e(11),f=e(124),s=e(13),l=e(6),p=e(58),h=e(36).f,v=e(4).f,g=e(19).f,d=e(128).trim,y=o.Number,x=y.prototype,m="Number"==c(p(x)),b=function(t){var n,e,r,o,i,a,u,c,f=s(t,!1);if("string"==typeof f&&f.length>2)if(43===(n=(f=d(f)).charCodeAt(0))||45===n){if(88===(e=f.charCodeAt(2))||120===e)return NaN}else if(48===n){switch(f.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+f}for(a=(i=f.slice(2)).length,u=0;u<a;u++)if((c=i.charCodeAt(u))<48||c>o)return NaN;return parseInt(i,r)}return+f};if(i("Number",!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var S,E=function(t){var n=arguments.length<1?0:t,e=this;return e instanceof E&&(m?l((function(){x.valueOf.call(e)})):"Number"!=c(e))?f(new y(b(n)),e,E):b(n)},w=r?h(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),O=0;w.length>O;O++)u(y,S=w[O])&&!u(E,S)&&g(E,S,v(y,S));E.prototype=x,x.constructor=E,a(o,"Number",E)}},function(t,n,e){var r=e(12),o="["+e(129)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),u=function(t){return function(n){var e=String(r(n));return 1&t&&(e=e.replace(i,"")),2&t&&(e=e.replace(a,"")),e}};t.exports={start:u(1),end:u(2),trim:u(3)}},function(t,n){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},function(t,n,e){e(2)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(t,n,e){e(2)({target:"Number",stat:!0},{isFinite:e(132)})},function(t,n,e){var r=e(3).isFinite;t.exports=Number.isFinite||function(t){return"number"==typeof t&&r(t)}},function(t,n,e){e(2)({target:"Number",stat:!0},{isInteger:e(134)})},function(t,n,e){var r=e(14),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,n,e){e(2)({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},function(t,n,e){var r=e(2),o=e(134),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,n,e){e(2)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,e){e(2)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,e){var r=e(2),o=e(140);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},function(t,n,e){var r=e(3),o=e(128).trim,i=e(129),a=r.parseFloat,u=1/a(i+"-0")!=-1/0;t.exports=u?function(t){var n=o(String(t)),e=a(n);return 0===e&&"-"==n.charAt(0)?-0:e}:a},function(t,n,e){var r=e(2),o=e(142);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},function(t,n,e){var r=e(3),o=e(128).trim,i=e(129),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");t.exports=c?function(t,n){var e=o(String(t));return a(e,n>>>0||(u.test(e)?16:10))}:a},function(t,n,e){var r=e(2),o=e(40),i=e(144),a=e(145),u=e(6),c=1..toFixed,f=Math.floor,s=function(t,n,e){return 0===n?e:n%2==1?s(t,n-1,e*t):s(t*t,n/2,e)};r({target:"Number",proto:!0,forced:c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u((function(){c.call({})}))},{toFixed:function(t){var n,e,r,u,c=i(this),l=o(t),p=[0,0,0,0,0,0],h="",v="0",g=function(t,n){for(var e=-1,r=n;++e<6;)r+=t*p[e],p[e]=r%1e7,r=f(r/1e7)},d=function(t){for(var n=6,e=0;--n>=0;)e+=p[n],p[n]=f(e/t),e=e%t*1e7},y=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==p[t]){var e=String(p[t]);n=""===n?e:n+a.call("0",7-e.length)+e}return n};if(l<0||l>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(h="-",c=-c),c>1e-21)if(e=(n=function(t){for(var n=0,e=t;e>=4096;)n+=12,e/=4096;for(;e>=2;)n+=1,e/=2;return n}(c*s(2,69,1))-69)<0?c*s(2,-n,1):c/s(2,n,1),e*=4503599627370496,(n=52-n)>0){for(g(0,e),r=l;r>=7;)g(1e7,0),r-=7;for(g(s(10,r,1),0),r=n-1;r>=23;)d(1<<23),r-=23;d(1<<r),g(1,1),d(2),v=y()}else g(0,e),g(1<<-n,0),v=y()+a.call("0",l);return v=l>0?h+((u=v.length)<=l?"0."+a.call("0",l-u)+v:v.slice(0,u-l)+"."+v.slice(u-l)):h+v}})},function(t,n,e){var r=e(11);t.exports=function(t){if("number"!=typeof t&&"Number"!=r(t))throw TypeError("Incorrect invocation");return+t}},function(t,n,e){var r=e(40),o=e(12);t.exports="".repeat||function(t){var n=String(o(this)),e="",i=r(t);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(n+=n))1&i&&(e+=n);return e}},function(t,n,e){var r=e(2),o=e(147);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(t,n,e){var r=e(5),o=e(6),i=e(60),a=e(43),u=e(7),c=e(46),f=e(10),s=Object.assign,l=Object.defineProperty;t.exports=!s||o((function(){if(r&&1!==s({b:1},s(l({},"a",{enumerable:!0,get:function(){l(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol();return t[e]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),7!=s({},t)[e]||"abcdefghijklmnopqrst"!=i(s({},n)).join("")}))?function(t,n){for(var e=c(t),o=arguments.length,s=1,l=a.f,p=u.f;o>s;)for(var h,v=f(arguments[s++]),g=l?i(v).concat(l(v)):i(v),d=g.length,y=0;d>y;)h=g[y++],r&&!p.call(v,h)||(e[h]=v[h]);return e}:s},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(65),c=e(19);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(t,n){c.f(a(this),t,{get:u(n),enumerable:!0,configurable:!0})}})},function(t,n,e){var r=e(29),o=e(3),i=e(6);t.exports=r||!i((function(){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete o[t]}))},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(65),c=e(19);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(t,n){c.f(a(this),t,{set:u(n),enumerable:!0,configurable:!0})}})},function(t,n,e){var r=e(2),o=e(152).entries;r({target:"Object",stat:!0},{entries:function(t){return o(t)}})},function(t,n,e){var r=e(5),o=e(60),i=e(9),a=e(7).f,u=function(t){return function(n){for(var e,u=i(n),c=o(u),f=c.length,s=0,l=[];f>s;)e=c[s++],r&&!a.call(u,e)||l.push(t?[e,u[e]]:u[e]);return l}};t.exports={entries:u(!0),values:u(!1)}},function(t,n,e){var r=e(2),o=e(121),i=e(6),a=e(14),u=e(120).onFreeze,c=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){c(1)})),sham:!o},{freeze:function(t){return c&&a(t)?c(u(t)):t}})},function(t,n,e){var r=e(2),o=e(122),i=e(47);r({target:"Object",stat:!0},{fromEntries:function(t){var n={};return o(t,(function(t,e){i(n,t,e)}),void 0,!0),n}})},function(t,n,e){var r=e(2),o=e(6),i=e(9),a=e(4).f,u=e(5),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(t,n){return a(i(t),n)}})},function(t,n,e){var r=e(2),o=e(5),i=e(33),a=e(9),u=e(4),c=e(47);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var n,e,r=a(t),o=u.f,f=i(r),s={},l=0;f.length>l;)void 0!==(e=o(r,n=f[l++]))&&c(s,n,e);return s}})},function(t,n,e){var r=e(2),o=e(6),i=e(158).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},function(t,n,e){var r=e(9),o=e(36).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(r(t))}},function(t,n,e){var r=e(2),o=e(6),i=e(46),a=e(93),u=e(94);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(t){return a(i(t))}})},function(t,n,e){e(2)({target:"Object",stat:!0},{is:e(161)})},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isExtensible;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isExtensible:function(t){return!!i(t)&&(!a||a(t))}})},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(t){return!i(t)||!!a&&a(t)}})},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isSealed:function(t){return!i(t)||!!a&&a(t)}})},function(t,n,e){var r=e(2),o=e(46),i=e(60);r({target:"Object",stat:!0,forced:e(6)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(13),c=e(93),f=e(4).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(t){var n,e=a(this),r=u(t,!0);do{if(n=f(e,r))return n.get}while(e=c(e))}})},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(13),c=e(93),f=e(4).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(t){var n,e=a(this),r=u(t,!0);do{if(n=f(e,r))return n.set}while(e=c(e))}})},function(t,n,e){var r=e(2),o=e(14),i=e(120).onFreeze,a=e(121),u=e(6),c=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{preventExtensions:function(t){return c&&o(t)?c(i(t)):t}})},function(t,n,e){var r=e(2),o=e(14),i=e(120).onFreeze,a=e(121),u=e(6),c=Object.seal;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{seal:function(t){return c&&o(t)?c(i(t)):t}})},function(t,n,e){var r=e(85),o=e(21),i=e(171);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(t,n,e){var r=e(85),o=e(84);t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(t,n,e){var r=e(2),o=e(152).values;r({target:"Object",stat:!0},{values:function(t){return o(t)}})},function(t,n,e){var r,o,i,a,u=e(2),c=e(29),f=e(3),s=e(34),l=e(174),p=e(21),h=e(126),v=e(95),g=e(109),d=e(14),y=e(65),x=e(123),m=e(11),b=e(23),S=e(122),E=e(86),w=e(175),O=e(176).set,R=e(178),A=e(179),j=e(181),I=e(180),k=e(182),P=e(25),L=e(44),T=e(49),_=e(53),U=T("species"),N="Promise",C=P.get,F=P.set,M=P.getterFor(N),z=l,D=f.TypeError,q=f.document,B=f.process,W=s("fetch"),$=I.f,G=$,V="process"==m(B),X=!!(q&&q.createEvent&&f.dispatchEvent),Y=L(N,(function(){if(!(b(z)!==String(z))){if(66===_)return!0;if(!V&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!z.prototype.finally)return!0;if(_>=51&&/native code/.test(z))return!1;var t=z.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[U]=n,!(t.then((function(){}))instanceof n)})),K=Y||!E((function(t){z.all(t).catch((function(){}))})),J=function(t){var n;return!(!d(t)||"function"!=typeof(n=t.then))&&n},H=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;R((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,p=s.resolve,h=s.reject,v=s.domain;try{l?(i||(2===n.rejection&&nt(t,n),n.rejection=1),!0===l?u=o:(v&&v.enter(),u=l(o),v&&(v.exit(),f=!0)),u===s.promise?h(D("Promise-chain cycle")):(c=J(u))?c.call(u,p,h):p(u)):h(o)}catch(t){v&&!f&&v.exit(),h(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Z(t,n)}))}},Q=function(t,n,e){var r,o;X?((r=q.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),f.dispatchEvent(r)):r={promise:n,reason:e},(o=f["on"+t])?o(r):"unhandledrejection"===t&&j("Unhandled promise rejection",e)},Z=function(t,n){O.call(f,(function(){var e,r=n.value;if(tt(n)&&(e=k((function(){V?B.emit("unhandledRejection",r,t):Q("unhandledrejection",t,r)})),n.rejection=V||tt(n)?2:1,e.error))throw e.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},nt=function(t,n){O.call(f,(function(){V?B.emit("rejectionHandled",t):Q("rejectionhandled",t,n.value)}))},et=function(t,n,e,r){return function(o){t(n,e,o,r)}},rt=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,H(t,n,!0))},ot=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw D("Promise can't be resolved itself");var o=J(e);o?R((function(){var r={done:!1};try{o.call(e,et(ot,t,r,n),et(rt,t,r,n))}catch(e){rt(t,r,e,n)}})):(n.value=e,n.state=1,H(t,n,!1))}catch(e){rt(t,{done:!1},e,n)}}};Y&&(z=function(t){x(this,z,N),y(t),r.call(this);var n=C(this);try{t(et(ot,this,n),et(rt,this,n))}catch(t){rt(this,n,t)}},(r=function(t){F(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=h(z.prototype,{then:function(t,n){var e=M(this),r=$(w(this,z));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=V?B.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&H(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,n=C(t);this.promise=t,this.resolve=et(ot,t,n),this.reject=et(rt,t,n)},I.f=$=function(t){return t===z||t===i?new o(t):G(t)},c||"function"!=typeof l||(a=l.prototype.then,p(l.prototype,"then",(function(t,n){var e=this;return new z((function(t,n){a.call(e,t,n)})).then(t,n)}),{unsafe:!0}),"function"==typeof W&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(z,W.apply(f,arguments))}}))),u({global:!0,wrap:!0,forced:Y},{Promise:z}),v(z,N,!1,!0),g(N),i=s(N),u({target:N,stat:!0,forced:Y},{reject:function(t){var n=$(this);return n.reject.call(void 0,t),n.promise}}),u({target:N,stat:!0,forced:c||Y},{resolve:function(t){return A(c&&this===i?z:this,t)}}),u({target:N,stat:!0,forced:K},{all:function(t){var n=this,e=$(n),r=e.resolve,o=e.reject,i=k((function(){var e=y(n.resolve),i=[],a=0,u=1;S(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=$(n),r=e.reject,o=k((function(){var o=y(n.resolve);S(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}})},function(t,n,e){var r=e(3);t.exports=r.Promise},function(t,n,e){var r=e(20),o=e(65),i=e(49)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[i])?n:o(e)}},function(t,n,e){var r,o,i,a=e(3),u=e(6),c=e(11),f=e(64),s=e(61),l=e(17),p=e(177),h=a.location,v=a.setImmediate,g=a.clearImmediate,d=a.process,y=a.MessageChannel,x=a.Dispatch,m=0,b={},S=function(t){if(b.hasOwnProperty(t)){var n=b[t];delete b[t],n()}},E=function(t){return function(){S(t)}},w=function(t){S(t.data)},O=function(t){a.postMessage(t+"",h.protocol+"//"+h.host)};v&&g||(v=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return b[++m]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},r(m),m},g=function(t){delete b[t]},"process"==c(d)?r=function(t){d.nextTick(E(t))}:x&&x.now?r=function(t){x.now(E(t))}:y&&!p?(i=(o=new y).port2,o.port1.onmessage=w,r=f(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(O)||"file:"===h.protocol?r="onreadystatechange"in l("script")?function(t){s.appendChild(l("script")).onreadystatechange=function(){s.removeChild(this),S(t)}}:function(t){setTimeout(E(t),0)}:(r=O,a.addEventListener("message",w,!1))),t.exports={set:v,clear:g}},function(t,n,e){var r=e(54);t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(t,n,e){var r,o,i,a,u,c,f,s,l=e(3),p=e(4).f,h=e(11),v=e(176).set,g=e(177),d=l.MutationObserver||l.WebKitMutationObserver,y=l.process,x=l.Promise,m="process"==h(y),b=p(l,"queueMicrotask"),S=b&&b.value;S||(r=function(){var t,n;for(m&&(t=y.domain)&&t.exit();o;){n=o.fn,o=o.next;try{n()}catch(t){throw o?a():i=void 0,t}}i=void 0,t&&t.enter()},m?a=function(){y.nextTick(r)}:d&&!g?(u=!0,c=document.createTextNode(""),new d(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):x&&x.resolve?(f=x.resolve(void 0),s=f.then,a=function(){s.call(f,r)}):a=function(){v.call(l,r)}),t.exports=S||function(t){var n={fn:t,next:void 0};i&&(i.next=n),o||(o=n,a()),i=n}},function(t,n,e){var r=e(20),o=e(14),i=e(180);t.exports=function(t,n){if(r(t),o(n)&&n.constructor===t)return n;var e=i.f(t);return(0,e.resolve)(n),e.promise}},function(t,n,e){var r=e(65),o=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=r(n),this.reject=r(e)};t.exports.f=function(t){return new o(t)}},function(t,n,e){var r=e(3);t.exports=function(t,n){var e=r.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}},function(t,n){t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},function(t,n,e){var r=e(2),o=e(65),i=e(180),a=e(182),u=e(122);r({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=i.f(n),r=e.resolve,c=e.reject,f=a((function(){var e=o(n.resolve),i=[],a=0,c=1;u(t,(function(t){var o=a++,u=!1;i.push(void 0),c++,e.call(n,t).then((function(t){u||(u=!0,i[o]={status:"fulfilled",value:t},--c||r(i))}),(function(t){u||(u=!0,i[o]={status:"rejected",reason:t},--c||r(i))}))})),--c||r(i)}));return f.error&&c(f.value),e.promise}})},function(t,n,e){var r=e(2),o=e(29),i=e(174),a=e(6),u=e(34),c=e(175),f=e(179),s=e(21);r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var n=c(this,u("Promise")),e="function"==typeof t;return this.then(e?function(e){return f(n,t()).then((function(){return e}))}:t,e?function(e){return f(n,t()).then((function(){throw e}))}:t)}}),o||"function"!=typeof i||i.prototype.finally||s(i.prototype,"finally",u("Promise").prototype.finally)},function(t,n,e){var r=e(5),o=e(3),i=e(44),a=e(124),u=e(19).f,c=e(36).f,f=e(186),s=e(187),l=e(188),p=e(21),h=e(6),v=e(25).set,g=e(109),d=e(49)("match"),y=o.RegExp,x=y.prototype,m=/a/g,b=/a/g,S=new y(m)!==m,E=l.UNSUPPORTED_Y;if(r&&i("RegExp",!S||E||h((function(){return b[d]=!1,y(m)!=m||y(b)==b||"/a/i"!=y(m,"i")})))){for(var w=function(t,n){var e,r=this instanceof w,o=f(t),i=void 0===n;if(!r&&o&&t.constructor===w&&i)return t;S?o&&!i&&(t=t.source):t instanceof w&&(i&&(n=s.call(t)),t=t.source),E&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var u=a(S?new y(t,n):y(t,n),r?this:x,w);return E&&e&&v(u,{sticky:e}),u},O=function(t){t in w||u(w,t,{configurable:!0,get:function(){return y[t]},set:function(n){y[t]=n}})},R=c(y),A=0;R.length>A;)O(R[A++]);x.constructor=w,w.prototype=x,p(o,"RegExp",w)}g("RegExp")},function(t,n,e){var r=e(14),o=e(11),i=e(49)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},function(t,n,e){var r=e(20);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){var r=e(6);function o(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(2),o=e(190);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(t,n,e){var r,o,i=e(187),a=e(188),u=RegExp.prototype.exec,c=String.prototype.replace,f=u,s=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(s||p||l)&&(f=function(t){var n,e,r,o,a=this,f=l&&a.sticky,h=i.call(a),v=a.source,g=0,d=t;return f&&(-1===(h=h.replace("y","")).indexOf("g")&&(h+="g"),d=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(v="(?: "+v+")",d=" "+d,g++),e=new RegExp("^(?:"+v+")",h)),p&&(e=new RegExp("^"+v+"$(?!\\s)",h)),s&&(n=a.lastIndex),r=u.call(f?e:a,d),f?r?(r.input=r.input.slice(g),r[0]=r[0].slice(g),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:s&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&c.call(r[0],e,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r}),t.exports=f},function(t,n,e){var r=e(5),o=e(19),i=e(187),a=e(188).UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&o.f(RegExp.prototype,"flags",{configurable:!0,get:i})},function(t,n,e){var r=e(5),o=e(188).UNSUPPORTED_Y,i=e(19).f,a=e(25).get,u=RegExp.prototype;r&&o&&i(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==u){if(this instanceof RegExp)return!!a(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}})},function(t,n,e){e(189);var r,o,i=e(2),a=e(14),u=(r=!1,(o=/[ac]/).exec=function(){return r=!0,/./.exec.apply(this,arguments)},!0===o.test("abc")&&r),c=/./.test;i({target:"RegExp",proto:!0,forced:!u},{test:function(t){if("function"!=typeof this.exec)return c.call(this,t);var n=this.exec(t);if(null!==n&&!a(n))throw new Error("RegExp exec method returned something other than an Object or null");return!!n}})},function(t,n,e){var r=e(21),o=e(20),i=e(6),a=e(187),u=RegExp.prototype,c=u.toString,f=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),s="toString"!=c.name;(f||s)&&r(RegExp.prototype,"toString",(function(){var t=o(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in u)?a.call(t):e)}),{unsafe:!0})},function(t,n,e){var r=e(119),o=e(125);t.exports=r("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},function(t,n,e){var r=e(2),o=e(197).codeAt;r({target:"String",proto:!0},{codePointAt:function(t){return o(this,t)}})},function(t,n,e){var r=e(40),o=e(12),i=function(t){return function(n,e){var i,a,u=String(o(n)),c=r(e),f=u.length;return c<0||c>=f?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===f||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},function(t,n,e){var r,o=e(2),i=e(4).f,a=e(39),u=e(199),c=e(12),f=e(200),s=e(29),l="".endsWith,p=Math.min,h=f("endsWith");o({target:"String",proto:!0,forced:!!(s||h||(r=i(String.prototype,"endsWith"),!r||r.writable))&&!h},{endsWith:function(t){var n=String(c(this));u(t);var e=arguments.length>1?arguments[1]:void 0,r=a(n.length),o=void 0===e?r:p(a(e),r),i=String(t);return l?l.call(n,i,o):n.slice(o-i.length,o)===i}})},function(t,n,e){var r=e(186);t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},function(t,n,e){var r=e(49)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[r]=!1,"/./"[t](n)}catch(t){}}return!1}},function(t,n,e){var r=e(2),o=e(41),i=String.fromCharCode,a=String.fromCodePoint;r({target:"String",stat:!0,forced:!!a&&1!=a.length},{fromCodePoint:function(t){for(var n,e=[],r=arguments.length,a=0;r>a;){if(n=+arguments[a++],o(n,1114111)!==n)throw RangeError(n+" is not a valid code point");e.push(n<65536?i(n):i(55296+((n-=65536)>>10),n%1024+56320))}return e.join("")}})},function(t,n,e){var r=e(2),o=e(199),i=e(12);r({target:"String",proto:!0,forced:!e(200)("includes")},{includes:function(t){return!!~String(i(this)).indexOf(o(t),arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(197).charAt,o=e(25),i=e(90),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=u(this),e=n.string,o=n.index;return o>=e.length?{value:void 0,done:!0}:(t=r(e,o),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(205),o=e(20),i=e(39),a=e(12),u=e(206),c=e(207);r("match",1,(function(t,n,e){return[function(n){var e=a(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var a=o(t),f=String(this);if(!a.global)return c(a,f);var s=a.unicode;a.lastIndex=0;for(var l,p=[],h=0;null!==(l=c(a,f));){var v=String(l[0]);p[h]=v,""===v&&(a.lastIndex=u(f,i(a.lastIndex),s)),h++}return 0===h?null:p}]}))},function(t,n,e){e(189);var r=e(21),o=e(6),i=e(49),a=e(190),u=e(18),c=i("species"),f=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),s="$0"==="a".replace(/./,"$0"),l=i("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),h=!o((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var v=i(t),g=!o((function(){var n={};return n[v]=function(){return 7},7!=""[t](n)})),d=g&&!o((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[c]=function(){return e},e.flags="",e[v]=/./[v]),e.exec=function(){return n=!0,null},e[v](""),!n}));if(!g||!d||"replace"===t&&(!f||!s||p)||"split"===t&&!h){var y=/./[v],x=e(v,""[t],(function(t,n,e,r,o){return n.exec===a?g&&!o?{done:!0,value:y.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:s,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),m=x[0],b=x[1];r(String.prototype,t,m),r(RegExp.prototype,v,2==n?function(t,n){return b.call(t,this,n)}:function(t){return b.call(t,this)})}l&&u(RegExp.prototype[v],"sham",!0)}},function(t,n,e){var r=e(197).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r=e(11),o=e(190);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var i=e.call(t,n);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,n)}},function(t,n,e){var r=e(2),o=e(91),i=e(12),a=e(39),u=e(65),c=e(20),f=e(11),s=e(186),l=e(187),p=e(18),h=e(6),v=e(49),g=e(175),d=e(206),y=e(25),x=e(29),m=v("matchAll"),b=y.set,S=y.getterFor("RegExp String Iterator"),E=RegExp.prototype,w=E.exec,O="".matchAll,R=!!O&&!h((function(){"a".matchAll(/./)})),A=o((function(t,n,e,r){b(this,{type:"RegExp String Iterator",regexp:t,string:n,global:e,unicode:r,done:!1})}),"RegExp String",(function(){var t=S(this);if(t.done)return{value:void 0,done:!0};var n=t.regexp,e=t.string,r=function(t,n){var e,r=t.exec;if("function"==typeof r){if("object"!=typeof(e=r.call(t,n)))throw TypeError("Incorrect exec result");return e}return w.call(t,n)}(n,e);return null===r?{value:void 0,done:t.done=!0}:t.global?(""==String(r[0])&&(n.lastIndex=d(e,a(n.lastIndex),t.unicode)),{value:r,done:!1}):(t.done=!0,{value:r,done:!1})})),j=function(t){var n,e,r,o,i,u,f=c(this),s=String(t);return n=g(f,RegExp),void 0===(e=f.flags)&&f instanceof RegExp&&!("flags"in E)&&(e=l.call(f)),r=void 0===e?"":String(e),o=new n(n===RegExp?f.source:f,r),i=!!~r.indexOf("g"),u=!!~r.indexOf("u"),o.lastIndex=a(f.lastIndex),new A(o,s,i,u)};r({target:"String",proto:!0,forced:R},{matchAll:function(t){var n,e,r,o=i(this);if(null!=t){if(s(t)&&!~String(i("flags"in E?t.flags:l.call(t))).indexOf("g"))throw TypeError("`.matchAll` does not allow non-global regexes");if(R)return O.apply(o,arguments);if(void 0===(e=t[m])&&x&&"RegExp"==f(t)&&(e=j),null!=e)return u(e).call(t,o)}else if(R)return O.apply(o,arguments);return n=String(o),r=new RegExp(t,"g"),x?j.call(r,n):r[m](n)}}),x||m in E||p(E,m,j)},function(t,n,e){var r=e(2),o=e(210).end;r({target:"String",proto:!0,forced:e(211)},{padEnd:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(39),o=e(145),i=e(12),a=Math.ceil,u=function(t){return function(n,e,u){var c,f,s=String(i(n)),l=s.length,p=void 0===u?" ":String(u),h=r(e);return h<=l||""==p?s:(c=h-l,(f=o.call(p,a(c/p.length))).length>c&&(f=f.slice(0,c)),t?s+f:f+s)}};t.exports={start:u(!1),end:u(!0)}},function(t,n,e){var r=e(54);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},function(t,n,e){var r=e(2),o=e(210).start;r({target:"String",proto:!0,forced:e(211)},{padStart:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(9),i=e(39);r({target:"String",stat:!0},{raw:function(t){for(var n=o(t.raw),e=i(n.length),r=arguments.length,a=[],u=0;e>u;)a.push(String(n[u++])),u<r&&a.push(String(arguments[u]));return a.join("")}})},function(t,n,e){e(2)({target:"String",proto:!0},{repeat:e(145)})},function(t,n,e){var r=e(205),o=e(20),i=e(46),a=e(39),u=e(40),c=e(12),f=e(206),s=e(207),l=Math.max,p=Math.min,h=Math.floor,v=/\$([$&'`]|\d\d?|<[^>]*>)/g,g=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var d=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=r.REPLACE_KEEPS_$0,x=d?"$":"$0";return[function(e,r){var o=c(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,r){if(!d&&y||"string"==typeof r&&-1===r.indexOf(x)){var i=e(n,t,this,r);if(i.done)return i.value}var c=o(t),h=String(this),v="function"==typeof r;v||(r=String(r));var g=c.global;if(g){var b=c.unicode;c.lastIndex=0}for(var S=[];;){var E=s(c,h);if(null===E)break;if(S.push(E),!g)break;""===String(E[0])&&(c.lastIndex=f(h,a(c.lastIndex),b))}for(var w,O="",R=0,A=0;A<S.length;A++){E=S[A];for(var j=String(E[0]),I=l(p(u(E.index),h.length),0),k=[],P=1;P<E.length;P++)k.push(void 0===(w=E[P])?w:String(w));var L=E.groups;if(v){var T=[j].concat(k,I,h);void 0!==L&&T.push(L);var _=String(r.apply(void 0,T))}else _=m(j,h,I,k,L,r);I>=R&&(O+=h.slice(R,I)+_,R=I+j.length)}return O+h.slice(R)}];function m(t,e,r,o,a,u){var c=r+t.length,f=o.length,s=g;return void 0!==a&&(a=i(a),s=v),n.call(u,s,(function(n,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[i.slice(1,-1)];break;default:var s=+i;if(0===s)return n;if(s>f){var l=h(s/10);return 0===l?n:l<=f?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):n}u=o[s-1]}return void 0===u?"":u}))}}))},function(t,n,e){var r=e(205),o=e(20),i=e(12),a=e(161),u=e(207);r("search",1,(function(t,n,e){return[function(n){var e=i(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var i=o(t),c=String(this),f=i.lastIndex;a(f,0)||(i.lastIndex=0);var s=u(i,c);return a(i.lastIndex,f)||(i.lastIndex=f),null===s?-1:s.index}]}))},function(t,n,e){var r=e(205),o=e(186),i=e(20),a=e(12),u=e(175),c=e(206),f=e(39),s=e(207),l=e(190),p=e(6),h=[].push,v=Math.min,g=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),i=void 0===e?4294967295:e>>>0;if(0===i)return[];if(void 0===t)return[r];if(!o(t))return n.call(r,t,i);for(var u,c,f,s=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,g=new RegExp(t.source,p+"g");(u=l.call(g,r))&&!((c=g.lastIndex)>v&&(s.push(r.slice(v,u.index)),u.length>1&&u.index<r.length&&h.apply(s,u.slice(1)),f=u[0].length,v=c,s.length>=i));)g.lastIndex===u.index&&g.lastIndex++;return v===r.length?!f&&g.test("")||s.push(""):s.push(r.slice(v)),s.length>i?s.slice(0,i):s}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var o=a(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,e):r.call(String(o),n,e)},function(t,o){var a=e(r,t,this,o,r!==n);if(a.done)return a.value;var l=i(t),p=String(this),h=u(l,RegExp),d=l.unicode,y=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(g?"y":"g"),x=new h(g?l:"^(?:"+l.source+")",y),m=void 0===o?4294967295:o>>>0;if(0===m)return[];if(0===p.length)return null===s(x,p)?[p]:[];for(var b=0,S=0,E=[];S<p.length;){x.lastIndex=g?S:0;var w,O=s(x,g?p:p.slice(S));if(null===O||(w=v(f(x.lastIndex+(g?0:S)),p.length))===b)S=c(p,S,d);else{if(E.push(p.slice(b,S)),E.length===m)return E;for(var R=1;R<=O.length-1;R++)if(E.push(O[R]),E.length===m)return E;S=b=w}}return E.push(p.slice(b)),E}]}),!g)},function(t,n,e){var r,o=e(2),i=e(4).f,a=e(39),u=e(199),c=e(12),f=e(200),s=e(29),l="".startsWith,p=Math.min,h=f("startsWith");o({target:"String",proto:!0,forced:!!(s||h||(r=i(String.prototype,"startsWith"),!r||r.writable))&&!h},{startsWith:function(t){var n=String(c(this));u(t);var e=a(p(arguments.length>1?arguments[1]:void 0,n.length)),r=String(t);return l?l.call(n,r,e):n.slice(e,e+r.length)===r}})},function(t,n,e){var r=e(2),o=e(128).trim;r({target:"String",proto:!0,forced:e(220)("trim")},{trim:function(){return o(this)}})},function(t,n,e){var r=e(6),o=e(129);t.exports=function(t){return r((function(){return!!o[t]()||"​…᠎"!="​…᠎"[t]()||o[t].name!==t}))}},function(t,n,e){var r=e(2),o=e(128).end,i=e(220)("trimEnd"),a=i?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:i},{trimEnd:a,trimRight:a})},function(t,n,e){var r=e(2),o=e(128).start,i=e(220)("trimStart"),a=i?function(){return o(this)}:"".trimStart;r({target:"String",proto:!0,forced:i},{trimStart:a,trimLeft:a})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("anchor")},{anchor:function(t){return o(this,"a","name",t)}})},function(t,n,e){var r=e(12),o=/"/g;t.exports=function(t,n,e,i){var a=String(r(t)),u="<"+n;return""!==e&&(u+=" "+e+'="'+String(i).replace(o,"&quot;")+'"'),u+">"+a+"</"+n+">"}},function(t,n,e){var r=e(6);t.exports=function(t){return r((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3}))}},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("big")},{big:function(){return o(this,"big","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("blink")},{blink:function(){return o(this,"blink","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("bold")},{bold:function(){return o(this,"b","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fixed")},{fixed:function(){return o(this,"tt","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fontcolor")},{fontcolor:function(t){return o(this,"font","color",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fontsize")},{fontsize:function(t){return o(this,"font","size",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("italics")},{italics:function(){return o(this,"i","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("link")},{link:function(t){return o(this,"a","href",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("small")},{small:function(){return o(this,"small","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("strike")},{strike:function(){return o(this,"strike","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("sub")},{sub:function(){return o(this,"sub","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("sup")},{sup:function(){return o(this,"sup","","")}})},function(t,n,e){var r,o=e(3),i=e(126),a=e(120),u=e(119),c=e(239),f=e(14),s=e(25).enforce,l=e(26),p=!o.ActiveXObject&&"ActiveXObject"in o,h=Object.isExtensible,v=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},g=t.exports=u("WeakMap",v,c);if(l&&p){r=c.getConstructor(v,"WeakMap",!0),a.REQUIRED=!0;var d=g.prototype,y=d.delete,x=d.has,m=d.get,b=d.set;i(d,{delete:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),y.call(this,t)||n.frozen.delete(t)}return y.call(this,t)},has:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),x.call(this,t)||n.frozen.has(t)}return x.call(this,t)},get:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),x.call(this,t)?m.call(this,t):n.frozen.get(t)}return m.call(this,t)},set:function(t,n){if(f(t)&&!h(t)){var e=s(this);e.frozen||(e.frozen=new r),x.call(this,t)?b.call(this,t,n):e.frozen.set(t,n)}else b.call(this,t,n);return this}})}},function(t,n,e){var r=e(126),o=e(120).getWeakData,i=e(20),a=e(14),u=e(123),c=e(122),f=e(63),s=e(15),l=e(25),p=l.set,h=l.getterFor,v=f.find,g=f.findIndex,d=0,y=function(t){return t.frozen||(t.frozen=new x)},x=function(){this.entries=[]},m=function(t,n){return v(t.entries,(function(t){return t[0]===n}))};x.prototype={get:function(t){var n=m(this,t);if(n)return n[1]},has:function(t){return!!m(this,t)},set:function(t,n){var e=m(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=g(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,e,f){var l=t((function(t,r){u(t,l,n),p(t,{type:n,id:d++,frozen:void 0}),null!=r&&c(r,t[f],t,e)})),v=h(n),g=function(t,n,e){var r=v(t),a=o(i(n),!0);return!0===a?y(r).set(n,e):a[r.id]=e,t};return r(l.prototype,{delete:function(t){var n=v(this);if(!a(t))return!1;var e=o(t);return!0===e?y(n).delete(t):e&&s(e,n.id)&&delete e[n.id]},has:function(t){var n=v(this);if(!a(t))return!1;var e=o(t);return!0===e?y(n).has(t):e&&s(e,n.id)}}),r(l.prototype,e?{get:function(t){var n=v(this);if(a(t)){var e=o(t);return!0===e?y(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return g(this,t,n)}}:{add:function(t){return g(this,t,!0)}}),l}}},function(t,n,e){e(119)("WeakSet",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),e(239))},function(t,n,e){var r=e(3),o=e(242),i=e(77),a=e(18);for(var u in o){var c=r[u],f=c&&c.prototype;if(f&&f.forEach!==i)try{a(f,"forEach",i)}catch(t){f.forEach=i}}},function(t,n){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,n,e){e(203);var r,o=e(2),i=e(5),a=e(244),u=e(3),c=e(59),f=e(21),s=e(123),l=e(15),p=e(147),h=e(79),v=e(197).codeAt,g=e(245),d=e(95),y=e(246),x=e(25),m=u.URL,b=y.URLSearchParams,S=y.getState,E=x.set,w=x.getterFor("URL"),O=Math.floor,R=Math.pow,A=/[A-Za-z]/,j=/[\d+-.A-Za-z]/,I=/\d/,k=/^(0x|0X)/,P=/^[0-7]+$/,L=/^\d+$/,T=/^[\dA-Fa-f]+$/,_=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,U=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,N=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,C=/[\u0009\u000A\u000D]/g,F=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return"Invalid host";if(!(e=z(n.slice(1,-1))))return"Invalid host";t.host=e}else if(X(t)){if(n=g(n),_.test(n))return"Invalid host";if(null===(e=M(n)))return"Invalid host";t.host=e}else{if(U.test(n))return"Invalid host";for(e="",r=h(n),o=0;o<r.length;o++)e+=G(r[o],q);t.host=e}},M=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=k.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?L:8==i?P:T).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=R(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*R(256,3-r);return u},z=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,p=function(){return t.charAt(l)};if(":"==p()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;p();){if(8==f)return;if(":"!=p()){for(n=e=0;e<4&&T.test(p());)n=16*n+parseInt(p(),16),l++,e++;if("."==p()){if(0==e)return;if(l-=e,f>6)return;for(r=0;p();){if(o=null,r>0){if(!("."==p()&&r<4))return;l++}if(!I.test(p()))return;for(;I.test(p());){if(i=parseInt(p(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==p()){if(l++,!p())return}else if(p())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},D=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=O(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},q={},B=p({},q,{" ":1,'"':1,"<":1,">":1,"`":1}),W=p({},B,{"#":1,"?":1,"{":1,"}":1}),$=p({},W,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),G=function(t,n){var e=v(t,0);return e>32&&e<127&&!l(n,t)?t:encodeURIComponent(t)},V={ftp:21,file:null,http:80,https:443,ws:80,wss:443},X=function(t){return l(V,t.scheme)},Y=function(t){return""!=t.username||""!=t.password},K=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},J=function(t,n){var e;return 2==t.length&&A.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},H=function(t){var n;return t.length>1&&J(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},Q=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&J(n[0],!0)||n.pop()},Z=function(t){return"."===t||"%2e"===t.toLowerCase()},tt={},nt={},et={},rt={},ot={},it={},at={},ut={},ct={},ft={},st={},lt={},pt={},ht={},vt={},gt={},dt={},yt={},xt={},mt={},bt={},St=function(t,n,e,o){var i,a,u,c,f,s=e||tt,p=0,v="",g=!1,d=!1,y=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(N,"")),n=n.replace(C,""),i=h(n);p<=i.length;){switch(a=i[p],s){case tt:if(!a||!A.test(a)){if(e)return"Invalid scheme";s=et;continue}v+=a.toLowerCase(),s=nt;break;case nt:if(a&&(j.test(a)||"+"==a||"-"==a||"."==a))v+=a.toLowerCase();else{if(":"!=a){if(e)return"Invalid scheme";v="",s=et,p=0;continue}if(e&&(X(t)!=l(V,v)||"file"==v&&(Y(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=v,e)return void(X(t)&&V[t.scheme]==t.port&&(t.port=null));v="","file"==t.scheme?s=ht:X(t)&&o&&o.scheme==t.scheme?s=rt:X(t)?s=ut:"/"==i[p+1]?(s=ot,p++):(t.cannotBeABaseURL=!0,t.path.push(""),s=xt)}break;case et:if(!o||o.cannotBeABaseURL&&"#"!=a)return"Invalid scheme";if(o.cannotBeABaseURL&&"#"==a){t.scheme=o.scheme,t.path=o.path.slice(),t.query=o.query,t.fragment="",t.cannotBeABaseURL=!0,s=bt;break}s="file"==o.scheme?ht:it;continue;case rt:if("/"!=a||"/"!=i[p+1]){s=it;continue}s=ct,p++;break;case ot:if("/"==a){s=ft;break}s=yt;continue;case it:if(t.scheme=o.scheme,a==r)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query;else if("/"==a||"\\"==a&&X(t))s=at;else if("?"==a)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query="",s=mt;else{if("#"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.path.pop(),s=yt;continue}t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query,t.fragment="",s=bt}break;case at:if(!X(t)||"/"!=a&&"\\"!=a){if("/"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,s=yt;continue}s=ft}else s=ct;break;case ut:if(s=ct,"/"!=a||"/"!=v.charAt(p+1))continue;p++;break;case ct:if("/"!=a&&"\\"!=a){s=ft;continue}break;case ft:if("@"==a){g&&(v="%40"+v),g=!0,u=h(v);for(var x=0;x<u.length;x++){var m=u[x];if(":"!=m||y){var b=G(m,$);y?t.password+=b:t.username+=b}else y=!0}v=""}else if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)){if(g&&""==v)return"Invalid authority";p-=h(v).length+1,v="",s=st}else v+=a;break;case st:case lt:if(e&&"file"==t.scheme){s=gt;continue}if(":"!=a||d){if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)){if(X(t)&&""==v)return"Invalid host";if(e&&""==v&&(Y(t)||null!==t.port))return;if(c=F(t,v))return c;if(v="",s=dt,e)return;continue}"["==a?d=!0:"]"==a&&(d=!1),v+=a}else{if(""==v)return"Invalid host";if(c=F(t,v))return c;if(v="",s=pt,e==lt)return}break;case pt:if(!I.test(a)){if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)||e){if(""!=v){var S=parseInt(v,10);if(S>65535)return"Invalid port";t.port=X(t)&&S===V[t.scheme]?null:S,v=""}if(e)return;s=dt;continue}return"Invalid port"}v+=a;break;case ht:if(t.scheme="file","/"==a||"\\"==a)s=vt;else{if(!o||"file"!=o.scheme){s=yt;continue}if(a==r)t.host=o.host,t.path=o.path.slice(),t.query=o.query;else if("?"==a)t.host=o.host,t.path=o.path.slice(),t.query="",s=mt;else{if("#"!=a){H(i.slice(p).join(""))||(t.host=o.host,t.path=o.path.slice(),Q(t)),s=yt;continue}t.host=o.host,t.path=o.path.slice(),t.query=o.query,t.fragment="",s=bt}}break;case vt:if("/"==a||"\\"==a){s=gt;break}o&&"file"==o.scheme&&!H(i.slice(p).join(""))&&(J(o.path[0],!0)?t.path.push(o.path[0]):t.host=o.host),s=yt;continue;case gt:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!e&&J(v))s=yt;else if(""==v){if(t.host="",e)return;s=dt}else{if(c=F(t,v))return c;if("localhost"==t.host&&(t.host=""),e)return;v="",s=dt}continue}v+=a;break;case dt:if(X(t)){if(s=yt,"/"!=a&&"\\"!=a)continue}else if(e||"?"!=a)if(e||"#"!=a){if(a!=r&&(s=yt,"/"!=a))continue}else t.fragment="",s=bt;else t.query="",s=mt;break;case yt:if(a==r||"/"==a||"\\"==a&&X(t)||!e&&("?"==a||"#"==a)){if(".."===(f=(f=v).toLowerCase())||"%2e."===f||".%2e"===f||"%2e%2e"===f?(Q(t),"/"==a||"\\"==a&&X(t)||t.path.push("")):Z(v)?"/"==a||"\\"==a&&X(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&J(v)&&(t.host&&(t.host=""),v=v.charAt(0)+":"),t.path.push(v)),v="","file"==t.scheme&&(a==r||"?"==a||"#"==a))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==a?(t.query="",s=mt):"#"==a&&(t.fragment="",s=bt)}else v+=G(a,W);break;case xt:"?"==a?(t.query="",s=mt):"#"==a?(t.fragment="",s=bt):a!=r&&(t.path[0]+=G(a,q));break;case mt:e||"#"!=a?a!=r&&("'"==a&&X(t)?t.query+="%27":t.query+="#"==a?"%23":G(a,q)):(t.fragment="",s=bt);break;case bt:a!=r&&(t.fragment+=G(a,B))}p++}},Et=function(t){var n,e,r=s(this,Et,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(t),u=E(r,{type:"URL"});if(void 0!==o)if(o instanceof Et)n=w(o);else if(e=St(n={},String(o)))throw TypeError(e);if(e=St(u,a,null,n))throw TypeError(e);var c=u.searchParams=new b,f=S(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},i||(r.href=Ot.call(r),r.origin=Rt.call(r),r.protocol=At.call(r),r.username=jt.call(r),r.password=It.call(r),r.host=kt.call(r),r.hostname=Pt.call(r),r.port=Lt.call(r),r.pathname=Tt.call(r),r.search=_t.call(r),r.searchParams=Ut.call(r),r.hash=Nt.call(r))},wt=Et.prototype,Ot=function(){var t=w(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Y(t)&&(f+=e+(r?":"+r:"")+"@"),f+=D(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},Rt=function(){var t=w(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&X(t)?n+"://"+D(t.host)+(null!==e?":"+e:""):"null"},At=function(){return w(this).scheme+":"},jt=function(){return w(this).username},It=function(){return w(this).password},kt=function(){var t=w(this),n=t.host,e=t.port;return null===n?"":null===e?D(n):D(n)+":"+e},Pt=function(){var t=w(this).host;return null===t?"":D(t)},Lt=function(){var t=w(this).port;return null===t?"":String(t)},Tt=function(){var t=w(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},_t=function(){var t=w(this).query;return t?"?"+t:""},Ut=function(){return w(this).searchParams},Nt=function(){var t=w(this).fragment;return t?"#"+t:""},Ct=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(i&&c(wt,{href:Ct(Ot,(function(t){var n=w(this),e=String(t),r=St(n,e);if(r)throw TypeError(r);S(n.searchParams).updateSearchParams(n.query)})),origin:Ct(Rt),protocol:Ct(At,(function(t){var n=w(this);St(n,String(t)+":",tt)})),username:Ct(jt,(function(t){var n=w(this),e=h(String(t));if(!K(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=G(e[r],$)}})),password:Ct(It,(function(t){var n=w(this),e=h(String(t));if(!K(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=G(e[r],$)}})),host:Ct(kt,(function(t){var n=w(this);n.cannotBeABaseURL||St(n,String(t),st)})),hostname:Ct(Pt,(function(t){var n=w(this);n.cannotBeABaseURL||St(n,String(t),lt)})),port:Ct(Lt,(function(t){var n=w(this);K(n)||(""==(t=String(t))?n.port=null:St(n,t,pt))})),pathname:Ct(Tt,(function(t){var n=w(this);n.cannotBeABaseURL||(n.path=[],St(n,t+"",dt))})),search:Ct(_t,(function(t){var n=w(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",St(n,t,mt)),S(n.searchParams).updateSearchParams(n.query)})),searchParams:Ct(Ut),hash:Ct(Nt,(function(t){var n=w(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",St(n,t,bt)):n.fragment=null}))}),f(wt,"toJSON",(function(){return Ot.call(this)}),{enumerable:!0}),f(wt,"toString",(function(){return Ot.call(this)}),{enumerable:!0}),m){var Ft=m.createObjectURL,Mt=m.revokeObjectURL;Ft&&f(Et,"createObjectURL",(function(t){return Ft.apply(m,arguments)})),Mt&&f(Et,"revokeObjectURL",(function(t){return Mt.apply(m,arguments)}))}d(Et,"URL"),o({global:!0,forced:!a,sham:!i},{URL:Et})},function(t,n,e){var r=e(6),o=e(49),i=e(29),a=o("iterator");t.exports=!r((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),i&&!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host}))},function(t,n,e){var r=/[^\0-\u007E]/,o=/[.\u3002\uFF0E\uFF61]/g,i="Overflow: input needs wider integers to process",a=Math.floor,u=String.fromCharCode,c=function(t){return t+22+75*(t<26)},f=function(t,n,e){var r=0;for(t=e?a(t/700):t>>1,t+=a(t/n);t>455;r+=36)t=a(t/35);return a(r+36*t/(t+38))},s=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,s=128,l=0,p=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(u(e));var h=r.length,v=h;for(h&&r.push("-");v<o;){var g=2147483647;for(n=0;n<t.length;n++)(e=t[n])>=s&&e<g&&(g=e);var d=v+1;if(g-s>a((2147483647-l)/d))throw RangeError(i);for(l+=(g-s)*d,s=g,n=0;n<t.length;n++){if((e=t[n])<s&&++l>2147483647)throw RangeError(i);if(e==s){for(var y=l,x=36;;x+=36){var m=x<=p?1:x>=p+26?26:x-p;if(y<m)break;var b=y-m,S=36-m;r.push(u(c(m+b%S))),y=a(b/S)}r.push(u(c(y))),p=f(l,d,v==h),l=0,++v}}++l,++s}return r.join("")};t.exports=function(t){var n,e,i=[],a=t.toLowerCase().replace(o,".").split(".");for(n=0;n<a.length;n++)e=a[n],i.push(r.test(e)?"xn--"+s(e):e);return i.join(".")}},function(t,n,e){e(89);var r=e(2),o=e(34),i=e(244),a=e(21),u=e(126),c=e(95),f=e(91),s=e(25),l=e(123),p=e(15),h=e(64),v=e(84),g=e(20),d=e(14),y=e(58),x=e(8),m=e(247),b=e(83),S=e(49),E=o("fetch"),w=o("Headers"),O=S("iterator"),R=s.set,A=s.getterFor("URLSearchParams"),j=s.getterFor("URLSearchParamsIterator"),I=/\+/g,k=Array(4),P=function(t){return k[t-1]||(k[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},L=function(t){try{return decodeURIComponent(t)}catch(n){return t}},T=function(t){var n=t.replace(I," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(P(e--),L);return n}},_=/[!'()~]|%20/g,U={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},N=function(t){return U[t]},C=function(t){return encodeURIComponent(t).replace(_,N)},F=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:T(r.shift()),value:T(r.join("="))}))},M=function(t){this.entries.length=0,F(this.entries,t)},z=function(t,n){if(t<n)throw TypeError("Not enough arguments")},D=f((function(t,n){R(this,{type:"URLSearchParamsIterator",iterator:m(A(t).entries),kind:n})}),"Iterator",(function(){var t=j(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),q=function(){l(this,q,"URLSearchParams");var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,h=[];if(R(s,{type:"URLSearchParams",entries:h,updateURL:function(){},updateSearchParams:M}),void 0!==f)if(d(f))if("function"==typeof(t=b(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=m(g(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");h.push({key:a.value+"",value:u.value+""})}else for(c in f)p(f,c)&&h.push({key:c,value:f[c]+""});else F(h,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},B=q.prototype;u(B,{append:function(t,n){z(arguments.length,2);var e=A(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){z(arguments.length,1);for(var n=A(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){z(arguments.length,1);for(var e,r=A(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=A(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=A(this).entries,r=h(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new D(this,"keys")},values:function(){return new D(this,"values")},entries:function(){return new D(this,"entries")}},{enumerable:!0}),a(B,O,B.entries),a(B,"toString",(function(){for(var t,n=A(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(C(t.key)+"="+C(t.value));return e.join("&")}),{enumerable:!0}),c(q,"URLSearchParams"),r({global:!0,forced:!i},{URLSearchParams:q}),i||"function"!=typeof E||"function"!=typeof w||r({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(n=arguments[1],d(n)&&(e=n.body,"URLSearchParams"===v(e)&&((r=n.headers?new w(n.headers):new w).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=y(n,{body:x(0,String(e)),headers:x(0,r)}))),o.push(n)),E.apply(this,o)}}),t.exports={URLSearchParams:q,getState:A}},function(t,n,e){var r=e(20),o=e(83);t.exports=function(t){var n=o(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return r(n.call(t))}},function(t,n,e){e(2)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})}])}();
+
+//!fetch 3.0.0, global "this" must be replaced with "window"
+// IIFE version
+!function(t){"use strict";var e="URLSearchParams"in self,r="Symbol"in self&&"iterator"in Symbol,o="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),n="FormData"in self,i="ArrayBuffer"in self;if(i)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function h(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function d(t){this.map={},t instanceof d?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function c(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function p(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function y(t){var e=new FileReader,r=p(e);return e.readAsArrayBuffer(t),r}function l(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(t){var r;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:n&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():i&&o&&((r=t)&&DataView.prototype.isPrototypeOf(r))?(this._bodyArrayBuffer=l(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=l(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=c(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?c(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var t,e,r,o=c(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=p(e),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),o=0;o<e.length;o++)r[o]=String.fromCharCode(e[o]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},n&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}d.prototype.append=function(t,e){t=h(t),e=u(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},d.prototype.delete=function(t){delete this.map[h(t)]},d.prototype.get=function(t){return t=h(t),this.has(t)?this.map[t]:null},d.prototype.has=function(t){return this.map.hasOwnProperty(h(t))},d.prototype.set=function(t,e){this.map[h(t)]=u(e)},d.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},d.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),f(t)},d.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),f(t)},d.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),f(t)},r&&(d.prototype[Symbol.iterator]=d.prototype.entries);var m=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(t,e){var r,o,n=(e=e||{}).body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new d(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new d(e.headers)),this.method=(r=e.method||this.method||"GET",o=r.toUpperCase(),m.indexOf(o)>-1?o:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function v(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),o=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(n))}})),e}function E(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new d(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},b.call(w.prototype),b.call(E.prototype),E.prototype.clone=function(){return new E(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},E.error=function(){var t=new E(null,{status:0,statusText:""});return t.type="error",t};var A=[301,302,303,307,308];E.redirect=function(t,e){if(-1===A.indexOf(e))throw new RangeError("Invalid status code");return new E(null,{status:e,headers:{location:t}})},t.DOMException=self.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function _(e,r){return new Promise((function(n,i){var s=new w(e,r);if(s.signal&&s.signal.aborted)return i(new t.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function h(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new d,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),o=r.shift().trim();if(o){var n=r.join(":").trim();e.append(o,n)}})),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new E(o,r))},a.onerror=function(){i(new TypeError("Network request failed"))},a.ontimeout=function(){i(new TypeError("Network request failed"))},a.onabort=function(){i(new t.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&o&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",h),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",h)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}_.polyfill=!0,self.fetch||(self.fetch=_,self.Headers=d,self.Request=w,self.Response=E),t.Headers=d,t.Request=w,t.Response=E,t.fetch=_}({});
diff --git a/src/public/js/pwa-elements/esm/polyfills/css-shim.js b/src/public/js/pwa-elements/esm/polyfills/css-shim.js
new file mode 100644
index 0000000..e951e2d
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/polyfills/css-shim.js
@@ -0,0 +1 @@
+var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},__assign.apply(this,arguments)},StyleNode=function(){this.start=0,this.end=0,this.previous=null,this.parent=null,this.rules=null,this.parsedCssText="",this.cssText="",this.atRule=!1,this.type=0,this.keyframesName="",this.selector="",this.parsedSelector=""};function parse(e){return parseCss(lex(e=clean(e)),e)}function clean(e){return e.replace(RX.comments,"").replace(RX.port,"")}function lex(e){var t=new StyleNode;t.start=0,t.end=e.length;for(var r=t,n=0,s=e.length;n<s;n++)if(e[n]===OPEN_BRACE){r.rules||(r.rules=[]);var o=r,a=o.rules[o.rules.length-1]||null;(r=new StyleNode).start=n+1,r.parent=o,r.previous=a,o.rules.push(r)}else e[n]===CLOSE_BRACE&&(r.end=n+1,r=r.parent||t);return t}function parseCss(e,t){var r=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=r.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;r=(r=(r=_expandUnicodeEscapes(r=t.substring(n,e.start-1))).replace(RX.multipleSpaces," ")).substring(r.lastIndexOf(";")+1);var s=e.parsedSelector=e.selector=r.trim();e.atRule=0===s.indexOf(AT_START),e.atRule?0===s.indexOf(MEDIA_START)?e.type=types.MEDIA_RULE:s.match(RX.keyframesRule)&&(e.type=types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(RX.multipleSpaces).pop()):0===s.indexOf(VAR_START)?e.type=types.MIXIN_RULE:e.type=types.STYLE_RULE}var o=e.rules;if(o)for(var a=0,i=o.length,l=void 0;a<i&&(l=o[a]);a++)parseCss(l,t);return e}function _expandUnicodeEscapes(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,(function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e}))}var types={STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1e3},OPEN_BRACE="{",CLOSE_BRACE="}",RX={comments:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START="--",MEDIA_START="@media",AT_START="@",VAR_USAGE_START=/\bvar\(/,VAR_ASSIGN_START=/\B--[\w-]+\s*:/,COMMENTS=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,TRAILING_LINES=/^[\t ]+\n/gm;function findRegex(e,t,r){e.lastIndex=0;var n=t.substring(r).match(e);if(n){var s=r+n.index;return{start:s,end:s+n[0].length}}return null}function resolveVar(e,t,r){return e[t]?e[t]:r?executeTemplate(r,e):""}function findVarEndIndex(e,t){for(var r=0,n=t;n<e.length;n++){var s=e[n];if("("===s)r++;else if(")"===s&&--r<=0)return n+1}return n}function parseVar(e,t){var r=findRegex(VAR_USAGE_START,e,t);if(!r)return null;var n=findVarEndIndex(e,r.start),s=e.substring(r.end,n-1).split(","),o=s[0],a=s.slice(1);return{start:r.start,end:n,propName:o.trim(),fallback:a.length>0?a.join(",").trim():void 0}}function compileVar(e,t,r){var n=parseVar(e,r);if(!n)return t.push(e.substring(r,e.length)),e.length;var s=n.propName,o=null!=n.fallback?compileTemplate(n.fallback):void 0;return t.push(e.substring(r,n.start),(function(e){return resolveVar(e,s,o)})),n.end}function executeTemplate(e,t){for(var r="",n=0;n<e.length;n++){var s=e[n];r+="string"==typeof s?s:s(t)}return r}function findEndValue(e,t){for(var r=!1,n=!1,s=t;s<e.length;s++){var o=e[s];if(r)n&&'"'===o&&(r=!1),n||"'"!==o||(r=!1);else if('"'===o)r=!0,n=!0;else if("'"===o)r=!0,n=!1;else{if(";"===o)return s+1;if("}"===o)return s}}return s}function removeCustomAssigns(e){for(var t="",r=0;;){var n=findRegex(VAR_ASSIGN_START,e,r),s=n?n.start:e.length;if(t+=e.substring(r,s),!n)break;r=findEndValue(e,s)}return t}function compileTemplate(e){var t=0;e=removeCustomAssigns(e=e.replace(COMMENTS,"")).replace(TRAILING_LINES,"");for(var r=[];t<e.length;)t=compileVar(e,r,t);return r}function resolveValues(e){var t={};e.forEach((function(e){e.declarations.forEach((function(e){t[e.prop]=e.value}))}));for(var r={},n=Object.entries(t),s=function(e){var t=!1;if(n.forEach((function(e){var n=e[0],s=executeTemplate(e[1],r);s!==r[n]&&(r[n]=s,t=!0)})),!t)return"break"},o=0;o<10;o++){if("break"===s())break}return r}function getSelectors(e,t){if(void 0===t&&(t=0),!e.rules)return[];var r=[];return e.rules.filter((function(e){return e.type===types.STYLE_RULE})).forEach((function(e){var n=getDeclarations(e.cssText);n.length>0&&e.parsedSelector.split(",").forEach((function(e){e=e.trim(),r.push({selector:e,declarations:n,specificity:computeSpecificity(),nu:t})})),t++})),r}function computeSpecificity(e){return 1}var IMPORTANT="!important",FIND_DECLARATIONS=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gm;function getDeclarations(e){for(var t,r=[];t=FIND_DECLARATIONS.exec(e.trim());){var n=normalizeValue(t[2]),s=n.value,o=n.important;r.push({prop:t[1].trim(),value:compileTemplate(s),important:o})}return r}function normalizeValue(e){var t=(e=e.replace(/\s+/gim," ").trim()).endsWith(IMPORTANT);return t&&(e=e.slice(0,e.length-IMPORTANT.length).trim()),{value:e,important:t}}function getActiveSelectors(e,t,r){var n=[],s=getScopesForElement(t,e);return r.forEach((function(e){return n.push(e)})),s.forEach((function(e){return n.push(e)})),sortSelectors(getSelectorsForScopes(n).filter((function(t){return matches(e,t.selector)})))}function getScopesForElement(e,t){for(var r=[];t;){var n=e.get(t);n&&r.push(n),t=t.parentElement}return r}function getSelectorsForScopes(e){var t=[];return e.forEach((function(e){t.push.apply(t,e.selectors)})),t}function sortSelectors(e){return e.sort((function(e,t){return e.specificity===t.specificity?e.nu-t.nu:e.specificity-t.specificity})),e}function matches(e,t){return":root"===t||"html"===t||e.matches(t)}function parseCSS(e){var t=parse(e),r=compileTemplate(e);return{original:e,template:r,selectors:getSelectors(t),usesCssVars:r.length>1}}function addGlobalStyle(e,t){if(e.some((function(e){return e.styleEl===t})))return!1;var r=parseCSS(t.textContent);return r.styleEl=t,e.push(r),!0}function updateGlobalScopes(e){var t=resolveValues(getSelectorsForScopes(e));e.forEach((function(e){e.usesCssVars&&(e.styleEl.textContent=executeTemplate(e.template,t))}))}function reScope(e,t){var r=e.template.map((function(r){return"string"==typeof r?replaceScope(r,e.scopeId,t):r})),n=e.selectors.map((function(r){return __assign(__assign({},r),{selector:replaceScope(r.selector,e.scopeId,t)})}));return __assign(__assign({},e),{template:r,selectors:n,scopeId:t})}function replaceScope(e,t,r){return e=replaceAll(e,"\\.".concat(t),".".concat(r))}function replaceAll(e,t,r){return e.replace(new RegExp(t,"g"),r)}function loadDocument(e,t){return loadDocumentStyles(e,t),loadDocumentLinks(e,t).then((function(){updateGlobalScopes(t)}))}function startWatcher(e,t){"undefined"!=typeof MutationObserver&&new MutationObserver((function(){loadDocumentStyles(e,t)&&updateGlobalScopes(t)})).observe(document.head,{childList:!0})}function loadDocumentLinks(e,t){for(var r=[],n=e.querySelectorAll('link[rel="stylesheet"][href]:not([data-no-shim])'),s=0;s<n.length;s++)r.push(addGlobalLink(e,t,n[s]));return Promise.all(r)}function loadDocumentStyles(e,t){return Array.from(e.querySelectorAll("style:not([data-styles]):not([data-no-shim])")).map((function(e){return addGlobalStyle(t,e)})).some(Boolean)}function addGlobalLink(e,t,r){var n=r.href;return fetch(n).then((function(e){return e.text()})).then((function(s){if(hasCssVariables(s)&&r.parentNode){hasRelativeUrls(s)&&(s=fixRelativeUrls(s,n));var o=e.createElement("style");o.setAttribute("data-styles",""),o.textContent=s,addGlobalStyle(t,o),r.parentNode.insertBefore(o,r),r.remove()}})).catch((function(e){console.error(e)}))}var CSS_VARIABLE_REGEXP=/[\s;{]--[-a-zA-Z0-9]+\s*:/m;function hasCssVariables(e){return e.indexOf("var(")>-1||CSS_VARIABLE_REGEXP.test(e)}var CSS_URL_REGEXP=/url[\s]*\([\s]*['"]?(?!(?:https?|data)\:|\/)([^\'\"\)]*)[\s]*['"]?\)[\s]*/gim;function hasRelativeUrls(e){return CSS_URL_REGEXP.lastIndex=0,CSS_URL_REGEXP.test(e)}function fixRelativeUrls(e,t){var r=t.replace(/[^/]*$/,"");return e.replace(CSS_URL_REGEXP,(function(e,t){var n=r+t;return e.replace(t,n)}))}var CustomStyle=function(){function e(e,t){this.win=e,this.doc=t,this.count=0,this.hostStyleMap=new WeakMap,this.hostScopeMap=new WeakMap,this.globalScopes=[],this.scopesMap=new Map,this.didInit=!1}return e.prototype.i=function(){var e=this;return this.didInit||!this.win.requestAnimationFrame?Promise.resolve():(this.didInit=!0,new Promise((function(t){e.win.requestAnimationFrame((function(){startWatcher(e.doc,e.globalScopes),loadDocument(e.doc,e.globalScopes).then((function(){return t()}))}))})))},e.prototype.addLink=function(e){var t=this;return addGlobalLink(this.doc,this.globalScopes,e).then((function(){t.updateGlobal()}))},e.prototype.addGlobalStyle=function(e){addGlobalStyle(this.globalScopes,e)&&this.updateGlobal()},e.prototype.createHostStyle=function(e,t,r,n){if(this.hostScopeMap.has(e))throw new Error("host style already created");var s=this.registerHostTemplate(r,t,n),o=this.doc.createElement("style");return o.setAttribute("data-no-shim",""),s.usesCssVars?n?(o["s-sc"]=t="".concat(s.scopeId,"-").concat(this.count),o.textContent="/*needs update*/",this.hostStyleMap.set(e,o),this.hostScopeMap.set(e,reScope(s,t)),this.count++):(s.styleEl=o,s.usesCssVars||(o.textContent=executeTemplate(s.template,{})),this.globalScopes.push(s),this.updateGlobal(),this.hostScopeMap.set(e,s)):o.textContent=r,o},e.prototype.removeHost=function(e){var t=this.hostStyleMap.get(e);t&&t.remove(),this.hostStyleMap.delete(e),this.hostScopeMap.delete(e)},e.prototype.updateHost=function(e){var t=this.hostScopeMap.get(e);if(t&&t.usesCssVars&&t.isScoped){var r=this.hostStyleMap.get(e);if(r){var n=resolveValues(getActiveSelectors(e,this.hostScopeMap,this.globalScopes));r.textContent=executeTemplate(t.template,n)}}},e.prototype.updateGlobal=function(){updateGlobalScopes(this.globalScopes)},e.prototype.registerHostTemplate=function(e,t,r){var n=this.scopesMap.get(t);return n||((n=parseCSS(e)).scopeId=t,n.isScoped=r,this.scopesMap.set(t,n)),n},e}();!function(e){!e||e.__cssshim||e.CSS&&e.CSS.supports&&e.CSS.supports("color","var(--c)")||(e.__cssshim=new CustomStyle(e,e.document))}("undefined"!=typeof window&&window);
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/polyfills/dom.js b/src/public/js/pwa-elements/esm/polyfills/dom.js
new file mode 100644
index 0000000..e5b2981
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/polyfills/dom.js
@@ -0,0 +1,79 @@
+(function(){
+  /*
+    Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
+    This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+    The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+    The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+    Code distributed by Google as part of the polymer project is also
+    subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+  */
+  'use strict';var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function g(a){var b=aa.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function l(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))}
+  function n(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}
+  function p(a,b,d){d=void 0===d?new Set:d;for(var c=a;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)p(c,b,d);c=n(a,e);continue}else if("template"===f){c=n(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)p(e,b,d)}c=c.firstChild?c.firstChild:n(a,c)}}function r(a,b,d){a[b]=d};function u(){this.a=new Map;this.g=new Map;this.c=[];this.f=[];this.b=!1}function ba(a,b,d){a.a.set(b,d);a.g.set(d.constructorFunction,d)}function ca(a,b){a.b=!0;a.c.push(b)}function da(a,b){a.b=!0;a.f.push(b)}function v(a,b){a.b&&p(b,function(b){return w(a,b)})}function w(a,b){if(a.b&&!b.__CE_patched){b.__CE_patched=!0;for(var d=0;d<a.c.length;d++)a.c[d](b);for(d=0;d<a.f.length;d++)a.f[d](b)}}
+  function x(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state?a.connectedCallback(c):y(a,c)}}function z(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state&&a.disconnectedCallback(c)}}
+  function A(a,b,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.i||function(b){return y(a,b)},f=[];p(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var d=b.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&"complete"===d.readyState?d.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var d=b.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);A(a,d,{u:f,i:e})}})}else f.push(b)},c);if(a.b)for(b=
+  0;b<f.length;b++)w(a,f[b]);for(b=0;b<f.length;b++)e(f[b])}
+  function y(a,b){if(void 0===b.__CE_state){var d=b.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=a.a.get(b.localName)){d.constructionStack.push(b);var c=d.constructorFunction;try{try{if(new c!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{d.constructionStack.pop()}}catch(t){throw b.__CE_state=2,t;}b.__CE_state=1;b.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c<d.length;c++){var e=
+  d[c],f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}l(b)&&a.connectedCallback(b)}}}u.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};u.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)};
+  u.prototype.attributeChangedCallback=function(a,b,d,c,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,d,c,e)};function B(a){var b=document;this.c=a;this.a=b;this.b=void 0;A(this.c,this.a);"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function C(a){a.b&&a.b.disconnect()}B.prototype.f=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||C(this);for(b=0;b<a.length;b++)for(var d=a[b].addedNodes,c=0;c<d.length;c++)A(this.c,d[c])};function ea(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}function D(a){if(a.a)throw Error("Already resolved.");a.a=void 0;a.b&&a.b(void 0)};function E(a){this.c=!1;this.a=a;this.j=new Map;this.f=function(b){return b()};this.b=!1;this.g=[];this.o=new B(a)}
+  E.prototype.l=function(a,b){var d=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!g(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.a.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var c=function(b){var a=e[b];if(void 0!==a&&!(a instanceof Function))throw Error("The '"+b+"' callback must be a function.");
+  return a},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=c("connectedCallback");var t=c("disconnectedCallback");var k=c("adoptedCallback");var h=c("attributeChangedCallback");var m=b.observedAttributes||[]}catch(q){return}finally{this.c=!1}b={localName:a,constructorFunction:b,connectedCallback:f,disconnectedCallback:t,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:m,constructionStack:[]};ba(this.a,
+  a,b);this.g.push(b);this.b||(this.b=!0,this.f(function(){return fa(d)}))};E.prototype.i=function(a){A(this.a,a)};
+  function fa(a){if(!1!==a.b){a.b=!1;for(var b=a.g,d=[],c=new Map,e=0;e<b.length;e++)c.set(b[e].localName,[]);A(a.a,document,{i:function(b){if(void 0===b.__CE_state){var e=b.localName,f=c.get(e);f?f.push(b):a.a.a.get(e)&&d.push(b)}}});for(e=0;e<d.length;e++)y(a.a,d[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=c.get(f.localName);for(var t=0;t<f.length;t++)y(a.a,f[t]);(e=a.j.get(e))&&D(e)}}}E.prototype.get=function(a){if(a=this.a.a.get(a))return a.constructorFunction};
+  E.prototype.m=function(a){if(!g(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.j.get(a);if(b)return b.c;b=new ea;this.j.set(a,b);this.a.a.get(a)&&!this.g.some(function(b){return b.localName===a})&&D(b);return b.c};E.prototype.s=function(a){C(this.o);var b=this.f;this.f=function(d){return a(function(){return b(d)})}};window.CustomElementRegistry=E;E.prototype.define=E.prototype.l;E.prototype.upgrade=E.prototype.i;E.prototype.get=E.prototype.get;
+  E.prototype.whenDefined=E.prototype.m;E.prototype.polyfillWrapFlushCallback=E.prototype.s;var F=window.Document.prototype.createElement,G=window.Document.prototype.createElementNS,ha=window.Document.prototype.importNode,ia=window.Document.prototype.prepend,ja=window.Document.prototype.append,ka=window.DocumentFragment.prototype.prepend,la=window.DocumentFragment.prototype.append,H=window.Node.prototype.cloneNode,I=window.Node.prototype.appendChild,J=window.Node.prototype.insertBefore,K=window.Node.prototype.removeChild,L=window.Node.prototype.replaceChild,M=Object.getOwnPropertyDescriptor(window.Node.prototype,
+  "textContent"),N=window.Element.prototype.attachShadow,O=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),P=window.Element.prototype.getAttribute,Q=window.Element.prototype.setAttribute,R=window.Element.prototype.removeAttribute,S=window.Element.prototype.getAttributeNS,T=window.Element.prototype.setAttributeNS,U=window.Element.prototype.removeAttributeNS,ma=window.Element.prototype.insertAdjacentElement,na=window.Element.prototype.insertAdjacentHTML,oa=window.Element.prototype.prepend,
+  pa=window.Element.prototype.append,V=window.Element.prototype.before,qa=window.Element.prototype.after,ra=window.Element.prototype.replaceWith,sa=window.Element.prototype.remove,ta=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),ua=window.HTMLElement.prototype.insertAdjacentElement,va=window.HTMLElement.prototype.insertAdjacentHTML;var wa=new function(){};function xa(){var a=X;window.HTMLElement=function(){function b(){var b=this.constructor,c=a.g.get(b);if(!c)throw Error("The custom element being constructed was not registered with `customElements`.");var e=c.constructionStack;if(0===e.length)return e=F.call(document,c.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=c,w(a,e),e;c=e.length-1;var f=e[c];if(f===wa)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
+  e[c]=wa;Object.setPrototypeOf(f,b.prototype);w(a,f);return f}b.prototype=ta.prototype;Object.defineProperty(b.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:b});return b}()};function Y(a,b,d){function c(b){return function(d){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],m=0;m<e.length;m++){var q=e[m];q instanceof Element&&l(q)&&f.push(q);if(q instanceof DocumentFragment)for(q=q.firstChild;q;q=q.nextSibling)c.push(q);else c.push(q)}b.apply(this,e);for(e=0;e<f.length;e++)z(a,f[e]);if(l(this))for(e=0;e<c.length;e++)f=c[e],f instanceof Element&&x(a,f)}}void 0!==d.h&&(b.prepend=c(d.h));void 0!==d.append&&(b.append=c(d.append))};function ya(){var a=X;r(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var d=a.a.get(b);if(d)return new d.constructorFunction}b=F.call(this,b);w(a,b);return b});r(Document.prototype,"importNode",function(b,d){b=ha.call(this,b,!!d);this.__CE_hasRegistry?A(a,b):v(a,b);return b});r(Document.prototype,"createElementNS",function(b,d){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var c=a.a.get(d);if(c)return new c.constructorFunction}b=G.call(this,b,
+  d);w(a,b);return b});Y(a,Document.prototype,{h:ia,append:ja})};function za(){function a(a,c){Object.defineProperty(a,"textContent",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(a){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,a);else{var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0<k&&l(this)){d=Array(k);for(var h=0;h<k;h++)d[h]=e[h]}}c.set.call(this,a);if(d)for(a=0;a<d.length;a++)z(b,d[a])}}})}var b=X;r(Node.prototype,"insertBefore",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);
+  a=J.call(this,a,c);if(l(this))for(c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);c=J.call(this,a,c);e&&z(b,a);l(this)&&x(b,a);return c});r(Node.prototype,"appendChild",function(a){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);a=I.call(this,a);if(l(this))for(var e=0;e<c.length;e++)x(b,c[e]);return a}c=l(a);e=I.call(this,a);c&&z(b,a);l(this)&&x(b,a);return e});r(Node.prototype,"cloneNode",function(a){a=H.call(this,!!a);this.ownerDocument.__CE_hasRegistry?A(b,a):v(b,
+  a);return a});r(Node.prototype,"removeChild",function(a){var c=l(a),e=K.call(this,a);c&&z(b,a);return e});r(Node.prototype,"replaceChild",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);a=L.call(this,a,c);if(l(this))for(z(b,c),c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);var f=L.call(this,a,c),d=l(this);d&&z(b,c);e&&z(b,a);d&&x(b,a);return f});M&&M.get?a(Node.prototype,M):ca(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){for(var a=[],
+  b=0;b<this.childNodes.length;b++){var f=this.childNodes[b];f.nodeType!==Node.COMMENT_NODE&&a.push(f.textContent)}return a.join("")},set:function(a){for(;this.firstChild;)K.call(this,this.firstChild);null!=a&&""!==a&&I.call(this,document.createTextNode(a))}})})};function Aa(a){function b(b){return function(e){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h<c.length;h++){var m=c[h];m instanceof Element&&l(m)&&k.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)d.push(m);else d.push(m)}b.apply(this,c);for(c=0;c<k.length;c++)z(a,k[c]);if(l(this))for(c=0;c<d.length;c++)k=d[c],k instanceof Element&&x(a,k)}}var d=Element.prototype;void 0!==V&&(d.before=b(V));void 0!==V&&(d.after=b(qa));void 0!==ra&&
+  r(d,"replaceWith",function(b){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var d=[],k=0;k<e.length;k++){var h=e[k];h instanceof Element&&l(h)&&d.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)c.push(h);else c.push(h)}k=l(this);ra.apply(this,e);for(e=0;e<d.length;e++)z(a,d[e]);if(k)for(z(a,this),e=0;e<c.length;e++)d=c[e],d instanceof Element&&x(a,d)});void 0!==sa&&r(d,"remove",function(){var b=l(this);sa.call(this);b&&z(a,this)})};function Ba(){function a(a,b){Object.defineProperty(a,"innerHTML",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var e=this,d=void 0;l(this)&&(d=[],p(this,function(a){a!==e&&d.push(a)}));b.set.call(this,a);if(d)for(var f=0;f<d.length;f++){var t=d[f];1===t.__CE_state&&c.disconnectedCallback(t)}this.ownerDocument.__CE_hasRegistry?A(c,this):v(c,this);return a}})}function b(a,b){r(a,"insertAdjacentElement",function(a,e){var d=l(e);a=b.call(this,a,e);d&&z(c,e);l(a)&&x(c,e);return a})}
+  function d(a,b){function e(a,b){for(var e=[];a!==b;a=a.nextSibling)e.push(a);for(b=0;b<e.length;b++)A(c,e[b])}r(a,"insertAdjacentHTML",function(a,c){a=a.toLowerCase();if("beforebegin"===a){var d=this.previousSibling;b.call(this,a,c);e(d||this.parentNode.firstChild,this)}else if("afterbegin"===a)d=this.firstChild,b.call(this,a,c),e(this.firstChild,d);else if("beforeend"===a)d=this.lastChild,b.call(this,a,c),e(d||this.firstChild,null);else if("afterend"===a)d=this.nextSibling,b.call(this,a,c),e(this.nextSibling,
+  d);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}var c=X;N&&r(Element.prototype,"attachShadow",function(a){a=N.call(this,a);var b=c;if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var e=0;e<b.c.length;e++)b.c[e](a)}return this.__CE_shadowRoot=a});O&&O.get?a(Element.prototype,O):W&&W.get?a(HTMLElement.prototype,W):da(c,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){return H.call(this,!0).innerHTML},
+  set:function(a){var b="template"===this.localName,c=b?this.content:this,e=G.call(document,this.namespaceURI,this.localName);for(e.innerHTML=a;0<c.childNodes.length;)K.call(c,c.childNodes[0]);for(a=b?e.content:e;0<a.childNodes.length;)I.call(c,a.childNodes[0])}})});r(Element.prototype,"setAttribute",function(a,b){if(1!==this.__CE_state)return Q.call(this,a,b);var e=P.call(this,a);Q.call(this,a,b);b=P.call(this,a);c.attributeChangedCallback(this,a,e,b,null)});r(Element.prototype,"setAttributeNS",function(a,
+  b,d){if(1!==this.__CE_state)return T.call(this,a,b,d);var e=S.call(this,a,b);T.call(this,a,b,d);d=S.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a)});r(Element.prototype,"removeAttribute",function(a){if(1!==this.__CE_state)return R.call(this,a);var b=P.call(this,a);R.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null)});r(Element.prototype,"removeAttributeNS",function(a,b){if(1!==this.__CE_state)return U.call(this,a,b);var d=S.call(this,a,b);U.call(this,a,b);var e=S.call(this,
+  a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a)});ua?b(HTMLElement.prototype,ua):ma?b(Element.prototype,ma):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");va?d(HTMLElement.prototype,va):na?d(Element.prototype,na):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Y(c,Element.prototype,{h:oa,append:pa});Aa(c)};var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var X=new u;xa();ya();Y(X,DocumentFragment.prototype,{h:ka,append:la});za();Ba();document.__CE_hasRegistry=!0;var customElements=new E(X);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};
+}).call(self);
+
+// Polyfill document.baseURI
+"string"!==typeof document.baseURI&&Object.defineProperty(Document.prototype,"baseURI",{enumerable:!0,configurable:!0,get:function(){var a=document.querySelector("base");return a&&a.href?a.href:document.URL}});
+
+// Polyfill CustomEvent
+"function"!==typeof window.CustomEvent&&(window.CustomEvent=function(c,a){a=a||{bubbles:!1,cancelable:!1,detail:void 0};var b=document.createEvent("CustomEvent");b.initCustomEvent(c,a.bubbles,a.cancelable,a.detail);return b},window.CustomEvent.prototype=window.Event.prototype);
+
+// Event.composedPath
+(function(b,c,d){b.composedPath||(b.composedPath=function(){if(this.path)return this.path;var a=this.target;for(this.path=[];null!==a.parentNode;)this.path.push(a),a=a.parentNode;this.path.push(c,d);return this.path})})(Event.prototype,document,window);
+
+/*!
+Element.closest and Element.matches
+https://github.com/jonathantneal/closest
+Creative Commons Zero v1.0 Universal
+*/
+(function(a){"function"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return!!a[b]});"function"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode}return null})})(window.Element.prototype);
+
+/*!
+Element.getRootNode()
+*/
+(function(c){function d(a){a=b(a);return a&&11===a.nodeType?d(a.host):a}function b(a){return a&&a.parentNode?b(a.parentNode):a}"function"!==typeof c.getRootNode&&(c.getRootNode=function(a){return a&&a.composed?d(this):b(this)})})(Element.prototype);
+
+/*!
+Element.isConnected()
+*/
+(function(a){"isConnected"in a||Object.defineProperty(a,"isConnected",{configurable:!0,enumerable:!0,get:function(){var a=this.getRootNode({composed:!0});return a&&9===a.nodeType}})})(Element.prototype);
+
+/*!
+Element.remove()
+*/
+(function(b){b.forEach(function(a){a.hasOwnProperty("remove")||Object.defineProperty(a,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})})})([Element.prototype,CharacterData.prototype,DocumentType.prototype]);
+
+/*!
+Element.classList
+*/
+!function(e){'classList'in e||Object.defineProperty(e,"classList",{get:function(){var e=this,t=(e.getAttribute("class")||"").replace(/^\s+|\s$/g,"").split(/\s+/g);function n(){t.length>0?e.setAttribute("class",t.join(" ")):e.removeAttribute("class")}return""===t[0]&&t.splice(0,1),t.toggle=function(e,i){void 0!==i?i?t.add(e):t.remove(e):-1!==t.indexOf(e)?t.splice(t.indexOf(e),1):t.push(e),n()},t.add=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1===t.indexOf(e[i])&&t.push(e[i]);n()},t.remove=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1!==t.indexOf(e[i])&&t.splice(t.indexOf(e[i]),1);n()},t.item=function(e){return t[e]},t.contains=function(e){return-1!==t.indexOf(e)},t.replace=function(e,i){-1!==t.indexOf(e)&&t.splice(t.indexOf(e),1,i),n()},t.value=e.getAttribute("class")||"",t}})}(Element.prototype);
+
+/*!
+DOMTokenList
+*/
+(function(b){try{document.body.classList.add()}catch(e){var c=b.add,d=b.remove;b.add=function(){for(var a=0;a<arguments.length;a++)c.call(this,arguments[a])};b.remove=function(){for(var a=0;a<arguments.length;a++)d.call(this,arguments[a])}}})(DOMTokenList.prototype);
diff --git a/src/public/js/pwa-elements/esm/polyfills/es5-html-element.js b/src/public/js/pwa-elements/esm/polyfills/es5-html-element.js
new file mode 100644
index 0000000..2943b42
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/polyfills/es5-html-element.js
@@ -0,0 +1 @@
+(function(){if("undefined"!==typeof window&&void 0!==window.Reflect&&void 0!==window.customElements){var a=HTMLElement;window.HTMLElement=function(){return Reflect.construct(a,[],this.constructor)};HTMLElement.prototype=a.prototype;HTMLElement.prototype.constructor=HTMLElement;Object.setPrototypeOf(HTMLElement,a)}})();
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/polyfills/index.js b/src/public/js/pwa-elements/esm/polyfills/index.js
new file mode 100644
index 0000000..36c32de
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/polyfills/index.js
@@ -0,0 +1,34 @@
+export function applyPolyfills() {
+  var promises = [];
+  if (typeof window !== 'undefined') {
+    var win = window;
+
+    if (!win.customElements ||
+      (win.Element && (!win.Element.prototype.closest || !win.Element.prototype.matches || !win.Element.prototype.remove || !win.Element.prototype.getRootNode))) {
+      promises.push(import(/* webpackChunkName: "polyfills-dom" */ './dom.js'));
+    }
+
+    var checkIfURLIsSupported = function() {
+      try {
+        var u = new URL('b', 'http://a');
+        u.pathname = 'c%20d';
+        return (u.href === 'http://a/c%20d') && u.searchParams;
+      } catch (e) {
+        return false;
+      }
+    };
+
+    if (
+      'function' !== typeof Object.assign || !Object.entries ||
+      !Array.prototype.find || !Array.prototype.includes ||
+      !String.prototype.startsWith || !String.prototype.endsWith ||
+      (win.NodeList && !win.NodeList.prototype.forEach) ||
+      !win.fetch ||
+      !checkIfURLIsSupported() ||
+      typeof WeakMap == 'undefined'
+    ) {
+      promises.push(import(/* webpackChunkName: "polyfills-core-js" */ './core-js.js'));
+    }
+  }
+  return Promise.all(promises);
+}
diff --git a/src/public/js/pwa-elements/esm/polyfills/system.js b/src/public/js/pwa-elements/esm/polyfills/system.js
new file mode 100644
index 0000000..dc6f9af
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/polyfills/system.js
@@ -0,0 +1,6 @@
+/**
+ * SystemJS 4.0.2
+ * MANUAL PATCH: remove script.crossOrigin = "anonymous"
+ * MANUAL PATCH: add conditionally apply, n.System=n.System||new u
+ */
+!function(){var e="undefined"!=typeof self,n=e?self:global;var t;if("undefined"!=typeof document){var e=document.querySelector("base[href]");e&&(t=e.href)}if(!t&&"undefined"!=typeof location){var e=(t=location.href.split("#")[0].split("?")[0]).lastIndexOf("/");-1!==e&&(t=t.slice(0,e+1))}var r=/\\/g,o="undefined"!=typeof Symbol,i=o&&Symbol.toStringTag,c=o?Symbol():"@";function u(){this[c]={}}var s=u.prototype;var l;s.import=function(e,n){var t=this;return Promise.resolve(t.resolve(e,n)).then(function(e){var n=function e(n,t,r){var o=n[c][t];if(o)return o;var u=[],s=Object.create(null);i&&Object.defineProperty(s,i,{value:"Module"});var l=Promise.resolve().then(function(){return n.instantiate(t,r)}).then(function(e){if(!e)throw Error("Module "+t+" did not instantiate");var r=e[1](function(e,n){o.h=!0;var t=!1;if("object"!=typeof e)e in s&&s[e]===n||(s[e]=n,t=!0);else for(var n in e){var r=e[n];n in s&&s[n]===r||(s[n]=r,t=!0)}if(t)for(var e=0;e<u.length;e++)u[e](s);return n},2===e[1].length?{import:function(e){return n.import(e,t)},meta:n.createContext(t)}:void 0);return o.e=r.execute||function(){},[e[0],r.setters||[]]});var f=l.then(function(r){return Promise.all(r[0].map(function(o,i){var c=r[1][i];return Promise.resolve(n.resolve(o,t)).then(function(r){var o=e(n,r,t);return Promise.resolve(o.I).then(function(){return c&&(o.i.push(c),!o.h&&o.I||c(o.n)),o})})})).then(function(e){o.d=e})});return f.catch(function(e){o.e=null,o.er=e}),o=n[c][t]={id:t,i:u,n:s,I:l,L:f,h:!1,d:void 0,e:void 0,er:void 0,E:void 0,C:void 0}}(t,e);return n.C||function(e,n){return n.C=function e(n,t,r){if(!r[t.id])return r[t.id]=!0,Promise.resolve(t.L).then(function(){return Promise.all(t.d.map(function(t){return e(n,t,r)}))})}(e,n,{}).then(function(){return function e(n,t,r){if(r[t.id])return;if(r[t.id]=!0,!t.e){if(t.er)throw t.er;return t.E?t.E:void 0}var o;return t.d.forEach(function(t){{var i=e(n,t,r);i&&(o=o||[]).push(i)}}),o?Promise.all(o).then(i):i();function i(){try{var e=t.e.call(f);if(e)return e=e.then(function(){t.C=t.n,t.E=null}),t.E=t.E||e;t.C=t.n}catch(e){throw t.er=e,e}finally{t.L=t.I=void 0,t.e=null}}}(e,n,{})}).then(function(){return n.n})}(t,n)})},s.createContext=function(e){return{url:e}},s.register=function(e,n){l=[e,n]},s.getRegister=function(){var e=l;return l=void 0,e};var f=Object.freeze(Object.create(null));n.System=n.System||new u;var d=s.register;s.register=function(e,n){d.call(this,e,n)},s.instantiate=function(e,n){var t=this;return".json"===e.substr(-5)?fetch(e).then(function(e){return e.text()}).then(function(e){return[[],function(n){return{execute:function(){n("default",JSON.parse(e))}}}]}):new Promise(function(r,o){var i;function c(n){n.filename===e&&(i=n.error)}window.addEventListener("error",c);var u=document.createElement("script");u.charset="utf-8",u.async=!0,u.addEventListener("error",function(){window.removeEventListener("error",c),o(Error("Error loading "+e+(n?" from "+n:"")))}),u.addEventListener("load",function(){window.removeEventListener("error",c),document.head.removeChild(u),i?o(i):r(t.getRegister())}),u.src=e,document.head.appendChild(u)})},e&&"function"==typeof importScripts&&(s.instantiate=function(e){var n=this;return new Promise(function(t,r){try{importScripts(e)}catch(e){r(e)}t(n.getRegister())})}),s.resolve=function(e,n){var o=function(e,n){if(-1!==e.indexOf("\\")&&(e=e.replace(r,"/")),"/"===e[0]&&"/"===e[1])return n.slice(0,n.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){var t=n.slice(0,n.indexOf(":")+1);var r;if(r="/"===n[t.length+1]?"file:"!==t?(r=n.slice(t.length+2)).slice(r.indexOf("/")+1):n.slice(8):n.slice(t.length+("/"===n[t.length])),"/"===e[0])return n.slice(0,n.length-r.length-1)+e;var o=r.slice(0,r.lastIndexOf("/")+1)+e,i=[];var c=-1;for(var e=0;e<o.length;e++)-1!==c?"/"===o[e]&&(i.push(o.slice(c,e+1)),c=-1):"."===o[e]?"."!==o[e+1]||"/"!==o[e+2]&&e+2!==o.length?"/"===o[e+1]||e+1===o.length?e+=1:c=e:(i.pop(),e+=2):c=e;return-1!==c&&i.push(o.slice(c)),n.slice(0,n.length-r.length)+i.join("")}}(e,n||t);if(!o){if(-1!==e.indexOf(":"))return Promise.resolve(e);throw Error('Cannot resolve "'+e+(n?'" from '+n:'"'))}return Promise.resolve(o)}}();
diff --git a/src/public/js/pwa-elements/esm/pwa-action-sheet.entry.js b/src/public/js/pwa-elements/esm/pwa-action-sheet.entry.js
new file mode 100644
index 0000000..fc5d68b
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/pwa-action-sheet.entry.js
@@ -0,0 +1,42 @@
+import { r as registerInstance, c as createEvent, h, g as getElement } from './index-1c5c47b4.js';
+
+const actionSheetCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}";
+
+const PWAActionSheet = class {
+  constructor(hostRef) {
+    registerInstance(this, hostRef);
+    this.onSelection = createEvent(this, "onSelection", 7);
+    this.header = undefined;
+    this.cancelable = true;
+    this.options = [];
+    this.open = false;
+  }
+  componentDidLoad() {
+    requestAnimationFrame(() => {
+      this.open = true;
+    });
+  }
+  dismiss() {
+    if (this.cancelable) {
+      this.close();
+    }
+  }
+  close() {
+    this.open = false;
+    setTimeout(() => {
+      this.el.parentNode.removeChild(this.el);
+    }, 500);
+  }
+  handleOptionClick(e, i) {
+    e.stopPropagation();
+    this.onSelection.emit(i);
+    this.close();
+  }
+  render() {
+    return (h("div", { class: `wrapper${this.open ? ' open' : ''}`, onClick: () => this.dismiss() }, h("div", { class: "content" }, h("div", { class: "title" }, this.header), this.options.map((option, i) => h("div", { class: "action-sheet-option", onClick: (e) => this.handleOptionClick(e, i) }, h("div", { class: "action-sheet-button" }, option.title))))));
+  }
+  get el() { return getElement(this); }
+};
+PWAActionSheet.style = actionSheetCss;
+
+export { PWAActionSheet as pwa_action_sheet };
diff --git a/src/public/js/pwa-elements/esm/pwa-camera-modal-instance.entry.js b/src/public/js/pwa-elements/esm/pwa-camera-modal-instance.entry.js
new file mode 100644
index 0000000..eb58c62
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/pwa-camera-modal-instance.entry.js
@@ -0,0 +1,41 @@
+import { r as registerInstance, c as createEvent, h, g as getElement } from './index-1c5c47b4.js';
+
+const cameraModalInstanceCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
+
+const PWACameraModal = class {
+  constructor(hostRef) {
+    registerInstance(this, hostRef);
+    this.onPhoto = createEvent(this, "onPhoto", 7);
+    this.noDeviceError = createEvent(this, "noDeviceError", 7);
+    this.handlePhoto = async (photo) => {
+      this.onPhoto.emit(photo);
+    };
+    this.handleNoDeviceError = async (photo) => {
+      this.noDeviceError.emit(photo);
+    };
+    this.facingMode = 'user';
+    this.hidePicker = false;
+    this.noDevicesText = 'No camera found';
+    this.noDevicesButtonText = 'Choose image';
+  }
+  handleBackdropClick(e) {
+    if (e.target !== this.el) {
+      this.onPhoto.emit(null);
+    }
+  }
+  handleComponentClick(e) {
+    e.stopPropagation();
+  }
+  handleBackdropKeyUp(e) {
+    if (e.key === "Escape") {
+      this.onPhoto.emit(null);
+    }
+  }
+  render() {
+    return (h("div", { class: "wrapper", onClick: e => this.handleBackdropClick(e) }, h("div", { class: "content" }, h("pwa-camera", { onClick: e => this.handleComponentClick(e), facingMode: this.facingMode, hidePicker: this.hidePicker, handlePhoto: this.handlePhoto, handleNoDeviceError: this.handleNoDeviceError, noDevicesButtonText: this.noDevicesButtonText, noDevicesText: this.noDevicesText }))));
+  }
+  get el() { return getElement(this); }
+};
+PWACameraModal.style = cameraModalInstanceCss;
+
+export { PWACameraModal as pwa_camera_modal_instance };
diff --git a/src/public/js/pwa-elements/esm/pwa-camera-modal.entry.js b/src/public/js/pwa-elements/esm/pwa-camera-modal.entry.js
new file mode 100644
index 0000000..7467fe2
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/pwa-camera-modal.entry.js
@@ -0,0 +1,43 @@
+import { r as registerInstance, c as createEvent, h } from './index-1c5c47b4.js';
+
+const cameraModalCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
+
+const PWACameraModal = class {
+  constructor(hostRef) {
+    registerInstance(this, hostRef);
+    this.onPhoto = createEvent(this, "onPhoto", 7);
+    this.noDeviceError = createEvent(this, "noDeviceError", 7);
+    this.facingMode = 'user';
+    this.hidePicker = false;
+  }
+  async present() {
+    const camera = document.createElement('pwa-camera-modal-instance');
+    camera.facingMode = this.facingMode;
+    camera.hidePicker = this.hidePicker;
+    camera.addEventListener('onPhoto', async (e) => {
+      if (!this._modal) {
+        return;
+      }
+      const photo = e.detail;
+      this.onPhoto.emit(photo);
+    });
+    camera.addEventListener('noDeviceError', async (e) => {
+      this.noDeviceError.emit(e);
+    });
+    document.body.append(camera);
+    this._modal = camera;
+  }
+  async dismiss() {
+    if (!this._modal) {
+      return;
+    }
+    this._modal && this._modal.parentNode.removeChild(this._modal);
+    this._modal = null;
+  }
+  render() {
+    return (h("div", null));
+  }
+};
+PWACameraModal.style = cameraModalCss;
+
+export { PWACameraModal as pwa_camera_modal };
diff --git a/src/public/js/pwa-elements/esm/pwa-camera.entry.js b/src/public/js/pwa-elements/esm/pwa-camera.entry.js
new file mode 100644
index 0000000..43b8c21
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/pwa-camera.entry.js
@@ -0,0 +1,481 @@
+import { r as registerInstance, f as forceUpdate, h, g as getElement } from './index-1c5c47b4.js';
+
+/**
+ * MediaStream ImageCapture polyfill
+ *
+ * @license
+ * Copyright 2018 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+let ImageCapture = window.ImageCapture;
+if (typeof ImageCapture === 'undefined') {
+  ImageCapture = class {
+    /**
+     * TODO https://www.w3.org/TR/image-capture/#constructors
+     *
+     * @param {MediaStreamTrack} videoStreamTrack - A MediaStreamTrack of the 'video' kind
+     */
+    constructor(videoStreamTrack) {
+      if (videoStreamTrack.kind !== 'video')
+        throw new DOMException('NotSupportedError');
+      this._videoStreamTrack = videoStreamTrack;
+      if (!('readyState' in this._videoStreamTrack)) {
+        // Polyfill for Firefox
+        this._videoStreamTrack.readyState = 'live';
+      }
+      // MediaStream constructor not available until Chrome 55 - https://www.chromestatus.com/feature/5912172546752512
+      this._previewStream = new MediaStream([videoStreamTrack]);
+      this.videoElement = document.createElement('video');
+      this.videoElementPlaying = new Promise(resolve => {
+        this.videoElement.addEventListener('playing', resolve);
+      });
+      if (HTMLMediaElement) {
+        this.videoElement.srcObject = this._previewStream; // Safari 11 doesn't allow use of createObjectURL for MediaStream
+      }
+      else {
+        this.videoElement.src = URL.createObjectURL(this._previewStream);
+      }
+      this.videoElement.muted = true;
+      this.videoElement.setAttribute('playsinline', ''); // Required by Safari on iOS 11. See https://webkit.org/blog/6784
+      this.videoElement.play();
+      this.canvasElement = document.createElement('canvas');
+      // TODO Firefox has https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas
+      this.canvas2dContext = this.canvasElement.getContext('2d');
+    }
+    /**
+     * https://w3c.github.io/mediacapture-image/index.html#dom-imagecapture-videostreamtrack
+     * @return {MediaStreamTrack} The MediaStreamTrack passed into the constructor
+     */
+    get videoStreamTrack() {
+      return this._videoStreamTrack;
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
+     * @return {Promise<PhotoCapabilities>} Fulfilled promise with
+     * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
+     * object on success, rejected promise on failure
+     */
+    getPhotoCapabilities() {
+      return new Promise(function executorGPC(resolve, reject) {
+        // TODO see https://github.com/w3c/mediacapture-image/issues/97
+        const MediaSettingsRange = {
+          current: 0, min: 0, max: 0,
+        };
+        resolve({
+          exposureCompensation: MediaSettingsRange,
+          exposureMode: 'none',
+          fillLightMode: ['none'],
+          focusMode: 'none',
+          imageHeight: MediaSettingsRange,
+          imageWidth: MediaSettingsRange,
+          iso: MediaSettingsRange,
+          redEyeReduction: false,
+          whiteBalanceMode: 'none',
+          zoom: MediaSettingsRange,
+        });
+        reject(new DOMException('OperationError'));
+      });
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
+     * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
+     * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
+     */
+    setOptions(_photoSettings = {}) {
+      return new Promise(function executorSO(_resolve, _reject) {
+        // TODO
+      });
+    }
+    /**
+     * TODO
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
+     * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
+     * argument on success; rejected promise on failure
+     */
+    takePhoto() {
+      const self = this;
+      return new Promise(function executorTP(resolve, reject) {
+        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+        if (self._videoStreamTrack.readyState !== 'live') {
+          return reject(new DOMException('InvalidStateError'));
+        }
+        self.videoElementPlaying.then(() => {
+          try {
+            self.canvasElement.width = self.videoElement.videoWidth;
+            self.canvasElement.height = self.videoElement.videoHeight;
+            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+            self.canvasElement.toBlob(resolve);
+          }
+          catch (error) {
+            reject(new DOMException('UnknownError'));
+          }
+        });
+      });
+    }
+    /**
+     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
+     * @return {Promise<ImageBitmap>} Fulfilled promise with
+     * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
+     * argument on success; rejected promise on failure
+     */
+    grabFrame() {
+      const self = this;
+      return new Promise(function executorGF(resolve, reject) {
+        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+        if (self._videoStreamTrack.readyState !== 'live') {
+          return reject(new DOMException('InvalidStateError'));
+        }
+        self.videoElementPlaying.then(() => {
+          try {
+            self.canvasElement.width = self.videoElement.videoWidth;
+            self.canvasElement.height = self.videoElement.videoHeight;
+            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+            // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
+            resolve(window.createImageBitmap(self.canvasElement));
+          }
+          catch (error) {
+            reject(new DOMException('UnknownError'));
+          }
+        });
+      });
+    }
+  };
+}
+window.ImageCapture = ImageCapture;
+
+const cameraCss = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
+
+const CameraPWA = class {
+  constructor(hostRef) {
+    registerInstance(this, hostRef);
+    // Whether the device has multiple cameras (front/back)
+    this.hasMultipleCameras = false;
+    // Whether the device has flash support
+    this.hasFlash = false;
+    // Flash modes for camera
+    this.flashModes = [];
+    // Current flash mode
+    this.flashMode = 'off';
+    this.handlePickFile = (_e) => {
+    };
+    this.handleShutterClick = (_e) => {
+      console.debug('shutter click');
+      this.capture();
+    };
+    this.handleRotateClick = (_e) => {
+      this.rotate();
+    };
+    this.handleClose = (_e) => {
+      this.handlePhoto && this.handlePhoto(null);
+    };
+    this.handleFlashClick = (_e) => {
+      this.cycleFlash();
+    };
+    this.handleCancelPhoto = (_e) => {
+      const track = this.stream && this.stream.getTracks()[0];
+      let c = track && track.getConstraints();
+      this.photo = null;
+      this.photoSrc = null;
+      if (c) {
+        this.initCamera({
+          video: {
+            facingMode: c.facingMode
+          }
+        });
+      }
+      else {
+        this.initCamera();
+      }
+    };
+    this.handleAcceptPhoto = (_e) => {
+      this.handlePhoto && this.handlePhoto(this.photo);
+    };
+    this.handleFileInputChange = async (e) => {
+      const input = e.target;
+      const file = input.files[0];
+      try {
+        const orientation = await this.getOrientation(file);
+        console.debug('Got orientation', orientation);
+        this.photoOrientation = orientation;
+      }
+      catch (e) {
+      }
+      this.handlePhoto && this.handlePhoto(file);
+    };
+    this.handleVideoMetadata = (e) => {
+      console.debug('Video metadata', e);
+    };
+    this.facingMode = 'user';
+    this.handlePhoto = undefined;
+    this.hidePicker = false;
+    this.handleNoDeviceError = undefined;
+    this.noDevicesText = 'No camera found';
+    this.noDevicesButtonText = 'Choose image';
+    this.photo = undefined;
+    this.photoSrc = undefined;
+    this.showShutterOverlay = false;
+    this.flashIndex = 0;
+    this.hasCamera = null;
+    this.rotation = 0;
+    this.deviceError = null;
+  }
+  async componentDidLoad() {
+    this.defaultConstraints = {
+      video: {
+        facingMode: this.facingMode
+      }
+    };
+    // Figure out how many cameras we have
+    await this.queryDevices();
+    // Initialize the camera
+    await this.initCamera();
+  }
+  disconnectedCallback() {
+    this.stopStream();
+    this.photoSrc && URL.revokeObjectURL(this.photoSrc);
+  }
+  hasImageCapture() {
+    return 'ImageCapture' in window;
+  }
+  /**
+   * Query the list of connected devices and figure out how many video inputs we have.
+   */
+  async queryDevices() {
+    try {
+      const devices = await navigator.mediaDevices.enumerateDevices();
+      const videoDevices = devices.filter(d => d.kind == 'videoinput');
+      this.hasCamera = !!videoDevices.length;
+      this.hasMultipleCameras = videoDevices.length > 1;
+    }
+    catch (e) {
+      this.deviceError = e;
+    }
+  }
+  async initCamera(constraints) {
+    if (!constraints) {
+      constraints = this.defaultConstraints;
+    }
+    try {
+      const stream = await navigator.mediaDevices.getUserMedia(Object.assign({ video: true, audio: false }, constraints));
+      this.initStream(stream);
+    }
+    catch (e) {
+      this.deviceError = e;
+      this.handleNoDeviceError && this.handleNoDeviceError(e);
+    }
+  }
+  async initStream(stream) {
+    this.stream = stream;
+    this.videoElement.srcObject = stream;
+    if (this.hasImageCapture()) {
+      this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
+      await this.initPhotoCapabilities(this.imageCapture);
+    }
+    else {
+      this.deviceError = 'No image capture';
+      this.handleNoDeviceError && this.handleNoDeviceError();
+    }
+    // Always re-render
+    forceUpdate(this.el);
+  }
+  async initPhotoCapabilities(imageCapture) {
+    const c = await imageCapture.getPhotoCapabilities();
+    if (c.fillLightMode && c.fillLightMode.length > 1) {
+      this.flashModes = c.fillLightMode.map(m => m);
+      // Try to recall the current flash mode
+      if (this.flashMode) {
+        this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
+        this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+      }
+      else {
+        this.flashIndex = 0;
+      }
+    }
+  }
+  stopStream() {
+    if (this.videoElement) {
+      this.videoElement.srcObject = null;
+    }
+    this.stream && this.stream.getTracks().forEach(track => track.stop());
+  }
+  async capture() {
+    if (this.hasImageCapture()) {
+      try {
+        const photo = await this.imageCapture.takePhoto({
+          fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
+        });
+        await this.flashScreen();
+        this.promptAccept(photo);
+      }
+      catch (e) {
+        console.error('Unable to take photo!', e);
+      }
+    }
+    this.stopStream();
+  }
+  async promptAccept(photo) {
+    this.photo = photo;
+    const orientation = await this.getOrientation(photo);
+    console.debug('Got orientation', orientation);
+    this.photoOrientation = orientation;
+    if (orientation) {
+      switch (orientation) {
+        case 1:
+        case 2:
+          this.rotation = 0;
+          break;
+        case 3:
+        case 4:
+          this.rotation = 180;
+          break;
+        case 5:
+        case 6:
+          this.rotation = 90;
+          break;
+        case 7:
+        case 8:
+          this.rotation = 270;
+          break;
+      }
+    }
+    this.photoSrc = URL.createObjectURL(photo);
+  }
+  getOrientation(file) {
+    return new Promise(resolve => {
+      const reader = new FileReader();
+      reader.onload = (event) => {
+        const view = new DataView(event.target.result);
+        if (view.getUint16(0, false) !== 0xFFD8) {
+          return resolve(-2);
+        }
+        const length = view.byteLength;
+        let offset = 2;
+        while (offset < length) {
+          const marker = view.getUint16(offset, false);
+          offset += 2;
+          if (marker === 0xFFE1) {
+            if (view.getUint32(offset += 2, false) !== 0x45786966) {
+              return resolve(-1);
+            }
+            const little = view.getUint16(offset += 6, false) === 0x4949;
+            offset += view.getUint32(offset + 4, little);
+            const tags = view.getUint16(offset, little);
+            offset += 2;
+            for (let i = 0; i < tags; i++) {
+              if (view.getUint16(offset + (i * 12), little) === 0x0112) {
+                return resolve(view.getUint16(offset + (i * 12) + 8, little));
+              }
+            }
+          }
+          else if ((marker & 0xFF00) !== 0xFF00) {
+            break;
+          }
+          else {
+            offset += view.getUint16(offset, false);
+          }
+        }
+        return resolve(-1);
+      };
+      reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
+    });
+  }
+  rotate() {
+    this.stopStream();
+    const track = this.stream && this.stream.getTracks()[0];
+    if (!track) {
+      return;
+    }
+    let c = track.getConstraints();
+    let facingMode = c.facingMode;
+    if (!facingMode) {
+      let c = track.getCapabilities();
+      if (c.facingMode) {
+        facingMode = c.facingMode[0];
+      }
+    }
+    if (facingMode === 'environment') {
+      this.initCamera({
+        video: {
+          facingMode: 'user'
+        }
+      });
+    }
+    else {
+      this.initCamera({
+        video: {
+          facingMode: 'environment'
+        }
+      });
+    }
+  }
+  setFlashMode(mode) {
+    console.debug('New flash mode: ', mode);
+    this.flashMode = mode;
+  }
+  cycleFlash() {
+    if (this.flashModes.length > 0) {
+      this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
+      this.setFlashMode(this.flashModes[this.flashIndex]);
+    }
+  }
+  async flashScreen() {
+    return new Promise((resolve, _reject) => {
+      this.showShutterOverlay = true;
+      setTimeout(() => {
+        this.showShutterOverlay = false;
+        resolve();
+      }, 100);
+    });
+  }
+  iconExit() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconPhotos() {
+    return (h("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '512', height: '512', viewBox: '0 0 512 512' }, h("path", { d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z' }), h("path", { d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z' })));
+  }
+  iconConfirm() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconReverseCamera() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconRetake() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconFlashOff() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  iconFlashOn() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E`;
+  }
+  iconFlashAuto() {
+    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E`;
+  }
+  render() {
+    // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
+    const acceptStyles = {};
+    return (h("div", { class: "camera-wrapper" }, h("div", { class: "camera-header" }, h("section", { class: "items" }, h("div", { class: "item close", onClick: e => this.handleClose(e) }, h("img", { src: this.iconExit() })), h("div", { class: "item flash", onClick: e => this.handleFlashClick(e) }, this.flashModes.length > 0 && (h("div", null, this.flashMode == 'off' ? h("img", { src: this.iconFlashOff() }) : '', this.flashMode == 'auto' ? h("img", { src: this.iconFlashAuto() }) : '', this.flashMode == 'flash' ? h("img", { src: this.iconFlashOn() }) : ''))))), (this.hasCamera === false || !!this.deviceError) && (h("div", { class: "no-device" }, h("h2", null, this.noDevicesText), h("label", { htmlFor: "_pwa-elements-camera-input" }, this.noDevicesButtonText), h("input", { type: "file", id: "_pwa-elements-camera-input", onChange: this.handleFileInputChange, accept: "image/*", class: "select-file-button" }))), this.photoSrc ? (h("div", { class: "accept" }, h("div", { class: "accept-image", style: Object.assign({ backgroundImage: `url(${this.photoSrc})` }, acceptStyles) }))) : (h("div", { class: "camera-video" }, this.showShutterOverlay && (h("div", { class: "shutter-overlay" })), this.hasImageCapture() ? (h("video", { ref: (el) => this.videoElement = el, onLoadedMetaData: this.handleVideoMetadata, autoplay: true, playsinline: true })) : (h("canvas", { ref: (el) => this.canvasElement = el, width: "100%", height: "100%" })), h("canvas", { class: "offscreen-image-render", ref: e => this.offscreenCanvas = e, width: "100%", height: "100%" }))), this.hasCamera && (h("div", { class: "camera-footer" }, !this.photo ? ([
+      !this.hidePicker && (h("div", { class: "pick-image", onClick: this.handlePickFile }, h("label", { htmlFor: "_pwa-elements-file-pick" }, this.iconPhotos()), h("input", { type: "file", id: "_pwa-elements-file-pick", onChange: this.handleFileInputChange, accept: "image/*", class: "pick-image-button" }))),
+      h("div", { class: "shutter", onClick: this.handleShutterClick }, h("div", { class: "shutter-button" })),
+      h("div", { class: "rotate", onClick: this.handleRotateClick }, h("img", { src: this.iconReverseCamera() })),
+    ]) : (h("section", { class: "items" }, h("div", { class: "item accept-cancel", onClick: e => this.handleCancelPhoto(e) }, h("img", { src: this.iconRetake() })), h("div", { class: "item accept-use", onClick: e => this.handleAcceptPhoto(e) }, h("img", { src: this.iconConfirm() }))))))));
+  }
+  static get assetsDirs() { return ["icons"]; }
+  get el() { return getElement(this); }
+};
+CameraPWA.style = cameraCss;
+
+export { CameraPWA as pwa_camera };
diff --git a/src/public/js/pwa-elements/esm/pwa-toast.entry.js b/src/public/js/pwa-elements/esm/pwa-toast.entry.js
new file mode 100644
index 0000000..45f5539
--- /dev/null
+++ b/src/public/js/pwa-elements/esm/pwa-toast.entry.js
@@ -0,0 +1,45 @@
+import { r as registerInstance, h, g as getElement, H as Host } from './index-1c5c47b4.js';
+
+const toastCss = ":host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, \"Helvetica Neue\", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}";
+
+const PWAToast = class {
+  constructor(hostRef) {
+    registerInstance(this, hostRef);
+    this.message = undefined;
+    this.duration = 2000;
+    this.closing = null;
+  }
+  hostData() {
+    const classes = {
+      out: !!this.closing
+    };
+    if (this.closing !== null) {
+      classes['in'] = !this.closing;
+    }
+    return {
+      class: classes
+    };
+  }
+  componentDidLoad() {
+    setTimeout(() => {
+      this.closing = false;
+    });
+    setTimeout(() => {
+      this.close();
+    }, this.duration);
+  }
+  close() {
+    this.closing = true;
+    setTimeout(() => {
+      this.el.parentNode.removeChild(this.el);
+    }, 1000);
+  }
+  __stencil_render() {
+    return (h("div", { class: "wrapper" }, h("div", { class: "toast" }, this.message)));
+  }
+  get el() { return getElement(this); }
+  render() { return h(Host, this.hostData(), this.__stencil_render()); }
+};
+PWAToast.style = toastCss;
+
+export { PWAToast as pwa_toast };
diff --git a/src/public/js/pwa-elements/index.cjs.js b/src/public/js/pwa-elements/index.cjs.js
new file mode 100644
index 0000000..8a61f38
--- /dev/null
+++ b/src/public/js/pwa-elements/index.cjs.js
@@ -0,0 +1 @@
+module.exports = require('./cjs/index.cjs.js');
diff --git a/src/public/js/pwa-elements/index.js b/src/public/js/pwa-elements/index.js
new file mode 100644
index 0000000..e4839b6
--- /dev/null
+++ b/src/public/js/pwa-elements/index.js
@@ -0,0 +1 @@
+export * from './esm-es5/index.js';
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/icons/confirm.svg b/src/public/js/pwa-elements/ionicpwaelements/icons/confirm.svg
new file mode 100644
index 0000000..1213fd9
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/icons/confirm.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<circle fill="#2CD865" cx="256" cy="256" r="256"/>
+<g id="Icon_1_">
+	<g>
+		<g>
+			<path fill="#FFFFFF" d="M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4
+				c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4
+				C212.1,303,209.6,303,208,301.4z"/>
+		</g>
+	</g>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/ionicpwaelements/icons/exit.svg b/src/public/js/pwa-elements/ionicpwaelements/icons/exit.svg
new file mode 100644
index 0000000..be96592
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/icons/exit.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g id="Icon_5_">
+	<g>
+		<path fill="#FFFFFF" d="M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8
+			c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7
+			l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1
+			c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z"/>
+	</g>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/ionicpwaelements/icons/flash-auto.svg b/src/public/js/pwa-elements/ionicpwaelements/icons/flash-auto.svg
new file mode 100644
index 0000000..c388e86
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/icons/flash-auto.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9
+	c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z"/>
+<g>
+	<path class="st0" d="M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7
+		H415.8z"/>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/ionicpwaelements/icons/flash-off.svg b/src/public/js/pwa-elements/ionicpwaelements/icons/flash-off.svg
new file mode 100644
index 0000000..98b2599
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/icons/flash-off.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<g>
+	<path class="st0" d="M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7
+		L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z"/>
+	<path class="st0" d="M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6
+		l161.3,161.3L449,218.2z"/>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/ionicpwaelements/icons/flash-on.svg b/src/public/js/pwa-elements/ionicpwaelements/icons/flash-on.svg
new file mode 100644
index 0000000..e045c08
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/icons/flash-on.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#FFFFFF;}
+</style>
+<path class="st0" d="M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9
+	c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z"/>
+</svg>
diff --git a/src/public/js/pwa-elements/ionicpwaelements/icons/retake.svg b/src/public/js/pwa-elements/ionicpwaelements/icons/retake.svg
new file mode 100644
index 0000000..04fc2a0
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/icons/retake.svg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<circle fill="#727A87" cx="256" cy="256" r="256"/>
+<g id="Icon_5_">
+	<g>
+		<path fill="#FFFFFF" d="M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8
+			c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7
+			l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1
+			c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z"/>
+	</g>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/ionicpwaelements/icons/reverse-camera.svg b/src/public/js/pwa-elements/ionicpwaelements/icons/reverse-camera.svg
new file mode 100644
index 0000000..ec09076
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/icons/reverse-camera.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 512 512" enable-background="new 0 0 512 512" xml:space="preserve">
+<g>
+	<path fill="#FFFFFF" d="M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z
+		 M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64
+		c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8
+		c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6
+		C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8
+		c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5
+		c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7
+		c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z"/>
+</g>
+</svg>
diff --git a/src/public/js/pwa-elements/ionicpwaelements/index.esm.js b/src/public/js/pwa-elements/ionicpwaelements/index.esm.js
new file mode 100644
index 0000000..e69de29
diff --git a/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js b/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js
new file mode 100644
index 0000000..d94b4e1
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js
@@ -0,0 +1 @@
+import{p as e,b as o}from"./p-386e91ad.js";export{s as setNonce}from"./p-386e91ad.js";(()=>{const o=import.meta.url,a={};return""!==o&&(a.resourcesUrl=new URL(".",o).href),e(a)})().then((e=>o([["p-3bb700a2",[[1,"pwa-camera-modal",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],present:[64],dismiss:[64]}]]],["p-d0cae4dc",[[1,"pwa-action-sheet",{header:[1],cancelable:[4],options:[16],open:[32]}]]],["p-b57f4873",[[1,"pwa-toast",{message:[1],duration:[2],closing:[32]}]]],["p-665001c2",[[1,"pwa-camera",{facingMode:[1,"facing-mode"],handlePhoto:[16],hidePicker:[4,"hide-picker"],handleNoDeviceError:[16],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"],photo:[32],photoSrc:[32],showShutterOverlay:[32],flashIndex:[32],hasCamera:[32],rotation:[32],deviceError:[32]}]]],["p-d212ae1d",[[1,"pwa-camera-modal-instance",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]],e)));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.js b/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.js
new file mode 100644
index 0000000..8a51cfe
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.js
@@ -0,0 +1,131 @@
+
+'use strict';
+(function () {
+  var currentScript = document.currentScript;
+
+  // Safari 10 support type="module" but still download and executes the nomodule script
+  if (!currentScript || !currentScript.hasAttribute('nomodule') || !('onbeforeload' in currentScript)) {
+
+  /**
+ * core-js 3.6.5
+ * https://github.com/zloirock/core-js
+ * License: http://rock.mit-license.org
+ * © 2019 Denis Pushkarev (zloirock.ru)
+ */
+!function(t){"use strict";!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)}([function(t,n,e){e(1),e(55),e(62),e(68),e(70),e(71),e(72),e(73),e(75),e(76),e(78),e(87),e(88),e(89),e(98),e(99),e(101),e(102),e(103),e(105),e(106),e(107),e(108),e(110),e(111),e(112),e(113),e(114),e(115),e(116),e(117),e(118),e(127),e(130),e(131),e(133),e(135),e(136),e(137),e(138),e(139),e(141),e(143),e(146),e(148),e(150),e(151),e(153),e(154),e(155),e(156),e(157),e(159),e(160),e(162),e(163),e(164),e(165),e(166),e(167),e(168),e(169),e(170),e(172),e(173),e(183),e(184),e(185),e(189),e(191),e(192),e(193),e(194),e(195),e(196),e(198),e(201),e(202),e(203),e(204),e(208),e(209),e(212),e(213),e(214),e(215),e(216),e(217),e(218),e(219),e(221),e(222),e(223),e(226),e(227),e(228),e(229),e(230),e(231),e(232),e(233),e(234),e(235),e(236),e(237),e(238),e(240),e(241),e(243),e(248),t.exports=e(246)},function(t,n,e){var r=e(2),o=e(6),i=e(45),a=e(14),u=e(46),c=e(39),f=e(47),s=e(48),l=e(52),p=e(49),h=e(53),v=p("isConcatSpreadable"),g=h>=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),d=l("concat"),y=function(t){if(!a(t))return!1;var n=t[v];return void 0!==n?!!n:i(t)};r({target:"Array",proto:!0,forced:!g||!d},{concat:function(t){var n,e,r,o,i,a=u(this),l=s(a,0),p=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?a:arguments[n],y(i)){if(p+(o=c(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,p++)e in i&&f(l,p,i[e])}else{if(p>=9007199254740991)throw TypeError("Maximum allowed index exceeded");f(l,p++,i)}return l.length=p,l}})},function(t,n,e){var r=e(3),o=e(4).f,i=e(18),a=e(21),u=e(22),c=e(32),f=e(44);t.exports=function(t,n){var e,s,l,p,h,v=t.target,g=t.global,d=t.stat;if(e=g?r:d?r[v]||u(v,{}):(r[v]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(h=o(e,s))&&h.value:e[s],!f(g?s:v+(d?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;c(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(e,s,p,t)}}},function(t,n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof global&&global)||Function("return this")()},function(t,n,e){var r=e(5),o=e(7),i=e(8),a=e(9),u=e(13),c=e(15),f=e(16),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=a(t),n=u(n,!0),f)try{return s(t,n)}catch(t){}if(c(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n,e){var r=e(6);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(10),o=e(12);t.exports=function(t){return r(o(t))}},function(t,n,e){var r=e(6),o=e(11),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(14);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5),o=e(6),i=e(17);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(14),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,n,e){var r=e(5),o=e(19),i=e(8);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(5),o=e(16),i=e(20),a=e(13),u=Object.defineProperty;n.f=r?u:function(t,n,e){if(i(t),n=a(n,!0),i(e),o)try{return u(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(3),o=e(18),i=e(15),a=e(22),u=e(23),c=e(25),f=c.get,s=c.enforce,l=String(String).split("String");(t.exports=function(t,n,e,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof e&&("string"!=typeof n||i(e,"name")||o(e,"name",n),s(e).source=l.join("string"==typeof n?n:"")),t!==r?(c?!p&&t[n]&&(f=!0):delete t[n],f?t[n]=e:o(t,n,e)):f?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&f(this).source||u(this)}))},function(t,n,e){var r=e(3),o=e(18);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(24),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(3),o=e(22),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,e){var r,o,i,a=e(26),u=e(3),c=e(14),f=e(18),s=e(15),l=e(27),p=e(31),h=u.WeakMap;if(a){var v=new h,g=v.get,d=v.has,y=v.set;r=function(t,n){return y.call(v,t,n),n},o=function(t){return g.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var x=l("state");p[x]=!0,r=function(t,n){return f(t,x,n),n},o=function(t){return s(t,x)?t[x]:{}},i=function(t){return s(t,x)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!c(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(3),o=e(23),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},function(t,n,e){var r=e(28),o=e(30),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n,e){var r=e(29),o=e(24);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n){t.exports=!1},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n){t.exports={}},function(t,n,e){var r=e(15),o=e(33),i=e(4),a=e(19);t.exports=function(t,n){for(var e=o(n),u=a.f,c=i.f,f=0;f<e.length;f++){var s=e[f];r(t,s)||u(t,s,c(n,s))}}},function(t,n,e){var r=e(34),o=e(36),i=e(43),a=e(20);t.exports=r("Reflect","ownKeys")||function(t){var n=o.f(a(t)),e=i.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(35),o=e(3),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][n]||o[t]&&o[t][n]}},function(t,n,e){var r=e(3);t.exports=r},function(t,n,e){var r=e(37),o=e(42).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,n,e){var r=e(15),o=e(9),i=e(38).indexOf,a=e(31);t.exports=function(t,n){var e,u=o(t),c=0,f=[];for(e in u)!r(a,e)&&r(u,e)&&f.push(e);for(;n.length>c;)r(u,e=n[c++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(9),o=e(39),i=e(41),a=function(t){return function(n,e,a){var u,c=r(n),f=o(c.length),s=i(a,f);if(t&&e!=e){for(;f>s;)if((u=c[s++])!=u)return!0}else for(;f>s;s++)if((t||s in c)&&c[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){var r=e(40),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(40),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(6),o=/#|\.prototype\./,i=function(t,n){var e=u[a(t)];return e==f||e!=c&&("function"==typeof n?r(n):!!n)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){var r=e(11);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(12);t.exports=function(t){return Object(r(t))}},function(t,n,e){var r=e(13),o=e(19),i=e(8);t.exports=function(t,n,e){var a=r(n);a in t?o.f(t,a,i(0,e)):t[a]=e}},function(t,n,e){var r=e(14),o=e(45),i=e(49)("species");t.exports=function(t,n){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)?r(e)&&null===(e=e[i])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){var r=e(3),o=e(28),i=e(15),a=e(30),u=e(50),c=e(51),f=o("wks"),s=r.Symbol,l=c?s:s&&s.withoutSetter||a;t.exports=function(t){return i(f,t)||(u&&i(s,t)?f[t]=s[t]:f[t]=l("Symbol."+t)),f[t]}},function(t,n,e){var r=e(6);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(50);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(6),o=e(49),i=e(53),a=o("species");t.exports=function(t){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},function(t,n,e){var r,o,i=e(3),a=e(54),u=i.process,c=u&&u.versions,f=c&&c.v8;f?o=(r=f.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},function(t,n,e){var r=e(34);t.exports=r("navigator","userAgent")||""},function(t,n,e){var r=e(2),o=e(56),i=e(57);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(t,n,e){var r=e(46),o=e(41),i=e(39),a=Math.min;t.exports=[].copyWithin||function(t,n){var e=r(this),u=i(e.length),c=o(t,u),f=o(n,u),s=arguments.length>2?arguments[2]:void 0,l=a((void 0===s?u:o(s,u))-f,u-c),p=1;for(f<c&&c<f+l&&(p=-1,f+=l-1,c+=l-1);l-- >0;)f in e?e[c]=e[f]:delete e[c],c+=p,f+=p;return e}},function(t,n,e){var r=e(49),o=e(58),i=e(19),a=r("unscopables"),u=Array.prototype;null==u[a]&&i.f(u,a,{configurable:!0,value:o(null)}),t.exports=function(t){u[a][t]=!0}},function(t,n,e){var r,o=e(20),i=e(59),a=e(42),u=e(31),c=e(61),f=e(17),s=e(27),l=s("IE_PROTO"),p=function(){},h=function(t){return"<script>"+t+"<\/script>"},v=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;v=r?function(t){t.write(h("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=f("iframe")).style.display="none",c.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(h("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete v.prototype[a[e]];return v()};u[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=o(t),e=new p,p.prototype=null,e[l]=t):e=v(),void 0===n?e:i(e,n)}},function(t,n,e){var r=e(5),o=e(19),i=e(20),a=e(60);t.exports=r?Object.defineProperties:function(t,n){i(t);for(var e,r=a(n),u=r.length,c=0;u>c;)o.f(t,e=r[c++],n[e]);return t}},function(t,n,e){var r=e(37),o=e(42);t.exports=Object.keys||function(t){return r(t,o)}},function(t,n,e){var r=e(34);t.exports=r("document","documentElement")},function(t,n,e){var r=e(2),o=e(63).every,i=e(66),a=e(67),u=i("every"),c=a("every");r({target:"Array",proto:!0,forced:!u||!c},{every:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(64),o=e(10),i=e(46),a=e(39),u=e(48),c=[].push,f=function(t){var n=1==t,e=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l;return function(h,v,g,d){for(var y,x,m=i(h),b=o(m),S=r(v,g,3),E=a(b.length),w=0,O=d||u,R=n?O(h,E):e?O(h,0):void 0;E>w;w++)if((p||w in b)&&(x=S(y=b[w],w,m),t))if(n)R[w]=x;else if(x)switch(t){case 3:return!0;case 5:return y;case 6:return w;case 2:c.call(R,y)}else if(s)return!1;return l?-1:f||s?s:R}};t.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6)}},function(t,n,e){var r=e(65);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n,e){var r=e(6);t.exports=function(t,n){var e=[][t];return!!e&&r((function(){e.call(null,n||function(){throw 1},1)}))}},function(t,n,e){var r=e(5),o=e(6),i=e(15),a=Object.defineProperty,u={},c=function(t){throw t};t.exports=function(t,n){if(i(u,t))return u[t];n||(n={});var e=[][t],f=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:c,l=i(n,1)?n[1]:void 0;return u[t]=!!e&&!o((function(){if(f&&!r)return!0;var t={length:-1};f?a(t,1,{enumerable:!0,get:c}):t[1]=1,e.call(t,s,l)}))}},function(t,n,e){var r=e(2),o=e(69),i=e(57);r({target:"Array",proto:!0},{fill:o}),i("fill")},function(t,n,e){var r=e(46),o=e(41),i=e(39);t.exports=function(t){for(var n=r(this),e=i(n.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,e),c=a>2?arguments[2]:void 0,f=void 0===c?e:o(c,e);f>u;)n[u++]=t;return n}},function(t,n,e){var r=e(2),o=e(63).filter,i=e(52),a=e(67),u=i("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!u||!c},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(63).find,i=e(57),a=e(67),u=!0,c=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,e){var r=e(2),o=e(63).findIndex,i=e(57),a=e(67),u=!0,c=a("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("findIndex")},function(t,n,e){var r=e(2),o=e(74),i=e(46),a=e(39),u=e(40),c=e(48);r({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,n=i(this),e=a(n.length),r=c(n,0);return r.length=o(r,n,n,e,0,void 0===t?1:u(t)),r}})},function(t,n,e){var r=e(45),o=e(39),i=e(64),a=function(t,n,e,u,c,f,s,l){for(var p,h=c,v=0,g=!!s&&i(s,l,3);v<u;){if(v in e){if(p=g?g(e[v],v,n):e[v],f>0&&r(p))h=a(t,n,p,o(p.length),h,f-1)-1;else{if(h>=9007199254740991)throw TypeError("Exceed the acceptable array length");t[h]=p}h++}v++}return h};t.exports=a},function(t,n,e){var r=e(2),o=e(74),i=e(46),a=e(39),u=e(65),c=e(48);r({target:"Array",proto:!0},{flatMap:function(t){var n,e=i(this),r=a(e.length);return u(t),(n=c(e,0)).length=o(n,e,e,r,0,1,t,arguments.length>1?arguments[1]:void 0),n}})},function(t,n,e){var r=e(2),o=e(77);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(t,n,e){var r=e(63).forEach,o=e(66),i=e(67),a=o("forEach"),u=i("forEach");t.exports=a&&u?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},function(t,n,e){var r=e(2),o=e(79);r({target:"Array",stat:!0,forced:!e(86)((function(t){Array.from(t)}))},{from:o})},function(t,n,e){var r=e(64),o=e(46),i=e(80),a=e(81),u=e(39),c=e(47),f=e(83);t.exports=function(t){var n,e,s,l,p,h,v=o(t),g="function"==typeof this?this:Array,d=arguments.length,y=d>1?arguments[1]:void 0,x=void 0!==y,m=f(v),b=0;if(x&&(y=r(y,d>2?arguments[2]:void 0,2)),null==m||g==Array&&a(m))for(e=new g(n=u(v.length));n>b;b++)h=x?y(v[b],b):v[b],c(e,b,h);else for(p=(l=m.call(v)).next,e=new g;!(s=p.call(l)).done;b++)h=x?i(l,y,[s.value,b],!0):s.value,c(e,b,h);return e.length=b,e}},function(t,n,e){var r=e(20);t.exports=function(t,n,e,o){try{return o?n(r(e)[0],e[1]):n(e)}catch(n){var i=t.return;throw void 0!==i&&r(i.call(t)),n}}},function(t,n,e){var r=e(49),o=e(82),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},function(t,n){t.exports={}},function(t,n,e){var r=e(84),o=e(82),i=e(49)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,n,e){var r=e(85),o=e(11),i=e(49)("toStringTag"),a="Arguments"==o(function(){return arguments}());t.exports=r?o:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?e:a?o(n):"Object"==(r=o(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r={};r[e(49)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(49)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!o)return!1;var e=!1;try{var i={};i[r]=function(){return{next:function(){return{done:e=!0}}}},t(i)}catch(t){}return e}},function(t,n,e){var r=e(2),o=e(38).includes,i=e(57);r({target:"Array",proto:!0,forced:!e(67)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("includes")},function(t,n,e){var r=e(2),o=e(38).indexOf,i=e(66),a=e(67),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,f=i("indexOf"),s=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:c||!f||!s},{indexOf:function(t){return c?u.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(9),o=e(57),i=e(82),a=e(25),u=e(90),c=a.set,f=a.getterFor("Array Iterator");t.exports=u(Array,"Array",(function(t,n){c(this,{type:"Array Iterator",target:r(t),index:0,kind:n})}),(function(){var t=f(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(t,n,e){var r=e(2),o=e(91),i=e(93),a=e(96),u=e(95),c=e(18),f=e(21),s=e(49),l=e(29),p=e(82),h=e(92),v=h.IteratorPrototype,g=h.BUGGY_SAFARI_ITERATORS,d=s("iterator"),y=function(){return this};t.exports=function(t,n,e,s,h,x,m){o(e,n,s);var b,S,E,w=function(t){if(t===h&&I)return I;if(!g&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},O=n+" Iterator",R=!1,A=t.prototype,j=A[d]||A["@@iterator"]||h&&A[h],I=!g&&j||w(h),k="Array"==n&&A.entries||j;if(k&&(b=i(k.call(new t)),v!==Object.prototype&&b.next&&(l||i(b)===v||(a?a(b,v):"function"!=typeof b[d]&&c(b,d,y)),u(b,O,!0,!0),l&&(p[O]=y))),"values"==h&&j&&"values"!==j.name&&(R=!0,I=function(){return j.call(this)}),l&&!m||A[d]===I||c(A,d,I),p[n]=I,h)if(S={values:w("values"),keys:x?I:w("keys"),entries:w("entries")},m)for(E in S)(g||R||!(E in A))&&f(A,E,S[E]);else r({target:n,proto:!0,forced:g||R},S);return S}},function(t,n,e){var r=e(92).IteratorPrototype,o=e(58),i=e(8),a=e(95),u=e(82),c=function(){return this};t.exports=function(t,n,e){var f=n+" Iterator";return t.prototype=o(r,{next:i(1,e)}),a(t,f,!1,!0),u[f]=c,t}},function(t,n,e){var r,o,i,a=e(93),u=e(18),c=e(15),f=e(49),s=e(29),l=f("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):p=!0),null==r&&(r={}),s||c(r,l)||u(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},function(t,n,e){var r=e(15),o=e(46),i=e(27),a=e(94),u=i("IE_PROTO"),c=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),r(t,u)?t[u]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},function(t,n,e){var r=e(6);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,n,e){var r=e(19).f,o=e(15),i=e(49)("toStringTag");t.exports=function(t,n,e){t&&!o(t=e?t:t.prototype,i)&&r(t,i,{configurable:!0,value:n})}},function(t,n,e){var r=e(20),o=e(97);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,i){return r(e),o(i),n?t.call(e,i):e.__proto__=i,e}}():void 0)},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},function(t,n,e){var r=e(2),o=e(10),i=e(9),a=e(66),u=[].join,c=o!=Object,f=a("join",",");r({target:"Array",proto:!0,forced:c||!f},{join:function(t){return u.call(i(this),void 0===t?",":t)}})},function(t,n,e){var r=e(2),o=e(100);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(t,n,e){var r=e(9),o=e(40),i=e(39),a=e(66),u=e(67),c=Math.min,f=[].lastIndexOf,s=!!f&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),p=u("indexOf",{ACCESSORS:!0,1:0}),h=s||!l||!p;t.exports=h?function(t){if(s)return f.apply(this,arguments)||0;var n=r(this),e=i(n.length),a=e-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=e+a);a>=0;a--)if(a in n&&n[a]===t)return a||0;return-1}:f},function(t,n,e){var r=e(2),o=e(63).map,i=e(52),a=e(67),u=i("map"),c=a("map");r({target:"Array",proto:!0,forced:!u||!c},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(6),i=e(47);r({target:"Array",stat:!0,forced:o((function(){function t(){}return!(Array.of.call(t)instanceof t)}))},{of:function(){for(var t=0,n=arguments.length,e=new("function"==typeof this?this:Array)(n);n>t;)i(e,t,arguments[t++]);return e.length=n,e}})},function(t,n,e){var r=e(2),o=e(104).left,i=e(66),a=e(67),u=i("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduce:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(65),o=e(46),i=e(10),a=e(39),u=function(t){return function(n,e,u,c){r(e);var f=o(n),s=i(f),l=a(f.length),p=t?l-1:0,h=t?-1:1;if(u<2)for(;;){if(p in s){c=s[p],p+=h;break}if(p+=h,t?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;t?p>=0:l>p;p+=h)p in s&&(c=e(c,s[p],p,f));return c}};t.exports={left:u(!1),right:u(!0)}},function(t,n,e){var r=e(2),o=e(104).right,i=e(66),a=e(67),u=i("reduceRight"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduceRight:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(14),i=e(45),a=e(41),u=e(39),c=e(9),f=e(47),s=e(49),l=e(52),p=e(67),h=l("slice"),v=p("slice",{ACCESSORS:!0,0:0,1:2}),g=s("species"),d=[].slice,y=Math.max;r({target:"Array",proto:!0,forced:!h||!v},{slice:function(t,n){var e,r,s,l=c(this),p=u(l.length),h=a(t,p),v=a(void 0===n?p:n,p);if(i(l)&&("function"!=typeof(e=l.constructor)||e!==Array&&!i(e.prototype)?o(e)&&null===(e=e[g])&&(e=void 0):e=void 0,e===Array||void 0===e))return d.call(l,h,v);for(r=new(void 0===e?Array:e)(y(v-h,0)),s=0;h<v;h++,s++)h in l&&f(r,s,l[h]);return r.length=s,r}})},function(t,n,e){var r=e(2),o=e(63).some,i=e(66),a=e(67),u=i("some"),c=a("some");r({target:"Array",proto:!0,forced:!u||!c},{some:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){e(109)("Array")},function(t,n,e){var r=e(34),o=e(19),i=e(49),a=e(5),u=i("species");t.exports=function(t){var n=r(t),e=o.f;a&&n&&!n[u]&&e(n,u,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(2),o=e(41),i=e(40),a=e(39),u=e(46),c=e(48),f=e(47),s=e(52),l=e(67),p=s("splice"),h=l("splice",{ACCESSORS:!0,0:0,1:2}),v=Math.max,g=Math.min;r({target:"Array",proto:!0,forced:!p||!h},{splice:function(t,n){var e,r,s,l,p,h,d=u(this),y=a(d.length),x=o(t,y),m=arguments.length;if(0===m?e=r=0:1===m?(e=0,r=y-x):(e=m-2,r=g(v(i(n),0),y-x)),y+e-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(s=c(d,r),l=0;l<r;l++)(p=x+l)in d&&f(s,l,d[p]);if(s.length=r,e<r){for(l=x;l<y-r;l++)h=l+e,(p=l+r)in d?d[h]=d[p]:delete d[h];for(l=y;l>y-r+e;l--)delete d[l-1]}else if(e>r)for(l=y-r;l>x;l--)h=l+e-1,(p=l+r-1)in d?d[h]=d[p]:delete d[h];for(l=0;l<e;l++)d[l+x]=arguments[l+2];return d.length=y-r+e,s}})},function(t,n,e){e(57)("flat")},function(t,n,e){e(57)("flatMap")},function(t,n,e){var r=e(14),o=e(19),i=e(93),a=e(49)("hasInstance"),u=Function.prototype;a in u||o.f(u,a,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,e){var r=e(5),o=e(19).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/;r&&!("name"in i)&&o(i,"name",{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(t){return""}}})},function(t,n,e){e(2)({global:!0},{globalThis:e(3)})},function(t,n,e){var r=e(2),o=e(34),i=e(6),a=o("JSON","stringify"),u=/[\uD800-\uDFFF]/g,c=/^[\uD800-\uDBFF]$/,f=/^[\uDC00-\uDFFF]$/,s=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return c.test(t)&&!f.test(o)||f.test(t)&&!c.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},l=i((function(){return'"\\udf06\\ud834"'!==a("\udf06\ud834")||'"\\udead"'!==a("\udead")}));a&&r({target:"JSON",stat:!0,forced:l},{stringify:function(t,n,e){var r=a.apply(null,arguments);return"string"==typeof r?r.replace(u,s):r}})},function(t,n,e){var r=e(3);e(95)(r.JSON,"JSON",!0)},function(t,n,e){var r=e(119),o=e(125);t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},function(t,n,e){var r=e(2),o=e(3),i=e(44),a=e(21),u=e(120),c=e(122),f=e(123),s=e(14),l=e(6),p=e(86),h=e(95),v=e(124);t.exports=function(t,n,e){var g=-1!==t.indexOf("Map"),d=-1!==t.indexOf("Weak"),y=g?"set":"add",x=o[t],m=x&&x.prototype,b=x,S={},E=function(t){var n=m[t];a(m,t,"add"==t?function(t){return n.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return d&&!s(t)?void 0:n.call(this,0===t?0:t)}:"has"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:function(t,e){return n.call(this,0===t?0:t,e),this})};if(i(t,"function"!=typeof x||!(d||m.forEach&&!l((function(){(new x).entries().next()})))))b=e.getConstructor(n,t,g,y),u.REQUIRED=!0;else if(i(t,!0)){var w=new b,O=w[y](d?{}:-0,1)!=w,R=l((function(){w.has(1)})),A=p((function(t){new x(t)})),j=!d&&l((function(){for(var t=new x,n=5;n--;)t[y](n,n);return!t.has(-0)}));A||((b=n((function(n,e){f(n,b,t);var r=v(new x,n,b);return null!=e&&c(e,r[y],r,g),r}))).prototype=m,m.constructor=b),(R||j)&&(E("delete"),E("has"),g&&E("get")),(j||O)&&E(y),d&&m.clear&&delete m.clear}return S[t]=b,r({global:!0,forced:b!=x},S),h(b,t),d||e.setStrong(b,t,g),b}},function(t,n,e){var r=e(31),o=e(14),i=e(15),a=e(19).f,u=e(30),c=e(121),f=u("meta"),s=0,l=Object.isExtensible||function(){return!0},p=function(t){a(t,f,{value:{objectID:"O"+ ++s,weakData:{}}})},h=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,f)){if(!l(t))return"F";if(!n)return"E";p(t)}return t[f].objectID},getWeakData:function(t,n){if(!i(t,f)){if(!l(t))return!0;if(!n)return!1;p(t)}return t[f].weakData},onFreeze:function(t){return c&&h.REQUIRED&&l(t)&&!i(t,f)&&p(t),t}};r[f]=!0},function(t,n,e){var r=e(6);t.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(t,n,e){var r=e(20),o=e(81),i=e(39),a=e(64),u=e(83),c=e(80),f=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,n,e,s,l){var p,h,v,g,d,y,x,m=a(n,e,s?2:1);if(l)p=t;else{if("function"!=typeof(h=u(t)))throw TypeError("Target is not iterable");if(o(h)){for(v=0,g=i(t.length);g>v;v++)if((d=s?m(r(x=t[v])[0],x[1]):m(t[v]))&&d instanceof f)return d;return new f(!1)}p=h.call(t)}for(y=p.next;!(x=y.call(p)).done;)if("object"==typeof(d=c(p,m,x.value,s))&&d&&d instanceof f)return d;return new f(!1)}).stop=function(t){return new f(!0,t)}},function(t,n){t.exports=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t}},function(t,n,e){var r=e(14),o=e(96);t.exports=function(t,n,e){var i,a;return o&&"function"==typeof(i=n.constructor)&&i!==e&&r(a=i.prototype)&&a!==e.prototype&&o(t,a),t}},function(t,n,e){var r=e(19).f,o=e(58),i=e(126),a=e(64),u=e(123),c=e(122),f=e(90),s=e(109),l=e(5),p=e(120).fastKey,h=e(25),v=h.set,g=h.getterFor;t.exports={getConstructor:function(t,n,e,f){var s=t((function(t,r){u(t,s,n),v(t,{type:n,index:o(null),first:void 0,last:void 0,size:0}),l||(t.size=0),null!=r&&c(r,t[f],t,e)})),h=g(n),d=function(t,n,e){var r,o,i=h(t),a=y(t,n);return a?a.value=e:(i.last=a={index:o=p(n,!0),key:n,value:e,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),l?i.size++:t.size++,"F"!==o&&(i.index[o]=a)),t},y=function(t,n){var e,r=h(t),o=p(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return i(s.prototype,{clear:function(){for(var t=h(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,l?t.size=0:this.size=0},delete:function(t){var n=h(this),e=y(this,t);if(e){var r=e.next,o=e.previous;delete n.index[e.index],e.removed=!0,o&&(o.next=r),r&&(r.previous=o),n.first==e&&(n.first=r),n.last==e&&(n.last=o),l?n.size--:this.size--}return!!e},forEach:function(t){for(var n,e=h(this),r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!y(this,t)}}),i(s.prototype,e?{get:function(t){var n=y(this,t);return n&&n.value},set:function(t,n){return d(this,0===t?0:t,n)}}:{add:function(t){return d(this,t=0===t?0:t,t)}}),l&&r(s.prototype,"size",{get:function(){return h(this).size}}),s},setStrong:function(t,n,e){var r=n+" Iterator",o=g(n),i=g(r);f(t,n,(function(t,n){v(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),s(n)}}},function(t,n,e){var r=e(21);t.exports=function(t,n,e){for(var o in n)r(t,o,n[o],e);return t}},function(t,n,e){var r=e(5),o=e(3),i=e(44),a=e(21),u=e(15),c=e(11),f=e(124),s=e(13),l=e(6),p=e(58),h=e(36).f,v=e(4).f,g=e(19).f,d=e(128).trim,y=o.Number,x=y.prototype,m="Number"==c(p(x)),b=function(t){var n,e,r,o,i,a,u,c,f=s(t,!1);if("string"==typeof f&&f.length>2)if(43===(n=(f=d(f)).charCodeAt(0))||45===n){if(88===(e=f.charCodeAt(2))||120===e)return NaN}else if(48===n){switch(f.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+f}for(a=(i=f.slice(2)).length,u=0;u<a;u++)if((c=i.charCodeAt(u))<48||c>o)return NaN;return parseInt(i,r)}return+f};if(i("Number",!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var S,E=function(t){var n=arguments.length<1?0:t,e=this;return e instanceof E&&(m?l((function(){x.valueOf.call(e)})):"Number"!=c(e))?f(new y(b(n)),e,E):b(n)},w=r?h(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),O=0;w.length>O;O++)u(y,S=w[O])&&!u(E,S)&&g(E,S,v(y,S));E.prototype=x,x.constructor=E,a(o,"Number",E)}},function(t,n,e){var r=e(12),o="["+e(129)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),u=function(t){return function(n){var e=String(r(n));return 1&t&&(e=e.replace(i,"")),2&t&&(e=e.replace(a,"")),e}};t.exports={start:u(1),end:u(2),trim:u(3)}},function(t,n){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},function(t,n,e){e(2)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(t,n,e){e(2)({target:"Number",stat:!0},{isFinite:e(132)})},function(t,n,e){var r=e(3).isFinite;t.exports=Number.isFinite||function(t){return"number"==typeof t&&r(t)}},function(t,n,e){e(2)({target:"Number",stat:!0},{isInteger:e(134)})},function(t,n,e){var r=e(14),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,n,e){e(2)({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},function(t,n,e){var r=e(2),o=e(134),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,n,e){e(2)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,e){e(2)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,e){var r=e(2),o=e(140);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},function(t,n,e){var r=e(3),o=e(128).trim,i=e(129),a=r.parseFloat,u=1/a(i+"-0")!=-1/0;t.exports=u?function(t){var n=o(String(t)),e=a(n);return 0===e&&"-"==n.charAt(0)?-0:e}:a},function(t,n,e){var r=e(2),o=e(142);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},function(t,n,e){var r=e(3),o=e(128).trim,i=e(129),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");t.exports=c?function(t,n){var e=o(String(t));return a(e,n>>>0||(u.test(e)?16:10))}:a},function(t,n,e){var r=e(2),o=e(40),i=e(144),a=e(145),u=e(6),c=1..toFixed,f=Math.floor,s=function(t,n,e){return 0===n?e:n%2==1?s(t,n-1,e*t):s(t*t,n/2,e)};r({target:"Number",proto:!0,forced:c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u((function(){c.call({})}))},{toFixed:function(t){var n,e,r,u,c=i(this),l=o(t),p=[0,0,0,0,0,0],h="",v="0",g=function(t,n){for(var e=-1,r=n;++e<6;)r+=t*p[e],p[e]=r%1e7,r=f(r/1e7)},d=function(t){for(var n=6,e=0;--n>=0;)e+=p[n],p[n]=f(e/t),e=e%t*1e7},y=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==p[t]){var e=String(p[t]);n=""===n?e:n+a.call("0",7-e.length)+e}return n};if(l<0||l>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(h="-",c=-c),c>1e-21)if(e=(n=function(t){for(var n=0,e=t;e>=4096;)n+=12,e/=4096;for(;e>=2;)n+=1,e/=2;return n}(c*s(2,69,1))-69)<0?c*s(2,-n,1):c/s(2,n,1),e*=4503599627370496,(n=52-n)>0){for(g(0,e),r=l;r>=7;)g(1e7,0),r-=7;for(g(s(10,r,1),0),r=n-1;r>=23;)d(1<<23),r-=23;d(1<<r),g(1,1),d(2),v=y()}else g(0,e),g(1<<-n,0),v=y()+a.call("0",l);return v=l>0?h+((u=v.length)<=l?"0."+a.call("0",l-u)+v:v.slice(0,u-l)+"."+v.slice(u-l)):h+v}})},function(t,n,e){var r=e(11);t.exports=function(t){if("number"!=typeof t&&"Number"!=r(t))throw TypeError("Incorrect invocation");return+t}},function(t,n,e){var r=e(40),o=e(12);t.exports="".repeat||function(t){var n=String(o(this)),e="",i=r(t);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(n+=n))1&i&&(e+=n);return e}},function(t,n,e){var r=e(2),o=e(147);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(t,n,e){var r=e(5),o=e(6),i=e(60),a=e(43),u=e(7),c=e(46),f=e(10),s=Object.assign,l=Object.defineProperty;t.exports=!s||o((function(){if(r&&1!==s({b:1},s(l({},"a",{enumerable:!0,get:function(){l(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol();return t[e]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),7!=s({},t)[e]||"abcdefghijklmnopqrst"!=i(s({},n)).join("")}))?function(t,n){for(var e=c(t),o=arguments.length,s=1,l=a.f,p=u.f;o>s;)for(var h,v=f(arguments[s++]),g=l?i(v).concat(l(v)):i(v),d=g.length,y=0;d>y;)h=g[y++],r&&!p.call(v,h)||(e[h]=v[h]);return e}:s},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(65),c=e(19);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(t,n){c.f(a(this),t,{get:u(n),enumerable:!0,configurable:!0})}})},function(t,n,e){var r=e(29),o=e(3),i=e(6);t.exports=r||!i((function(){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete o[t]}))},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(65),c=e(19);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(t,n){c.f(a(this),t,{set:u(n),enumerable:!0,configurable:!0})}})},function(t,n,e){var r=e(2),o=e(152).entries;r({target:"Object",stat:!0},{entries:function(t){return o(t)}})},function(t,n,e){var r=e(5),o=e(60),i=e(9),a=e(7).f,u=function(t){return function(n){for(var e,u=i(n),c=o(u),f=c.length,s=0,l=[];f>s;)e=c[s++],r&&!a.call(u,e)||l.push(t?[e,u[e]]:u[e]);return l}};t.exports={entries:u(!0),values:u(!1)}},function(t,n,e){var r=e(2),o=e(121),i=e(6),a=e(14),u=e(120).onFreeze,c=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){c(1)})),sham:!o},{freeze:function(t){return c&&a(t)?c(u(t)):t}})},function(t,n,e){var r=e(2),o=e(122),i=e(47);r({target:"Object",stat:!0},{fromEntries:function(t){var n={};return o(t,(function(t,e){i(n,t,e)}),void 0,!0),n}})},function(t,n,e){var r=e(2),o=e(6),i=e(9),a=e(4).f,u=e(5),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(t,n){return a(i(t),n)}})},function(t,n,e){var r=e(2),o=e(5),i=e(33),a=e(9),u=e(4),c=e(47);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var n,e,r=a(t),o=u.f,f=i(r),s={},l=0;f.length>l;)void 0!==(e=o(r,n=f[l++]))&&c(s,n,e);return s}})},function(t,n,e){var r=e(2),o=e(6),i=e(158).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},function(t,n,e){var r=e(9),o=e(36).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(r(t))}},function(t,n,e){var r=e(2),o=e(6),i=e(46),a=e(93),u=e(94);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(t){return a(i(t))}})},function(t,n,e){e(2)({target:"Object",stat:!0},{is:e(161)})},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isExtensible;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isExtensible:function(t){return!!i(t)&&(!a||a(t))}})},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(t){return!i(t)||!!a&&a(t)}})},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isSealed:function(t){return!i(t)||!!a&&a(t)}})},function(t,n,e){var r=e(2),o=e(46),i=e(60);r({target:"Object",stat:!0,forced:e(6)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(13),c=e(93),f=e(4).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(t){var n,e=a(this),r=u(t,!0);do{if(n=f(e,r))return n.get}while(e=c(e))}})},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(13),c=e(93),f=e(4).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(t){var n,e=a(this),r=u(t,!0);do{if(n=f(e,r))return n.set}while(e=c(e))}})},function(t,n,e){var r=e(2),o=e(14),i=e(120).onFreeze,a=e(121),u=e(6),c=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{preventExtensions:function(t){return c&&o(t)?c(i(t)):t}})},function(t,n,e){var r=e(2),o=e(14),i=e(120).onFreeze,a=e(121),u=e(6),c=Object.seal;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{seal:function(t){return c&&o(t)?c(i(t)):t}})},function(t,n,e){var r=e(85),o=e(21),i=e(171);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(t,n,e){var r=e(85),o=e(84);t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(t,n,e){var r=e(2),o=e(152).values;r({target:"Object",stat:!0},{values:function(t){return o(t)}})},function(t,n,e){var r,o,i,a,u=e(2),c=e(29),f=e(3),s=e(34),l=e(174),p=e(21),h=e(126),v=e(95),g=e(109),d=e(14),y=e(65),x=e(123),m=e(11),b=e(23),S=e(122),E=e(86),w=e(175),O=e(176).set,R=e(178),A=e(179),j=e(181),I=e(180),k=e(182),P=e(25),L=e(44),T=e(49),_=e(53),U=T("species"),N="Promise",C=P.get,F=P.set,M=P.getterFor(N),z=l,D=f.TypeError,q=f.document,B=f.process,W=s("fetch"),$=I.f,G=$,V="process"==m(B),X=!!(q&&q.createEvent&&f.dispatchEvent),Y=L(N,(function(){if(!(b(z)!==String(z))){if(66===_)return!0;if(!V&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!z.prototype.finally)return!0;if(_>=51&&/native code/.test(z))return!1;var t=z.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[U]=n,!(t.then((function(){}))instanceof n)})),K=Y||!E((function(t){z.all(t).catch((function(){}))})),J=function(t){var n;return!(!d(t)||"function"!=typeof(n=t.then))&&n},H=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;R((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,p=s.resolve,h=s.reject,v=s.domain;try{l?(i||(2===n.rejection&&nt(t,n),n.rejection=1),!0===l?u=o:(v&&v.enter(),u=l(o),v&&(v.exit(),f=!0)),u===s.promise?h(D("Promise-chain cycle")):(c=J(u))?c.call(u,p,h):p(u)):h(o)}catch(t){v&&!f&&v.exit(),h(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Z(t,n)}))}},Q=function(t,n,e){var r,o;X?((r=q.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),f.dispatchEvent(r)):r={promise:n,reason:e},(o=f["on"+t])?o(r):"unhandledrejection"===t&&j("Unhandled promise rejection",e)},Z=function(t,n){O.call(f,(function(){var e,r=n.value;if(tt(n)&&(e=k((function(){V?B.emit("unhandledRejection",r,t):Q("unhandledrejection",t,r)})),n.rejection=V||tt(n)?2:1,e.error))throw e.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},nt=function(t,n){O.call(f,(function(){V?B.emit("rejectionHandled",t):Q("rejectionhandled",t,n.value)}))},et=function(t,n,e,r){return function(o){t(n,e,o,r)}},rt=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,H(t,n,!0))},ot=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw D("Promise can't be resolved itself");var o=J(e);o?R((function(){var r={done:!1};try{o.call(e,et(ot,t,r,n),et(rt,t,r,n))}catch(e){rt(t,r,e,n)}})):(n.value=e,n.state=1,H(t,n,!1))}catch(e){rt(t,{done:!1},e,n)}}};Y&&(z=function(t){x(this,z,N),y(t),r.call(this);var n=C(this);try{t(et(ot,this,n),et(rt,this,n))}catch(t){rt(this,n,t)}},(r=function(t){F(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=h(z.prototype,{then:function(t,n){var e=M(this),r=$(w(this,z));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=V?B.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&H(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,n=C(t);this.promise=t,this.resolve=et(ot,t,n),this.reject=et(rt,t,n)},I.f=$=function(t){return t===z||t===i?new o(t):G(t)},c||"function"!=typeof l||(a=l.prototype.then,p(l.prototype,"then",(function(t,n){var e=this;return new z((function(t,n){a.call(e,t,n)})).then(t,n)}),{unsafe:!0}),"function"==typeof W&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(z,W.apply(f,arguments))}}))),u({global:!0,wrap:!0,forced:Y},{Promise:z}),v(z,N,!1,!0),g(N),i=s(N),u({target:N,stat:!0,forced:Y},{reject:function(t){var n=$(this);return n.reject.call(void 0,t),n.promise}}),u({target:N,stat:!0,forced:c||Y},{resolve:function(t){return A(c&&this===i?z:this,t)}}),u({target:N,stat:!0,forced:K},{all:function(t){var n=this,e=$(n),r=e.resolve,o=e.reject,i=k((function(){var e=y(n.resolve),i=[],a=0,u=1;S(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=$(n),r=e.reject,o=k((function(){var o=y(n.resolve);S(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}})},function(t,n,e){var r=e(3);t.exports=r.Promise},function(t,n,e){var r=e(20),o=e(65),i=e(49)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[i])?n:o(e)}},function(t,n,e){var r,o,i,a=e(3),u=e(6),c=e(11),f=e(64),s=e(61),l=e(17),p=e(177),h=a.location,v=a.setImmediate,g=a.clearImmediate,d=a.process,y=a.MessageChannel,x=a.Dispatch,m=0,b={},S=function(t){if(b.hasOwnProperty(t)){var n=b[t];delete b[t],n()}},E=function(t){return function(){S(t)}},w=function(t){S(t.data)},O=function(t){a.postMessage(t+"",h.protocol+"//"+h.host)};v&&g||(v=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return b[++m]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},r(m),m},g=function(t){delete b[t]},"process"==c(d)?r=function(t){d.nextTick(E(t))}:x&&x.now?r=function(t){x.now(E(t))}:y&&!p?(i=(o=new y).port2,o.port1.onmessage=w,r=f(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(O)||"file:"===h.protocol?r="onreadystatechange"in l("script")?function(t){s.appendChild(l("script")).onreadystatechange=function(){s.removeChild(this),S(t)}}:function(t){setTimeout(E(t),0)}:(r=O,a.addEventListener("message",w,!1))),t.exports={set:v,clear:g}},function(t,n,e){var r=e(54);t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(t,n,e){var r,o,i,a,u,c,f,s,l=e(3),p=e(4).f,h=e(11),v=e(176).set,g=e(177),d=l.MutationObserver||l.WebKitMutationObserver,y=l.process,x=l.Promise,m="process"==h(y),b=p(l,"queueMicrotask"),S=b&&b.value;S||(r=function(){var t,n;for(m&&(t=y.domain)&&t.exit();o;){n=o.fn,o=o.next;try{n()}catch(t){throw o?a():i=void 0,t}}i=void 0,t&&t.enter()},m?a=function(){y.nextTick(r)}:d&&!g?(u=!0,c=document.createTextNode(""),new d(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):x&&x.resolve?(f=x.resolve(void 0),s=f.then,a=function(){s.call(f,r)}):a=function(){v.call(l,r)}),t.exports=S||function(t){var n={fn:t,next:void 0};i&&(i.next=n),o||(o=n,a()),i=n}},function(t,n,e){var r=e(20),o=e(14),i=e(180);t.exports=function(t,n){if(r(t),o(n)&&n.constructor===t)return n;var e=i.f(t);return(0,e.resolve)(n),e.promise}},function(t,n,e){var r=e(65),o=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=r(n),this.reject=r(e)};t.exports.f=function(t){return new o(t)}},function(t,n,e){var r=e(3);t.exports=function(t,n){var e=r.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}},function(t,n){t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},function(t,n,e){var r=e(2),o=e(65),i=e(180),a=e(182),u=e(122);r({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=i.f(n),r=e.resolve,c=e.reject,f=a((function(){var e=o(n.resolve),i=[],a=0,c=1;u(t,(function(t){var o=a++,u=!1;i.push(void 0),c++,e.call(n,t).then((function(t){u||(u=!0,i[o]={status:"fulfilled",value:t},--c||r(i))}),(function(t){u||(u=!0,i[o]={status:"rejected",reason:t},--c||r(i))}))})),--c||r(i)}));return f.error&&c(f.value),e.promise}})},function(t,n,e){var r=e(2),o=e(29),i=e(174),a=e(6),u=e(34),c=e(175),f=e(179),s=e(21);r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var n=c(this,u("Promise")),e="function"==typeof t;return this.then(e?function(e){return f(n,t()).then((function(){return e}))}:t,e?function(e){return f(n,t()).then((function(){throw e}))}:t)}}),o||"function"!=typeof i||i.prototype.finally||s(i.prototype,"finally",u("Promise").prototype.finally)},function(t,n,e){var r=e(5),o=e(3),i=e(44),a=e(124),u=e(19).f,c=e(36).f,f=e(186),s=e(187),l=e(188),p=e(21),h=e(6),v=e(25).set,g=e(109),d=e(49)("match"),y=o.RegExp,x=y.prototype,m=/a/g,b=/a/g,S=new y(m)!==m,E=l.UNSUPPORTED_Y;if(r&&i("RegExp",!S||E||h((function(){return b[d]=!1,y(m)!=m||y(b)==b||"/a/i"!=y(m,"i")})))){for(var w=function(t,n){var e,r=this instanceof w,o=f(t),i=void 0===n;if(!r&&o&&t.constructor===w&&i)return t;S?o&&!i&&(t=t.source):t instanceof w&&(i&&(n=s.call(t)),t=t.source),E&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var u=a(S?new y(t,n):y(t,n),r?this:x,w);return E&&e&&v(u,{sticky:e}),u},O=function(t){t in w||u(w,t,{configurable:!0,get:function(){return y[t]},set:function(n){y[t]=n}})},R=c(y),A=0;R.length>A;)O(R[A++]);x.constructor=w,w.prototype=x,p(o,"RegExp",w)}g("RegExp")},function(t,n,e){var r=e(14),o=e(11),i=e(49)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},function(t,n,e){var r=e(20);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){var r=e(6);function o(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(2),o=e(190);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(t,n,e){var r,o,i=e(187),a=e(188),u=RegExp.prototype.exec,c=String.prototype.replace,f=u,s=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(s||p||l)&&(f=function(t){var n,e,r,o,a=this,f=l&&a.sticky,h=i.call(a),v=a.source,g=0,d=t;return f&&(-1===(h=h.replace("y","")).indexOf("g")&&(h+="g"),d=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(v="(?: "+v+")",d=" "+d,g++),e=new RegExp("^(?:"+v+")",h)),p&&(e=new RegExp("^"+v+"$(?!\\s)",h)),s&&(n=a.lastIndex),r=u.call(f?e:a,d),f?r?(r.input=r.input.slice(g),r[0]=r[0].slice(g),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:s&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&c.call(r[0],e,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r}),t.exports=f},function(t,n,e){var r=e(5),o=e(19),i=e(187),a=e(188).UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&o.f(RegExp.prototype,"flags",{configurable:!0,get:i})},function(t,n,e){var r=e(5),o=e(188).UNSUPPORTED_Y,i=e(19).f,a=e(25).get,u=RegExp.prototype;r&&o&&i(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==u){if(this instanceof RegExp)return!!a(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}})},function(t,n,e){e(189);var r,o,i=e(2),a=e(14),u=(r=!1,(o=/[ac]/).exec=function(){return r=!0,/./.exec.apply(this,arguments)},!0===o.test("abc")&&r),c=/./.test;i({target:"RegExp",proto:!0,forced:!u},{test:function(t){if("function"!=typeof this.exec)return c.call(this,t);var n=this.exec(t);if(null!==n&&!a(n))throw new Error("RegExp exec method returned something other than an Object or null");return!!n}})},function(t,n,e){var r=e(21),o=e(20),i=e(6),a=e(187),u=RegExp.prototype,c=u.toString,f=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),s="toString"!=c.name;(f||s)&&r(RegExp.prototype,"toString",(function(){var t=o(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in u)?a.call(t):e)}),{unsafe:!0})},function(t,n,e){var r=e(119),o=e(125);t.exports=r("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},function(t,n,e){var r=e(2),o=e(197).codeAt;r({target:"String",proto:!0},{codePointAt:function(t){return o(this,t)}})},function(t,n,e){var r=e(40),o=e(12),i=function(t){return function(n,e){var i,a,u=String(o(n)),c=r(e),f=u.length;return c<0||c>=f?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===f||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},function(t,n,e){var r,o=e(2),i=e(4).f,a=e(39),u=e(199),c=e(12),f=e(200),s=e(29),l="".endsWith,p=Math.min,h=f("endsWith");o({target:"String",proto:!0,forced:!!(s||h||(r=i(String.prototype,"endsWith"),!r||r.writable))&&!h},{endsWith:function(t){var n=String(c(this));u(t);var e=arguments.length>1?arguments[1]:void 0,r=a(n.length),o=void 0===e?r:p(a(e),r),i=String(t);return l?l.call(n,i,o):n.slice(o-i.length,o)===i}})},function(t,n,e){var r=e(186);t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},function(t,n,e){var r=e(49)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[r]=!1,"/./"[t](n)}catch(t){}}return!1}},function(t,n,e){var r=e(2),o=e(41),i=String.fromCharCode,a=String.fromCodePoint;r({target:"String",stat:!0,forced:!!a&&1!=a.length},{fromCodePoint:function(t){for(var n,e=[],r=arguments.length,a=0;r>a;){if(n=+arguments[a++],o(n,1114111)!==n)throw RangeError(n+" is not a valid code point");e.push(n<65536?i(n):i(55296+((n-=65536)>>10),n%1024+56320))}return e.join("")}})},function(t,n,e){var r=e(2),o=e(199),i=e(12);r({target:"String",proto:!0,forced:!e(200)("includes")},{includes:function(t){return!!~String(i(this)).indexOf(o(t),arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(197).charAt,o=e(25),i=e(90),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=u(this),e=n.string,o=n.index;return o>=e.length?{value:void 0,done:!0}:(t=r(e,o),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(205),o=e(20),i=e(39),a=e(12),u=e(206),c=e(207);r("match",1,(function(t,n,e){return[function(n){var e=a(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var a=o(t),f=String(this);if(!a.global)return c(a,f);var s=a.unicode;a.lastIndex=0;for(var l,p=[],h=0;null!==(l=c(a,f));){var v=String(l[0]);p[h]=v,""===v&&(a.lastIndex=u(f,i(a.lastIndex),s)),h++}return 0===h?null:p}]}))},function(t,n,e){e(189);var r=e(21),o=e(6),i=e(49),a=e(190),u=e(18),c=i("species"),f=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),s="$0"==="a".replace(/./,"$0"),l=i("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),h=!o((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var v=i(t),g=!o((function(){var n={};return n[v]=function(){return 7},7!=""[t](n)})),d=g&&!o((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[c]=function(){return e},e.flags="",e[v]=/./[v]),e.exec=function(){return n=!0,null},e[v](""),!n}));if(!g||!d||"replace"===t&&(!f||!s||p)||"split"===t&&!h){var y=/./[v],x=e(v,""[t],(function(t,n,e,r,o){return n.exec===a?g&&!o?{done:!0,value:y.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:s,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),m=x[0],b=x[1];r(String.prototype,t,m),r(RegExp.prototype,v,2==n?function(t,n){return b.call(t,this,n)}:function(t){return b.call(t,this)})}l&&u(RegExp.prototype[v],"sham",!0)}},function(t,n,e){var r=e(197).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r=e(11),o=e(190);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var i=e.call(t,n);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,n)}},function(t,n,e){var r=e(2),o=e(91),i=e(12),a=e(39),u=e(65),c=e(20),f=e(11),s=e(186),l=e(187),p=e(18),h=e(6),v=e(49),g=e(175),d=e(206),y=e(25),x=e(29),m=v("matchAll"),b=y.set,S=y.getterFor("RegExp String Iterator"),E=RegExp.prototype,w=E.exec,O="".matchAll,R=!!O&&!h((function(){"a".matchAll(/./)})),A=o((function(t,n,e,r){b(this,{type:"RegExp String Iterator",regexp:t,string:n,global:e,unicode:r,done:!1})}),"RegExp String",(function(){var t=S(this);if(t.done)return{value:void 0,done:!0};var n=t.regexp,e=t.string,r=function(t,n){var e,r=t.exec;if("function"==typeof r){if("object"!=typeof(e=r.call(t,n)))throw TypeError("Incorrect exec result");return e}return w.call(t,n)}(n,e);return null===r?{value:void 0,done:t.done=!0}:t.global?(""==String(r[0])&&(n.lastIndex=d(e,a(n.lastIndex),t.unicode)),{value:r,done:!1}):(t.done=!0,{value:r,done:!1})})),j=function(t){var n,e,r,o,i,u,f=c(this),s=String(t);return n=g(f,RegExp),void 0===(e=f.flags)&&f instanceof RegExp&&!("flags"in E)&&(e=l.call(f)),r=void 0===e?"":String(e),o=new n(n===RegExp?f.source:f,r),i=!!~r.indexOf("g"),u=!!~r.indexOf("u"),o.lastIndex=a(f.lastIndex),new A(o,s,i,u)};r({target:"String",proto:!0,forced:R},{matchAll:function(t){var n,e,r,o=i(this);if(null!=t){if(s(t)&&!~String(i("flags"in E?t.flags:l.call(t))).indexOf("g"))throw TypeError("`.matchAll` does not allow non-global regexes");if(R)return O.apply(o,arguments);if(void 0===(e=t[m])&&x&&"RegExp"==f(t)&&(e=j),null!=e)return u(e).call(t,o)}else if(R)return O.apply(o,arguments);return n=String(o),r=new RegExp(t,"g"),x?j.call(r,n):r[m](n)}}),x||m in E||p(E,m,j)},function(t,n,e){var r=e(2),o=e(210).end;r({target:"String",proto:!0,forced:e(211)},{padEnd:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(39),o=e(145),i=e(12),a=Math.ceil,u=function(t){return function(n,e,u){var c,f,s=String(i(n)),l=s.length,p=void 0===u?" ":String(u),h=r(e);return h<=l||""==p?s:(c=h-l,(f=o.call(p,a(c/p.length))).length>c&&(f=f.slice(0,c)),t?s+f:f+s)}};t.exports={start:u(!1),end:u(!0)}},function(t,n,e){var r=e(54);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},function(t,n,e){var r=e(2),o=e(210).start;r({target:"String",proto:!0,forced:e(211)},{padStart:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(9),i=e(39);r({target:"String",stat:!0},{raw:function(t){for(var n=o(t.raw),e=i(n.length),r=arguments.length,a=[],u=0;e>u;)a.push(String(n[u++])),u<r&&a.push(String(arguments[u]));return a.join("")}})},function(t,n,e){e(2)({target:"String",proto:!0},{repeat:e(145)})},function(t,n,e){var r=e(205),o=e(20),i=e(46),a=e(39),u=e(40),c=e(12),f=e(206),s=e(207),l=Math.max,p=Math.min,h=Math.floor,v=/\$([$&'`]|\d\d?|<[^>]*>)/g,g=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var d=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=r.REPLACE_KEEPS_$0,x=d?"$":"$0";return[function(e,r){var o=c(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,r){if(!d&&y||"string"==typeof r&&-1===r.indexOf(x)){var i=e(n,t,this,r);if(i.done)return i.value}var c=o(t),h=String(this),v="function"==typeof r;v||(r=String(r));var g=c.global;if(g){var b=c.unicode;c.lastIndex=0}for(var S=[];;){var E=s(c,h);if(null===E)break;if(S.push(E),!g)break;""===String(E[0])&&(c.lastIndex=f(h,a(c.lastIndex),b))}for(var w,O="",R=0,A=0;A<S.length;A++){E=S[A];for(var j=String(E[0]),I=l(p(u(E.index),h.length),0),k=[],P=1;P<E.length;P++)k.push(void 0===(w=E[P])?w:String(w));var L=E.groups;if(v){var T=[j].concat(k,I,h);void 0!==L&&T.push(L);var _=String(r.apply(void 0,T))}else _=m(j,h,I,k,L,r);I>=R&&(O+=h.slice(R,I)+_,R=I+j.length)}return O+h.slice(R)}];function m(t,e,r,o,a,u){var c=r+t.length,f=o.length,s=g;return void 0!==a&&(a=i(a),s=v),n.call(u,s,(function(n,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[i.slice(1,-1)];break;default:var s=+i;if(0===s)return n;if(s>f){var l=h(s/10);return 0===l?n:l<=f?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):n}u=o[s-1]}return void 0===u?"":u}))}}))},function(t,n,e){var r=e(205),o=e(20),i=e(12),a=e(161),u=e(207);r("search",1,(function(t,n,e){return[function(n){var e=i(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var i=o(t),c=String(this),f=i.lastIndex;a(f,0)||(i.lastIndex=0);var s=u(i,c);return a(i.lastIndex,f)||(i.lastIndex=f),null===s?-1:s.index}]}))},function(t,n,e){var r=e(205),o=e(186),i=e(20),a=e(12),u=e(175),c=e(206),f=e(39),s=e(207),l=e(190),p=e(6),h=[].push,v=Math.min,g=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),i=void 0===e?4294967295:e>>>0;if(0===i)return[];if(void 0===t)return[r];if(!o(t))return n.call(r,t,i);for(var u,c,f,s=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,g=new RegExp(t.source,p+"g");(u=l.call(g,r))&&!((c=g.lastIndex)>v&&(s.push(r.slice(v,u.index)),u.length>1&&u.index<r.length&&h.apply(s,u.slice(1)),f=u[0].length,v=c,s.length>=i));)g.lastIndex===u.index&&g.lastIndex++;return v===r.length?!f&&g.test("")||s.push(""):s.push(r.slice(v)),s.length>i?s.slice(0,i):s}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var o=a(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,e):r.call(String(o),n,e)},function(t,o){var a=e(r,t,this,o,r!==n);if(a.done)return a.value;var l=i(t),p=String(this),h=u(l,RegExp),d=l.unicode,y=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(g?"y":"g"),x=new h(g?l:"^(?:"+l.source+")",y),m=void 0===o?4294967295:o>>>0;if(0===m)return[];if(0===p.length)return null===s(x,p)?[p]:[];for(var b=0,S=0,E=[];S<p.length;){x.lastIndex=g?S:0;var w,O=s(x,g?p:p.slice(S));if(null===O||(w=v(f(x.lastIndex+(g?0:S)),p.length))===b)S=c(p,S,d);else{if(E.push(p.slice(b,S)),E.length===m)return E;for(var R=1;R<=O.length-1;R++)if(E.push(O[R]),E.length===m)return E;S=b=w}}return E.push(p.slice(b)),E}]}),!g)},function(t,n,e){var r,o=e(2),i=e(4).f,a=e(39),u=e(199),c=e(12),f=e(200),s=e(29),l="".startsWith,p=Math.min,h=f("startsWith");o({target:"String",proto:!0,forced:!!(s||h||(r=i(String.prototype,"startsWith"),!r||r.writable))&&!h},{startsWith:function(t){var n=String(c(this));u(t);var e=a(p(arguments.length>1?arguments[1]:void 0,n.length)),r=String(t);return l?l.call(n,r,e):n.slice(e,e+r.length)===r}})},function(t,n,e){var r=e(2),o=e(128).trim;r({target:"String",proto:!0,forced:e(220)("trim")},{trim:function(){return o(this)}})},function(t,n,e){var r=e(6),o=e(129);t.exports=function(t){return r((function(){return!!o[t]()||"​…᠎"!="​…᠎"[t]()||o[t].name!==t}))}},function(t,n,e){var r=e(2),o=e(128).end,i=e(220)("trimEnd"),a=i?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:i},{trimEnd:a,trimRight:a})},function(t,n,e){var r=e(2),o=e(128).start,i=e(220)("trimStart"),a=i?function(){return o(this)}:"".trimStart;r({target:"String",proto:!0,forced:i},{trimStart:a,trimLeft:a})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("anchor")},{anchor:function(t){return o(this,"a","name",t)}})},function(t,n,e){var r=e(12),o=/"/g;t.exports=function(t,n,e,i){var a=String(r(t)),u="<"+n;return""!==e&&(u+=" "+e+'="'+String(i).replace(o,"&quot;")+'"'),u+">"+a+"</"+n+">"}},function(t,n,e){var r=e(6);t.exports=function(t){return r((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3}))}},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("big")},{big:function(){return o(this,"big","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("blink")},{blink:function(){return o(this,"blink","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("bold")},{bold:function(){return o(this,"b","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fixed")},{fixed:function(){return o(this,"tt","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fontcolor")},{fontcolor:function(t){return o(this,"font","color",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fontsize")},{fontsize:function(t){return o(this,"font","size",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("italics")},{italics:function(){return o(this,"i","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("link")},{link:function(t){return o(this,"a","href",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("small")},{small:function(){return o(this,"small","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("strike")},{strike:function(){return o(this,"strike","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("sub")},{sub:function(){return o(this,"sub","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("sup")},{sup:function(){return o(this,"sup","","")}})},function(t,n,e){var r,o=e(3),i=e(126),a=e(120),u=e(119),c=e(239),f=e(14),s=e(25).enforce,l=e(26),p=!o.ActiveXObject&&"ActiveXObject"in o,h=Object.isExtensible,v=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},g=t.exports=u("WeakMap",v,c);if(l&&p){r=c.getConstructor(v,"WeakMap",!0),a.REQUIRED=!0;var d=g.prototype,y=d.delete,x=d.has,m=d.get,b=d.set;i(d,{delete:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),y.call(this,t)||n.frozen.delete(t)}return y.call(this,t)},has:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),x.call(this,t)||n.frozen.has(t)}return x.call(this,t)},get:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),x.call(this,t)?m.call(this,t):n.frozen.get(t)}return m.call(this,t)},set:function(t,n){if(f(t)&&!h(t)){var e=s(this);e.frozen||(e.frozen=new r),x.call(this,t)?b.call(this,t,n):e.frozen.set(t,n)}else b.call(this,t,n);return this}})}},function(t,n,e){var r=e(126),o=e(120).getWeakData,i=e(20),a=e(14),u=e(123),c=e(122),f=e(63),s=e(15),l=e(25),p=l.set,h=l.getterFor,v=f.find,g=f.findIndex,d=0,y=function(t){return t.frozen||(t.frozen=new x)},x=function(){this.entries=[]},m=function(t,n){return v(t.entries,(function(t){return t[0]===n}))};x.prototype={get:function(t){var n=m(this,t);if(n)return n[1]},has:function(t){return!!m(this,t)},set:function(t,n){var e=m(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=g(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,e,f){var l=t((function(t,r){u(t,l,n),p(t,{type:n,id:d++,frozen:void 0}),null!=r&&c(r,t[f],t,e)})),v=h(n),g=function(t,n,e){var r=v(t),a=o(i(n),!0);return!0===a?y(r).set(n,e):a[r.id]=e,t};return r(l.prototype,{delete:function(t){var n=v(this);if(!a(t))return!1;var e=o(t);return!0===e?y(n).delete(t):e&&s(e,n.id)&&delete e[n.id]},has:function(t){var n=v(this);if(!a(t))return!1;var e=o(t);return!0===e?y(n).has(t):e&&s(e,n.id)}}),r(l.prototype,e?{get:function(t){var n=v(this);if(a(t)){var e=o(t);return!0===e?y(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return g(this,t,n)}}:{add:function(t){return g(this,t,!0)}}),l}}},function(t,n,e){e(119)("WeakSet",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),e(239))},function(t,n,e){var r=e(3),o=e(242),i=e(77),a=e(18);for(var u in o){var c=r[u],f=c&&c.prototype;if(f&&f.forEach!==i)try{a(f,"forEach",i)}catch(t){f.forEach=i}}},function(t,n){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,n,e){e(203);var r,o=e(2),i=e(5),a=e(244),u=e(3),c=e(59),f=e(21),s=e(123),l=e(15),p=e(147),h=e(79),v=e(197).codeAt,g=e(245),d=e(95),y=e(246),x=e(25),m=u.URL,b=y.URLSearchParams,S=y.getState,E=x.set,w=x.getterFor("URL"),O=Math.floor,R=Math.pow,A=/[A-Za-z]/,j=/[\d+-.A-Za-z]/,I=/\d/,k=/^(0x|0X)/,P=/^[0-7]+$/,L=/^\d+$/,T=/^[\dA-Fa-f]+$/,_=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,U=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,N=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,C=/[\u0009\u000A\u000D]/g,F=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return"Invalid host";if(!(e=z(n.slice(1,-1))))return"Invalid host";t.host=e}else if(X(t)){if(n=g(n),_.test(n))return"Invalid host";if(null===(e=M(n)))return"Invalid host";t.host=e}else{if(U.test(n))return"Invalid host";for(e="",r=h(n),o=0;o<r.length;o++)e+=G(r[o],q);t.host=e}},M=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=k.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?L:8==i?P:T).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=R(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*R(256,3-r);return u},z=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,p=function(){return t.charAt(l)};if(":"==p()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;p();){if(8==f)return;if(":"!=p()){for(n=e=0;e<4&&T.test(p());)n=16*n+parseInt(p(),16),l++,e++;if("."==p()){if(0==e)return;if(l-=e,f>6)return;for(r=0;p();){if(o=null,r>0){if(!("."==p()&&r<4))return;l++}if(!I.test(p()))return;for(;I.test(p());){if(i=parseInt(p(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==p()){if(l++,!p())return}else if(p())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},D=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=O(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},q={},B=p({},q,{" ":1,'"':1,"<":1,">":1,"`":1}),W=p({},B,{"#":1,"?":1,"{":1,"}":1}),$=p({},W,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),G=function(t,n){var e=v(t,0);return e>32&&e<127&&!l(n,t)?t:encodeURIComponent(t)},V={ftp:21,file:null,http:80,https:443,ws:80,wss:443},X=function(t){return l(V,t.scheme)},Y=function(t){return""!=t.username||""!=t.password},K=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},J=function(t,n){var e;return 2==t.length&&A.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},H=function(t){var n;return t.length>1&&J(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},Q=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&J(n[0],!0)||n.pop()},Z=function(t){return"."===t||"%2e"===t.toLowerCase()},tt={},nt={},et={},rt={},ot={},it={},at={},ut={},ct={},ft={},st={},lt={},pt={},ht={},vt={},gt={},dt={},yt={},xt={},mt={},bt={},St=function(t,n,e,o){var i,a,u,c,f,s=e||tt,p=0,v="",g=!1,d=!1,y=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(N,"")),n=n.replace(C,""),i=h(n);p<=i.length;){switch(a=i[p],s){case tt:if(!a||!A.test(a)){if(e)return"Invalid scheme";s=et;continue}v+=a.toLowerCase(),s=nt;break;case nt:if(a&&(j.test(a)||"+"==a||"-"==a||"."==a))v+=a.toLowerCase();else{if(":"!=a){if(e)return"Invalid scheme";v="",s=et,p=0;continue}if(e&&(X(t)!=l(V,v)||"file"==v&&(Y(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=v,e)return void(X(t)&&V[t.scheme]==t.port&&(t.port=null));v="","file"==t.scheme?s=ht:X(t)&&o&&o.scheme==t.scheme?s=rt:X(t)?s=ut:"/"==i[p+1]?(s=ot,p++):(t.cannotBeABaseURL=!0,t.path.push(""),s=xt)}break;case et:if(!o||o.cannotBeABaseURL&&"#"!=a)return"Invalid scheme";if(o.cannotBeABaseURL&&"#"==a){t.scheme=o.scheme,t.path=o.path.slice(),t.query=o.query,t.fragment="",t.cannotBeABaseURL=!0,s=bt;break}s="file"==o.scheme?ht:it;continue;case rt:if("/"!=a||"/"!=i[p+1]){s=it;continue}s=ct,p++;break;case ot:if("/"==a){s=ft;break}s=yt;continue;case it:if(t.scheme=o.scheme,a==r)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query;else if("/"==a||"\\"==a&&X(t))s=at;else if("?"==a)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query="",s=mt;else{if("#"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.path.pop(),s=yt;continue}t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query,t.fragment="",s=bt}break;case at:if(!X(t)||"/"!=a&&"\\"!=a){if("/"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,s=yt;continue}s=ft}else s=ct;break;case ut:if(s=ct,"/"!=a||"/"!=v.charAt(p+1))continue;p++;break;case ct:if("/"!=a&&"\\"!=a){s=ft;continue}break;case ft:if("@"==a){g&&(v="%40"+v),g=!0,u=h(v);for(var x=0;x<u.length;x++){var m=u[x];if(":"!=m||y){var b=G(m,$);y?t.password+=b:t.username+=b}else y=!0}v=""}else if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)){if(g&&""==v)return"Invalid authority";p-=h(v).length+1,v="",s=st}else v+=a;break;case st:case lt:if(e&&"file"==t.scheme){s=gt;continue}if(":"!=a||d){if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)){if(X(t)&&""==v)return"Invalid host";if(e&&""==v&&(Y(t)||null!==t.port))return;if(c=F(t,v))return c;if(v="",s=dt,e)return;continue}"["==a?d=!0:"]"==a&&(d=!1),v+=a}else{if(""==v)return"Invalid host";if(c=F(t,v))return c;if(v="",s=pt,e==lt)return}break;case pt:if(!I.test(a)){if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)||e){if(""!=v){var S=parseInt(v,10);if(S>65535)return"Invalid port";t.port=X(t)&&S===V[t.scheme]?null:S,v=""}if(e)return;s=dt;continue}return"Invalid port"}v+=a;break;case ht:if(t.scheme="file","/"==a||"\\"==a)s=vt;else{if(!o||"file"!=o.scheme){s=yt;continue}if(a==r)t.host=o.host,t.path=o.path.slice(),t.query=o.query;else if("?"==a)t.host=o.host,t.path=o.path.slice(),t.query="",s=mt;else{if("#"!=a){H(i.slice(p).join(""))||(t.host=o.host,t.path=o.path.slice(),Q(t)),s=yt;continue}t.host=o.host,t.path=o.path.slice(),t.query=o.query,t.fragment="",s=bt}}break;case vt:if("/"==a||"\\"==a){s=gt;break}o&&"file"==o.scheme&&!H(i.slice(p).join(""))&&(J(o.path[0],!0)?t.path.push(o.path[0]):t.host=o.host),s=yt;continue;case gt:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!e&&J(v))s=yt;else if(""==v){if(t.host="",e)return;s=dt}else{if(c=F(t,v))return c;if("localhost"==t.host&&(t.host=""),e)return;v="",s=dt}continue}v+=a;break;case dt:if(X(t)){if(s=yt,"/"!=a&&"\\"!=a)continue}else if(e||"?"!=a)if(e||"#"!=a){if(a!=r&&(s=yt,"/"!=a))continue}else t.fragment="",s=bt;else t.query="",s=mt;break;case yt:if(a==r||"/"==a||"\\"==a&&X(t)||!e&&("?"==a||"#"==a)){if(".."===(f=(f=v).toLowerCase())||"%2e."===f||".%2e"===f||"%2e%2e"===f?(Q(t),"/"==a||"\\"==a&&X(t)||t.path.push("")):Z(v)?"/"==a||"\\"==a&&X(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&J(v)&&(t.host&&(t.host=""),v=v.charAt(0)+":"),t.path.push(v)),v="","file"==t.scheme&&(a==r||"?"==a||"#"==a))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==a?(t.query="",s=mt):"#"==a&&(t.fragment="",s=bt)}else v+=G(a,W);break;case xt:"?"==a?(t.query="",s=mt):"#"==a?(t.fragment="",s=bt):a!=r&&(t.path[0]+=G(a,q));break;case mt:e||"#"!=a?a!=r&&("'"==a&&X(t)?t.query+="%27":t.query+="#"==a?"%23":G(a,q)):(t.fragment="",s=bt);break;case bt:a!=r&&(t.fragment+=G(a,B))}p++}},Et=function(t){var n,e,r=s(this,Et,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(t),u=E(r,{type:"URL"});if(void 0!==o)if(o instanceof Et)n=w(o);else if(e=St(n={},String(o)))throw TypeError(e);if(e=St(u,a,null,n))throw TypeError(e);var c=u.searchParams=new b,f=S(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},i||(r.href=Ot.call(r),r.origin=Rt.call(r),r.protocol=At.call(r),r.username=jt.call(r),r.password=It.call(r),r.host=kt.call(r),r.hostname=Pt.call(r),r.port=Lt.call(r),r.pathname=Tt.call(r),r.search=_t.call(r),r.searchParams=Ut.call(r),r.hash=Nt.call(r))},wt=Et.prototype,Ot=function(){var t=w(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Y(t)&&(f+=e+(r?":"+r:"")+"@"),f+=D(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},Rt=function(){var t=w(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&X(t)?n+"://"+D(t.host)+(null!==e?":"+e:""):"null"},At=function(){return w(this).scheme+":"},jt=function(){return w(this).username},It=function(){return w(this).password},kt=function(){var t=w(this),n=t.host,e=t.port;return null===n?"":null===e?D(n):D(n)+":"+e},Pt=function(){var t=w(this).host;return null===t?"":D(t)},Lt=function(){var t=w(this).port;return null===t?"":String(t)},Tt=function(){var t=w(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},_t=function(){var t=w(this).query;return t?"?"+t:""},Ut=function(){return w(this).searchParams},Nt=function(){var t=w(this).fragment;return t?"#"+t:""},Ct=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(i&&c(wt,{href:Ct(Ot,(function(t){var n=w(this),e=String(t),r=St(n,e);if(r)throw TypeError(r);S(n.searchParams).updateSearchParams(n.query)})),origin:Ct(Rt),protocol:Ct(At,(function(t){var n=w(this);St(n,String(t)+":",tt)})),username:Ct(jt,(function(t){var n=w(this),e=h(String(t));if(!K(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=G(e[r],$)}})),password:Ct(It,(function(t){var n=w(this),e=h(String(t));if(!K(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=G(e[r],$)}})),host:Ct(kt,(function(t){var n=w(this);n.cannotBeABaseURL||St(n,String(t),st)})),hostname:Ct(Pt,(function(t){var n=w(this);n.cannotBeABaseURL||St(n,String(t),lt)})),port:Ct(Lt,(function(t){var n=w(this);K(n)||(""==(t=String(t))?n.port=null:St(n,t,pt))})),pathname:Ct(Tt,(function(t){var n=w(this);n.cannotBeABaseURL||(n.path=[],St(n,t+"",dt))})),search:Ct(_t,(function(t){var n=w(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",St(n,t,mt)),S(n.searchParams).updateSearchParams(n.query)})),searchParams:Ct(Ut),hash:Ct(Nt,(function(t){var n=w(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",St(n,t,bt)):n.fragment=null}))}),f(wt,"toJSON",(function(){return Ot.call(this)}),{enumerable:!0}),f(wt,"toString",(function(){return Ot.call(this)}),{enumerable:!0}),m){var Ft=m.createObjectURL,Mt=m.revokeObjectURL;Ft&&f(Et,"createObjectURL",(function(t){return Ft.apply(m,arguments)})),Mt&&f(Et,"revokeObjectURL",(function(t){return Mt.apply(m,arguments)}))}d(Et,"URL"),o({global:!0,forced:!a,sham:!i},{URL:Et})},function(t,n,e){var r=e(6),o=e(49),i=e(29),a=o("iterator");t.exports=!r((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),i&&!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host}))},function(t,n,e){var r=/[^\0-\u007E]/,o=/[.\u3002\uFF0E\uFF61]/g,i="Overflow: input needs wider integers to process",a=Math.floor,u=String.fromCharCode,c=function(t){return t+22+75*(t<26)},f=function(t,n,e){var r=0;for(t=e?a(t/700):t>>1,t+=a(t/n);t>455;r+=36)t=a(t/35);return a(r+36*t/(t+38))},s=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,s=128,l=0,p=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(u(e));var h=r.length,v=h;for(h&&r.push("-");v<o;){var g=2147483647;for(n=0;n<t.length;n++)(e=t[n])>=s&&e<g&&(g=e);var d=v+1;if(g-s>a((2147483647-l)/d))throw RangeError(i);for(l+=(g-s)*d,s=g,n=0;n<t.length;n++){if((e=t[n])<s&&++l>2147483647)throw RangeError(i);if(e==s){for(var y=l,x=36;;x+=36){var m=x<=p?1:x>=p+26?26:x-p;if(y<m)break;var b=y-m,S=36-m;r.push(u(c(m+b%S))),y=a(b/S)}r.push(u(c(y))),p=f(l,d,v==h),l=0,++v}}++l,++s}return r.join("")};t.exports=function(t){var n,e,i=[],a=t.toLowerCase().replace(o,".").split(".");for(n=0;n<a.length;n++)e=a[n],i.push(r.test(e)?"xn--"+s(e):e);return i.join(".")}},function(t,n,e){e(89);var r=e(2),o=e(34),i=e(244),a=e(21),u=e(126),c=e(95),f=e(91),s=e(25),l=e(123),p=e(15),h=e(64),v=e(84),g=e(20),d=e(14),y=e(58),x=e(8),m=e(247),b=e(83),S=e(49),E=o("fetch"),w=o("Headers"),O=S("iterator"),R=s.set,A=s.getterFor("URLSearchParams"),j=s.getterFor("URLSearchParamsIterator"),I=/\+/g,k=Array(4),P=function(t){return k[t-1]||(k[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},L=function(t){try{return decodeURIComponent(t)}catch(n){return t}},T=function(t){var n=t.replace(I," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(P(e--),L);return n}},_=/[!'()~]|%20/g,U={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},N=function(t){return U[t]},C=function(t){return encodeURIComponent(t).replace(_,N)},F=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:T(r.shift()),value:T(r.join("="))}))},M=function(t){this.entries.length=0,F(this.entries,t)},z=function(t,n){if(t<n)throw TypeError("Not enough arguments")},D=f((function(t,n){R(this,{type:"URLSearchParamsIterator",iterator:m(A(t).entries),kind:n})}),"Iterator",(function(){var t=j(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),q=function(){l(this,q,"URLSearchParams");var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,h=[];if(R(s,{type:"URLSearchParams",entries:h,updateURL:function(){},updateSearchParams:M}),void 0!==f)if(d(f))if("function"==typeof(t=b(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=m(g(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");h.push({key:a.value+"",value:u.value+""})}else for(c in f)p(f,c)&&h.push({key:c,value:f[c]+""});else F(h,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},B=q.prototype;u(B,{append:function(t,n){z(arguments.length,2);var e=A(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){z(arguments.length,1);for(var n=A(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){z(arguments.length,1);for(var e,r=A(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=A(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=A(this).entries,r=h(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new D(this,"keys")},values:function(){return new D(this,"values")},entries:function(){return new D(this,"entries")}},{enumerable:!0}),a(B,O,B.entries),a(B,"toString",(function(){for(var t,n=A(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(C(t.key)+"="+C(t.value));return e.join("&")}),{enumerable:!0}),c(q,"URLSearchParams"),r({global:!0,forced:!i},{URLSearchParams:q}),i||"function"!=typeof E||"function"!=typeof w||r({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(n=arguments[1],d(n)&&(e=n.body,"URLSearchParams"===v(e)&&((r=n.headers?new w(n.headers):new w).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=y(n,{body:x(0,String(e)),headers:x(0,r)}))),o.push(n)),E.apply(this,o)}}),t.exports={URLSearchParams:q,getState:A}},function(t,n,e){var r=e(20),o=e(83);t.exports=function(t){var n=o(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return r(n.call(t))}},function(t,n,e){e(2)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})}])}();
+
+//!fetch 3.0.0, global "this" must be replaced with "window"
+// IIFE version
+!function(t){"use strict";var e="URLSearchParams"in self,r="Symbol"in self&&"iterator"in Symbol,o="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),n="FormData"in self,i="ArrayBuffer"in self;if(i)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function h(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function d(t){this.map={},t instanceof d?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function c(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function p(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function y(t){var e=new FileReader,r=p(e);return e.readAsArrayBuffer(t),r}function l(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(t){var r;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:n&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():i&&o&&((r=t)&&DataView.prototype.isPrototypeOf(r))?(this._bodyArrayBuffer=l(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=l(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=c(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?c(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var t,e,r,o=c(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=p(e),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),o=0;o<e.length;o++)r[o]=String.fromCharCode(e[o]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},n&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}d.prototype.append=function(t,e){t=h(t),e=u(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},d.prototype.delete=function(t){delete this.map[h(t)]},d.prototype.get=function(t){return t=h(t),this.has(t)?this.map[t]:null},d.prototype.has=function(t){return this.map.hasOwnProperty(h(t))},d.prototype.set=function(t,e){this.map[h(t)]=u(e)},d.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},d.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),f(t)},d.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),f(t)},d.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),f(t)},r&&(d.prototype[Symbol.iterator]=d.prototype.entries);var m=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(t,e){var r,o,n=(e=e||{}).body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new d(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new d(e.headers)),this.method=(r=e.method||this.method||"GET",o=r.toUpperCase(),m.indexOf(o)>-1?o:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function v(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),o=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(n))}})),e}function E(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new d(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},b.call(w.prototype),b.call(E.prototype),E.prototype.clone=function(){return new E(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},E.error=function(){var t=new E(null,{status:0,statusText:""});return t.type="error",t};var A=[301,302,303,307,308];E.redirect=function(t,e){if(-1===A.indexOf(e))throw new RangeError("Invalid status code");return new E(null,{status:e,headers:{location:t}})},t.DOMException=self.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function _(e,r){return new Promise((function(n,i){var s=new w(e,r);if(s.signal&&s.signal.aborted)return i(new t.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function h(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new d,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),o=r.shift().trim();if(o){var n=r.join(":").trim();e.append(o,n)}})),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new E(o,r))},a.onerror=function(){i(new TypeError("Network request failed"))},a.ontimeout=function(){i(new TypeError("Network request failed"))},a.onabort=function(){i(new t.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&o&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",h),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",h)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}_.polyfill=!0,self.fetch||(self.fetch=_,self.Headers=d,self.Request=w,self.Response=E),t.Headers=d,t.Request=w,t.Response=E,t.fetch=_}({});
+
+(function(){
+  /*
+    Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
+    This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+    The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+    The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+    Code distributed by Google as part of the polymer project is also
+    subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+  */
+  'use strict';var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function g(a){var b=aa.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function l(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))}
+  function n(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}
+  function p(a,b,d){d=void 0===d?new Set:d;for(var c=a;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)p(c,b,d);c=n(a,e);continue}else if("template"===f){c=n(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)p(e,b,d)}c=c.firstChild?c.firstChild:n(a,c)}}function r(a,b,d){a[b]=d};function u(){this.a=new Map;this.g=new Map;this.c=[];this.f=[];this.b=!1}function ba(a,b,d){a.a.set(b,d);a.g.set(d.constructorFunction,d)}function ca(a,b){a.b=!0;a.c.push(b)}function da(a,b){a.b=!0;a.f.push(b)}function v(a,b){a.b&&p(b,function(b){return w(a,b)})}function w(a,b){if(a.b&&!b.__CE_patched){b.__CE_patched=!0;for(var d=0;d<a.c.length;d++)a.c[d](b);for(d=0;d<a.f.length;d++)a.f[d](b)}}
+  function x(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state?a.connectedCallback(c):y(a,c)}}function z(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state&&a.disconnectedCallback(c)}}
+  function A(a,b,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.i||function(b){return y(a,b)},f=[];p(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var d=b.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&"complete"===d.readyState?d.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var d=b.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);A(a,d,{u:f,i:e})}})}else f.push(b)},c);if(a.b)for(b=
+  0;b<f.length;b++)w(a,f[b]);for(b=0;b<f.length;b++)e(f[b])}
+  function y(a,b){if(void 0===b.__CE_state){var d=b.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=a.a.get(b.localName)){d.constructionStack.push(b);var c=d.constructorFunction;try{try{if(new c!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{d.constructionStack.pop()}}catch(t){throw b.__CE_state=2,t;}b.__CE_state=1;b.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c<d.length;c++){var e=
+  d[c],f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}l(b)&&a.connectedCallback(b)}}}u.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};u.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)};
+  u.prototype.attributeChangedCallback=function(a,b,d,c,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,d,c,e)};function B(a){var b=document;this.c=a;this.a=b;this.b=void 0;A(this.c,this.a);"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function C(a){a.b&&a.b.disconnect()}B.prototype.f=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||C(this);for(b=0;b<a.length;b++)for(var d=a[b].addedNodes,c=0;c<d.length;c++)A(this.c,d[c])};function ea(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}function D(a){if(a.a)throw Error("Already resolved.");a.a=void 0;a.b&&a.b(void 0)};function E(a){this.c=!1;this.a=a;this.j=new Map;this.f=function(b){return b()};this.b=!1;this.g=[];this.o=new B(a)}
+  E.prototype.l=function(a,b){var d=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!g(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.a.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var c=function(b){var a=e[b];if(void 0!==a&&!(a instanceof Function))throw Error("The '"+b+"' callback must be a function.");
+  return a},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=c("connectedCallback");var t=c("disconnectedCallback");var k=c("adoptedCallback");var h=c("attributeChangedCallback");var m=b.observedAttributes||[]}catch(q){return}finally{this.c=!1}b={localName:a,constructorFunction:b,connectedCallback:f,disconnectedCallback:t,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:m,constructionStack:[]};ba(this.a,
+  a,b);this.g.push(b);this.b||(this.b=!0,this.f(function(){return fa(d)}))};E.prototype.i=function(a){A(this.a,a)};
+  function fa(a){if(!1!==a.b){a.b=!1;for(var b=a.g,d=[],c=new Map,e=0;e<b.length;e++)c.set(b[e].localName,[]);A(a.a,document,{i:function(b){if(void 0===b.__CE_state){var e=b.localName,f=c.get(e);f?f.push(b):a.a.a.get(e)&&d.push(b)}}});for(e=0;e<d.length;e++)y(a.a,d[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=c.get(f.localName);for(var t=0;t<f.length;t++)y(a.a,f[t]);(e=a.j.get(e))&&D(e)}}}E.prototype.get=function(a){if(a=this.a.a.get(a))return a.constructorFunction};
+  E.prototype.m=function(a){if(!g(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.j.get(a);if(b)return b.c;b=new ea;this.j.set(a,b);this.a.a.get(a)&&!this.g.some(function(b){return b.localName===a})&&D(b);return b.c};E.prototype.s=function(a){C(this.o);var b=this.f;this.f=function(d){return a(function(){return b(d)})}};window.CustomElementRegistry=E;E.prototype.define=E.prototype.l;E.prototype.upgrade=E.prototype.i;E.prototype.get=E.prototype.get;
+  E.prototype.whenDefined=E.prototype.m;E.prototype.polyfillWrapFlushCallback=E.prototype.s;var F=window.Document.prototype.createElement,G=window.Document.prototype.createElementNS,ha=window.Document.prototype.importNode,ia=window.Document.prototype.prepend,ja=window.Document.prototype.append,ka=window.DocumentFragment.prototype.prepend,la=window.DocumentFragment.prototype.append,H=window.Node.prototype.cloneNode,I=window.Node.prototype.appendChild,J=window.Node.prototype.insertBefore,K=window.Node.prototype.removeChild,L=window.Node.prototype.replaceChild,M=Object.getOwnPropertyDescriptor(window.Node.prototype,
+  "textContent"),N=window.Element.prototype.attachShadow,O=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),P=window.Element.prototype.getAttribute,Q=window.Element.prototype.setAttribute,R=window.Element.prototype.removeAttribute,S=window.Element.prototype.getAttributeNS,T=window.Element.prototype.setAttributeNS,U=window.Element.prototype.removeAttributeNS,ma=window.Element.prototype.insertAdjacentElement,na=window.Element.prototype.insertAdjacentHTML,oa=window.Element.prototype.prepend,
+  pa=window.Element.prototype.append,V=window.Element.prototype.before,qa=window.Element.prototype.after,ra=window.Element.prototype.replaceWith,sa=window.Element.prototype.remove,ta=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),ua=window.HTMLElement.prototype.insertAdjacentElement,va=window.HTMLElement.prototype.insertAdjacentHTML;var wa=new function(){};function xa(){var a=X;window.HTMLElement=function(){function b(){var b=this.constructor,c=a.g.get(b);if(!c)throw Error("The custom element being constructed was not registered with `customElements`.");var e=c.constructionStack;if(0===e.length)return e=F.call(document,c.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=c,w(a,e),e;c=e.length-1;var f=e[c];if(f===wa)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
+  e[c]=wa;Object.setPrototypeOf(f,b.prototype);w(a,f);return f}b.prototype=ta.prototype;Object.defineProperty(b.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:b});return b}()};function Y(a,b,d){function c(b){return function(d){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],m=0;m<e.length;m++){var q=e[m];q instanceof Element&&l(q)&&f.push(q);if(q instanceof DocumentFragment)for(q=q.firstChild;q;q=q.nextSibling)c.push(q);else c.push(q)}b.apply(this,e);for(e=0;e<f.length;e++)z(a,f[e]);if(l(this))for(e=0;e<c.length;e++)f=c[e],f instanceof Element&&x(a,f)}}void 0!==d.h&&(b.prepend=c(d.h));void 0!==d.append&&(b.append=c(d.append))};function ya(){var a=X;r(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var d=a.a.get(b);if(d)return new d.constructorFunction}b=F.call(this,b);w(a,b);return b});r(Document.prototype,"importNode",function(b,d){b=ha.call(this,b,!!d);this.__CE_hasRegistry?A(a,b):v(a,b);return b});r(Document.prototype,"createElementNS",function(b,d){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var c=a.a.get(d);if(c)return new c.constructorFunction}b=G.call(this,b,
+  d);w(a,b);return b});Y(a,Document.prototype,{h:ia,append:ja})};function za(){function a(a,c){Object.defineProperty(a,"textContent",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(a){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,a);else{var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0<k&&l(this)){d=Array(k);for(var h=0;h<k;h++)d[h]=e[h]}}c.set.call(this,a);if(d)for(a=0;a<d.length;a++)z(b,d[a])}}})}var b=X;r(Node.prototype,"insertBefore",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);
+  a=J.call(this,a,c);if(l(this))for(c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);c=J.call(this,a,c);e&&z(b,a);l(this)&&x(b,a);return c});r(Node.prototype,"appendChild",function(a){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);a=I.call(this,a);if(l(this))for(var e=0;e<c.length;e++)x(b,c[e]);return a}c=l(a);e=I.call(this,a);c&&z(b,a);l(this)&&x(b,a);return e});r(Node.prototype,"cloneNode",function(a){a=H.call(this,!!a);this.ownerDocument.__CE_hasRegistry?A(b,a):v(b,
+  a);return a});r(Node.prototype,"removeChild",function(a){var c=l(a),e=K.call(this,a);c&&z(b,a);return e});r(Node.prototype,"replaceChild",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);a=L.call(this,a,c);if(l(this))for(z(b,c),c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);var f=L.call(this,a,c),d=l(this);d&&z(b,c);e&&z(b,a);d&&x(b,a);return f});M&&M.get?a(Node.prototype,M):ca(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){for(var a=[],
+  b=0;b<this.childNodes.length;b++){var f=this.childNodes[b];f.nodeType!==Node.COMMENT_NODE&&a.push(f.textContent)}return a.join("")},set:function(a){for(;this.firstChild;)K.call(this,this.firstChild);null!=a&&""!==a&&I.call(this,document.createTextNode(a))}})})};function Aa(a){function b(b){return function(e){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h<c.length;h++){var m=c[h];m instanceof Element&&l(m)&&k.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)d.push(m);else d.push(m)}b.apply(this,c);for(c=0;c<k.length;c++)z(a,k[c]);if(l(this))for(c=0;c<d.length;c++)k=d[c],k instanceof Element&&x(a,k)}}var d=Element.prototype;void 0!==V&&(d.before=b(V));void 0!==V&&(d.after=b(qa));void 0!==ra&&
+  r(d,"replaceWith",function(b){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var d=[],k=0;k<e.length;k++){var h=e[k];h instanceof Element&&l(h)&&d.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)c.push(h);else c.push(h)}k=l(this);ra.apply(this,e);for(e=0;e<d.length;e++)z(a,d[e]);if(k)for(z(a,this),e=0;e<c.length;e++)d=c[e],d instanceof Element&&x(a,d)});void 0!==sa&&r(d,"remove",function(){var b=l(this);sa.call(this);b&&z(a,this)})};function Ba(){function a(a,b){Object.defineProperty(a,"innerHTML",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var e=this,d=void 0;l(this)&&(d=[],p(this,function(a){a!==e&&d.push(a)}));b.set.call(this,a);if(d)for(var f=0;f<d.length;f++){var t=d[f];1===t.__CE_state&&c.disconnectedCallback(t)}this.ownerDocument.__CE_hasRegistry?A(c,this):v(c,this);return a}})}function b(a,b){r(a,"insertAdjacentElement",function(a,e){var d=l(e);a=b.call(this,a,e);d&&z(c,e);l(a)&&x(c,e);return a})}
+  function d(a,b){function e(a,b){for(var e=[];a!==b;a=a.nextSibling)e.push(a);for(b=0;b<e.length;b++)A(c,e[b])}r(a,"insertAdjacentHTML",function(a,c){a=a.toLowerCase();if("beforebegin"===a){var d=this.previousSibling;b.call(this,a,c);e(d||this.parentNode.firstChild,this)}else if("afterbegin"===a)d=this.firstChild,b.call(this,a,c),e(this.firstChild,d);else if("beforeend"===a)d=this.lastChild,b.call(this,a,c),e(d||this.firstChild,null);else if("afterend"===a)d=this.nextSibling,b.call(this,a,c),e(this.nextSibling,
+  d);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}var c=X;N&&r(Element.prototype,"attachShadow",function(a){a=N.call(this,a);var b=c;if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var e=0;e<b.c.length;e++)b.c[e](a)}return this.__CE_shadowRoot=a});O&&O.get?a(Element.prototype,O):W&&W.get?a(HTMLElement.prototype,W):da(c,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){return H.call(this,!0).innerHTML},
+  set:function(a){var b="template"===this.localName,c=b?this.content:this,e=G.call(document,this.namespaceURI,this.localName);for(e.innerHTML=a;0<c.childNodes.length;)K.call(c,c.childNodes[0]);for(a=b?e.content:e;0<a.childNodes.length;)I.call(c,a.childNodes[0])}})});r(Element.prototype,"setAttribute",function(a,b){if(1!==this.__CE_state)return Q.call(this,a,b);var e=P.call(this,a);Q.call(this,a,b);b=P.call(this,a);c.attributeChangedCallback(this,a,e,b,null)});r(Element.prototype,"setAttributeNS",function(a,
+  b,d){if(1!==this.__CE_state)return T.call(this,a,b,d);var e=S.call(this,a,b);T.call(this,a,b,d);d=S.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a)});r(Element.prototype,"removeAttribute",function(a){if(1!==this.__CE_state)return R.call(this,a);var b=P.call(this,a);R.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null)});r(Element.prototype,"removeAttributeNS",function(a,b){if(1!==this.__CE_state)return U.call(this,a,b);var d=S.call(this,a,b);U.call(this,a,b);var e=S.call(this,
+  a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a)});ua?b(HTMLElement.prototype,ua):ma?b(Element.prototype,ma):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");va?d(HTMLElement.prototype,va):na?d(Element.prototype,na):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Y(c,Element.prototype,{h:oa,append:pa});Aa(c)};var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var X=new u;xa();ya();Y(X,DocumentFragment.prototype,{h:ka,append:la});za();Ba();document.__CE_hasRegistry=!0;var customElements=new E(X);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};
+}).call(self);
+
+// Polyfill document.baseURI
+"string"!==typeof document.baseURI&&Object.defineProperty(Document.prototype,"baseURI",{enumerable:!0,configurable:!0,get:function(){var a=document.querySelector("base");return a&&a.href?a.href:document.URL}});
+
+// Polyfill CustomEvent
+"function"!==typeof window.CustomEvent&&(window.CustomEvent=function(c,a){a=a||{bubbles:!1,cancelable:!1,detail:void 0};var b=document.createEvent("CustomEvent");b.initCustomEvent(c,a.bubbles,a.cancelable,a.detail);return b},window.CustomEvent.prototype=window.Event.prototype);
+
+// Event.composedPath
+(function(b,c,d){b.composedPath||(b.composedPath=function(){if(this.path)return this.path;var a=this.target;for(this.path=[];null!==a.parentNode;)this.path.push(a),a=a.parentNode;this.path.push(c,d);return this.path})})(Event.prototype,document,window);
+
+/*!
+Element.closest and Element.matches
+https://github.com/jonathantneal/closest
+Creative Commons Zero v1.0 Universal
+*/
+(function(a){"function"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return!!a[b]});"function"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode}return null})})(window.Element.prototype);
+
+/*!
+Element.getRootNode()
+*/
+(function(c){function d(a){a=b(a);return a&&11===a.nodeType?d(a.host):a}function b(a){return a&&a.parentNode?b(a.parentNode):a}"function"!==typeof c.getRootNode&&(c.getRootNode=function(a){return a&&a.composed?d(this):b(this)})})(Element.prototype);
+
+/*!
+Element.isConnected()
+*/
+(function(a){"isConnected"in a||Object.defineProperty(a,"isConnected",{configurable:!0,enumerable:!0,get:function(){var a=this.getRootNode({composed:!0});return a&&9===a.nodeType}})})(Element.prototype);
+
+/*!
+Element.remove()
+*/
+(function(b){b.forEach(function(a){a.hasOwnProperty("remove")||Object.defineProperty(a,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})})})([Element.prototype,CharacterData.prototype,DocumentType.prototype]);
+
+/*!
+Element.classList
+*/
+!function(e){'classList'in e||Object.defineProperty(e,"classList",{get:function(){var e=this,t=(e.getAttribute("class")||"").replace(/^\s+|\s$/g,"").split(/\s+/g);function n(){t.length>0?e.setAttribute("class",t.join(" ")):e.removeAttribute("class")}return""===t[0]&&t.splice(0,1),t.toggle=function(e,i){void 0!==i?i?t.add(e):t.remove(e):-1!==t.indexOf(e)?t.splice(t.indexOf(e),1):t.push(e),n()},t.add=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1===t.indexOf(e[i])&&t.push(e[i]);n()},t.remove=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1!==t.indexOf(e[i])&&t.splice(t.indexOf(e[i]),1);n()},t.item=function(e){return t[e]},t.contains=function(e){return-1!==t.indexOf(e)},t.replace=function(e,i){-1!==t.indexOf(e)&&t.splice(t.indexOf(e),1,i),n()},t.value=e.getAttribute("class")||"",t}})}(Element.prototype);
+
+/*!
+DOMTokenList
+*/
+(function(b){try{document.body.classList.add()}catch(e){var c=b.add,d=b.remove;b.add=function(){for(var a=0;a<arguments.length;a++)c.call(this,arguments[a])};b.remove=function(){for(var a=0;a<arguments.length;a++)d.call(this,arguments[a])}}})(DOMTokenList.prototype);
+
+(function(){if("undefined"!==typeof window&&void 0!==window.Reflect&&void 0!==window.customElements){var a=HTMLElement;window.HTMLElement=function(){return Reflect.construct(a,[],this.constructor)};HTMLElement.prototype=a.prototype;HTMLElement.prototype.constructor=HTMLElement;Object.setPrototypeOf(HTMLElement,a)}})();
+/**
+ * SystemJS 4.0.2
+ * MANUAL PATCH: remove script.crossOrigin = "anonymous"
+ * MANUAL PATCH: add conditionally apply, n.System=n.System||new u
+ */
+!function(){var e="undefined"!=typeof self,n=e?self:global;var t;if("undefined"!=typeof document){var e=document.querySelector("base[href]");e&&(t=e.href)}if(!t&&"undefined"!=typeof location){var e=(t=location.href.split("#")[0].split("?")[0]).lastIndexOf("/");-1!==e&&(t=t.slice(0,e+1))}var r=/\\/g,o="undefined"!=typeof Symbol,i=o&&Symbol.toStringTag,c=o?Symbol():"@";function u(){this[c]={}}var s=u.prototype;var l;s.import=function(e,n){var t=this;return Promise.resolve(t.resolve(e,n)).then(function(e){var n=function e(n,t,r){var o=n[c][t];if(o)return o;var u=[],s=Object.create(null);i&&Object.defineProperty(s,i,{value:"Module"});var l=Promise.resolve().then(function(){return n.instantiate(t,r)}).then(function(e){if(!e)throw Error("Module "+t+" did not instantiate");var r=e[1](function(e,n){o.h=!0;var t=!1;if("object"!=typeof e)e in s&&s[e]===n||(s[e]=n,t=!0);else for(var n in e){var r=e[n];n in s&&s[n]===r||(s[n]=r,t=!0)}if(t)for(var e=0;e<u.length;e++)u[e](s);return n},2===e[1].length?{import:function(e){return n.import(e,t)},meta:n.createContext(t)}:void 0);return o.e=r.execute||function(){},[e[0],r.setters||[]]});var f=l.then(function(r){return Promise.all(r[0].map(function(o,i){var c=r[1][i];return Promise.resolve(n.resolve(o,t)).then(function(r){var o=e(n,r,t);return Promise.resolve(o.I).then(function(){return c&&(o.i.push(c),!o.h&&o.I||c(o.n)),o})})})).then(function(e){o.d=e})});return f.catch(function(e){o.e=null,o.er=e}),o=n[c][t]={id:t,i:u,n:s,I:l,L:f,h:!1,d:void 0,e:void 0,er:void 0,E:void 0,C:void 0}}(t,e);return n.C||function(e,n){return n.C=function e(n,t,r){if(!r[t.id])return r[t.id]=!0,Promise.resolve(t.L).then(function(){return Promise.all(t.d.map(function(t){return e(n,t,r)}))})}(e,n,{}).then(function(){return function e(n,t,r){if(r[t.id])return;if(r[t.id]=!0,!t.e){if(t.er)throw t.er;return t.E?t.E:void 0}var o;return t.d.forEach(function(t){{var i=e(n,t,r);i&&(o=o||[]).push(i)}}),o?Promise.all(o).then(i):i();function i(){try{var e=t.e.call(f);if(e)return e=e.then(function(){t.C=t.n,t.E=null}),t.E=t.E||e;t.C=t.n}catch(e){throw t.er=e,e}finally{t.L=t.I=void 0,t.e=null}}}(e,n,{})}).then(function(){return n.n})}(t,n)})},s.createContext=function(e){return{url:e}},s.register=function(e,n){l=[e,n]},s.getRegister=function(){var e=l;return l=void 0,e};var f=Object.freeze(Object.create(null));n.System=n.System||new u;var d=s.register;s.register=function(e,n){d.call(this,e,n)},s.instantiate=function(e,n){var t=this;return".json"===e.substr(-5)?fetch(e).then(function(e){return e.text()}).then(function(e){return[[],function(n){return{execute:function(){n("default",JSON.parse(e))}}}]}):new Promise(function(r,o){var i;function c(n){n.filename===e&&(i=n.error)}window.addEventListener("error",c);var u=document.createElement("script");u.charset="utf-8",u.async=!0,u.addEventListener("error",function(){window.removeEventListener("error",c),o(Error("Error loading "+e+(n?" from "+n:"")))}),u.addEventListener("load",function(){window.removeEventListener("error",c),document.head.removeChild(u),i?o(i):r(t.getRegister())}),u.src=e,document.head.appendChild(u)})},e&&"function"==typeof importScripts&&(s.instantiate=function(e){var n=this;return new Promise(function(t,r){try{importScripts(e)}catch(e){r(e)}t(n.getRegister())})}),s.resolve=function(e,n){var o=function(e,n){if(-1!==e.indexOf("\\")&&(e=e.replace(r,"/")),"/"===e[0]&&"/"===e[1])return n.slice(0,n.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){var t=n.slice(0,n.indexOf(":")+1);var r;if(r="/"===n[t.length+1]?"file:"!==t?(r=n.slice(t.length+2)).slice(r.indexOf("/")+1):n.slice(8):n.slice(t.length+("/"===n[t.length])),"/"===e[0])return n.slice(0,n.length-r.length-1)+e;var o=r.slice(0,r.lastIndexOf("/")+1)+e,i=[];var c=-1;for(var e=0;e<o.length;e++)-1!==c?"/"===o[e]&&(i.push(o.slice(c,e+1)),c=-1):"."===o[e]?"."!==o[e+1]||"/"!==o[e+2]&&e+2!==o.length?"/"===o[e+1]||e+1===o.length?e+=1:c=e:(i.pop(),e+=2):c=e;return-1!==c&&i.push(o.slice(c)),n.slice(0,n.length-r.length)+i.join("")}}(e,n||t);if(!o){if(-1!==e.indexOf(":"))return Promise.resolve(e);throw Error('Cannot resolve "'+e+(n?'" from '+n:'"'))}return Promise.resolve(o)}}();
+
+  // Figure out currentScript (for IE11, since it does not support currentScript)
+  var regex = /\/ionicpwaelements(\.esm)?\.js($|\?|#)/;
+  var scriptElm = currentScript || Array.from(document.querySelectorAll('script')).find(function(s) {
+    return regex.test(s.src) || s.getAttribute('data-stencil-namespace') === "ionicpwaelements";
+  });
+
+  var resourcesUrl = scriptElm ? scriptElm.getAttribute('data-resources-url') || scriptElm.src : '';
+  var start = function() {
+    // if src is not present then origin is "null", and new URL() throws TypeError: Failed to construct 'URL': Invalid base URL
+    var url = new URL('./p-00206cb0.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
+    System.import(url.href);
+  };
+
+  if (window.__cssshim) {
+    window.__cssshim.i().then(start);
+  } else {
+    start();
+  }
+
+  // Note: using .call(window) here because the self-executing function needs
+  // to be scoped to the window object for the ES6Promise polyfill to work
+  }
+}).call(window);
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-00206cb0.system.js b/src/public/js/pwa-elements/ionicpwaelements/p-00206cb0.system.js
new file mode 100644
index 0000000..35a0739
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-00206cb0.system.js
@@ -0,0 +1 @@
+System.register(["./p-335782c2.system.js"],(function(e,t){"use strict";var n,o;return{setters:[function(t){n=t.p;o=t.b;e("setNonce",t.s)}],execute:function(){var e=function(){var e=t.meta.url;var o={};if(e!==""){o.resourcesUrl=new URL(".",e).href}return n(o)};e().then((function(e){return o([["p-1b81a39d.system",[[1,"pwa-camera-modal",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],present:[64],dismiss:[64]}]]],["p-5b57434a.system",[[1,"pwa-action-sheet",{header:[1],cancelable:[4],options:[16],open:[32]}]]],["p-db3c6183.system",[[1,"pwa-toast",{message:[1],duration:[2],closing:[32]}]]],["p-fab2e7af.system",[[1,"pwa-camera",{facingMode:[1,"facing-mode"],handlePhoto:[16],hidePicker:[4,"hide-picker"],handleNoDeviceError:[16],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"],photo:[32],photoSrc:[32],showShutterOverlay:[32],flashIndex:[32],hasCamera:[32],rotation:[32],deviceError:[32]}]]],["p-550557d3.system",[[1,"pwa-camera-modal-instance",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]],e)}))}}}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-1b81a39d.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-1b81a39d.system.entry.js
new file mode 100644
index 0000000..a4d2cf1
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-1b81a39d.system.entry.js
@@ -0,0 +1 @@
+var __awaiter=this&&this.__awaiter||function(t,e,n,r){function i(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,o){function a(t){try{c(r.next(t))}catch(t){o(t)}}function s(t){try{c(r["throw"](t))}catch(t){o(t)}}function c(t){t.done?n(t.value):i(t.value).then(a,s)}c((r=r.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(t){return function(e){return c([t,e])}}function c(s){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(n=0)),n)try{if(r=1,i&&(o=s[0]&2?i["return"]:s[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;if(i=0,o)s=[s[0]&2,o.value];switch(s[0]){case 0:case 1:o=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;i=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!o||s[1]>o[0]&&s[1]<o[3])){n.label=s[1];break}if(s[0]===6&&n.label<o[1]){n.label=o[1];o=s;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(s);break}if(o[2])n.ops.pop();n.trys.pop();continue}s=e.call(t,n)}catch(t){s=[6,t];i=0}finally{r=o=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};System.register(["./p-335782c2.system.js"],(function(t){"use strict";var e,n,r;return{setters:[function(t){e=t.r;n=t.c;r=t.h}],execute:function(){var i=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";var o=t("pwa_camera_modal",function(){function t(t){e(this,t);this.onPhoto=n(this,"onPhoto",7);this.noDeviceError=n(this,"noDeviceError",7);this.facingMode="user";this.hidePicker=false}t.prototype.present=function(){return __awaiter(this,void 0,void 0,(function(){var t;var e=this;return __generator(this,(function(n){t=document.createElement("pwa-camera-modal-instance");t.facingMode=this.facingMode;t.hidePicker=this.hidePicker;t.addEventListener("onPhoto",(function(t){return __awaiter(e,void 0,void 0,(function(){var e;return __generator(this,(function(n){if(!this._modal){return[2]}e=t.detail;this.onPhoto.emit(e);return[2]}))}))}));t.addEventListener("noDeviceError",(function(t){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){this.noDeviceError.emit(t);return[2]}))}))}));document.body.append(t);this._modal=t;return[2]}))}))};t.prototype.dismiss=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(!this._modal){return[2]}this._modal&&this._modal.parentNode.removeChild(this._modal);this._modal=null;return[2]}))}))};t.prototype.render=function(){return r("div",null)};return t}());o.style=i}}}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-335782c2.system.js b/src/public/js/pwa-elements/ionicpwaelements/p-335782c2.system.js
new file mode 100644
index 0000000..dd4178f
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-335782c2.system.js
@@ -0,0 +1,2 @@
+var __extends=this&&this.__extends||function(){var e=function(n,t){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)if(Object.prototype.hasOwnProperty.call(n,t))e[t]=n[t]};return e(n,t)};return function(n,t){if(typeof t!=="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");e(n,t);function r(){this.constructor=n}n.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();var __awaiter=this&&this.__awaiter||function(e,n,t,r){function a(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,i){function l(e){try{s(r.next(e))}catch(e){i(e)}}function o(e){try{s(r["throw"](e))}catch(e){i(e)}}function s(e){e.done?t(e.value):a(e.value).then(l,o)}s((r=r.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,l;return l={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(l[Symbol.iterator]=function(){return this}),l;function o(e){return function(n){return s([e,n])}}function s(o){if(r)throw new TypeError("Generator is already executing.");while(l&&(l=0,o[0]&&(t=0)),t)try{if(r=1,a&&(i=o[0]&2?a["return"]:o[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;if(a=0,i)o=[o[0]&2,i.value];switch(o[0]){case 0:case 1:i=o;break;case 4:t.label++;return{value:o[1],done:false};case 5:t.label++;a=o[1];o=[0];continue;case 7:o=t.ops.pop();t.trys.pop();continue;default:if(!(i=t.trys,i=i.length>0&&i[i.length-1])&&(o[0]===6||o[0]===2)){t=0;continue}if(o[0]===3&&(!i||o[1]>i[0]&&o[1]<i[3])){t.label=o[1];break}if(o[0]===6&&t.label<i[1]){t.label=i[1];i=o;break}if(i&&t.label<i[2]){t.label=i[2];t.ops.push(o);break}if(i[2])t.ops.pop();t.trys.pop();continue}o=n.call(e,t)}catch(e){o=[6,e];a=0}finally{r=i=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,n,t){if(t||arguments.length===2)for(var r=0,a=n.length,i;r<a;r++){if(i||!(r in n)){if(!i)i=Array.prototype.slice.call(n,0,r);i[r]=n[r]}}return e.concat(i||Array.prototype.slice.call(n))};System.register([],(function(e,n){"use strict";return{execute:function(){var t=this;var r="ionicpwaelements";var a;var i;var l=false;var o=false;var s=function(e,n){if(n===void 0){n=""}{return function(){return}}};var u=function(e,n){{return function(){return}}};var f="{visibility:hidden}.hydrated{visibility:inherit}";var c={};var $="http://www.w3.org/2000/svg";var v="http://www.w3.org/1999/xhtml";var d=function(e){return e!=null};var p=function(e){e=typeof e;return e==="object"||e==="function"};function h(e){var n,t,r;return(r=(t=(n=e.head)===null||n===void 0?void 0:n.querySelector('meta[name="csp-nonce"]'))===null||t===void 0?void 0:t.getAttribute("content"))!==null&&r!==void 0?r:undefined}var m=e("h",(function(e,n){var t=[];for(var r=2;r<arguments.length;r++){t[r-2]=arguments[r]}var a=null;var i=false;var l=false;var o=[];var s=function(n){for(var t=0;t<n.length;t++){a=n[t];if(Array.isArray(a)){s(a)}else if(a!=null&&typeof a!=="boolean"){if(i=typeof e!=="function"&&!p(a)){a=String(a)}if(i&&l){o[o.length-1].$text$+=a}else{o.push(i?g(null,a):a)}l=i}}};s(t);if(n){{var u=n.className||n.class;if(u){n.class=typeof u!=="object"?u:Object.keys(u).filter((function(e){return u[e]})).join(" ")}}}var f=g(e,null);f.$attrs$=n;if(o.length>0){f.$children$=o}return f}));var g=function(e,n){var t={$flags$:0,$tag$:e,$text$:n,$elm$:null,$children$:null};{t.$attrs$=null}return t};var y=e("H",{});var b=function(e){return e&&e.$tag$===y};var w=function(e,n){if(e!=null&&!p(e)){if(n&4){return e==="false"?false:e===""||!!e}if(n&2){return parseFloat(e)}if(n&1){return String(e)}return e}return e};var _=e("g",(function(e){return ve(e).$hostElement$}));var S=e("c",(function(e,n,t){var r=_(e);return{emit:function(e){return N(r,n,{bubbles:!!(t&4),composed:!!(t&2),cancelable:!!(t&1),detail:e})}}}));var N=function(e,n,t){var r=Se.ce(n,t);e.dispatchEvent(r);return r};var R=new WeakMap;var x=function(e,n,t){var r=be.get(e);if(Re&&t){r=r||new CSSStyleSheet;if(typeof r==="string"){r=n}else{r.replaceSync(n)}}else{r=n}be.set(e,r)};var L=function(e,n,t,r){var a;var i=j(n);var l=be.get(i);e=e.nodeType===11?e:_e;if(l){if(typeof l==="string"){e=e.head||e;var o=R.get(e);var s=void 0;if(!o){R.set(e,o=new Set)}if(!o.has(i)){{{s=_e.createElement("style");s.innerHTML=l}var u=(a=Se.$nonce$)!==null&&a!==void 0?a:h(_e);if(u!=null){s.setAttribute("nonce",u)}e.insertBefore(s,e.querySelector("link"))}if(o){o.add(i)}}}else if(!e.adoptedStyleSheets.includes(l)){e.adoptedStyleSheets=__spreadArray(__spreadArray([],e.adoptedStyleSheets,true),[l],false)}}return i};var P=function(e){var n=e.$cmpMeta$;var t=e.$hostElement$;var r=n.$flags$;var a=s("attachStyles",n.$tagName$);var i=L(t.shadowRoot?t.shadowRoot:t.getRootNode(),n);if(r&10){t["s-sc"]=i;t.classList.add(i+"-h")}a()};var j=function(e,n){return"sc-"+e.$tagName$};var C=function(e,n,t,r,a,i){if(t!==r){var l=he(e,n);var o=n.toLowerCase();if(n==="class"){var s=e.classList;var u=A(t);var f=A(r);s.remove.apply(s,u.filter((function(e){return e&&!f.includes(e)})));s.add.apply(s,f.filter((function(e){return e&&!u.includes(e)})))}else if(n==="style"){{for(var c in t){if(!r||r[c]==null){if(c.includes("-")){e.style.removeProperty(c)}else{e.style[c]=""}}}}for(var c in r){if(!t||r[c]!==t[c]){if(c.includes("-")){e.style.setProperty(c,r[c])}else{e.style[c]=r[c]}}}}else if(n==="ref"){if(r){r(e)}}else if(!l&&n[0]==="o"&&n[1]==="n"){if(n[2]==="-"){n=n.slice(3)}else if(he(we,o)){n=o.slice(2)}else{n=o[2]+n.slice(3)}if(t){Se.rel(e,n,t,false)}if(r){Se.ael(e,n,r,false)}}else{var $=p(r);if((l||$&&r!==null)&&!a){try{if(!e.tagName.includes("-")){var v=r==null?"":r;if(n==="list"){l=false}else if(t==null||e[n]!=v){e[n]=v}}else{e[n]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(n)===""){{e.removeAttribute(n)}}}else if((!l||i&4||a)&&!$){r=r===true?"":r;{e.setAttribute(n,r)}}}}};var E=/\s/;var A=function(e){return!e?[]:e.split(E)};var O=function(e,n,t,r){var a=n.$elm$.nodeType===11&&n.$elm$.host?n.$elm$.host:n.$elm$;var i=e&&e.$attrs$||c;var l=n.$attrs$||c;{for(r in i){if(!(r in l)){C(a,r,i[r],undefined,t,n.$flags$)}}}for(r in l){C(a,r,i[r],l[r],t,n.$flags$)}};var M=function(e,n,t,r){var i=n.$children$[t];var o=0;var s;var u;if(i.$text$!==null){s=i.$elm$=_e.createTextNode(i.$text$)}else{if(!l){l=i.$tag$==="svg"}s=i.$elm$=_e.createElementNS(l?$:v,i.$tag$);if(l&&i.$tag$==="foreignObject"){l=false}{O(null,i,l)}if(d(a)&&s["s-si"]!==a){s.classList.add(s["s-si"]=a)}if(i.$children$){for(o=0;o<i.$children$.length;++o){u=M(e,i,o);if(u){s.appendChild(u)}}}{if(i.$tag$==="svg"){l=false}else if(s.tagName==="foreignObject"){l=true}}}return s};var k=function(e,n,t,r,a,l){var o=e;var s;if(o.shadowRoot&&o.tagName===i){o=o.shadowRoot}for(;a<=l;++a){if(r[a]){s=M(null,t,a);if(s){r[a].$elm$=s;o.insertBefore(s,n)}}}};var I=function(e,n,t){for(var r=n;r<=t;++r){var a=e[r];if(a){var i=a.$elm$;B(a);if(i){i.remove()}}}};var T=function(e,n,t,r){var a=0;var i=0;var l=n.length-1;var o=n[0];var s=n[l];var u=r.length-1;var f=r[0];var c=r[u];var $;while(a<=l&&i<=u){if(o==null){o=n[++a]}else if(s==null){s=n[--l]}else if(f==null){f=r[++i]}else if(c==null){c=r[--u]}else if(q(o,f)){z(o,f);o=n[++a];f=r[++i]}else if(q(s,c)){z(s,c);s=n[--l];c=r[--u]}else if(q(o,c)){z(o,c);e.insertBefore(o.$elm$,s.$elm$.nextSibling);o=n[++a];c=r[--u]}else if(q(s,f)){z(s,f);e.insertBefore(s.$elm$,o.$elm$);s=n[--l];f=r[++i]}else{{$=M(n&&n[i],t,i);f=r[++i]}if($){{o.$elm$.parentNode.insertBefore($,o.$elm$)}}}}if(a>l){k(e,r[u+1]==null?null:r[u+1].$elm$,t,r,i,u)}else if(i>u){I(n,a,l)}};var q=function(e,n){if(e.$tag$===n.$tag$){return true}return false};var z=function(e,n){var t=n.$elm$=e.$elm$;var r=e.$children$;var a=n.$children$;var i=n.$tag$;var o=n.$text$;if(o===null){{l=i==="svg"?true:i==="foreignObject"?false:l}{{O(e,n,l)}}if(r!==null&&a!==null){T(t,r,n,a)}else if(a!==null){if(e.$text$!==null){t.textContent=""}k(t,null,n,a,0,a.length-1)}else if(r!==null){I(r,0,r.length-1)}if(l&&i==="svg"){l=false}}else if(e.$text$!==o){t.data=o}};var B=function(e){{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null);e.$children$&&e.$children$.map(B)}};var U=function(e,n){var t=e.$hostElement$;var r=e.$vnode$||g(null,null);var l=b(n)?n:m(null,null,n);i=t.tagName;l.$tag$=null;l.$flags$|=4;e.$vnode$=l;l.$elm$=r.$elm$=t.shadowRoot||t;{a=t["s-sc"]}z(r,l)};var H=function(e,n){if(n&&!e.$onRenderResolve$&&n["s-p"]){n["s-p"].push(new Promise((function(n){return e.$onRenderResolve$=n})))}};var V=function(e,n){{e.$flags$|=16}if(e.$flags$&4){e.$flags$|=512;return}H(e,e.$ancestorComponent$);var t=function(){return F(e,n)};return Ae(t)};var F=function(e,n){var t=s("scheduleUpdate",e.$cmpMeta$.$tagName$);var r=e.$lazyInstance$;var a;if(n){{e.$flags$|=256;if(e.$queuedListeners$){e.$queuedListeners$.map((function(e){var n=e[0],t=e[1];return Y(r,n,t)}));e.$queuedListeners$=undefined}}}t();return W(a,(function(){return G(e,r,n)}))};var W=function(e,n){return D(e)?e.then(n):n()};var D=function(e){return e instanceof Promise||e&&e.then&&typeof e.then==="function"};var G=function(e,n,r){return __awaiter(t,void 0,void 0,(function(){var t,a,i,l,o,u,f;return __generator(this,(function(c){a=e.$hostElement$;i=s("update",e.$cmpMeta$.$tagName$);l=a["s-rc"];if(r){P(e)}o=s("render",e.$cmpMeta$.$tagName$);{J(e,n)}if(l){l.map((function(e){return e()}));a["s-rc"]=undefined}o();i();{u=(t=a["s-p"])!==null&&t!==void 0?t:[];f=function(){return K(e)};if(u.length===0){f()}else{Promise.all(u).then(f);e.$flags$|=4;u.length=0}}return[2]}))}))};var J=function(e,n,t){try{n=n.render();{e.$flags$&=~16}{e.$flags$|=2}{{{U(e,n)}}}}catch(n){me(n,e.$hostElement$)}return null};var K=function(e){var n=e.$cmpMeta$.$tagName$;var t=e.$hostElement$;var r=s("postUpdate",n);var a=e.$lazyInstance$;var i=e.$ancestorComponent$;if(!(e.$flags$&64)){e.$flags$|=64;{Z(t)}{Y(a,"componentDidLoad")}r();{e.$onReadyResolve$(t);if(!i){X()}}}else{r()}{e.$onInstanceResolve$(t)}{if(e.$onRenderResolve$){e.$onRenderResolve$();e.$onRenderResolve$=undefined}if(e.$flags$&512){Ee((function(){return V(e,false)}))}e.$flags$&=~(4|512)}};var Q=e("f",(function(e){{var n=ve(e);var t=n.$hostElement$.isConnected;if(t&&(n.$flags$&(2|16))===2){V(n,false)}return t}}));var X=function(e){{Z(_e.documentElement)}Ee((function(){return N(we,"appload",{detail:{namespace:r}})}))};var Y=function(e,n,t){if(e&&e[n]){try{return e[n](t)}catch(e){me(e)}}return undefined};var Z=function(e){return e.classList.add("hydrated")};var ee=function(e,n){return ve(e).$instanceValues$.get(n)};var ne=function(e,n,t,r){var a=ve(e);var i=a.$instanceValues$.get(n);var l=a.$flags$;var o=a.$lazyInstance$;t=w(t,r.$members$[n][0]);var s=Number.isNaN(i)&&Number.isNaN(t);var u=t!==i&&!s;if((!(l&8)||i===undefined)&&u){a.$instanceValues$.set(n,t);if(o){if((l&(2|16))===2){V(a,false)}}}};var te=function(e,n,t){if(n.$members$){var r=Object.entries(n.$members$);var a=e.prototype;r.map((function(e){var r=e[0],i=e[1][0];if(i&31||t&2&&i&32){Object.defineProperty(a,r,{get:function(){return ee(this,r)},set:function(e){ne(this,r,e,n)},configurable:true,enumerable:true})}else if(t&1&&i&64){Object.defineProperty(a,r,{value:function(){var e=[];for(var n=0;n<arguments.length;n++){e[n]=arguments[n]}var t=ve(this);return t.$onInstancePromise$.then((function(){var n;return(n=t.$lazyInstance$)[r].apply(n,e)}))}})}}));if(t&1){var i=new Map;a.attributeChangedCallback=function(e,n,t){var r=this;Se.jmp((function(){var n=i.get(e);if(r.hasOwnProperty(n)){t=r[n];delete r[n]}else if(a.hasOwnProperty(n)&&typeof r[n]==="number"&&r[n]==t){return}r[n]=t===null&&typeof r[n]==="boolean"?false:t}))};e.observedAttributes=r.filter((function(e){var n=e[0],t=e[1];return t[0]&15})).map((function(e){var n=e[0],t=e[1];var r=t[1]||n;i.set(r,n);return r}))}}return e};var re=function(e,n,r,a,i){return __awaiter(t,void 0,void 0,(function(){var e,t,a,l,o,f,c;return __generator(this,(function($){switch($.label){case 0:if(!((n.$flags$&32)===0))return[3,3];n.$flags$|=32;i=ye(r);if(!i.then)return[3,2];e=u();return[4,i];case 1:i=$.sent();e();$.label=2;case 2:if(!i.isProxied){te(i,r,2);i.isProxied=true}t=s("createInstance",r.$tagName$);{n.$flags$|=8}try{new i(n)}catch(e){me(e)}{n.$flags$&=~8}t();if(i.style){a=i.style;l=j(r);if(!be.has(l)){o=s("registerStyles",r.$tagName$);x(l,a,!!(r.$flags$&1));o()}}$.label=3;case 3:f=n.$ancestorComponent$;c=function(){return V(n,true)};if(f&&f["s-rc"]){f["s-rc"].push(c)}else{c()}return[2]}}))}))};var ae=function(e){if((Se.$flags$&1)===0){var n=ve(e);var t=n.$cmpMeta$;var r=s("connectedCallback",t.$tagName$);if(!(n.$flags$&1)){n.$flags$|=1;{var a=e;while(a=a.parentNode||a.host){if(a["s-p"]){H(n,n.$ancestorComponent$=a);break}}}if(t.$members$){Object.entries(t.$members$).map((function(n){var t=n[0],r=n[1][0];if(r&31&&e.hasOwnProperty(t)){var a=e[t];delete e[t];e[t]=a}}))}{re(e,n,t)}}else{oe(e,n,t.$listeners$)}r()}};var ie=function(e){if((Se.$flags$&1)===0){var n=ve(e);var t=n.$lazyInstance$;{if(n.$rmListeners$){n.$rmListeners$.map((function(e){return e()}));n.$rmListeners$=undefined}}{Y(t,"disconnectedCallback")}}};var le=e("b",(function(e,n){if(n===void 0){n={}}var t;var r=s();var a=[];var i=n.exclude||[];var l=we.customElements;var o=_e.head;var u=o.querySelector("meta[charset]");var c=_e.createElement("style");var $=[];var v;var d=true;Object.assign(Se,n);Se.$resourcesUrl$=new URL(n.resourcesUrl||"./",_e.baseURI).href;e.map((function(e){e[1].map((function(n){var t={$flags$:n[0],$tagName$:n[1],$members$:n[2],$listeners$:n[3]};{t.$members$=n[2]}{t.$listeners$=n[3]}var r=t.$tagName$;var o=function(e){__extends(n,e);function n(n){var r=e.call(this,n)||this;n=r;pe(n,t);if(t.$flags$&1){{{n.attachShadow({mode:"open"})}}}return r}n.prototype.connectedCallback=function(){var e=this;if(v){clearTimeout(v);v=null}if(d){$.push(this)}else{Se.jmp((function(){return ae(e)}))}};n.prototype.disconnectedCallback=function(){var e=this;Se.jmp((function(){return ie(e)}))};n.prototype.componentOnReady=function(){return ve(this).$onReadyPromise$};return n}(HTMLElement);t.$lazyBundleId$=e[0];if(!i.includes(r)&&!l.get(r)){a.push(r);l.define(r,te(o,t,1))}}))}));{c.innerHTML=a+f;c.setAttribute("data-styles","");var p=(t=Se.$nonce$)!==null&&t!==void 0?t:h(_e);if(p!=null){c.setAttribute("nonce",p)}o.insertBefore(c,u?u.nextSibling:o.firstChild)}d=false;if($.length){$.map((function(e){return e.connectedCallback()}))}else{{Se.jmp((function(){return v=setTimeout(X,30)}))}}r()}));var oe=function(e,n,t,r){if(t){t.map((function(t){var r=t[0],a=t[1],i=t[2];var l=ue(e,r);var o=se(n,i);var s=fe(r);Se.ael(l,a,o,s);(n.$rmListeners$=n.$rmListeners$||[]).push((function(){return Se.rel(l,a,o,s)}))}))}};var se=function(e,n){return function(t){try{{if(e.$flags$&256){e.$lazyInstance$[n](t)}else{(e.$queuedListeners$=e.$queuedListeners$||[]).push([n,t])}}}catch(e){me(e)}}};var ue=function(e,n){if(n&16)return _e.body;return e};var fe=function(e){return(e&2)!==0};var ce=e("s",(function(e){return Se.$nonce$=e}));var $e=new WeakMap;var ve=function(e){return $e.get(e)};var de=e("r",(function(e,n){return $e.set(n.$lazyInstance$=e,n)}));var pe=function(e,n){var t={$flags$:0,$hostElement$:e,$cmpMeta$:n,$instanceValues$:new Map};{t.$onInstancePromise$=new Promise((function(e){return t.$onInstanceResolve$=e}))}{t.$onReadyPromise$=new Promise((function(e){return t.$onReadyResolve$=e}));e["s-p"]=[];e["s-rc"]=[]}oe(e,t,n.$listeners$);return $e.set(e,t)};var he=function(e,n){return n in e};var me=function(e,n){return(0,console.error)(e,n)};var ge=new Map;var ye=function(e,t,r){var a=e.$tagName$.replace(/-/g,"_");var i=e.$lazyBundleId$;var l=ge.get(i);if(l){return l[a]}
+/*!__STENCIL_STATIC_IMPORT_SWITCH__*/return n.import("./".concat(i,".entry.js").concat("")).then((function(e){{ge.set(i,e)}return e[a]}),me)};var be=new Map;var we=typeof window!=="undefined"?window:{};var _e=we.document||{head:{}};var Se={$flags$:0,$resourcesUrl$:"",jmp:function(e){return e()},raf:function(e){return requestAnimationFrame(e)},ael:function(e,n,t,r){return e.addEventListener(n,t,r)},rel:function(e,n,t,r){return e.removeEventListener(n,t,r)},ce:function(e,n){return new CustomEvent(e,n)}};var Ne=e("p",(function(e){return Promise.resolve(e)}));var Re=function(){try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false}();var xe=[];var Le=[];var Pe=function(e,n){return function(t){e.push(t);if(!o){o=true;if(n&&Se.$flags$&4){Ee(Ce)}else{Se.raf(Ce)}}}};var je=function(e){for(var n=0;n<e.length;n++){try{e[n](performance.now())}catch(e){me(e)}}e.length=0};var Ce=function(){je(xe);{je(Le);if(o=xe.length>0){Se.raf(Ce)}}};var Ee=function(e){return Ne().then(e)};var Ae=Pe(Le,true)}}}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-386e91ad.js b/src/public/js/pwa-elements/ionicpwaelements/p-386e91ad.js
new file mode 100644
index 0000000..6c50178
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-386e91ad.js
@@ -0,0 +1,2 @@
+let e,t,n=!1,l=!1;const o={},s=e=>"object"==(e=typeof e)||"function"===e;function c(e){var t,n,l;return null!==(l=null===(n=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===n?void 0:n.getAttribute("content"))&&void 0!==l?l:void 0}const i=(e,t,...n)=>{let l=null,o=!1,c=!1;const i=[],u=t=>{for(let n=0;n<t.length;n++)l=t[n],Array.isArray(l)?u(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof e&&!s(l))&&(l+=""),o&&c?i[i.length-1].t+=l:i.push(o?r(null,l):l),c=o)};if(u(n),t){const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}const a=r(e,null);return a.l=t,i.length>0&&(a.o=i),a},r=(e,t)=>({i:0,u:e,t,h:null,o:null,l:null}),u={},a=e=>B(e).m,f=(e,t,n)=>{const l=a(e);return{emit:e=>d(l,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},d=(e,t,n)=>{const l=te.ce(t,n);return e.dispatchEvent(l),l},h=new WeakMap,m=e=>"sc-"+e.p,p=(e,t,n,l,o,c)=>{if(n!==l){let i=J(e,t),r=t.toLowerCase();if("class"===t){const t=e.classList,o=$(n),s=$(l);t.remove(...o.filter((e=>e&&!s.includes(e)))),t.add(...s.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in n)l&&null!=l[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in l)n&&l[t]===n[t]||(t.includes("-")?e.style.setProperty(t,l[t]):e.style[t]=l[t])}else if("ref"===t)l&&l(e);else if(i||"o"!==t[0]||"n"!==t[1]){const r=s(l);if((i||r&&null!==l)&&!o)try{if(e.tagName.includes("-"))e[t]=l;else{const o=null==l?"":l;"list"===t?i=!1:null!=n&&e[t]==o||(e[t]=o)}}catch(e){}null==l||!1===l?!1===l&&""!==e.getAttribute(t)||e.removeAttribute(t):(!i||4&c||o)&&!r&&e.setAttribute(t,l=!0===l?"":l)}else t="-"===t[2]?t.slice(3):J(Z,r)?r.slice(2):r[2]+t.slice(3),n&&te.rel(e,t,n,!1),l&&te.ael(e,t,l,!1)}},y=/\s/,$=e=>e?e.split(y):[],b=(e,t,n,l)=>{const s=11===t.h.nodeType&&t.h.host?t.h.host:t.h,c=e&&e.l||o,i=t.l||o;for(l in c)l in i||p(s,l,c[l],void 0,n,t.i);for(l in i)p(s,l,c[l],i[l],n,t.i)},w=(t,l,o)=>{const s=l.o[o];let c,i,r=0;if(null!==s.t)c=s.h=ee.createTextNode(s.t);else{if(n||(n="svg"===s.u),c=s.h=ee.createElementNS(n?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",s.u),n&&"foreignObject"===s.u&&(n=!1),b(null,s,n),null!=e&&c["s-si"]!==e&&c.classList.add(c["s-si"]=e),s.o)for(r=0;r<s.o.length;++r)i=w(t,s,r),i&&c.appendChild(i);"svg"===s.u?n=!1:"foreignObject"===c.tagName&&(n=!0)}return c},v=(e,n,l,o,s,c)=>{let i,r=e;for(r.shadowRoot&&r.tagName===t&&(r=r.shadowRoot);s<=c;++s)o[s]&&(i=w(null,l,s),i&&(o[s].h=i,r.insertBefore(i,n)))},g=(e,t,n)=>{for(let l=t;l<=n;++l){const t=e[l];if(t){const e=t.h;O(t),e&&e.remove()}}},j=(e,t)=>e.u===t.u,S=(e,t)=>{const l=t.h=e.h,o=e.o,s=t.o,c=t.u,i=t.t;null===i?(n="svg"===c||"foreignObject"!==c&&n,b(e,t,n),null!==o&&null!==s?((e,t,n,l)=>{let o,s=0,c=0,i=t.length-1,r=t[0],u=t[i],a=l.length-1,f=l[0],d=l[a];for(;s<=i&&c<=a;)null==r?r=t[++s]:null==u?u=t[--i]:null==f?f=l[++c]:null==d?d=l[--a]:j(r,f)?(S(r,f),r=t[++s],f=l[++c]):j(u,d)?(S(u,d),u=t[--i],d=l[--a]):j(r,d)?(S(r,d),e.insertBefore(r.h,u.h.nextSibling),r=t[++s],d=l[--a]):j(u,f)?(S(u,f),e.insertBefore(u.h,r.h),u=t[--i],f=l[++c]):(o=w(t&&t[c],n,c),f=l[++c],o&&r.h.parentNode.insertBefore(o,r.h));s>i?v(e,null==l[a+1]?null:l[a+1].h,n,l,c,a):c>a&&g(t,s,i)})(l,o,t,s):null!==s?(null!==e.t&&(l.textContent=""),v(l,null,t,s,0,s.length-1)):null!==o&&g(o,0,o.length-1),n&&"svg"===c&&(n=!1)):e.t!==i&&(l.data=i)},O=e=>{e.l&&e.l.ref&&e.l.ref(null),e.o&&e.o.map(O)},M=(e,t)=>{t&&!e.$&&t["s-p"]&&t["s-p"].push(new Promise((t=>e.$=t)))},k=(e,t)=>{if(e.i|=16,!(4&e.i))return M(e,e.v),ae((()=>C(e,t)));e.i|=512},C=(e,t)=>{const n=e.g;return t&&(e.i|=256,e.j&&(e.j.map((([e,t])=>F(n,e,t))),e.j=void 0)),P(void 0,(()=>E(e,n,t)))},P=(e,t)=>x(e)?e.then(t):t(),x=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,E=async(e,t,n)=>{var l;const o=e.m,s=o["s-rc"];n&&(e=>{const t=e.S,n=e.m,l=t.i,o=((e,t)=>{var n;let l=m(t);const o=Y.get(l);if(e=11===e.nodeType?e:ee,o)if("string"==typeof o){let t,s=h.get(e=e.head||e);if(s||h.set(e,s=new Set),!s.has(l)){{t=ee.createElement("style"),t.innerHTML=o;const l=null!==(n=te.O)&&void 0!==n?n:c(ee);null!=l&&t.setAttribute("nonce",l),e.insertBefore(t,e.querySelector("link"))}s&&s.add(l)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return l})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&l&&(n["s-sc"]=o,n.classList.add(o+"-h"))})(e);L(e,t),s&&(s.map((e=>e())),o["s-rc"]=void 0);{const t=null!==(l=o["s-p"])&&void 0!==l?l:[],n=()=>N(e);0===t.length?n():(Promise.all(t).then(n),e.i|=4,t.length=0)}},L=(n,l)=>{try{l=l.render(),n.i&=-17,n.i|=2,((n,l)=>{const o=n.m,s=n.M||r(null,null),c=(e=>e&&e.u===u)(l)?l:i(null,null,l);t=o.tagName,c.u=null,c.i|=4,n.M=c,c.h=s.h=o.shadowRoot||o,e=o["s-sc"],S(s,c)})(n,l)}catch(e){K(e,n.m)}return null},N=e=>{const t=e.m,n=e.g,l=e.v;64&e.i||(e.i|=64,H(t),F(n,"componentDidLoad"),e.k(t),l||A()),e.C(t),e.$&&(e.$(),e.$=void 0),512&e.i&&ue((()=>k(e,!1))),e.i&=-517},T=e=>{{const t=B(e),n=t.m.isConnected;return n&&2==(18&t.i)&&k(t,!1),n}},A=()=>{H(ee.documentElement),ue((()=>d(Z,"appload",{detail:{namespace:"ionicpwaelements"}})))},F=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){K(e)}},H=e=>e.classList.add("hydrated"),R=(e,t,n)=>{if(t.P){const l=Object.entries(t.P),o=e.prototype;if(l.map((([e,[l]])=>{31&l||2&n&&32&l?Object.defineProperty(o,e,{get(){return((e,t)=>B(this).L.get(t))(0,e)},set(n){((e,t,n,l)=>{const o=B(e),c=o.L.get(t),i=o.i,r=o.g;n=((e,t)=>null==e||s(e)?e:4&t?"false"!==e&&(""===e||!!e):2&t?parseFloat(e):1&t?e+"":e)(n,l.P[t][0]),8&i&&void 0!==c||n===c||Number.isNaN(c)&&Number.isNaN(n)||(o.L.set(t,n),r&&2==(18&i)&&k(o,!1))})(this,e,n,t)},configurable:!0,enumerable:!0}):1&n&&64&l&&Object.defineProperty(o,e,{value(...t){const n=B(this);return n.N.then((()=>n.g[e](...t)))}})})),1&n){const t=new Map;o.attributeChangedCallback=function(e,n,l){te.jmp((()=>{const n=t.get(e);if(this.hasOwnProperty(n))l=this[n],delete this[n];else if(o.hasOwnProperty(n)&&"number"==typeof this[n]&&this[n]==l)return;this[n]=(null!==l||"boolean"!=typeof this[n])&&l}))},e.observedAttributes=l.filter((([e,t])=>15&t[0])).map((([e,n])=>{const l=n[1]||e;return t.set(l,e),l}))}}return e},U=(e,t={})=>{var n;const l=[],o=t.exclude||[],s=Z.customElements,i=ee.head,r=i.querySelector("meta[charset]"),u=ee.createElement("style"),a=[];let f,d=!0;Object.assign(te,t),te.T=new URL(t.resourcesUrl||"./",ee.baseURI).href,e.map((e=>{e[1].map((t=>{const n={i:t[0],p:t[1],P:t[2],A:t[3]};n.P=t[2],n.A=t[3];const c=n.p,i=class extends HTMLElement{constructor(e){super(e),I(e=this,n),1&n.i&&e.attachShadow({mode:"open"})}connectedCallback(){f&&(clearTimeout(f),f=null),d?a.push(this):te.jmp((()=>(e=>{if(0==(1&te.i)){const t=B(e),n=t.S,l=()=>{};if(1&t.i)W(e,t,n.A);else{t.i|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n["s-p"]){M(t,t.v=n);break}}n.P&&Object.entries(n.P).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n,l,o)=>{if(0==(32&t.i)){t.i|=32;{if((o=X(n)).then){const e=()=>{};o=await o,e()}o.isProxied||(R(o,n,2),o.isProxied=!0);const e=()=>{};t.i|=8;try{new o(t)}catch(e){K(e)}t.i&=-9,e()}if(o.style){let e=o.style;const t=m(n);if(!Y.has(t)){const l=()=>{};((e,t,n)=>{let l=Y.get(e);le&&n?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,Y.set(e,l)})(t,e,!!(1&n.i)),l()}}}const s=t.v,c=()=>k(t,!0);s&&s["s-rc"]?s["s-rc"].push(c):c()})(0,t,n)}l()}})(this)))}disconnectedCallback(){te.jmp((()=>(()=>{if(0==(1&te.i)){const e=B(this),t=e.g;e.F&&(e.F.map((e=>e())),e.F=void 0),F(t,"disconnectedCallback")}})()))}componentOnReady(){return B(this).H}};n.R=e[0],o.includes(c)||s.get(c)||(l.push(c),s.define(c,R(i,n,1)))}))}));{u.innerHTML=l+"{visibility:hidden}.hydrated{visibility:inherit}",u.setAttribute("data-styles","");const e=null!==(n=te.O)&&void 0!==n?n:c(ee);null!=e&&u.setAttribute("nonce",e),i.insertBefore(u,r?r.nextSibling:i.firstChild)}d=!1,a.length?a.map((e=>e.connectedCallback())):te.jmp((()=>f=setTimeout(A,30)))},W=(e,t,n)=>{n&&n.map((([n,l,o])=>{const s=D(e,n),c=q(t,o),i=V(n);te.ael(s,l,c,i),(t.F=t.F||[]).push((()=>te.rel(s,l,c,i)))}))},q=(e,t)=>n=>{try{256&e.i?e.g[t](n):(e.j=e.j||[]).push([t,n])}catch(e){K(e)}},D=(e,t)=>16&t?ee.body:e,V=e=>0!=(2&e),_=e=>te.O=e,z=new WeakMap,B=e=>z.get(e),G=(e,t)=>z.set(t.g=e,t),I=(e,t)=>{const n={i:0,m:e,S:t,L:new Map};return n.N=new Promise((e=>n.C=e)),n.H=new Promise((e=>n.k=e)),e["s-p"]=[],e["s-rc"]=[],W(e,n,t.A),z.set(e,n)},J=(e,t)=>t in e,K=(e,t)=>(0,console.error)(e,t),Q=new Map,X=e=>{const t=e.p.replace(/-/g,"_"),n=e.R,l=Q.get(n);return l?l[t]:import(`./${n}.entry.js`).then((e=>(Q.set(n,e),e[t])),K)
+/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},Y=new Map,Z="undefined"!=typeof window?window:{},ee=Z.document||{head:{}},te={i:0,T:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,l)=>e.addEventListener(t,n,l),rel:(e,t,n,l)=>e.removeEventListener(t,n,l),ce:(e,t)=>new CustomEvent(e,t)},ne=e=>Promise.resolve(e),le=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),oe=[],se=[],ce=(e,t)=>n=>{e.push(n),l||(l=!0,t&&4&te.i?ue(re):te.raf(re))},ie=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){K(e)}e.length=0},re=()=>{ie(oe),ie(se),(l=oe.length>0)&&te.raf(re)},ue=e=>ne().then(e),ae=ce(se,!0);export{u as H,U as b,f as c,T as f,a as g,i as h,ne as p,G as r,_ as s}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-3bb700a2.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-3bb700a2.entry.js
new file mode 100644
index 0000000..97b5a2d
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-3bb700a2.entry.js
@@ -0,0 +1 @@
+import{r as s,c as t,h as i}from"./p-386e91ad.js";const e=class{constructor(i){s(this,i),this.onPhoto=t(this,"onPhoto",7),this.noDeviceError=t(this,"noDeviceError",7),this.facingMode="user",this.hidePicker=!1}async present(){const s=document.createElement("pwa-camera-modal-instance");s.facingMode=this.facingMode,s.hidePicker=this.hidePicker,s.addEventListener("onPhoto",(async s=>{this._modal&&this.onPhoto.emit(s.detail)})),s.addEventListener("noDeviceError",(async s=>{this.noDeviceError.emit(s)})),document.body.append(s),this._modal=s}async dismiss(){this._modal&&(this._modal&&this._modal.parentNode.removeChild(this._modal),this._modal=null)}render(){return i("div",null)}};e.style=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";export{e as pwa_camera_modal}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-50ea2036.system.js b/src/public/js/pwa-elements/ionicpwaelements/p-50ea2036.system.js
new file mode 100644
index 0000000..0cc8d13
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-50ea2036.system.js
@@ -0,0 +1 @@
+System.register([],(function(){"use strict";return{execute:function(){}}}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-550557d3.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-550557d3.system.entry.js
new file mode 100644
index 0000000..6fcd190
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-550557d3.system.entry.js
@@ -0,0 +1 @@
+var __awaiter=this&&this.__awaiter||function(e,t,n,i){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function a(e){try{s(i.next(e))}catch(e){r(e)}}function c(e){try{s(i["throw"](e))}catch(e){r(e)}}function s(e){e.done?n(e.value):o(e.value).then(a,c)}s((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(t){return s([e,t])}}function s(c){if(i)throw new TypeError("Generator is already executing.");while(a&&(a=0,c[0]&&(n=0)),n)try{if(i=1,o&&(r=c[0]&2?o["return"]:c[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;if(o=0,r)c=[c[0]&2,r.value];switch(c[0]){case 0:case 1:r=c;break;case 4:n.label++;return{value:c[1],done:false};case 5:n.label++;o=c[1];c=[0];continue;case 7:c=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]<r[3])){n.label=c[1];break}if(c[0]===6&&n.label<r[1]){n.label=r[1];r=c;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(c);break}if(r[2])n.ops.pop();n.trys.pop();continue}c=t.call(e,n)}catch(e){c=[6,e];o=0}finally{i=r=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-335782c2.system.js"],(function(e){"use strict";var t,n,i,o;return{setters:[function(e){t=e.r;n=e.c;i=e.h;o=e.g}],execute:function(){var r=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";var a=e("pwa_camera_modal_instance",function(){function e(e){var i=this;t(this,e);this.onPhoto=n(this,"onPhoto",7);this.noDeviceError=n(this,"noDeviceError",7);this.handlePhoto=function(e){return __awaiter(i,void 0,void 0,(function(){return __generator(this,(function(t){this.onPhoto.emit(e);return[2]}))}))};this.handleNoDeviceError=function(e){return __awaiter(i,void 0,void 0,(function(){return __generator(this,(function(t){this.noDeviceError.emit(e);return[2]}))}))};this.facingMode="user";this.hidePicker=false;this.noDevicesText="No camera found";this.noDevicesButtonText="Choose image"}e.prototype.handleBackdropClick=function(e){if(e.target!==this.el){this.onPhoto.emit(null)}};e.prototype.handleComponentClick=function(e){e.stopPropagation()};e.prototype.handleBackdropKeyUp=function(e){if(e.key==="Escape"){this.onPhoto.emit(null)}};e.prototype.render=function(){var e=this;return i("div",{class:"wrapper",onClick:function(t){return e.handleBackdropClick(t)}},i("div",{class:"content"},i("pwa-camera",{onClick:function(t){return e.handleComponentClick(t)},facingMode:this.facingMode,hidePicker:this.hidePicker,handlePhoto:this.handlePhoto,handleNoDeviceError:this.handleNoDeviceError,noDevicesButtonText:this.noDevicesButtonText,noDevicesText:this.noDevicesText})))};Object.defineProperty(e.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});return e}());a.style=r}}}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-5b57434a.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-5b57434a.system.entry.js
new file mode 100644
index 0000000..5de690a
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-5b57434a.system.entry.js
@@ -0,0 +1 @@
+System.register(["./p-335782c2.system.js"],(function(t){"use strict";var e,n,i,o;return{setters:[function(t){e=t.r;n=t.c;i=t.h;o=t.g}],execute:function(){var r=':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';var s=t("pwa_action_sheet",function(){function t(t){e(this,t);this.onSelection=n(this,"onSelection",7);this.header=undefined;this.cancelable=true;this.options=[];this.open=false}t.prototype.componentDidLoad=function(){var t=this;requestAnimationFrame((function(){t.open=true}))};t.prototype.dismiss=function(){if(this.cancelable){this.close()}};t.prototype.close=function(){var t=this;this.open=false;setTimeout((function(){t.el.parentNode.removeChild(t.el)}),500)};t.prototype.handleOptionClick=function(t,e){t.stopPropagation();this.onSelection.emit(e);this.close()};t.prototype.render=function(){var t=this;return i("div",{class:"wrapper".concat(this.open?" open":""),onClick:function(){return t.dismiss()}},i("div",{class:"content"},i("div",{class:"title"},this.header),this.options.map((function(e,n){return i("div",{class:"action-sheet-option",onClick:function(e){return t.handleOptionClick(e,n)}},i("div",{class:"action-sheet-button"},e.title))}))))};Object.defineProperty(t.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});return t}());s.style=r}}}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-665001c2.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-665001c2.entry.js
new file mode 100644
index 0000000..96921c3
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-665001c2.entry.js
@@ -0,0 +1,19 @@
+import{r as e,f as t,h as i,g as s}from"./p-386e91ad.js";
+/**
+ * MediaStream ImageCapture polyfill
+ *
+ * @license
+ * Copyright 2018 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */let a=window.ImageCapture;void 0===a&&(a=class{constructor(e){if("video"!==e.kind)throw new DOMException("NotSupportedError");this._videoStreamTrack=e,"readyState"in this._videoStreamTrack||(this._videoStreamTrack.readyState="live"),this._previewStream=new MediaStream([e]),this.videoElement=document.createElement("video"),this.videoElementPlaying=new Promise((e=>{this.videoElement.addEventListener("playing",e)})),HTMLMediaElement?this.videoElement.srcObject=this._previewStream:this.videoElement.src=URL.createObjectURL(this._previewStream),this.videoElement.muted=!0,this.videoElement.setAttribute("playsinline",""),this.videoElement.play(),this.canvasElement=document.createElement("canvas"),this.canvas2dContext=this.canvasElement.getContext("2d")}get videoStreamTrack(){return this._videoStreamTrack}getPhotoCapabilities(){return new Promise((function(e,t){const i={current:0,min:0,max:0};e({exposureCompensation:i,exposureMode:"none",fillLightMode:["none"],focusMode:"none",imageHeight:i,imageWidth:i,iso:i,redEyeReduction:!1,whiteBalanceMode:"none",zoom:i}),t(new DOMException("OperationError"))}))}setOptions(e={}){return new Promise((function(){}))}takePhoto(){const e=this;return new Promise((function(t,i){if("live"!==e._videoStreamTrack.readyState)return i(new DOMException("InvalidStateError"));e.videoElementPlaying.then((()=>{try{e.canvasElement.width=e.videoElement.videoWidth,e.canvasElement.height=e.videoElement.videoHeight,e.canvas2dContext.drawImage(e.videoElement,0,0),e.canvasElement.toBlob(t)}catch(e){i(new DOMException("UnknownError"))}}))}))}grabFrame(){const e=this;return new Promise((function(t,i){if("live"!==e._videoStreamTrack.readyState)return i(new DOMException("InvalidStateError"));e.videoElementPlaying.then((()=>{try{e.canvasElement.width=e.videoElement.videoWidth,e.canvasElement.height=e.videoElement.videoHeight,e.canvas2dContext.drawImage(e.videoElement,0,0),t(window.createImageBitmap(e.canvasElement))}catch(e){i(new DOMException("UnknownError"))}}))}))}}),window.ImageCapture=a;const o=class{constructor(t){e(this,t),this.hasMultipleCameras=!1,this.hasFlash=!1,this.flashModes=[],this.flashMode="off",this.handlePickFile=()=>{},this.handleShutterClick=()=>{console.debug("shutter click"),this.capture()},this.handleRotateClick=()=>{this.rotate()},this.handleClose=()=>{this.handlePhoto&&this.handlePhoto(null)},this.handleFlashClick=()=>{this.cycleFlash()},this.handleCancelPhoto=()=>{const e=this.stream&&this.stream.getTracks()[0];let t=e&&e.getConstraints();this.photo=null,this.photoSrc=null,t?this.initCamera({video:{facingMode:t.facingMode}}):this.initCamera()},this.handleAcceptPhoto=()=>{this.handlePhoto&&this.handlePhoto(this.photo)},this.handleFileInputChange=async e=>{const t=e.target.files[0];try{const e=await this.getOrientation(t);console.debug("Got orientation",e),this.photoOrientation=e}catch(e){}this.handlePhoto&&this.handlePhoto(t)},this.handleVideoMetadata=e=>{console.debug("Video metadata",e)},this.facingMode="user",this.handlePhoto=void 0,this.hidePicker=!1,this.handleNoDeviceError=void 0,this.noDevicesText="No camera found",this.noDevicesButtonText="Choose image",this.photo=void 0,this.photoSrc=void 0,this.showShutterOverlay=!1,this.flashIndex=0,this.hasCamera=null,this.rotation=0,this.deviceError=null}async componentDidLoad(){this.defaultConstraints={video:{facingMode:this.facingMode}},await this.queryDevices(),await this.initCamera()}disconnectedCallback(){this.stopStream(),this.photoSrc&&URL.revokeObjectURL(this.photoSrc)}hasImageCapture(){return"ImageCapture"in window}async queryDevices(){try{const e=(await navigator.mediaDevices.enumerateDevices()).filter((e=>"videoinput"==e.kind));this.hasCamera=!!e.length,this.hasMultipleCameras=e.length>1}catch(e){this.deviceError=e}}async initCamera(e){e||(e=this.defaultConstraints);try{const t=await navigator.mediaDevices.getUserMedia(Object.assign({video:!0,audio:!1},e));this.initStream(t)}catch(e){this.deviceError=e,this.handleNoDeviceError&&this.handleNoDeviceError(e)}}async initStream(e){this.stream=e,this.videoElement.srcObject=e,this.hasImageCapture()?(this.imageCapture=new window.ImageCapture(e.getVideoTracks()[0]),await this.initPhotoCapabilities(this.imageCapture)):(this.deviceError="No image capture",this.handleNoDeviceError&&this.handleNoDeviceError()),t(this.el)}async initPhotoCapabilities(e){const t=await e.getPhotoCapabilities();t.fillLightMode&&t.fillLightMode.length>1&&(this.flashModes=t.fillLightMode.map((e=>e)),this.flashMode?(this.flashMode=this.flashModes[this.flashModes.indexOf(this.flashMode)]||"off",this.flashIndex=this.flashModes.indexOf(this.flashMode)||0):this.flashIndex=0)}stopStream(){this.videoElement&&(this.videoElement.srcObject=null),this.stream&&this.stream.getTracks().forEach((e=>e.stop()))}async capture(){if(this.hasImageCapture())try{const e=await this.imageCapture.takePhoto({fillLightMode:this.flashModes.length>1?this.flashMode:void 0});await this.flashScreen(),this.promptAccept(e)}catch(e){console.error("Unable to take photo!",e)}this.stopStream()}async promptAccept(e){this.photo=e;const t=await this.getOrientation(e);if(console.debug("Got orientation",t),this.photoOrientation=t,t)switch(t){case 1:case 2:this.rotation=0;break;case 3:case 4:this.rotation=180;break;case 5:case 6:this.rotation=90;break;case 7:case 8:this.rotation=270}this.photoSrc=URL.createObjectURL(e)}getOrientation(e){return new Promise((t=>{const i=new FileReader;i.onload=e=>{const i=new DataView(e.target.result);if(65496!==i.getUint16(0,!1))return t(-2);const s=i.byteLength;let a=2;for(;a<s;){const e=i.getUint16(a,!1);if(a+=2,65505===e){if(1165519206!==i.getUint32(a+=2,!1))return t(-1);const e=18761===i.getUint16(a+=6,!1);a+=i.getUint32(a+4,e);const s=i.getUint16(a,e);a+=2;for(let o=0;o<s;o++)if(274===i.getUint16(a+12*o,e))return t(i.getUint16(a+12*o+8,e))}else{if(65280!=(65280&e))break;a+=i.getUint16(a,!1)}}return t(-1)},i.readAsArrayBuffer(e.slice(0,65536))}))}rotate(){this.stopStream();const e=this.stream&&this.stream.getTracks()[0];if(!e)return;let t=e.getConstraints().facingMode;if(!t){let i=e.getCapabilities();i.facingMode&&(t=i.facingMode[0])}this.initCamera("environment"===t?{video:{facingMode:"user"}}:{video:{facingMode:"environment"}})}setFlashMode(e){console.debug("New flash mode: ",e),this.flashMode=e}cycleFlash(){this.flashModes.length>0&&(this.flashIndex=(this.flashIndex+1)%this.flashModes.length,this.setFlashMode(this.flashModes[this.flashIndex]))}async flashScreen(){return new Promise((e=>{this.showShutterOverlay=!0,setTimeout((()=>{this.showShutterOverlay=!1,e()}),100)}))}iconExit(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"}iconPhotos(){return i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"512",height:"512",viewBox:"0 0 512 512"},i("path",{d:"M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"}),i("path",{d:"M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"}))}iconConfirm(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"}iconReverseCamera(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E"}iconRetake(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"}iconFlashOff(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E"}iconFlashOn(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E"}iconFlashAuto(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E"}render(){return i("div",{class:"camera-wrapper"},i("div",{class:"camera-header"},i("section",{class:"items"},i("div",{class:"item close",onClick:e=>this.handleClose(e)},i("img",{src:this.iconExit()})),i("div",{class:"item flash",onClick:e=>this.handleFlashClick(e)},this.flashModes.length>0&&i("div",null,"off"==this.flashMode?i("img",{src:this.iconFlashOff()}):"","auto"==this.flashMode?i("img",{src:this.iconFlashAuto()}):"","flash"==this.flashMode?i("img",{src:this.iconFlashOn()}):"")))),(!1===this.hasCamera||!!this.deviceError)&&i("div",{class:"no-device"},i("h2",null,this.noDevicesText),i("label",{htmlFor:"_pwa-elements-camera-input"},this.noDevicesButtonText),i("input",{type:"file",id:"_pwa-elements-camera-input",onChange:this.handleFileInputChange,accept:"image/*",class:"select-file-button"})),this.photoSrc?i("div",{class:"accept"},i("div",{class:"accept-image",style:Object.assign({backgroundImage:`url(${this.photoSrc})`},{})})):i("div",{class:"camera-video"},this.showShutterOverlay&&i("div",{class:"shutter-overlay"}),this.hasImageCapture()?i("video",{ref:e=>this.videoElement=e,onLoadedMetaData:this.handleVideoMetadata,autoplay:!0,playsinline:!0}):i("canvas",{ref:e=>this.canvasElement=e,width:"100%",height:"100%"}),i("canvas",{class:"offscreen-image-render",ref:e=>this.offscreenCanvas=e,width:"100%",height:"100%"})),this.hasCamera&&i("div",{class:"camera-footer"},this.photo?i("section",{class:"items"},i("div",{class:"item accept-cancel",onClick:e=>this.handleCancelPhoto(e)},i("img",{src:this.iconRetake()})),i("div",{class:"item accept-use",onClick:e=>this.handleAcceptPhoto(e)},i("img",{src:this.iconConfirm()}))):[!this.hidePicker&&i("div",{class:"pick-image",onClick:this.handlePickFile},i("label",{htmlFor:"_pwa-elements-file-pick"},this.iconPhotos()),i("input",{type:"file",id:"_pwa-elements-file-pick",onChange:this.handleFileInputChange,accept:"image/*",class:"pick-image-button"})),i("div",{class:"shutter",onClick:this.handleShutterClick},i("div",{class:"shutter-button"})),i("div",{class:"rotate",onClick:this.handleRotateClick},i("img",{src:this.iconReverseCamera()}))]))}static get assetsDirs(){return["icons"]}get el(){return s(this)}};o.style=":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";export{o as pwa_camera}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-b57f4873.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-b57f4873.entry.js
new file mode 100644
index 0000000..62112bf
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-b57f4873.entry.js
@@ -0,0 +1 @@
+import{r as t,h as s,g as i,H as e}from"./p-386e91ad.js";const o=class{constructor(s){t(this,s),this.message=void 0,this.duration=2e3,this.closing=null}hostData(){const t={out:!!this.closing};return null!==this.closing&&(t.in=!this.closing),{class:t}}componentDidLoad(){setTimeout((()=>{this.closing=!1})),setTimeout((()=>{this.close()}),this.duration)}close(){this.closing=!0,setTimeout((()=>{this.el.parentNode.removeChild(this.el)}),1e3)}__stencil_render(){return s("div",{class:"wrapper"},s("div",{class:"toast"},this.message))}get el(){return i(this)}render(){return s(e,this.hostData(),this.__stencil_render())}};o.style=':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';export{o as pwa_toast}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-d0cae4dc.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-d0cae4dc.entry.js
new file mode 100644
index 0000000..a242bda
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-d0cae4dc.entry.js
@@ -0,0 +1 @@
+import{r as t,c as e,h as i,g as n}from"./p-386e91ad.js";const s=class{constructor(i){t(this,i),this.onSelection=e(this,"onSelection",7),this.header=void 0,this.cancelable=!0,this.options=[],this.open=!1}componentDidLoad(){requestAnimationFrame((()=>{this.open=!0}))}dismiss(){this.cancelable&&this.close()}close(){this.open=!1,setTimeout((()=>{this.el.parentNode.removeChild(this.el)}),500)}handleOptionClick(t,e){t.stopPropagation(),this.onSelection.emit(e),this.close()}render(){return i("div",{class:"wrapper"+(this.open?" open":""),onClick:()=>this.dismiss()},i("div",{class:"content"},i("div",{class:"title"},this.header),this.options.map(((t,e)=>i("div",{class:"action-sheet-option",onClick:t=>this.handleOptionClick(t,e)},i("div",{class:"action-sheet-button"},t.title))))))}get el(){return n(this)}};s.style=':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';export{s as pwa_action_sheet}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-d212ae1d.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-d212ae1d.entry.js
new file mode 100644
index 0000000..af415b8
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-d212ae1d.entry.js
@@ -0,0 +1 @@
+import{r as t,c as e,h as i,g as s}from"./p-386e91ad.js";const h=class{constructor(i){t(this,i),this.onPhoto=e(this,"onPhoto",7),this.noDeviceError=e(this,"noDeviceError",7),this.handlePhoto=async t=>{this.onPhoto.emit(t)},this.handleNoDeviceError=async t=>{this.noDeviceError.emit(t)},this.facingMode="user",this.hidePicker=!1,this.noDevicesText="No camera found",this.noDevicesButtonText="Choose image"}handleBackdropClick(t){t.target!==this.el&&this.onPhoto.emit(null)}handleComponentClick(t){t.stopPropagation()}handleBackdropKeyUp(t){"Escape"===t.key&&this.onPhoto.emit(null)}render(){return i("div",{class:"wrapper",onClick:t=>this.handleBackdropClick(t)},i("div",{class:"content"},i("pwa-camera",{onClick:t=>this.handleComponentClick(t),facingMode:this.facingMode,hidePicker:this.hidePicker,handlePhoto:this.handlePhoto,handleNoDeviceError:this.handleNoDeviceError,noDevicesButtonText:this.noDevicesButtonText,noDevicesText:this.noDevicesText})))}get el(){return s(this)}};h.style=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";export{h as pwa_camera_modal_instance}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-db3c6183.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-db3c6183.system.entry.js
new file mode 100644
index 0000000..fb6a089
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-db3c6183.system.entry.js
@@ -0,0 +1 @@
+System.register(["./p-335782c2.system.js"],(function(t){"use strict";var e,i,o,s;return{setters:[function(t){e=t.r;i=t.h;o=t.g;s=t.H}],execute:function(){var n=':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';var r=t("pwa_toast",function(){function t(t){e(this,t);this.message=undefined;this.duration=2e3;this.closing=null}t.prototype.hostData=function(){var t={out:!!this.closing};if(this.closing!==null){t["in"]=!this.closing}return{class:t}};t.prototype.componentDidLoad=function(){var t=this;setTimeout((function(){t.closing=false}));setTimeout((function(){t.close()}),this.duration)};t.prototype.close=function(){var t=this;this.closing=true;setTimeout((function(){t.el.parentNode.removeChild(t.el)}),1e3)};t.prototype.__stencil_render=function(){return i("div",{class:"wrapper"},i("div",{class:"toast"},this.message))};Object.defineProperty(t.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});t.prototype.render=function(){return i(s,this.hostData(),this.__stencil_render())};return t}());r.style=n}}}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-fab2e7af.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-fab2e7af.system.entry.js
new file mode 100644
index 0000000..0232eb1
--- /dev/null
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-fab2e7af.system.entry.js
@@ -0,0 +1,20 @@
+var __awaiter=this&&this.__awaiter||function(e,t,i,n){function r(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n["throw"](e))}catch(e){a(e)}}function c(e){e.done?i(e.value):r(e.value).then(o,s)}c((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,s[0]&&(i=0)),i)try{if(n=1,r&&(a=s[0]&2?r["return"]:s[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;if(r=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:i.label++;return{value:s[1],done:false};case 5:i.label++;r=s[1];s=[0];continue;case 7:s=i.ops.pop();i.trys.pop();continue;default:if(!(a=i.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){i=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(s[0]===6&&i.label<a[1]){i.label=a[1];a=s;break}if(a&&i.label<a[2]){i.label=a[2];i.ops.push(s);break}if(a[2])i.ops.pop();i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e];r=0}finally{n=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};System.register(["./p-335782c2.system.js"],(function(e){"use strict";var t,i,n,r;return{setters:[function(e){t=e.r;i=e.f;n=e.h;r=e.g}],execute:function(){
+/**
+       * MediaStream ImageCapture polyfill
+       *
+       * @license
+       * Copyright 2018 Google Inc.
+       *
+       * Licensed under the Apache License, Version 2.0 (the "License");
+       * you may not use this file except in compliance with the License.
+       * You may obtain a copy of the License at
+       *
+       *      http://www.apache.org/licenses/LICENSE-2.0
+       *
+       * Unless required by applicable law or agreed to in writing, software
+       * distributed under the License is distributed on an "AS IS" BASIS,
+       * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+       * See the License for the specific language governing permissions and
+       * limitations under the License.
+       */
+var a=window.ImageCapture;if(typeof a==="undefined"){a=function(){function e(e){var t=this;if(e.kind!=="video")throw new DOMException("NotSupportedError");this._videoStreamTrack=e;if(!("readyState"in this._videoStreamTrack)){this._videoStreamTrack.readyState="live"}this._previewStream=new MediaStream([e]);this.videoElement=document.createElement("video");this.videoElementPlaying=new Promise((function(e){t.videoElement.addEventListener("playing",e)}));if(HTMLMediaElement){this.videoElement.srcObject=this._previewStream}else{this.videoElement.src=URL.createObjectURL(this._previewStream)}this.videoElement.muted=true;this.videoElement.setAttribute("playsinline","");this.videoElement.play();this.canvasElement=document.createElement("canvas");this.canvas2dContext=this.canvasElement.getContext("2d")}Object.defineProperty(e.prototype,"videoStreamTrack",{get:function(){return this._videoStreamTrack},enumerable:false,configurable:true});e.prototype.getPhotoCapabilities=function(){return new Promise((function e(t,i){var n={current:0,min:0,max:0};t({exposureCompensation:n,exposureMode:"none",fillLightMode:["none"],focusMode:"none",imageHeight:n,imageWidth:n,iso:n,redEyeReduction:false,whiteBalanceMode:"none",zoom:n});i(new DOMException("OperationError"))}))};e.prototype.setOptions=function(e){if(e===void 0){e={}}return new Promise((function e(t,i){}))};e.prototype.takePhoto=function(){var e=this;return new Promise((function t(i,n){if(e._videoStreamTrack.readyState!=="live"){return n(new DOMException("InvalidStateError"))}e.videoElementPlaying.then((function(){try{e.canvasElement.width=e.videoElement.videoWidth;e.canvasElement.height=e.videoElement.videoHeight;e.canvas2dContext.drawImage(e.videoElement,0,0);e.canvasElement.toBlob(i)}catch(e){n(new DOMException("UnknownError"))}}))}))};e.prototype.grabFrame=function(){var e=this;return new Promise((function t(i,n){if(e._videoStreamTrack.readyState!=="live"){return n(new DOMException("InvalidStateError"))}e.videoElementPlaying.then((function(){try{e.canvasElement.width=e.videoElement.videoWidth;e.canvasElement.height=e.videoElement.videoHeight;e.canvas2dContext.drawImage(e.videoElement,0,0);i(window.createImageBitmap(e.canvasElement))}catch(e){n(new DOMException("UnknownError"))}}))}))};return e}()}window.ImageCapture=a;var o=":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";var s=e("pwa_camera",function(){function e(e){var i=this;t(this,e);this.hasMultipleCameras=false;this.hasFlash=false;this.flashModes=[];this.flashMode="off";this.handlePickFile=function(e){};this.handleShutterClick=function(e){console.debug("shutter click");i.capture()};this.handleRotateClick=function(e){i.rotate()};this.handleClose=function(e){i.handlePhoto&&i.handlePhoto(null)};this.handleFlashClick=function(e){i.cycleFlash()};this.handleCancelPhoto=function(e){var t=i.stream&&i.stream.getTracks()[0];var n=t&&t.getConstraints();i.photo=null;i.photoSrc=null;if(n){i.initCamera({video:{facingMode:n.facingMode}})}else{i.initCamera()}};this.handleAcceptPhoto=function(e){i.handlePhoto&&i.handlePhoto(i.photo)};this.handleFileInputChange=function(e){return __awaiter(i,void 0,void 0,(function(){var t,i,n,r;return __generator(this,(function(a){switch(a.label){case 0:t=e.target;i=t.files[0];a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.getOrientation(i)];case 2:n=a.sent();console.debug("Got orientation",n);this.photoOrientation=n;return[3,4];case 3:r=a.sent();return[3,4];case 4:this.handlePhoto&&this.handlePhoto(i);return[2]}}))}))};this.handleVideoMetadata=function(e){console.debug("Video metadata",e)};this.facingMode="user";this.handlePhoto=undefined;this.hidePicker=false;this.handleNoDeviceError=undefined;this.noDevicesText="No camera found";this.noDevicesButtonText="Choose image";this.photo=undefined;this.photoSrc=undefined;this.showShutterOverlay=false;this.flashIndex=0;this.hasCamera=null;this.rotation=0;this.deviceError=null}e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:this.defaultConstraints={video:{facingMode:this.facingMode}};return[4,this.queryDevices()];case 1:e.sent();return[4,this.initCamera()];case 2:e.sent();return[2]}}))}))};e.prototype.disconnectedCallback=function(){this.stopStream();this.photoSrc&&URL.revokeObjectURL(this.photoSrc)};e.prototype.hasImageCapture=function(){return"ImageCapture"in window};e.prototype.queryDevices=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,i;return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,navigator.mediaDevices.enumerateDevices()];case 1:e=n.sent();t=e.filter((function(e){return e.kind=="videoinput"}));this.hasCamera=!!t.length;this.hasMultipleCameras=t.length>1;return[3,3];case 2:i=n.sent();this.deviceError=i;return[3,3];case 3:return[2]}}))}))};e.prototype.initCamera=function(e){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(n){switch(n.label){case 0:if(!e){e=this.defaultConstraints}n.label=1;case 1:n.trys.push([1,3,,4]);return[4,navigator.mediaDevices.getUserMedia(Object.assign({video:true,audio:false},e))];case 2:t=n.sent();this.initStream(t);return[3,4];case 3:i=n.sent();this.deviceError=i;this.handleNoDeviceError&&this.handleNoDeviceError(i);return[3,4];case 4:return[2]}}))}))};e.prototype.initStream=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:this.stream=e;this.videoElement.srcObject=e;if(!this.hasImageCapture())return[3,2];this.imageCapture=new window.ImageCapture(e.getVideoTracks()[0]);return[4,this.initPhotoCapabilities(this.imageCapture)];case 1:t.sent();return[3,3];case 2:this.deviceError="No image capture";this.handleNoDeviceError&&this.handleNoDeviceError();t.label=3;case 3:i(this.el);return[2]}}))}))};e.prototype.initPhotoCapabilities=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:return[4,e.getPhotoCapabilities()];case 1:t=i.sent();if(t.fillLightMode&&t.fillLightMode.length>1){this.flashModes=t.fillLightMode.map((function(e){return e}));if(this.flashMode){this.flashMode=this.flashModes[this.flashModes.indexOf(this.flashMode)]||"off";this.flashIndex=this.flashModes.indexOf(this.flashMode)||0}else{this.flashIndex=0}}return[2]}}))}))};e.prototype.stopStream=function(){if(this.videoElement){this.videoElement.srcObject=null}this.stream&&this.stream.getTracks().forEach((function(e){return e.stop()}))};e.prototype.capture=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){switch(i.label){case 0:if(!this.hasImageCapture())return[3,5];i.label=1;case 1:i.trys.push([1,4,,5]);return[4,this.imageCapture.takePhoto({fillLightMode:this.flashModes.length>1?this.flashMode:undefined})];case 2:e=i.sent();return[4,this.flashScreen()];case 3:i.sent();this.promptAccept(e);return[3,5];case 4:t=i.sent();console.error("Unable to take photo!",t);return[3,5];case 5:this.stopStream();return[2]}}))}))};e.prototype.promptAccept=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:this.photo=e;return[4,this.getOrientation(e)];case 1:t=i.sent();console.debug("Got orientation",t);this.photoOrientation=t;if(t){switch(t){case 1:case 2:this.rotation=0;break;case 3:case 4:this.rotation=180;break;case 5:case 6:this.rotation=90;break;case 7:case 8:this.rotation=270;break}}this.photoSrc=URL.createObjectURL(e);return[2]}}))}))};e.prototype.getOrientation=function(e){return new Promise((function(t){var i=new FileReader;i.onload=function(e){var i=new DataView(e.target.result);if(i.getUint16(0,false)!==65496){return t(-2)}var n=i.byteLength;var r=2;while(r<n){var a=i.getUint16(r,false);r+=2;if(a===65505){if(i.getUint32(r+=2,false)!==1165519206){return t(-1)}var o=i.getUint16(r+=6,false)===18761;r+=i.getUint32(r+4,o);var s=i.getUint16(r,o);r+=2;for(var c=0;c<s;c++){if(i.getUint16(r+c*12,o)===274){return t(i.getUint16(r+c*12+8,o))}}}else if((a&65280)!==65280){break}else{r+=i.getUint16(r,false)}}return t(-1)};i.readAsArrayBuffer(e.slice(0,64*1024))}))};e.prototype.rotate=function(){this.stopStream();var e=this.stream&&this.stream.getTracks()[0];if(!e){return}var t=e.getConstraints();var i=t.facingMode;if(!i){var n=e.getCapabilities();if(n.facingMode){i=n.facingMode[0]}}if(i==="environment"){this.initCamera({video:{facingMode:"user"}})}else{this.initCamera({video:{facingMode:"environment"}})}};e.prototype.setFlashMode=function(e){console.debug("New flash mode: ",e);this.flashMode=e};e.prototype.cycleFlash=function(){if(this.flashModes.length>0){this.flashIndex=(this.flashIndex+1)%this.flashModes.length;this.setFlashMode(this.flashModes[this.flashIndex])}};e.prototype.flashScreen=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,new Promise((function(t,i){e.showShutterOverlay=true;setTimeout((function(){e.showShutterOverlay=false;t()}),100)}))]}))}))};e.prototype.iconExit=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconPhotos=function(){return n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"512",height:"512",viewBox:"0 0 512 512"},n("path",{d:"M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"}),n("path",{d:"M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"}))};e.prototype.iconConfirm=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconReverseCamera=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconRetake=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconFlashOff=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconFlashOn=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E"};e.prototype.iconFlashAuto=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.render=function(){var e=this;var t={};return n("div",{class:"camera-wrapper"},n("div",{class:"camera-header"},n("section",{class:"items"},n("div",{class:"item close",onClick:function(t){return e.handleClose(t)}},n("img",{src:this.iconExit()})),n("div",{class:"item flash",onClick:function(t){return e.handleFlashClick(t)}},this.flashModes.length>0&&n("div",null,this.flashMode=="off"?n("img",{src:this.iconFlashOff()}):"",this.flashMode=="auto"?n("img",{src:this.iconFlashAuto()}):"",this.flashMode=="flash"?n("img",{src:this.iconFlashOn()}):"")))),(this.hasCamera===false||!!this.deviceError)&&n("div",{class:"no-device"},n("h2",null,this.noDevicesText),n("label",{htmlFor:"_pwa-elements-camera-input"},this.noDevicesButtonText),n("input",{type:"file",id:"_pwa-elements-camera-input",onChange:this.handleFileInputChange,accept:"image/*",class:"select-file-button"})),this.photoSrc?n("div",{class:"accept"},n("div",{class:"accept-image",style:Object.assign({backgroundImage:"url(".concat(this.photoSrc,")")},t)})):n("div",{class:"camera-video"},this.showShutterOverlay&&n("div",{class:"shutter-overlay"}),this.hasImageCapture()?n("video",{ref:function(t){return e.videoElement=t},onLoadedMetaData:this.handleVideoMetadata,autoplay:true,playsinline:true}):n("canvas",{ref:function(t){return e.canvasElement=t},width:"100%",height:"100%"}),n("canvas",{class:"offscreen-image-render",ref:function(t){return e.offscreenCanvas=t},width:"100%",height:"100%"})),this.hasCamera&&n("div",{class:"camera-footer"},!this.photo?[!this.hidePicker&&n("div",{class:"pick-image",onClick:this.handlePickFile},n("label",{htmlFor:"_pwa-elements-file-pick"},this.iconPhotos()),n("input",{type:"file",id:"_pwa-elements-file-pick",onChange:this.handleFileInputChange,accept:"image/*",class:"pick-image-button"})),n("div",{class:"shutter",onClick:this.handleShutterClick},n("div",{class:"shutter-button"})),n("div",{class:"rotate",onClick:this.handleRotateClick},n("img",{src:this.iconReverseCamera()}))]:n("section",{class:"items"},n("div",{class:"item accept-cancel",onClick:function(t){return e.handleCancelPhoto(t)}},n("img",{src:this.iconRetake()})),n("div",{class:"item accept-use",onClick:function(t){return e.handleAcceptPhoto(t)}},n("img",{src:this.iconConfirm()})))))};Object.defineProperty(e,"assetsDirs",{get:function(){return["icons"]},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return r(this)},enumerable:false,configurable:true});return e}());s.style=o}}}));
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/types/components.d.ts b/src/public/js/pwa-elements/types/components.d.ts
new file mode 100644
index 0000000..3b374f5
--- /dev/null
+++ b/src/public/js/pwa-elements/types/components.d.ts
@@ -0,0 +1,144 @@
+/* eslint-disable */
+/* tslint:disable */
+/**
+ * This is an autogenerated file created by the Stencil compiler.
+ * It contains typing information for all components that exist in this project.
+ */
+import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
+import { ActionSheetOption } from "./definitions";
+export { ActionSheetOption } from "./definitions";
+export namespace Components {
+    interface PwaActionSheet {
+        "cancelable": boolean;
+        "header": string;
+        "options": ActionSheetOption[];
+    }
+    interface PwaCamera {
+        "facingMode": string;
+        "handleNoDeviceError": (e?: any) => void;
+        "handlePhoto": (photo: Blob) => void;
+        "hidePicker": boolean;
+        "noDevicesButtonText": string;
+        "noDevicesText": string;
+    }
+    interface PwaCameraModal {
+        "dismiss": () => Promise<void>;
+        "facingMode": string;
+        "hidePicker": boolean;
+        "present": () => Promise<void>;
+    }
+    interface PwaCameraModalInstance {
+        "facingMode": string;
+        "hidePicker": boolean;
+        "noDevicesButtonText": string;
+        "noDevicesText": string;
+    }
+    interface PwaToast {
+        "duration": number;
+        "message": string;
+    }
+}
+export interface PwaActionSheetCustomEvent<T> extends CustomEvent<T> {
+    detail: T;
+    target: HTMLPwaActionSheetElement;
+}
+export interface PwaCameraModalCustomEvent<T> extends CustomEvent<T> {
+    detail: T;
+    target: HTMLPwaCameraModalElement;
+}
+export interface PwaCameraModalInstanceCustomEvent<T> extends CustomEvent<T> {
+    detail: T;
+    target: HTMLPwaCameraModalInstanceElement;
+}
+declare global {
+    interface HTMLPwaActionSheetElement extends Components.PwaActionSheet, HTMLStencilElement {
+    }
+    var HTMLPwaActionSheetElement: {
+        prototype: HTMLPwaActionSheetElement;
+        new (): HTMLPwaActionSheetElement;
+    };
+    interface HTMLPwaCameraElement extends Components.PwaCamera, HTMLStencilElement {
+    }
+    var HTMLPwaCameraElement: {
+        prototype: HTMLPwaCameraElement;
+        new (): HTMLPwaCameraElement;
+    };
+    interface HTMLPwaCameraModalElement extends Components.PwaCameraModal, HTMLStencilElement {
+    }
+    var HTMLPwaCameraModalElement: {
+        prototype: HTMLPwaCameraModalElement;
+        new (): HTMLPwaCameraModalElement;
+    };
+    interface HTMLPwaCameraModalInstanceElement extends Components.PwaCameraModalInstance, HTMLStencilElement {
+    }
+    var HTMLPwaCameraModalInstanceElement: {
+        prototype: HTMLPwaCameraModalInstanceElement;
+        new (): HTMLPwaCameraModalInstanceElement;
+    };
+    interface HTMLPwaToastElement extends Components.PwaToast, HTMLStencilElement {
+    }
+    var HTMLPwaToastElement: {
+        prototype: HTMLPwaToastElement;
+        new (): HTMLPwaToastElement;
+    };
+    interface HTMLElementTagNameMap {
+        "pwa-action-sheet": HTMLPwaActionSheetElement;
+        "pwa-camera": HTMLPwaCameraElement;
+        "pwa-camera-modal": HTMLPwaCameraModalElement;
+        "pwa-camera-modal-instance": HTMLPwaCameraModalInstanceElement;
+        "pwa-toast": HTMLPwaToastElement;
+    }
+}
+declare namespace LocalJSX {
+    interface PwaActionSheet {
+        "cancelable"?: boolean;
+        "header"?: string;
+        "onOnSelection"?: (event: PwaActionSheetCustomEvent<any>) => void;
+        "options"?: ActionSheetOption[];
+    }
+    interface PwaCamera {
+        "facingMode"?: string;
+        "handleNoDeviceError"?: (e?: any) => void;
+        "handlePhoto"?: (photo: Blob) => void;
+        "hidePicker"?: boolean;
+        "noDevicesButtonText"?: string;
+        "noDevicesText"?: string;
+    }
+    interface PwaCameraModal {
+        "facingMode"?: string;
+        "hidePicker"?: boolean;
+        "onNoDeviceError"?: (event: PwaCameraModalCustomEvent<any>) => void;
+        "onOnPhoto"?: (event: PwaCameraModalCustomEvent<any>) => void;
+    }
+    interface PwaCameraModalInstance {
+        "facingMode"?: string;
+        "hidePicker"?: boolean;
+        "noDevicesButtonText"?: string;
+        "noDevicesText"?: string;
+        "onNoDeviceError"?: (event: PwaCameraModalInstanceCustomEvent<any>) => void;
+        "onOnPhoto"?: (event: PwaCameraModalInstanceCustomEvent<any>) => void;
+    }
+    interface PwaToast {
+        "duration"?: number;
+        "message"?: string;
+    }
+    interface IntrinsicElements {
+        "pwa-action-sheet": PwaActionSheet;
+        "pwa-camera": PwaCamera;
+        "pwa-camera-modal": PwaCameraModal;
+        "pwa-camera-modal-instance": PwaCameraModalInstance;
+        "pwa-toast": PwaToast;
+    }
+}
+export { LocalJSX as JSX };
+declare module "@stencil/core" {
+    export namespace JSX {
+        interface IntrinsicElements {
+            "pwa-action-sheet": LocalJSX.PwaActionSheet & JSXBase.HTMLAttributes<HTMLPwaActionSheetElement>;
+            "pwa-camera": LocalJSX.PwaCamera & JSXBase.HTMLAttributes<HTMLPwaCameraElement>;
+            "pwa-camera-modal": LocalJSX.PwaCameraModal & JSXBase.HTMLAttributes<HTMLPwaCameraModalElement>;
+            "pwa-camera-modal-instance": LocalJSX.PwaCameraModalInstance & JSXBase.HTMLAttributes<HTMLPwaCameraModalInstanceElement>;
+            "pwa-toast": LocalJSX.PwaToast & JSXBase.HTMLAttributes<HTMLPwaToastElement>;
+        }
+    }
+}
diff --git a/src/public/js/pwa-elements/types/components/action-sheet/action-sheet.d.ts b/src/public/js/pwa-elements/types/components/action-sheet/action-sheet.d.ts
new file mode 100644
index 0000000..5c15fde
--- /dev/null
+++ b/src/public/js/pwa-elements/types/components/action-sheet/action-sheet.d.ts
@@ -0,0 +1,15 @@
+import { EventEmitter } from '../../stencil-public-runtime';
+import { ActionSheetOption } from '../../definitions';
+export declare class PWAActionSheet {
+  el: HTMLElement;
+  header: string;
+  cancelable: boolean;
+  options: ActionSheetOption[];
+  onSelection: EventEmitter;
+  open: boolean;
+  componentDidLoad(): void;
+  dismiss(): void;
+  close(): void;
+  handleOptionClick(e: MouseEvent, i: number): void;
+  render(): any;
+}
diff --git a/src/public/js/pwa-elements/types/components/camera-modal/camera-modal-instance.d.ts b/src/public/js/pwa-elements/types/components/camera-modal/camera-modal-instance.d.ts
new file mode 100644
index 0000000..4b68a0c
--- /dev/null
+++ b/src/public/js/pwa-elements/types/components/camera-modal/camera-modal-instance.d.ts
@@ -0,0 +1,16 @@
+import { EventEmitter } from '../../stencil-public-runtime';
+export declare class PWACameraModal {
+  el: any;
+  onPhoto: EventEmitter;
+  noDeviceError: EventEmitter;
+  facingMode: string;
+  hidePicker: boolean;
+  noDevicesText: string;
+  noDevicesButtonText: string;
+  handlePhoto: (photo: Blob) => Promise<void>;
+  handleNoDeviceError: (photo: any) => Promise<void>;
+  handleBackdropClick(e: MouseEvent): void;
+  handleComponentClick(e: MouseEvent): void;
+  handleBackdropKeyUp(e: KeyboardEvent): void;
+  render(): any;
+}
diff --git a/src/public/js/pwa-elements/types/components/camera-modal/camera-modal.d.ts b/src/public/js/pwa-elements/types/components/camera-modal/camera-modal.d.ts
new file mode 100644
index 0000000..5381dac
--- /dev/null
+++ b/src/public/js/pwa-elements/types/components/camera-modal/camera-modal.d.ts
@@ -0,0 +1,11 @@
+import { EventEmitter } from '../../stencil-public-runtime';
+export declare class PWACameraModal {
+  facingMode: string;
+  hidePicker: boolean;
+  onPhoto: EventEmitter;
+  noDeviceError: EventEmitter;
+  _modal: HTMLElement;
+  present(): Promise<void>;
+  dismiss(): Promise<void>;
+  render(): any;
+}
diff --git a/src/public/js/pwa-elements/types/components/camera/camera.d.ts b/src/public/js/pwa-elements/types/components/camera/camera.d.ts
new file mode 100644
index 0000000..265b09b
--- /dev/null
+++ b/src/public/js/pwa-elements/types/components/camera/camera.d.ts
@@ -0,0 +1,66 @@
+import { FlashMode } from '../../definitions';
+import './imagecapture';
+export declare class CameraPWA {
+  el: any;
+  facingMode: string;
+  handlePhoto: (photo: Blob) => void;
+  hidePicker: boolean;
+  handleNoDeviceError: (e?: any) => void;
+  noDevicesText: string;
+  noDevicesButtonText: string;
+  photo: any;
+  photoSrc: any;
+  showShutterOverlay: boolean;
+  flashIndex: number;
+  hasCamera: boolean | null;
+  rotation: number;
+  deviceError: any | null;
+  photoOrientation: number;
+  exifData: any;
+  offscreenCanvas: HTMLCanvasElement;
+  defaultConstraints: any;
+  stream: MediaStream;
+  imageCapture: any;
+  videoElement: HTMLVideoElement;
+  canvasElement: HTMLCanvasElement;
+  hasMultipleCameras: boolean;
+  hasFlash: boolean;
+  flashModes: FlashMode[];
+  flashMode: FlashMode;
+  componentDidLoad(): Promise<void>;
+  disconnectedCallback(): void;
+  hasImageCapture(): boolean;
+  /**
+   * Query the list of connected devices and figure out how many video inputs we have.
+   */
+  queryDevices(): Promise<void>;
+  initCamera(constraints?: MediaStreamConstraints): Promise<void>;
+  initStream(stream: MediaStream): Promise<void>;
+  initPhotoCapabilities(imageCapture: any): Promise<void>;
+  stopStream(): void;
+  capture(): Promise<void>;
+  promptAccept(photo: any): Promise<void>;
+  private getOrientation;
+  rotate(): void;
+  setFlashMode(mode: FlashMode): void;
+  cycleFlash(): void;
+  flashScreen(): Promise<void>;
+  handlePickFile: (_e: Event) => void;
+  handleShutterClick: (_e: Event) => void;
+  handleRotateClick: (_e: Event) => void;
+  handleClose: (_e: Event) => void;
+  handleFlashClick: (_e: Event) => void;
+  handleCancelPhoto: (_e: Event) => void;
+  handleAcceptPhoto: (_e: Event) => void;
+  handleFileInputChange: (e: InputEvent) => Promise<void>;
+  handleVideoMetadata: (e: Event) => void;
+  iconExit(): string;
+  iconPhotos(): any;
+  iconConfirm(): string;
+  iconReverseCamera(): string;
+  iconRetake(): string;
+  iconFlashOff(): string;
+  iconFlashOn(): string;
+  iconFlashAuto(): string;
+  render(): any;
+}
diff --git a/src/public/js/pwa-elements/types/components/camera/imagecapture.d.ts b/src/public/js/pwa-elements/types/components/camera/imagecapture.d.ts
new file mode 100644
index 0000000..0096488
--- /dev/null
+++ b/src/public/js/pwa-elements/types/components/camera/imagecapture.d.ts
@@ -0,0 +1,19 @@
+/**
+ * MediaStream ImageCapture polyfill
+ *
+ * @license
+ * Copyright 2018 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+export declare let ImageCapture: any;
diff --git a/src/public/js/pwa-elements/types/components/toast/toast.d.ts b/src/public/js/pwa-elements/types/components/toast/toast.d.ts
new file mode 100644
index 0000000..65528c5
--- /dev/null
+++ b/src/public/js/pwa-elements/types/components/toast/toast.d.ts
@@ -0,0 +1,14 @@
+export declare class PWAToast {
+  el: HTMLElement;
+  message: string;
+  duration: number;
+  closing: any;
+  hostData(): {
+    class: {
+      out: boolean;
+    };
+  };
+  componentDidLoad(): void;
+  close(): void;
+  render(): any;
+}
diff --git a/src/public/js/pwa-elements/types/definitions.d.ts b/src/public/js/pwa-elements/types/definitions.d.ts
new file mode 100644
index 0000000..103fa3a
--- /dev/null
+++ b/src/public/js/pwa-elements/types/definitions.d.ts
@@ -0,0 +1,15 @@
+export interface MediaSettingsRange {
+  min: number;
+  max: number;
+  step: number;
+}
+export interface PhotoCapabilities {
+  redEyeReduction: "never" | "always" | "controllable";
+  imageHeight: MediaSettingsRange;
+  imageWidth: MediaSettingsRange;
+  fillLightMode: string[];
+}
+export type FlashMode = "auto" | "off" | "flash";
+export interface ActionSheetOption {
+  title: string;
+}
diff --git a/src/public/js/pwa-elements/types/index.d.ts b/src/public/js/pwa-elements/types/index.d.ts
new file mode 100644
index 0000000..07635cb
--- /dev/null
+++ b/src/public/js/pwa-elements/types/index.d.ts
@@ -0,0 +1 @@
+export * from './components';
diff --git a/src/public/js/pwa-elements/types/stencil-public-runtime.d.ts b/src/public/js/pwa-elements/types/stencil-public-runtime.d.ts
new file mode 100644
index 0000000..b44ed14
--- /dev/null
+++ b/src/public/js/pwa-elements/types/stencil-public-runtime.d.ts
@@ -0,0 +1,1640 @@
+declare type CustomMethodDecorator<T> = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
+export interface ComponentDecorator {
+    (opts?: ComponentOptions): ClassDecorator;
+}
+export interface ComponentOptions {
+    /**
+     * Tag name of the web component. Ideally, the tag name must be globally unique,
+     * so it's recommended to choose an unique prefix for all your components within the same collection.
+     *
+     * In addition, tag name must contain a '-'
+     */
+    tag: string;
+    /**
+     * If `true`, the component will use scoped stylesheets. Similar to shadow-dom,
+     * but without native isolation. Defaults to `false`.
+     */
+    scoped?: boolean;
+    /**
+     * If `true`, the component will use native shadow-dom encapsulation, it will fallback to
+     * `scoped` if the browser does not support shadow-dom natively. Defaults to `false`.
+     * Additionally, `shadow` can also be given options when attaching the shadow root.
+     */
+    shadow?: boolean | ShadowRootOptions;
+    /**
+     * Relative URL to some external stylesheet file. It should be a `.css` file unless some
+     * external plugin is installed like `@stencil/sass`.
+     */
+    styleUrl?: string;
+    /**
+     * Similar as `styleUrl` but allows to specify different stylesheets for different modes.
+     */
+    styleUrls?: string[] | ModeStyles;
+    /**
+     * String that contains inlined CSS instead of using an external stylesheet.
+     * The performance characteristics of this feature are the same as using an external stylesheet.
+     *
+     * Notice, you can't use sass, or less, only `css` is allowed using `styles`, use `styleUrl` is you need more advanced features.
+     */
+    styles?: string | {
+        [modeName: string]: any;
+    };
+    /**
+     * Array of relative links to folders of assets required by the component.
+     */
+    assetsDirs?: string[];
+}
+export interface ShadowRootOptions {
+    /**
+     * When set to `true`, specifies behavior that mitigates custom element issues
+     * around focusability. When a non-focusable part of the shadow DOM is clicked, the first
+     * focusable part is given focus, and the shadow host is given any available `:focus` styling.
+     */
+    delegatesFocus?: boolean;
+}
+export interface ModeStyles {
+    [modeName: string]: string | string[];
+}
+export interface PropDecorator {
+    (opts?: PropOptions): PropertyDecorator;
+}
+export interface PropOptions {
+    /**
+     * The name of the associated DOM attribute.
+     * Stencil uses different heuristics to determine the default name of the attribute,
+     * but using this property, you can override the default behaviour.
+     */
+    attribute?: string | null;
+    /**
+     * A Prop is _by default_ immutable from inside the component logic.
+     * Once a value is set by a user, the component cannot update it internally.
+     * However, it's possible to explicitly allow a Prop to be mutated from inside the component,
+     * by setting this `mutable` option to `true`.
+     */
+    mutable?: boolean;
+    /**
+     * In some cases it may be useful to keep a Prop in sync with an attribute.
+     * In this case you can set the `reflect` option to `true`, since it defaults to `false`:
+     */
+    reflect?: boolean;
+}
+export interface MethodDecorator {
+    (opts?: MethodOptions): CustomMethodDecorator<any>;
+}
+export interface MethodOptions {
+}
+export interface ElementDecorator {
+    (): PropertyDecorator;
+}
+export interface EventDecorator {
+    (opts?: EventOptions): PropertyDecorator;
+}
+export interface EventOptions {
+    /**
+     * A string custom event name to override the default.
+     */
+    eventName?: string;
+    /**
+     * A Boolean indicating whether the event bubbles up through the DOM or not.
+     */
+    bubbles?: boolean;
+    /**
+     * A Boolean indicating whether the event is cancelable.
+     */
+    cancelable?: boolean;
+    /**
+     * A Boolean value indicating whether or not the event can bubble across the boundary between the shadow DOM and the regular DOM.
+     */
+    composed?: boolean;
+}
+export interface ListenDecorator {
+    (eventName: string, opts?: ListenOptions): CustomMethodDecorator<any>;
+}
+export interface ListenOptions {
+    /**
+     * Handlers can also be registered for an event other than the host itself.
+     * The `target` option can be used to change where the event listener is attached,
+     * this is useful for listening to application-wide events.
+     */
+    target?: ListenTargetOptions;
+    /**
+     * Event listener attached with `@Listen` does not "capture" by default,
+     * When a event listener is set to "capture", means the event will be dispatched
+     * during the "capture phase". Please see
+     * https://www.quirksmode.org/js/events_order.html for further information.
+     */
+    capture?: boolean;
+    /**
+     * By default, Stencil uses several heuristics to determine if
+     * it must attach a `passive` event listener or not.
+     *
+     * Using the `passive` option can be used to change the default behaviour.
+     * Please see https://developers.google.com/web/updates/2016/06/passive-event-listeners for further information.
+     */
+    passive?: boolean;
+}
+export type ListenTargetOptions = 'body' | 'document' | 'window';
+export interface StateDecorator {
+    (): PropertyDecorator;
+}
+export interface WatchDecorator {
+    (propName: string): CustomMethodDecorator<any>;
+}
+export interface UserBuildConditionals {
+    isDev: boolean;
+    isBrowser: boolean;
+    isServer: boolean;
+    isTesting: boolean;
+}
+/**
+ * The `Build` object provides many build conditionals that can be used to
+ * include or exclude code depending on the build.
+ */
+export declare const Build: UserBuildConditionals;
+/**
+ * The `Env` object provides access to the "env" object declared in the project's `stencil.config.ts`.
+ */
+export declare const Env: {
+    [prop: string]: string | undefined;
+};
+/**
+ * The `@Component()` decorator is used to provide metadata about the component class.
+ * https://stenciljs.com/docs/component
+ */
+export declare const Component: ComponentDecorator;
+/**
+ * The `@Element()` decorator is a reference to the actual host element
+ * once it has rendered.
+ */
+export declare const Element: ElementDecorator;
+/**
+ * Components can emit data and events using the Event Emitter decorator.
+ * To dispatch Custom DOM events for other components to handle, use the
+ * `@Event()` decorator. The Event decorator also makes it easier for Stencil
+ * to automatically build types and documentation for the event data.
+ * https://stenciljs.com/docs/events
+ */
+export declare const Event: EventDecorator;
+/**
+ * The `Listen()` decorator is for listening DOM events, including the ones
+ * dispatched from `@Events()`.
+ * https://stenciljs.com/docs/events#listen-decorator
+ */
+export declare const Listen: ListenDecorator;
+/**
+ * The `@Method()` decorator is used to expose methods on the public API.
+ * Class methods decorated with the @Method() decorator can be called directly
+ * from the element, meaning they are intended to be callable from the outside.
+ * https://stenciljs.com/docs/methods
+ */
+export declare const Method: MethodDecorator;
+/**
+ * Props are custom attribute/properties exposed publicly on the element
+ * that developers can provide values for. Children components do not need to
+ * know about or reference parent components, so Props can be used to pass
+ * data down from the parent to the child. Components need to explicitly
+ * declare the Props they expect to receive using the `@Prop()` decorator.
+ * Any value changes to a Prop will cause a re-render.
+ * https://stenciljs.com/docs/properties
+ */
+export declare const Prop: PropDecorator;
+/**
+ * The `@State()` decorator can be used to manage internal data for a component.
+ * This means that a user cannot modify this data from outside the component,
+ * but the component can modify it however it sees fit. Any value changes to a
+ * `@State()` property will cause the components render function to be called again.
+ * https://stenciljs.com/docs/state
+ */
+export declare const State: StateDecorator;
+/**
+ * When a property's value has changed, a method decorated with `@Watch()` will be
+ * called and passed the new value of the prop along with the old value. Watch is
+ * useful for validating props or handling side effects. Watch decorator does not
+ * fire when a component initially loads.
+ * https://stenciljs.com/docs/reactive-data#watch-decorator
+ */
+export declare const Watch: WatchDecorator;
+export type ResolutionHandler = (elm: HTMLElement) => string | undefined | null;
+export type ErrorHandler = (err: any, element?: HTMLElement) => void;
+/**
+ * `setMode()` is used for libraries which provide multiple "modes" for styles.
+ */
+export declare const setMode: (handler: ResolutionHandler) => void;
+/**
+ * `getMode()` is used for libraries which provide multiple "modes" for styles.
+ * @param ref a reference to the node to get styles for
+ * @returns the current mode or undefined, if not found
+ */
+export declare function getMode<T = string | undefined>(ref: any): T;
+export declare function setPlatformHelpers(helpers: {
+    jmp?: (c: any) => any;
+    raf?: (c: any) => number;
+    ael?: (el: any, eventName: string, listener: any, options: any) => void;
+    rel?: (el: any, eventName: string, listener: any, options: any) => void;
+    ce?: (eventName: string, opts?: any) => any;
+}): void;
+/**
+ * Get the base path to where the assets can be found. Use `setAssetPath(path)`
+ * if the path needs to be customized.
+ * @param path the path to use in calculating the asset path. this value will be
+ * used in conjunction with the base asset path
+ * @returns the base path
+ */
+export declare function getAssetPath(path: string): string;
+/**
+ * Used to manually set the base path where assets can be found. For lazy-loaded
+ * builds the asset path is automatically set and assets copied to the correct
+ * build directory. However, for custom elements builds, the `setAssetPath(path)` could
+ * be used to customize the asset path depending on how the script file is consumed.
+ * If the script is used as "module", it's recommended to use "import.meta.url", such
+ * as `setAssetPath(import.meta.url)`. Other options include
+ * `setAssetPath(document.currentScript.src)`, or using a bundler's replace plugin to
+ * dynamically set the path at build time, such as `setAssetPath(process.env.ASSET_PATH)`.
+ * But do note that this configuration depends on how your script is bundled, or lack of
+ * bundling, and where your assets can be loaded from. Additionally custom bundling
+ * will have to ensure the static assets are copied to its build directory.
+ * @param path the asset path to set
+ * @returns the set path
+ */
+export declare function setAssetPath(path: string): string;
+/**
+ * Used to specify a nonce value that corresponds with an application's
+ * [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP).
+ * When set, the nonce will be added to all dynamically created script and style tags at runtime.
+ * Alternatively, the nonce value can be set on a `meta` tag in the DOM head
+ * (<meta name="csp-nonce" content="{ nonce value here }" />) and will result in the same behavior.
+ * @param nonce The value to be used for the nonce attribute.
+ */
+export declare function setNonce(nonce: string): void;
+/**
+ * Retrieve a Stencil element for a given reference
+ * @param ref the ref to get the Stencil element for
+ * @returns a reference to the element
+ */
+export declare function getElement(ref: any): HTMLStencilElement;
+/**
+ * Schedules a new render of the given instance or element even if no state changed.
+ *
+ * Notice `forceUpdate()` is not synchronous and might perform the DOM render in the next frame.
+ *
+ * @param ref the node/element to force the re-render of
+ */
+export declare function forceUpdate(ref: any): void;
+/**
+ * getRenderingRef
+ * @returns the rendering ref
+ */
+export declare function getRenderingRef(): any;
+export interface HTMLStencilElement extends HTMLElement {
+    componentOnReady(): Promise<this>;
+}
+/**
+ * Schedules a DOM-write task. The provided callback will be executed
+ * in the best moment to perform DOM mutation without causing layout thrashing.
+ *
+ * For further information: https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing
+ *
+ * @param task the DOM-write to schedule
+ */
+export declare function writeTask(task: RafCallback): void;
+/**
+ * Schedules a DOM-read task. The provided callback will be executed
+ * in the best moment to perform DOM reads without causing layout thrashing.
+ *
+ * For further information: https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing
+ *
+ * @param task the DOM-read to schedule
+ */
+export declare function readTask(task: RafCallback): void;
+/**
+ * `setErrorHandler()` can be used to inject a custom global error handler.
+ * Unhandled exception raised while rendering, during event handling, or lifecycles will trigger the custom event handler.
+ */
+export declare const setErrorHandler: (handler: ErrorHandler) => void;
+/**
+ * This file gets copied to all distributions of stencil component collections.
+ * - no imports
+ */
+export interface ComponentWillLoad {
+    /**
+     * The component is about to load and it has not
+     * rendered yet.
+     *
+     * This is the best place to make any data updates
+     * before the first render.
+     *
+     * componentWillLoad will only be called once.
+     */
+    componentWillLoad(): Promise<void> | void;
+}
+export interface ComponentDidLoad {
+    /**
+     * The component has loaded and has already rendered.
+     *
+     * Updating data in this method will cause the
+     * component to re-render.
+     *
+     * componentDidLoad will only be called once.
+     */
+    componentDidLoad(): void;
+}
+export interface ComponentWillUpdate {
+    /**
+     * The component is about to update and re-render.
+     *
+     * Called multiple times throughout the life of
+     * the component as it updates.
+     *
+     * componentWillUpdate is not called on the first render.
+     */
+    componentWillUpdate(): Promise<void> | void;
+}
+export interface ComponentDidUpdate {
+    /**
+     * The component has just re-rendered.
+     *
+     * Called multiple times throughout the life of
+     * the component as it updates.
+     *
+     * componentWillUpdate is not called on the
+     * first render.
+     */
+    componentDidUpdate(): void;
+}
+export interface ComponentInterface {
+    connectedCallback?(): void;
+    disconnectedCallback?(): void;
+    componentWillRender?(): Promise<void> | void;
+    componentDidRender?(): void;
+    /**
+     * The component is about to load and it has not
+     * rendered yet.
+     *
+     * This is the best place to make any data updates
+     * before the first render.
+     *
+     * componentWillLoad will only be called once.
+     */
+    componentWillLoad?(): Promise<void> | void;
+    /**
+     * The component has loaded and has already rendered.
+     *
+     * Updating data in this method will cause the
+     * component to re-render.
+     *
+     * componentDidLoad will only be called once.
+     */
+    componentDidLoad?(): void;
+    /**
+     * A `@Prop` or `@State` property changed and a rerender is about to be requested.
+     *
+     * Called multiple times throughout the life of
+     * the component as its properties change.
+     *
+     * componentShouldUpdate is not called on the first render.
+     */
+    componentShouldUpdate?(newVal: any, oldVal: any, propName: string): boolean | void;
+    /**
+     * The component is about to update and re-render.
+     *
+     * Called multiple times throughout the life of
+     * the component as it updates.
+     *
+     * componentWillUpdate is not called on the first render.
+     */
+    componentWillUpdate?(): Promise<void> | void;
+    /**
+     * The component has just re-rendered.
+     *
+     * Called multiple times throughout the life of
+     * the component as it updates.
+     *
+     * componentWillUpdate is not called on the
+     * first render.
+     */
+    componentDidUpdate?(): void;
+    render?(): any;
+    [memberName: string]: any;
+}
+export interface EventEmitter<T = any> {
+    emit: (data?: T) => CustomEvent<T>;
+}
+export interface RafCallback {
+    (timeStamp: number): void;
+}
+export interface QueueApi {
+    tick: (cb: RafCallback) => void;
+    read: (cb: RafCallback) => void;
+    write: (cb: RafCallback) => void;
+    clear?: () => void;
+    flush?: (cb?: () => void) => void;
+}
+/**
+ * Host
+ */
+interface HostAttributes {
+    class?: string | {
+        [className: string]: boolean;
+    };
+    style?: {
+        [key: string]: string | undefined;
+    };
+    ref?: (el: HTMLElement | null) => void;
+    [prop: string]: any;
+}
+/**
+ * Utilities for working with functional Stencil components. An object
+ * conforming to this interface is passed by the Stencil runtime as the third
+ * argument to a functional component, allowing component authors to work with
+ * features like children.
+ *
+ * The children of a functional component will be passed as the second
+ * argument, so a functional component which uses these utils to transform its
+ * children might look like the following:
+ *
+ * ```ts
+ * export const AddClass: FunctionalComponent = (_, children, utils) => (
+ *  utils.map(children, child => ({
+ *    ...child,
+ *    vattrs: {
+ *      ...child.vattrs,
+ *      class: `${child.vattrs.class} add-class`
+ *    }
+ *  }))
+ * );
+ * ```
+ *
+ * For more see the Stencil documentation, here:
+ * https://stenciljs.com/docs/functional-components
+ */
+export interface FunctionalUtilities {
+    /**
+     * Utility for reading the children of a functional component at runtime.
+     * Since the Stencil runtime uses a different interface for children it is
+     * not recommendeded to read the children directly, and is preferable to use
+     * this utility to, for instance, perform a side effect for each child.
+     */
+    forEach: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => void) => void;
+    /**
+     * Utility for transforming the children of a functional component. Given an
+     * array of children and a callback this will return a list of the results of
+     * passing each child to the supplied callback.
+     */
+    map: (children: VNode[], cb: (vnode: ChildNode, index: number, array: ChildNode[]) => ChildNode) => VNode[];
+}
+export interface FunctionalComponent<T = {}> {
+    (props: T, children: VNode[], utils: FunctionalUtilities): VNode | VNode[];
+}
+/**
+ * A Child VDOM node
+ *
+ * This has most of the same properties as {@link VNode} but friendlier names
+ * (i.e. `vtag` instead of `$tag$`, `vchildren` instead of `$children$`) in
+ * order to provide a friendlier public interface for users of the
+ * {@link FunctionalUtilities}).
+ */
+export interface ChildNode {
+    vtag?: string | number | Function;
+    vkey?: string | number;
+    vtext?: string;
+    vchildren?: VNode[];
+    vattrs?: any;
+    vname?: string;
+}
+/**
+ * Host is a functional component can be used at the root of the render function
+ * to set attributes and event listeners to the host element itself.
+ *
+ * For further information: https://stenciljs.com/docs/host-element
+ */
+export declare const Host: FunctionalComponent<HostAttributes>;
+/**
+ * Fragment
+ */
+export declare const Fragment: FunctionalComponent<{}>;
+/**
+ * The "h" namespace is used to import JSX types for elements and attributes.
+ * It is imported in order to avoid conflicting global JSX issues.
+ */
+export declare namespace h {
+    function h(sel: any): VNode;
+    function h(sel: Node, data: VNodeData | null): VNode;
+    function h(sel: any, data: VNodeData | null): VNode;
+    function h(sel: any, text: string): VNode;
+    function h(sel: any, children: Array<VNode | undefined | null>): VNode;
+    function h(sel: any, data: VNodeData | null, text: string): VNode;
+    function h(sel: any, data: VNodeData | null, children: Array<VNode | undefined | null>): VNode;
+    function h(sel: any, data: VNodeData | null, children: VNode): VNode;
+    namespace JSX {
+        interface IntrinsicElements extends LocalJSX.IntrinsicElements, JSXBase.IntrinsicElements {
+            [tagName: string]: any;
+        }
+    }
+}
+export declare function h(sel: any): VNode;
+export declare function h(sel: Node, data: VNodeData | null): VNode;
+export declare function h(sel: any, data: VNodeData | null): VNode;
+export declare function h(sel: any, text: string): VNode;
+export declare function h(sel: any, children: Array<VNode | undefined | null>): VNode;
+export declare function h(sel: any, data: VNodeData | null, text: string): VNode;
+export declare function h(sel: any, data: VNodeData | null, children: Array<VNode | undefined | null>): VNode;
+export declare function h(sel: any, data: VNodeData | null, children: VNode): VNode;
+/**
+ * A virtual DOM node
+ */
+export interface VNode {
+    $flags$: number;
+    $tag$: string | number | Function;
+    $elm$: any;
+    $text$: string;
+    $children$: VNode[];
+    $attrs$?: any;
+    $name$?: string;
+    $key$?: string | number;
+}
+export interface VNodeData {
+    class?: {
+        [className: string]: boolean;
+    };
+    style?: any;
+    [attrName: string]: any;
+}
+declare namespace LocalJSX {
+    interface Element {
+    }
+    interface IntrinsicElements {
+    }
+}
+export { LocalJSX as JSX };
+export declare namespace JSXBase {
+    interface IntrinsicElements {
+        slot: JSXBase.SlotAttributes;
+        a: JSXBase.AnchorHTMLAttributes<HTMLAnchorElement>;
+        abbr: JSXBase.HTMLAttributes;
+        address: JSXBase.HTMLAttributes;
+        area: JSXBase.AreaHTMLAttributes<HTMLAreaElement>;
+        article: JSXBase.HTMLAttributes;
+        aside: JSXBase.HTMLAttributes;
+        audio: JSXBase.AudioHTMLAttributes<HTMLAudioElement>;
+        b: JSXBase.HTMLAttributes;
+        base: JSXBase.BaseHTMLAttributes<HTMLBaseElement>;
+        bdi: JSXBase.HTMLAttributes;
+        bdo: JSXBase.HTMLAttributes;
+        big: JSXBase.HTMLAttributes;
+        blockquote: JSXBase.BlockquoteHTMLAttributes<HTMLQuoteElement>;
+        body: JSXBase.HTMLAttributes<HTMLBodyElement>;
+        br: JSXBase.HTMLAttributes<HTMLBRElement>;
+        button: JSXBase.ButtonHTMLAttributes<HTMLButtonElement>;
+        canvas: JSXBase.CanvasHTMLAttributes<HTMLCanvasElement>;
+        caption: JSXBase.HTMLAttributes<HTMLTableCaptionElement>;
+        cite: JSXBase.HTMLAttributes;
+        code: JSXBase.HTMLAttributes;
+        col: JSXBase.ColHTMLAttributes<HTMLTableColElement>;
+        colgroup: JSXBase.ColgroupHTMLAttributes<HTMLTableColElement>;
+        data: JSXBase.HTMLAttributes<HTMLDataElement>;
+        datalist: JSXBase.HTMLAttributes<HTMLDataListElement>;
+        dd: JSXBase.HTMLAttributes;
+        del: JSXBase.DelHTMLAttributes<HTMLModElement>;
+        details: JSXBase.DetailsHTMLAttributes<HTMLElement>;
+        dfn: JSXBase.HTMLAttributes;
+        dialog: JSXBase.DialogHTMLAttributes<HTMLDialogElement>;
+        div: JSXBase.HTMLAttributes<HTMLDivElement>;
+        dl: JSXBase.HTMLAttributes<HTMLDListElement>;
+        dt: JSXBase.HTMLAttributes;
+        em: JSXBase.HTMLAttributes;
+        embed: JSXBase.EmbedHTMLAttributes<HTMLEmbedElement>;
+        fieldset: JSXBase.FieldsetHTMLAttributes<HTMLFieldSetElement>;
+        figcaption: JSXBase.HTMLAttributes;
+        figure: JSXBase.HTMLAttributes;
+        footer: JSXBase.HTMLAttributes;
+        form: JSXBase.FormHTMLAttributes<HTMLFormElement>;
+        h1: JSXBase.HTMLAttributes<HTMLHeadingElement>;
+        h2: JSXBase.HTMLAttributes<HTMLHeadingElement>;
+        h3: JSXBase.HTMLAttributes<HTMLHeadingElement>;
+        h4: JSXBase.HTMLAttributes<HTMLHeadingElement>;
+        h5: JSXBase.HTMLAttributes<HTMLHeadingElement>;
+        h6: JSXBase.HTMLAttributes<HTMLHeadingElement>;
+        head: JSXBase.HTMLAttributes<HTMLHeadElement>;
+        header: JSXBase.HTMLAttributes;
+        hgroup: JSXBase.HTMLAttributes;
+        hr: JSXBase.HTMLAttributes<HTMLHRElement>;
+        html: JSXBase.HTMLAttributes<HTMLHtmlElement>;
+        i: JSXBase.HTMLAttributes;
+        iframe: JSXBase.IframeHTMLAttributes<HTMLIFrameElement>;
+        img: JSXBase.ImgHTMLAttributes<HTMLImageElement>;
+        input: JSXBase.InputHTMLAttributes<HTMLInputElement>;
+        ins: JSXBase.InsHTMLAttributes<HTMLModElement>;
+        kbd: JSXBase.HTMLAttributes;
+        keygen: JSXBase.KeygenHTMLAttributes<HTMLElement>;
+        label: JSXBase.LabelHTMLAttributes<HTMLLabelElement>;
+        legend: JSXBase.HTMLAttributes<HTMLLegendElement>;
+        li: JSXBase.LiHTMLAttributes<HTMLLIElement>;
+        link: JSXBase.LinkHTMLAttributes<HTMLLinkElement>;
+        main: JSXBase.HTMLAttributes;
+        map: JSXBase.MapHTMLAttributes<HTMLMapElement>;
+        mark: JSXBase.HTMLAttributes;
+        menu: JSXBase.MenuHTMLAttributes<HTMLMenuElement>;
+        menuitem: JSXBase.HTMLAttributes;
+        meta: JSXBase.MetaHTMLAttributes<HTMLMetaElement>;
+        meter: JSXBase.MeterHTMLAttributes<HTMLMeterElement>;
+        nav: JSXBase.HTMLAttributes;
+        noscript: JSXBase.HTMLAttributes;
+        object: JSXBase.ObjectHTMLAttributes<HTMLObjectElement>;
+        ol: JSXBase.OlHTMLAttributes<HTMLOListElement>;
+        optgroup: JSXBase.OptgroupHTMLAttributes<HTMLOptGroupElement>;
+        option: JSXBase.OptionHTMLAttributes<HTMLOptionElement>;
+        output: JSXBase.OutputHTMLAttributes<HTMLOutputElement>;
+        p: JSXBase.HTMLAttributes<HTMLParagraphElement>;
+        param: JSXBase.ParamHTMLAttributes<HTMLParamElement>;
+        picture: JSXBase.HTMLAttributes<HTMLPictureElement>;
+        pre: JSXBase.HTMLAttributes<HTMLPreElement>;
+        progress: JSXBase.ProgressHTMLAttributes<HTMLProgressElement>;
+        q: JSXBase.QuoteHTMLAttributes<HTMLQuoteElement>;
+        rp: JSXBase.HTMLAttributes;
+        rt: JSXBase.HTMLAttributes;
+        ruby: JSXBase.HTMLAttributes;
+        s: JSXBase.HTMLAttributes;
+        samp: JSXBase.HTMLAttributes;
+        script: JSXBase.ScriptHTMLAttributes<HTMLScriptElement>;
+        section: JSXBase.HTMLAttributes;
+        select: JSXBase.SelectHTMLAttributes<HTMLSelectElement>;
+        small: JSXBase.HTMLAttributes;
+        source: JSXBase.SourceHTMLAttributes<HTMLSourceElement>;
+        span: JSXBase.HTMLAttributes<HTMLSpanElement>;
+        strong: JSXBase.HTMLAttributes;
+        style: JSXBase.StyleHTMLAttributes<HTMLStyleElement>;
+        sub: JSXBase.HTMLAttributes;
+        summary: JSXBase.HTMLAttributes;
+        sup: JSXBase.HTMLAttributes;
+        table: JSXBase.TableHTMLAttributes<HTMLTableElement>;
+        tbody: JSXBase.HTMLAttributes<HTMLTableSectionElement>;
+        td: JSXBase.TdHTMLAttributes<HTMLTableDataCellElement>;
+        textarea: JSXBase.TextareaHTMLAttributes<HTMLTextAreaElement>;
+        tfoot: JSXBase.HTMLAttributes<HTMLTableSectionElement>;
+        th: JSXBase.ThHTMLAttributes<HTMLTableHeaderCellElement>;
+        thead: JSXBase.HTMLAttributes<HTMLTableSectionElement>;
+        time: JSXBase.TimeHTMLAttributes<HTMLTimeElement>;
+        title: JSXBase.HTMLAttributes<HTMLTitleElement>;
+        tr: JSXBase.HTMLAttributes<HTMLTableRowElement>;
+        track: JSXBase.TrackHTMLAttributes<HTMLTrackElement>;
+        u: JSXBase.HTMLAttributes;
+        ul: JSXBase.HTMLAttributes<HTMLUListElement>;
+        var: JSXBase.HTMLAttributes;
+        video: JSXBase.VideoHTMLAttributes<HTMLVideoElement>;
+        wbr: JSXBase.HTMLAttributes;
+        animate: JSXBase.SVGAttributes;
+        circle: JSXBase.SVGAttributes;
+        clipPath: JSXBase.SVGAttributes;
+        defs: JSXBase.SVGAttributes;
+        desc: JSXBase.SVGAttributes;
+        ellipse: JSXBase.SVGAttributes;
+        feBlend: JSXBase.SVGAttributes;
+        feColorMatrix: JSXBase.SVGAttributes;
+        feComponentTransfer: JSXBase.SVGAttributes;
+        feComposite: JSXBase.SVGAttributes;
+        feConvolveMatrix: JSXBase.SVGAttributes;
+        feDiffuseLighting: JSXBase.SVGAttributes;
+        feDisplacementMap: JSXBase.SVGAttributes;
+        feDistantLight: JSXBase.SVGAttributes;
+        feDropShadow: JSXBase.SVGAttributes;
+        feFlood: JSXBase.SVGAttributes;
+        feFuncA: JSXBase.SVGAttributes;
+        feFuncB: JSXBase.SVGAttributes;
+        feFuncG: JSXBase.SVGAttributes;
+        feFuncR: JSXBase.SVGAttributes;
+        feGaussianBlur: JSXBase.SVGAttributes;
+        feImage: JSXBase.SVGAttributes;
+        feMerge: JSXBase.SVGAttributes;
+        feMergeNode: JSXBase.SVGAttributes;
+        feMorphology: JSXBase.SVGAttributes;
+        feOffset: JSXBase.SVGAttributes;
+        fePointLight: JSXBase.SVGAttributes;
+        feSpecularLighting: JSXBase.SVGAttributes;
+        feSpotLight: JSXBase.SVGAttributes;
+        feTile: JSXBase.SVGAttributes;
+        feTurbulence: JSXBase.SVGAttributes;
+        filter: JSXBase.SVGAttributes;
+        foreignObject: JSXBase.SVGAttributes;
+        g: JSXBase.SVGAttributes;
+        image: JSXBase.SVGAttributes;
+        line: JSXBase.SVGAttributes;
+        linearGradient: JSXBase.SVGAttributes;
+        marker: JSXBase.SVGAttributes;
+        mask: JSXBase.SVGAttributes;
+        metadata: JSXBase.SVGAttributes;
+        path: JSXBase.SVGAttributes;
+        pattern: JSXBase.SVGAttributes;
+        polygon: JSXBase.SVGAttributes;
+        polyline: JSXBase.SVGAttributes;
+        radialGradient: JSXBase.SVGAttributes;
+        rect: JSXBase.SVGAttributes;
+        stop: JSXBase.SVGAttributes;
+        svg: JSXBase.SVGAttributes;
+        switch: JSXBase.SVGAttributes;
+        symbol: JSXBase.SVGAttributes;
+        text: JSXBase.SVGAttributes;
+        textPath: JSXBase.SVGAttributes;
+        tspan: JSXBase.SVGAttributes;
+        use: JSXBase.SVGAttributes;
+        view: JSXBase.SVGAttributes;
+    }
+    interface SlotAttributes extends JSXAttributes {
+        name?: string;
+        slot?: string;
+        onSlotchange?: (event: Event) => void;
+    }
+    interface AnchorHTMLAttributes<T> extends HTMLAttributes<T> {
+        download?: any;
+        href?: string;
+        hrefLang?: string;
+        hreflang?: string;
+        media?: string;
+        rel?: string;
+        target?: string;
+        referrerPolicy?: ReferrerPolicy;
+    }
+    interface AudioHTMLAttributes<T> extends MediaHTMLAttributes<T> {
+    }
+    interface AreaHTMLAttributes<T> extends HTMLAttributes<T> {
+        alt?: string;
+        coords?: string;
+        download?: any;
+        href?: string;
+        hrefLang?: string;
+        hreflang?: string;
+        media?: string;
+        rel?: string;
+        shape?: string;
+        target?: string;
+    }
+    interface BaseHTMLAttributes<T> extends HTMLAttributes<T> {
+        href?: string;
+        target?: string;
+    }
+    interface BlockquoteHTMLAttributes<T> extends HTMLAttributes<T> {
+        cite?: string;
+    }
+    interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
+        autoFocus?: boolean;
+        disabled?: boolean;
+        form?: string;
+        formAction?: string;
+        formaction?: string;
+        formEncType?: string;
+        formenctype?: string;
+        formMethod?: string;
+        formmethod?: string;
+        formNoValidate?: boolean;
+        formnovalidate?: boolean;
+        formTarget?: string;
+        formtarget?: string;
+        name?: string;
+        type?: string;
+        value?: string | string[] | number;
+    }
+    interface CanvasHTMLAttributes<T> extends HTMLAttributes<T> {
+        height?: number | string;
+        width?: number | string;
+    }
+    interface ColHTMLAttributes<T> extends HTMLAttributes<T> {
+        span?: number;
+    }
+    interface ColgroupHTMLAttributes<T> extends HTMLAttributes<T> {
+        span?: number;
+    }
+    interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> {
+        open?: boolean;
+        onToggle?: (event: Event) => void;
+    }
+    interface DelHTMLAttributes<T> extends HTMLAttributes<T> {
+        cite?: string;
+        dateTime?: string;
+        datetime?: string;
+    }
+    interface DialogHTMLAttributes<T> extends HTMLAttributes<T> {
+        onCancel?: (event: Event) => void;
+        onClose?: (event: Event) => void;
+        open?: boolean;
+        returnValue?: string;
+    }
+    interface EmbedHTMLAttributes<T> extends HTMLAttributes<T> {
+        height?: number | string;
+        src?: string;
+        type?: string;
+        width?: number | string;
+    }
+    interface FieldsetHTMLAttributes<T> extends HTMLAttributes<T> {
+        disabled?: boolean;
+        form?: string;
+        name?: string;
+    }
+    interface FormHTMLAttributes<T> extends HTMLAttributes<T> {
+        acceptCharset?: string;
+        acceptcharset?: string;
+        action?: string;
+        autoComplete?: string;
+        autocomplete?: string;
+        encType?: string;
+        enctype?: string;
+        method?: string;
+        name?: string;
+        noValidate?: boolean;
+        novalidate?: boolean | string;
+        target?: string;
+    }
+    interface HtmlHTMLAttributes<T> extends HTMLAttributes<T> {
+        manifest?: string;
+    }
+    interface IframeHTMLAttributes<T> extends HTMLAttributes<T> {
+        allow?: string;
+        allowFullScreen?: boolean;
+        allowfullScreen?: string | boolean;
+        allowTransparency?: boolean;
+        allowtransparency?: string | boolean;
+        frameBorder?: number | string;
+        frameborder?: number | string;
+        importance?: 'low' | 'auto' | 'high';
+        height?: number | string;
+        loading?: 'lazy' | 'auto' | 'eager';
+        marginHeight?: number;
+        marginheight?: string | number;
+        marginWidth?: number;
+        marginwidth?: string | number;
+        name?: string;
+        referrerPolicy?: ReferrerPolicy;
+        sandbox?: string;
+        scrolling?: string;
+        seamless?: boolean;
+        src?: string;
+        srcDoc?: string;
+        srcdoc?: string;
+        width?: number | string;
+    }
+    interface ImgHTMLAttributes<T> extends HTMLAttributes<T> {
+        alt?: string;
+        decoding?: 'async' | 'auto' | 'sync';
+        importance?: 'low' | 'auto' | 'high';
+        height?: number | string;
+        loading?: 'lazy' | 'auto' | 'eager';
+        sizes?: string;
+        src?: string;
+        srcSet?: string;
+        srcset?: string;
+        useMap?: string;
+        usemap?: string;
+        width?: number | string;
+    }
+    interface InsHTMLAttributes<T> extends HTMLAttributes<T> {
+        cite?: string;
+        dateTime?: string;
+        datetime?: string;
+    }
+    interface InputHTMLAttributes<T> extends HTMLAttributes<T> {
+        accept?: string;
+        allowdirs?: boolean;
+        alt?: string;
+        autoCapitalize?: string;
+        autocapitalize?: string;
+        autoComplete?: string;
+        autocomplete?: string;
+        autoFocus?: boolean;
+        autofocus?: boolean | string;
+        capture?: string;
+        checked?: boolean;
+        crossOrigin?: string;
+        crossorigin?: string;
+        defaultChecked?: boolean;
+        defaultValue?: string;
+        dirName?: string;
+        disabled?: boolean;
+        files?: any;
+        form?: string;
+        formAction?: string;
+        formaction?: string;
+        formEncType?: string;
+        formenctype?: string;
+        formMethod?: string;
+        formmethod?: string;
+        formNoValidate?: boolean;
+        formnovalidate?: boolean;
+        formTarget?: string;
+        formtarget?: string;
+        height?: number | string;
+        indeterminate?: boolean;
+        list?: string;
+        max?: number | string;
+        maxLength?: number;
+        maxlength?: number | string;
+        min?: number | string;
+        minLength?: number;
+        minlength?: number | string;
+        multiple?: boolean;
+        name?: string;
+        pattern?: string;
+        placeholder?: string;
+        readOnly?: boolean;
+        readonly?: boolean | string;
+        required?: boolean;
+        selectionStart?: number | string;
+        selectionEnd?: number | string;
+        selectionDirection?: string;
+        size?: number;
+        src?: string;
+        step?: number | string;
+        type?: string;
+        value?: string | string[] | number;
+        valueAsDate?: any;
+        valueAsNumber?: any;
+        webkitdirectory?: boolean;
+        webkitEntries?: any;
+        width?: number | string;
+    }
+    interface KeygenHTMLAttributes<T> extends HTMLAttributes<T> {
+        autoFocus?: boolean;
+        autofocus?: boolean | string;
+        challenge?: string;
+        disabled?: boolean;
+        form?: string;
+        keyType?: string;
+        keytype?: string;
+        keyParams?: string;
+        keyparams?: string;
+        name?: string;
+    }
+    interface LabelHTMLAttributes<T> extends HTMLAttributes<T> {
+        form?: string;
+        htmlFor?: string;
+        htmlfor?: string;
+    }
+    interface LiHTMLAttributes<T> extends HTMLAttributes<T> {
+        value?: string | string[] | number;
+    }
+    interface LinkHTMLAttributes<T> extends HTMLAttributes<T> {
+        as?: string;
+        href?: string;
+        hrefLang?: string;
+        hreflang?: string;
+        importance?: 'low' | 'auto' | 'high';
+        integrity?: string;
+        media?: string;
+        rel?: string;
+        sizes?: string;
+        type?: string;
+    }
+    interface MapHTMLAttributes<T> extends HTMLAttributes<T> {
+        name?: string;
+    }
+    interface MenuHTMLAttributes<T> extends HTMLAttributes<T> {
+        type?: string;
+    }
+    interface MediaHTMLAttributes<T> extends HTMLAttributes<T> {
+        autoPlay?: boolean;
+        autoplay?: boolean | string;
+        controls?: boolean;
+        crossOrigin?: string;
+        crossorigin?: string;
+        loop?: boolean;
+        mediaGroup?: string;
+        mediagroup?: string;
+        muted?: boolean;
+        preload?: string;
+        src?: string;
+        onAbort?: (event: Event) => void;
+        onCanPlay?: (event: Event) => void;
+        onCanPlayThrough?: (event: Event) => void;
+        onDurationChange?: (event: Event) => void;
+        onEmptied?: (event: Event) => void;
+        onEnded?: (event: Event) => void;
+        onError?: (event: Event) => void;
+        onInterruptBegin?: (event: Event) => void;
+        onInterruptEnd?: (event: Event) => void;
+        onLoadedData?: (event: Event) => void;
+        onLoadedMetaData?: (event: Event) => void;
+        onLoadStart?: (event: Event) => void;
+        onMozAudioAvailable?: (event: Event) => void;
+        onPause?: (event: Event) => void;
+        onPlay?: (event: Event) => void;
+        onPlaying?: (event: Event) => void;
+        onProgress?: (event: Event) => void;
+        onRateChange?: (event: Event) => void;
+        onSeeked?: (event: Event) => void;
+        onSeeking?: (event: Event) => void;
+        onStalled?: (event: Event) => void;
+        onSuspend?: (event: Event) => void;
+        onTimeUpdate?: (event: Event) => void;
+        onVolumeChange?: (event: Event) => void;
+        onWaiting?: (event: Event) => void;
+    }
+    interface MetaHTMLAttributes<T> extends HTMLAttributes<T> {
+        charSet?: string;
+        charset?: string;
+        content?: string;
+        httpEquiv?: string;
+        httpequiv?: string;
+        name?: string;
+    }
+    interface MeterHTMLAttributes<T> extends HTMLAttributes<T> {
+        form?: string;
+        high?: number;
+        low?: number;
+        max?: number | string;
+        min?: number | string;
+        optimum?: number;
+        value?: string | string[] | number;
+    }
+    interface QuoteHTMLAttributes<T> extends HTMLAttributes<T> {
+        cite?: string;
+    }
+    interface ObjectHTMLAttributes<T> extends HTMLAttributes<T> {
+        classID?: string;
+        classid?: string;
+        data?: string;
+        form?: string;
+        height?: number | string;
+        name?: string;
+        type?: string;
+        useMap?: string;
+        usemap?: string;
+        width?: number | string;
+        wmode?: string;
+    }
+    interface OlHTMLAttributes<T> extends HTMLAttributes<T> {
+        reversed?: boolean;
+        start?: number;
+    }
+    interface OptgroupHTMLAttributes<T> extends HTMLAttributes<T> {
+        disabled?: boolean;
+        label?: string;
+    }
+    interface OptionHTMLAttributes<T> extends HTMLAttributes<T> {
+        disabled?: boolean;
+        label?: string;
+        selected?: boolean;
+        value?: string | string[] | number;
+    }
+    interface OutputHTMLAttributes<T> extends HTMLAttributes<T> {
+        form?: string;
+        htmlFor?: string;
+        htmlfor?: string;
+        name?: string;
+    }
+    interface ParamHTMLAttributes<T> extends HTMLAttributes<T> {
+        name?: string;
+        value?: string | string[] | number;
+    }
+    interface ProgressHTMLAttributes<T> extends HTMLAttributes<T> {
+        max?: number | string;
+        value?: string | string[] | number;
+    }
+    interface ScriptHTMLAttributes<T> extends HTMLAttributes<T> {
+        async?: boolean;
+        charSet?: string;
+        charset?: string;
+        crossOrigin?: string;
+        crossorigin?: string;
+        defer?: boolean;
+        importance?: 'low' | 'auto' | 'high';
+        integrity?: string;
+        nonce?: string;
+        src?: string;
+        type?: string;
+    }
+    interface SelectHTMLAttributes<T> extends HTMLAttributes<T> {
+        autoFocus?: boolean;
+        disabled?: boolean;
+        form?: string;
+        multiple?: boolean;
+        name?: string;
+        required?: boolean;
+        size?: number;
+        autoComplete?: string;
+        autocomplete?: string;
+    }
+    interface SourceHTMLAttributes<T> extends HTMLAttributes<T> {
+        media?: string;
+        sizes?: string;
+        src?: string;
+        srcSet?: string;
+        type?: string;
+    }
+    interface StyleHTMLAttributes<T> extends HTMLAttributes<T> {
+        media?: string;
+        nonce?: string;
+        scoped?: boolean;
+        type?: string;
+    }
+    interface TableHTMLAttributes<T> extends HTMLAttributes<T> {
+        cellPadding?: number | string;
+        cellpadding?: number | string;
+        cellSpacing?: number | string;
+        cellspacing?: number | string;
+        summary?: string;
+    }
+    interface TextareaHTMLAttributes<T> extends HTMLAttributes<T> {
+        autoComplete?: string;
+        autocomplete?: string;
+        autoFocus?: boolean;
+        autofocus?: boolean | string;
+        cols?: number;
+        disabled?: boolean;
+        form?: string;
+        maxLength?: number;
+        maxlength?: number | string;
+        minLength?: number;
+        minlength?: number | string;
+        name?: string;
+        placeholder?: string;
+        readOnly?: boolean;
+        readonly?: boolean | string;
+        required?: boolean;
+        rows?: number;
+        value?: string | string[] | number;
+        wrap?: string;
+    }
+    interface TdHTMLAttributes<T> extends HTMLAttributes<T> {
+        colSpan?: number;
+        headers?: string;
+        rowSpan?: number;
+    }
+    interface ThHTMLAttributes<T> extends HTMLAttributes<T> {
+        abbr?: string;
+        colSpan?: number;
+        headers?: string;
+        rowSpan?: number;
+        rowspan?: number | string;
+        scope?: string;
+    }
+    interface TimeHTMLAttributes<T> extends HTMLAttributes<T> {
+        dateTime?: string;
+    }
+    interface TrackHTMLAttributes<T> extends HTMLAttributes<T> {
+        default?: boolean;
+        kind?: string;
+        label?: string;
+        src?: string;
+        srcLang?: string;
+        srclang?: string;
+    }
+    interface VideoHTMLAttributes<T> extends MediaHTMLAttributes<T> {
+        height?: number | string;
+        playsInline?: boolean;
+        playsinline?: boolean | string;
+        poster?: string;
+        width?: number | string;
+    }
+    interface HTMLAttributes<T = HTMLElement> extends DOMAttributes<T> {
+        innerHTML?: string;
+        accessKey?: string;
+        class?: string | {
+            [className: string]: boolean;
+        };
+        contentEditable?: boolean | string;
+        contenteditable?: boolean | string;
+        contextMenu?: string;
+        contextmenu?: string;
+        dir?: string;
+        draggable?: boolean;
+        hidden?: boolean;
+        id?: string;
+        lang?: string;
+        spellcheck?: 'true' | 'false' | any;
+        style?: {
+            [key: string]: string | undefined;
+        };
+        tabIndex?: number;
+        tabindex?: number | string;
+        title?: string;
+        inputMode?: string;
+        inputmode?: string;
+        enterKeyHint?: string;
+        enterkeyhint?: string;
+        is?: string;
+        radioGroup?: string;
+        radiogroup?: string;
+        role?: string;
+        about?: string;
+        datatype?: string;
+        inlist?: any;
+        prefix?: string;
+        property?: string;
+        resource?: string;
+        typeof?: string;
+        vocab?: string;
+        autoCapitalize?: string;
+        autocapitalize?: string;
+        autoCorrect?: string;
+        autocorrect?: string;
+        autoSave?: string;
+        autosave?: string;
+        color?: string;
+        itemProp?: string;
+        itemprop?: string;
+        itemScope?: boolean;
+        itemscope?: boolean;
+        itemType?: string;
+        itemtype?: string;
+        itemID?: string;
+        itemid?: string;
+        itemRef?: string;
+        itemref?: string;
+        results?: number;
+        security?: string;
+        unselectable?: boolean;
+    }
+    interface SVGAttributes<T = SVGElement> extends DOMAttributes<T> {
+        class?: string | {
+            [className: string]: boolean;
+        };
+        color?: string;
+        height?: number | string;
+        id?: string;
+        lang?: string;
+        max?: number | string;
+        media?: string;
+        method?: string;
+        min?: number | string;
+        name?: string;
+        style?: {
+            [key: string]: string | undefined;
+        };
+        target?: string;
+        type?: string;
+        width?: number | string;
+        role?: string;
+        tabindex?: number;
+        'accent-height'?: number | string;
+        accumulate?: 'none' | 'sum';
+        additive?: 'replace' | 'sum';
+        'alignment-baseline'?: 'auto' | 'baseline' | 'before-edge' | 'text-before-edge' | 'middle' | 'central' | 'after-edge' | 'text-after-edge' | 'ideographic' | 'alphabetic' | 'hanging' | 'mathematical' | 'inherit';
+        allowReorder?: 'no' | 'yes';
+        alphabetic?: number | string;
+        amplitude?: number | string;
+        'arabic-form'?: 'initial' | 'medial' | 'terminal' | 'isolated';
+        ascent?: number | string;
+        attributeName?: string;
+        attributeType?: string;
+        autoReverse?: number | string;
+        azimuth?: number | string;
+        baseFrequency?: number | string;
+        'baseline-shift'?: number | string;
+        baseProfile?: number | string;
+        bbox?: number | string;
+        begin?: number | string;
+        bias?: number | string;
+        by?: number | string;
+        calcMode?: number | string;
+        'cap-height'?: number | string;
+        clip?: number | string;
+        'clip-path'?: string;
+        clipPathUnits?: number | string;
+        'clip-rule'?: number | string;
+        'color-interpolation'?: number | string;
+        'color-interpolation-filters'?: 'auto' | 's-rGB' | 'linear-rGB' | 'inherit';
+        'color-profile'?: number | string;
+        'color-rendering'?: number | string;
+        contentScriptType?: number | string;
+        contentStyleType?: number | string;
+        cursor?: number | string;
+        cx?: number | string;
+        cy?: number | string;
+        d?: string;
+        decelerate?: number | string;
+        descent?: number | string;
+        diffuseConstant?: number | string;
+        direction?: number | string;
+        display?: number | string;
+        divisor?: number | string;
+        'dominant-baseline'?: number | string;
+        dur?: number | string;
+        dx?: number | string;
+        dy?: number | string;
+        'edge-mode'?: number | string;
+        elevation?: number | string;
+        'enable-background'?: number | string;
+        end?: number | string;
+        exponent?: number | string;
+        externalResourcesRequired?: number | string;
+        fill?: string;
+        'fill-opacity'?: number | string;
+        'fill-rule'?: 'nonzero' | 'evenodd' | 'inherit';
+        filter?: string;
+        filterRes?: number | string;
+        filterUnits?: number | string;
+        'flood-color'?: number | string;
+        'flood-opacity'?: number | string;
+        focusable?: number | string;
+        'font-family'?: string;
+        'font-size'?: number | string;
+        'font-size-adjust'?: number | string;
+        'font-stretch'?: number | string;
+        'font-style'?: number | string;
+        'font-variant'?: number | string;
+        'font-weight'?: number | string;
+        format?: number | string;
+        from?: number | string;
+        fx?: number | string;
+        fy?: number | string;
+        g1?: number | string;
+        g2?: number | string;
+        'glyph-name'?: number | string;
+        'glyph-orientation-horizontal'?: number | string;
+        'glyph-orientation-vertical'?: number | string;
+        glyphRef?: number | string;
+        gradientTransform?: string;
+        gradientUnits?: string;
+        hanging?: number | string;
+        'horiz-adv-x'?: number | string;
+        'horiz-origin-x'?: number | string;
+        href?: string;
+        ideographic?: number | string;
+        'image-rendering'?: number | string;
+        in2?: number | string;
+        in?: string;
+        intercept?: number | string;
+        k1?: number | string;
+        k2?: number | string;
+        k3?: number | string;
+        k4?: number | string;
+        k?: number | string;
+        kernelMatrix?: number | string;
+        kernelUnitLength?: number | string;
+        kerning?: number | string;
+        keyPoints?: number | string;
+        keySplines?: number | string;
+        keyTimes?: number | string;
+        lengthAdjust?: number | string;
+        'letter-spacing'?: number | string;
+        'lighting-color'?: number | string;
+        limitingConeAngle?: number | string;
+        local?: number | string;
+        'marker-end'?: string;
+        markerHeight?: number | string;
+        'marker-mid'?: string;
+        'marker-start'?: string;
+        markerUnits?: number | string;
+        markerWidth?: number | string;
+        mask?: string;
+        maskContentUnits?: number | string;
+        maskUnits?: number | string;
+        mathematical?: number | string;
+        mode?: number | string;
+        numOctaves?: number | string;
+        offset?: number | string;
+        opacity?: number | string;
+        operator?: number | string;
+        order?: number | string;
+        orient?: number | string;
+        orientation?: number | string;
+        origin?: number | string;
+        overflow?: number | string;
+        'overline-position'?: number | string;
+        'overline-thickness'?: number | string;
+        'paint-order'?: number | string;
+        panose1?: number | string;
+        pathLength?: number | string;
+        patternContentUnits?: string;
+        patternTransform?: number | string;
+        patternUnits?: string;
+        'pointer-events'?: number | string;
+        points?: string;
+        pointsAtX?: number | string;
+        pointsAtY?: number | string;
+        pointsAtZ?: number | string;
+        preserveAlpha?: number | string;
+        preserveAspectRatio?: string;
+        primitiveUnits?: number | string;
+        r?: number | string;
+        radius?: number | string;
+        refX?: number | string;
+        refY?: number | string;
+        'rendering-intent'?: number | string;
+        repeatCount?: number | string;
+        repeatDur?: number | string;
+        requiredextensions?: number | string;
+        requiredFeatures?: number | string;
+        restart?: number | string;
+        result?: string;
+        rotate?: number | string;
+        rx?: number | string;
+        ry?: number | string;
+        scale?: number | string;
+        seed?: number | string;
+        'shape-rendering'?: number | string;
+        slope?: number | string;
+        spacing?: number | string;
+        specularConstant?: number | string;
+        specularExponent?: number | string;
+        speed?: number | string;
+        spreadMethod?: string;
+        startOffset?: number | string;
+        stdDeviation?: number | string;
+        stemh?: number | string;
+        stemv?: number | string;
+        stitchTiles?: number | string;
+        'stop-color'?: string;
+        'stop-opacity'?: number | string;
+        'strikethrough-position'?: number | string;
+        'strikethrough-thickness'?: number | string;
+        string?: number | string;
+        stroke?: string;
+        'stroke-dasharray'?: string | number;
+        'stroke-dashoffset'?: string | number;
+        'stroke-linecap'?: 'butt' | 'round' | 'square' | 'inherit';
+        'stroke-linejoin'?: 'miter' | 'round' | 'bevel' | 'inherit';
+        'stroke-miterlimit'?: string;
+        'stroke-opacity'?: number | string;
+        'stroke-width'?: number | string;
+        surfaceScale?: number | string;
+        systemLanguage?: number | string;
+        tableValues?: number | string;
+        targetX?: number | string;
+        targetY?: number | string;
+        'text-anchor'?: string;
+        'text-decoration'?: number | string;
+        textLength?: number | string;
+        'text-rendering'?: number | string;
+        to?: number | string;
+        transform?: string;
+        u1?: number | string;
+        u2?: number | string;
+        'underline-position'?: number | string;
+        'underline-thickness'?: number | string;
+        unicode?: number | string;
+        'unicode-bidi'?: number | string;
+        'unicode-range'?: number | string;
+        'units-per-em'?: number | string;
+        'v-alphabetic'?: number | string;
+        values?: string;
+        'vector-effect'?: number | string;
+        version?: string;
+        'vert-adv-y'?: number | string;
+        'vert-origin-x'?: number | string;
+        'vert-origin-y'?: number | string;
+        'v-hanging'?: number | string;
+        'v-ideographic'?: number | string;
+        viewBox?: string;
+        viewTarget?: number | string;
+        visibility?: number | string;
+        'v-mathematical'?: number | string;
+        widths?: number | string;
+        'word-spacing'?: number | string;
+        'writing-mode'?: number | string;
+        x1?: number | string;
+        x2?: number | string;
+        x?: number | string;
+        'x-channel-selector'?: string;
+        'x-height'?: number | string;
+        xlinkActuate?: string;
+        xlinkArcrole?: string;
+        xlinkHref?: string;
+        xlinkRole?: string;
+        xlinkShow?: string;
+        xlinkTitle?: string;
+        xlinkType?: string;
+        xmlBase?: string;
+        xmlLang?: string;
+        xmlns?: string;
+        xmlSpace?: string;
+        y1?: number | string;
+        y2?: number | string;
+        y?: number | string;
+        yChannelSelector?: string;
+        z?: number | string;
+        zoomAndPan?: string;
+    }
+    interface DOMAttributes<T> extends JSXAttributes<T> {
+        slot?: string;
+        part?: string;
+        exportparts?: string;
+        onCopy?: (event: ClipboardEvent) => void;
+        onCopyCapture?: (event: ClipboardEvent) => void;
+        onCut?: (event: ClipboardEvent) => void;
+        onCutCapture?: (event: ClipboardEvent) => void;
+        onPaste?: (event: ClipboardEvent) => void;
+        onPasteCapture?: (event: ClipboardEvent) => void;
+        onCompositionend?: (event: CompositionEvent) => void;
+        onCompositionendCapture?: (event: CompositionEvent) => void;
+        onCompositionstart?: (event: CompositionEvent) => void;
+        onCompositionstartCapture?: (event: CompositionEvent) => void;
+        onCompositionupdate?: (event: CompositionEvent) => void;
+        onCompositionupdateCapture?: (event: CompositionEvent) => void;
+        onFocus?: (event: FocusEvent) => void;
+        onFocusCapture?: (event: FocusEvent) => void;
+        onFocusin?: (event: FocusEvent) => void;
+        onFocusinCapture?: (event: FocusEvent) => void;
+        onFocusout?: (event: FocusEvent) => void;
+        onFocusoutCapture?: (event: FocusEvent) => void;
+        onBlur?: (event: FocusEvent) => void;
+        onBlurCapture?: (event: FocusEvent) => void;
+        onChange?: (event: Event) => void;
+        onChangeCapture?: (event: Event) => void;
+        onInput?: (event: InputEvent) => void;
+        onInputCapture?: (event: InputEvent) => void;
+        onReset?: (event: Event) => void;
+        onResetCapture?: (event: Event) => void;
+        onSubmit?: (event: Event) => void;
+        onSubmitCapture?: (event: Event) => void;
+        onInvalid?: (event: Event) => void;
+        onInvalidCapture?: (event: Event) => void;
+        onLoad?: (event: Event) => void;
+        onLoadCapture?: (event: Event) => void;
+        onError?: (event: Event) => void;
+        onErrorCapture?: (event: Event) => void;
+        onKeyDown?: (event: KeyboardEvent) => void;
+        onKeyDownCapture?: (event: KeyboardEvent) => void;
+        onKeyPress?: (event: KeyboardEvent) => void;
+        onKeyPressCapture?: (event: KeyboardEvent) => void;
+        onKeyUp?: (event: KeyboardEvent) => void;
+        onKeyUpCapture?: (event: KeyboardEvent) => void;
+        onAuxClick?: (event: MouseEvent) => void;
+        onClick?: (event: MouseEvent) => void;
+        onClickCapture?: (event: MouseEvent) => void;
+        onContextMenu?: (event: MouseEvent) => void;
+        onContextMenuCapture?: (event: MouseEvent) => void;
+        onDblClick?: (event: MouseEvent) => void;
+        onDblClickCapture?: (event: MouseEvent) => void;
+        onDrag?: (event: DragEvent) => void;
+        onDragCapture?: (event: DragEvent) => void;
+        onDragEnd?: (event: DragEvent) => void;
+        onDragEndCapture?: (event: DragEvent) => void;
+        onDragEnter?: (event: DragEvent) => void;
+        onDragEnterCapture?: (event: DragEvent) => void;
+        onDragExit?: (event: DragEvent) => void;
+        onDragExitCapture?: (event: DragEvent) => void;
+        onDragLeave?: (event: DragEvent) => void;
+        onDragLeaveCapture?: (event: DragEvent) => void;
+        onDragOver?: (event: DragEvent) => void;
+        onDragOverCapture?: (event: DragEvent) => void;
+        onDragStart?: (event: DragEvent) => void;
+        onDragStartCapture?: (event: DragEvent) => void;
+        onDrop?: (event: DragEvent) => void;
+        onDropCapture?: (event: DragEvent) => void;
+        onMouseDown?: (event: MouseEvent) => void;
+        onMouseDownCapture?: (event: MouseEvent) => void;
+        onMouseEnter?: (event: MouseEvent) => void;
+        onMouseLeave?: (event: MouseEvent) => void;
+        onMouseMove?: (event: MouseEvent) => void;
+        onMouseMoveCapture?: (event: MouseEvent) => void;
+        onMouseOut?: (event: MouseEvent) => void;
+        onMouseOutCapture?: (event: MouseEvent) => void;
+        onMouseOver?: (event: MouseEvent) => void;
+        onMouseOverCapture?: (event: MouseEvent) => void;
+        onMouseUp?: (event: MouseEvent) => void;
+        onMouseUpCapture?: (event: MouseEvent) => void;
+        onTouchCancel?: (event: TouchEvent) => void;
+        onTouchCancelCapture?: (event: TouchEvent) => void;
+        onTouchEnd?: (event: TouchEvent) => void;
+        onTouchEndCapture?: (event: TouchEvent) => void;
+        onTouchMove?: (event: TouchEvent) => void;
+        onTouchMoveCapture?: (event: TouchEvent) => void;
+        onTouchStart?: (event: TouchEvent) => void;
+        onTouchStartCapture?: (event: TouchEvent) => void;
+        onPointerDown?: (event: PointerEvent) => void;
+        onPointerDownCapture?: (event: PointerEvent) => void;
+        onPointerMove?: (event: PointerEvent) => void;
+        onPointerMoveCapture?: (event: PointerEvent) => void;
+        onPointerUp?: (event: PointerEvent) => void;
+        onPointerUpCapture?: (event: PointerEvent) => void;
+        onPointerCancel?: (event: PointerEvent) => void;
+        onPointerCancelCapture?: (event: PointerEvent) => void;
+        onPointerEnter?: (event: PointerEvent) => void;
+        onPointerEnterCapture?: (event: PointerEvent) => void;
+        onPointerLeave?: (event: PointerEvent) => void;
+        onPointerLeaveCapture?: (event: PointerEvent) => void;
+        onPointerOver?: (event: PointerEvent) => void;
+        onPointerOverCapture?: (event: PointerEvent) => void;
+        onPointerOut?: (event: PointerEvent) => void;
+        onPointerOutCapture?: (event: PointerEvent) => void;
+        onGotPointerCapture?: (event: PointerEvent) => void;
+        onGotPointerCaptureCapture?: (event: PointerEvent) => void;
+        onLostPointerCapture?: (event: PointerEvent) => void;
+        onLostPointerCaptureCapture?: (event: PointerEvent) => void;
+        onScroll?: (event: UIEvent) => void;
+        onScrollCapture?: (event: UIEvent) => void;
+        onWheel?: (event: WheelEvent) => void;
+        onWheelCapture?: (event: WheelEvent) => void;
+        onAnimationStart?: (event: AnimationEvent) => void;
+        onAnimationStartCapture?: (event: AnimationEvent) => void;
+        onAnimationEnd?: (event: AnimationEvent) => void;
+        onAnimationEndCapture?: (event: AnimationEvent) => void;
+        onAnimationIteration?: (event: AnimationEvent) => void;
+        onAnimationIterationCapture?: (event: AnimationEvent) => void;
+        onTransitionEnd?: (event: TransitionEvent) => void;
+        onTransitionEndCapture?: (event: TransitionEvent) => void;
+    }
+}
+export interface JSXAttributes<T = Element> {
+    key?: string | number;
+    ref?: (elm?: T) => void;
+}
+export interface CustomElementsDefineOptions {
+    exclude?: string[];
+    resourcesUrl?: string;
+    syncQueue?: boolean;
+    transformTagName?: (tagName: string) => string;
+    jmp?: (c: Function) => any;
+    raf?: (c: FrameRequestCallback) => number;
+    ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
+    rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
+    ce?: (eventName: string, opts?: any) => CustomEvent;
+}
diff --git a/vite.config.ts b/vite.config.ts
index 8048ec9..f64cf52 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -6,9 +6,15 @@ export default defineConfig({
   build: {
     emptyOutDir: true,
     minify: false,
-    outDir: '../dist',
+    outDir: '../dist_before_babel',
+    rollupOptions: {
+      external: [
+        "/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js"
+      ]
+    }
   },
   plugins: [vue()],
   resolve: { alias: { '@': resolve(__dirname, './src') } },
   root: './src',
+  publicDir: "./public"
 });
-- 
GitLab


From 360e123cd69e0903f88181895aedf51ecce88054 Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 11:59:22 +0800
Subject: [PATCH 03/10] Downgraded minSdkVersion to 22

---
 android/variables.gradle | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/android/variables.gradle b/android/variables.gradle
index e4a4293..8ef305d 100644
--- a/android/variables.gradle
+++ b/android/variables.gradle
@@ -1,5 +1,5 @@
 ext {
-    minSdkVersion = 33
+    minSdkVersion = 22
     compileSdkVersion = 34
     targetSdkVersion = 34
     androidxActivityVersion = '1.8.0'
-- 
GitLab


From 7d043a3d496f559f38aa8cd1e966f2f9858ef5a4 Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 12:06:26 +0800
Subject: [PATCH 04/10] Finialize commitment

---
 .gitignore | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/.gitignore b/.gitignore
index d954a2d..bb00392 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,8 @@
 /node_modules
 /.idea
 /dist
+/dist_before_babel
+/android
 .DS_Store
 /test/ere.config.json
 /test/sav
\ No newline at end of file
-- 
GitLab


From ad721d976422bdd2ae6ce8bf3ca9946d8f34c884 Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 04:08:37 +0000
Subject: [PATCH 05/10] Update .gitignore

---
 .gitignore | 1 -
 1 file changed, 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index bb00392..77761a1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,6 @@
 /.idea
 /dist
 /dist_before_babel
-/android
 .DS_Store
 /test/ere.config.json
 /test/sav
\ No newline at end of file
-- 
GitLab


From f3e983932da8e39ffb72f9821fe5611e31ae410f Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 17:07:03 +0800
Subject: [PATCH 06/10] Feature removal: remove babel from CLI

---
 .gitignore                    |  4 ++--
 babel.config.afterbundle.json | 14 --------------
 package.json                  |  2 +-
 removeOldDist.js              |  5 -----
 vite.config.ts                |  2 +-
 5 files changed, 4 insertions(+), 23 deletions(-)
 delete mode 100644 babel.config.afterbundle.json
 delete mode 100644 removeOldDist.js

diff --git a/.gitignore b/.gitignore
index 77761a1..5e86f58 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,7 @@
 /node_modules
 /.idea
 /dist
-/dist_before_babel
 .DS_Store
 /test/ere.config.json
-/test/sav
\ No newline at end of file
+/test/sav
+/android
\ No newline at end of file
diff --git a/babel.config.afterbundle.json b/babel.config.afterbundle.json
deleted file mode 100644
index c9283f7..0000000
--- a/babel.config.afterbundle.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "presets": [
-        [
-            "@vue/cli-plugin-babel/preset",
-            {
-                "useBuiltIns": false,
-                "targets": {
-                    "chrome": "60"
-                },
-                "modules": false
-            }
-        ]
-    ]
-}
\ No newline at end of file
diff --git a/package.json b/package.json
index 5b58ca2..1033522 100644
--- a/package.json
+++ b/package.json
@@ -54,7 +54,7 @@
   "name": "ere.app",
   "scripts": {
     "android": "cap run android",
-    "build": "vite build && node removeOldDist.js && npx babel dist_before_babel --out-dir dist --config-file ./babel.config.afterbundle.json --keep-file-extension --copy-files && cap sync",
+    "build": "vite build && cap sync",
     "lint": "lint-staged",
     "prepare": "husky",
     "start": "vite"
diff --git a/removeOldDist.js b/removeOldDist.js
deleted file mode 100644
index 3466800..0000000
--- a/removeOldDist.js
+++ /dev/null
@@ -1,5 +0,0 @@
-var fs = require("fs")
-if (fs.existsSync("dist")){
-    fs.rmdirSync("dist", {recursive: true});
-}
-console.log("Done");
\ No newline at end of file
diff --git a/vite.config.ts b/vite.config.ts
index f64cf52..d1e03e1 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -6,7 +6,7 @@ export default defineConfig({
   build: {
     emptyOutDir: true,
     minify: false,
-    outDir: '../dist_before_babel',
+    outDir: '../dist',
     rollupOptions: {
       external: [
         "/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js"
-- 
GitLab


From 2eeb64f5f3ce1bde902bb8a1a136e3387a97d8cf Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 17:55:24 +0800
Subject: [PATCH 07/10] Bundled babel with Vits; PWA-Elements transpiled

---
 package-lock.json                             |  296 +-
 package.json                                  |    4 +-
 .../js/pwa-elements/cjs/index-d7f36e37.js     | 2578 ++++---
 src/public/js/pwa-elements/cjs/index.cjs.js   |    3 +-
 .../pwa-elements/cjs/ionicpwaelements.cjs.js  |   66 +-
 src/public/js/pwa-elements/cjs/loader.cjs.js  |   54 +-
 .../cjs/pwa-action-sheet.cjs.entry.js         |  108 +-
 .../pwa-camera-modal-instance.cjs.entry.js    |  129 +-
 .../cjs/pwa-camera-modal.cjs.entry.js         |  149 +-
 .../pwa-elements/cjs/pwa-camera.cjs.entry.js  | 1094 ++-
 .../pwa-elements/cjs/pwa-toast.cjs.entry.js   |  107 +-
 .../components/action-sheet/action-sheet.js   |  266 +-
 .../camera-modal/camera-modal-instance.js     |  313 +-
 .../components/camera-modal/camera-modal.js   |  325 +-
 .../collection/components/camera/camera.js    | 1143 ++-
 .../components/camera/imagecapture.js         |  219 +-
 .../collection/components/toast/toast.js      |  213 +-
 .../js/pwa-elements/collection/definitions.js |    2 +-
 .../js/pwa-elements/collection/index.js       |    2 +-
 .../js/pwa-elements/esm-es5/index-1c5c47b4.js | 1294 +++-
 .../pwa-elements/esm-es5/ionicpwaelements.js  |   47 +-
 src/public/js/pwa-elements/esm-es5/loader.js  |   46 +-
 .../esm-es5/pwa-action-sheet.entry.js         |   68 +-
 .../pwa-camera-modal-instance.entry.js        |  190 +-
 .../esm-es5/pwa-camera-modal.entry.js         |  180 +-
 .../pwa-elements/esm-es5/pwa-camera.entry.js  |  765 +-
 .../pwa-elements/esm-es5/pwa-toast.entry.js   |   58 +-
 .../js/pwa-elements/esm/index-1c5c47b4.js     | 2569 ++++---
 src/public/js/pwa-elements/esm/index.js       |    1 -
 .../js/pwa-elements/esm/ionicpwaelements.js   |   58 +-
 src/public/js/pwa-elements/esm/loader.js      |   47 +-
 .../js/pwa-elements/esm/polyfills/core-js.js  | 5386 +++++++++++++-
 .../js/pwa-elements/esm/polyfills/css-shim.js |  381 +-
 .../js/pwa-elements/esm/polyfills/dom.js      |  828 ++-
 .../esm/polyfills/es5-html-element.js         |   12 +-
 .../js/pwa-elements/esm/polyfills/index.js    |   26 +-
 .../js/pwa-elements/esm/polyfills/system.js   |  194 +-
 .../esm/pwa-action-sheet.entry.js             |  101 +-
 .../esm/pwa-camera-modal-instance.entry.js    |  122 +-
 .../esm/pwa-camera-modal.entry.js             |  142 +-
 .../js/pwa-elements/esm/pwa-camera.entry.js   | 1087 ++-
 .../js/pwa-elements/esm/pwa-toast.entry.js    |  100 +-
 src/public/js/pwa-elements/index.cjs.js       |    2 +-
 .../ionicpwaelements/ionicpwaelements.esm.js  |   43 +-
 .../ionicpwaelements/ionicpwaelements.js      | 6575 ++++++++++++++++-
 .../ionicpwaelements/p-00206cb0.system.js     |   59 +-
 .../p-1b81a39d.system.entry.js                |  192 +-
 .../ionicpwaelements/p-335782c2.system.js     | 1286 +++-
 .../ionicpwaelements/p-386e91ad.js            |  662 +-
 .../ionicpwaelements/p-3bb700a2.entry.js      |   95 +-
 .../ionicpwaelements/p-50ea2036.system.js     |    8 +-
 .../p-550557d3.system.entry.js                |  203 +-
 .../p-5b57434a.system.entry.js                |   81 +-
 .../ionicpwaelements/p-665001c2.entry.js      |  658 +-
 .../ionicpwaelements/p-b57f4873.entry.js      |   63 +-
 .../ionicpwaelements/p-d0cae4dc.entry.js      |   71 +-
 .../ionicpwaelements/p-d212ae1d.entry.js      |   93 +-
 .../p-db3c6183.system.entry.js                |   71 +-
 .../p-fab2e7af.system.entry.js                |  813 +-
 vite.config.ts                                |   14 +-
 60 files changed, 26909 insertions(+), 4853 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e9275a8..df15f51 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,11 +9,13 @@
       "version": "1.0.0",
       "dependencies": {
         "@capacitor/android": "^6.2.0",
+        "@capacitor/app": "^6.0.2",
         "@capacitor/core": "^6.2.0",
         "@capacitor/filesystem": "^6.0.2",
         "@capacitor/preferences": "^6.0.3",
         "@capawesome/capacitor-file-picker": "^6.2.0",
         "@element-plus/icons-vue": "^2.3.1",
+        "@vitejs/plugin-legacy": "^5.4.1",
         "chart.js": "^4.4.7",
         "chartjs-plugin-annotation": "^3.1.0",
         "core-js": "^3.39.0",
@@ -71,7 +73,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz",
       "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
-      "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@jridgewell/gen-mapping": "^0.3.5",
@@ -226,7 +227,6 @@
       "version": "7.26.2",
       "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz",
       "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-validator-identifier": "^7.25.9",
@@ -241,7 +241,6 @@
       "version": "7.26.3",
       "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.3.tgz",
       "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
@@ -251,7 +250,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.0.tgz",
       "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@ampproject/remapping": "^2.2.0",
@@ -301,7 +299,6 @@
       "version": "7.26.3",
       "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.3.tgz",
       "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/parser": "^7.26.3",
@@ -318,7 +315,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz",
       "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/types": "^7.25.9"
@@ -331,7 +327,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz",
       "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/compat-data": "^7.25.9",
@@ -348,7 +343,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.9.tgz",
       "integrity": "sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-annotate-as-pure": "^7.25.9",
@@ -370,7 +364,6 @@
       "version": "7.26.3",
       "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.26.3.tgz",
       "integrity": "sha512-G7ZRb40uUgdKOQqPLjfD12ZmGA54PzqDFUv2BKImnC9QIfGhIHKvVML0oN8IUiDq4iRqpq74ABpvOaerfWdong==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-annotate-as-pure": "^7.25.9",
@@ -388,7 +381,6 @@
       "version": "0.6.3",
       "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz",
       "integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-compilation-targets": "^7.22.6",
@@ -405,7 +397,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz",
       "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/traverse": "^7.25.9",
@@ -419,7 +410,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz",
       "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/traverse": "^7.25.9",
@@ -433,7 +423,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz",
       "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-module-imports": "^7.25.9",
@@ -451,7 +440,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz",
       "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/types": "^7.25.9"
@@ -464,7 +452,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz",
       "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
@@ -474,7 +461,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.9.tgz",
       "integrity": "sha512-IZtukuUeBbhgOcaW2s06OXTzVNJR0ybm4W5xC1opWFFJMZbwRj5LCk+ByYH7WdZPZTt8KnFwA8pvjN2yqcPlgw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-annotate-as-pure": "^7.25.9",
@@ -492,7 +478,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.25.9.tgz",
       "integrity": "sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-member-expression-to-functions": "^7.25.9",
@@ -510,7 +495,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz",
       "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/traverse": "^7.25.9",
@@ -542,7 +526,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz",
       "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
@@ -552,7 +535,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.25.9.tgz",
       "integrity": "sha512-ETzz9UTjQSTmw39GboatdymDq4XIQbR8ySgVrylRhPOFpsd+JrKHIuF0de7GCWmem+T4uC5z7EZguod7Wj4A4g==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/template": "^7.25.9",
@@ -567,7 +549,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.0.tgz",
       "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/template": "^7.25.9",
@@ -596,7 +577,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.9.tgz",
       "integrity": "sha512-ZkRyVkThtxQ/J6nv3JFYv1RYY+JT5BvU0y3k5bWrmuG4woXypRa4PXmm9RhOwodRkYFWqC0C0cqcJ4OqR7kW+g==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -613,7 +593,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.9.tgz",
       "integrity": "sha512-MrGRLZxLD/Zjj0gdU15dfs+HH/OXvnw/U4jJD8vpcP2CJQapPEv1IWwjc/qMg7ItBlPwSv1hRBbb7LeuANdcnw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -629,7 +608,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.9.tgz",
       "integrity": "sha512-2qUwwfAFpJLZqxd02YW9btUCZHl+RFvdDkNfZwaIJrvB8Tesjsk8pEQkTvGwZXLqXUx/2oyY3ySRhm6HOXuCug==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -645,7 +623,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.9.tgz",
       "integrity": "sha512-6xWgLZTJXwilVjlnV7ospI3xi+sl8lN8rXXbBD6vYn3UYDlGsag8wrZkKcSI8G6KgqKP7vNFaDgeDnfAABq61g==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -663,7 +640,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.9.tgz",
       "integrity": "sha512-aLnMXYPnzwwqhYSCyXfKkIkYgJ8zv9RK+roo9DkTXz38ynIhd9XCbN08s3MGvqL2MYGVUGdRQLL/JqBIeJhJBg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -734,7 +710,6 @@
       "version": "7.21.0-placeholder-for-preset-env.2",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
       "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
@@ -776,7 +751,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.26.0.tgz",
       "integrity": "sha512-QCWT5Hh830hK5EQa7XzuqIkQU9tT/whqbDz7kuaZMHFl1inRRg7JnuAEOQ0Ur0QUl0NufCk1msK2BeY79Aj/eg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -792,7 +766,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz",
       "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -867,7 +840,6 @@
       "version": "7.18.6",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
       "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.18.6",
@@ -884,7 +856,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.9.tgz",
       "integrity": "sha512-6jmooXYIwn9ca5/RylZADJ+EnSxVUS5sjeJ9UPk6RWRzXCmOJCy6dqItPJFpw2cuCangPK4OYr5uhGKcmrm5Qg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -900,7 +871,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz",
       "integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -918,7 +888,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz",
       "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-module-imports": "^7.25.9",
@@ -936,7 +905,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.9.tgz",
       "integrity": "sha512-toHc9fzab0ZfenFpsyYinOX0J/5dgJVA2fm64xPewu7CoYHWEivIWKxkK2rMi4r3yQqLnVmheMXRdG+k239CgA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -952,7 +920,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.9.tgz",
       "integrity": "sha512-1F05O7AYjymAtqbsFETboN1NvBdcnzMerO+zlMyJBEz6WkMdejvGWw9p05iTSjC85RLlBseHHQpYaM4gzJkBGg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -968,7 +935,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.9.tgz",
       "integrity": "sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-class-features-plugin": "^7.25.9",
@@ -985,7 +951,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.26.0.tgz",
       "integrity": "sha512-6J2APTs7BDDm+UMqP1useWqhcRAXo0WIoVj26N7kPFB6S73Lgvyka4KTZYIxtgYXiN5HTyRObA72N2iu628iTQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-class-features-plugin": "^7.25.9",
@@ -1002,7 +967,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.9.tgz",
       "integrity": "sha512-mD8APIXmseE7oZvZgGABDyM34GUmK45Um2TXiBUt7PnuAxrgoSVf123qUzPxEr/+/BHrRn5NMZCdE2m/1F8DGg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-annotate-as-pure": "^7.25.9",
@@ -1023,7 +987,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.9.tgz",
       "integrity": "sha512-HnBegGqXZR12xbcTHlJ9HGxw1OniltT26J5YpfruGqtUHlz/xKf/G2ak9e+t0rVqrjXa9WOhvYPz1ERfMj23AA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -1040,7 +1003,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.9.tgz",
       "integrity": "sha512-WkCGb/3ZxXepmMiX101nnGiU+1CAdut8oHyEOHxkKuS1qKpU2SMXE2uSvfz8PBuLd49V6LEsbtyPhWC7fnkgvQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1056,7 +1018,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.9.tgz",
       "integrity": "sha512-t7ZQ7g5trIgSRYhI9pIJtRl64KHotutUJsh4Eze5l7olJv+mRSg4/MmbZ0tv1eeqRbdvo/+trvJD/Oc5DmW2cA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.25.9",
@@ -1073,7 +1034,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.9.tgz",
       "integrity": "sha512-LZxhJ6dvBb/f3x8xwWIuyiAHy56nrRG3PeYTpBkkzkYRRQ6tJLu68lEF5VIqMUZiAV7a8+Tb78nEoMCMcqjXBw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1089,7 +1049,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.9.tgz",
       "integrity": "sha512-0UfuJS0EsXbRvKnwcLjFtJy/Sxc5J5jhLHnFhy7u4zih97Hz6tJkLU+O+FMMrNZrosUPxDi6sYxJ/EA8jDiAog==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.25.9",
@@ -1106,7 +1065,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.9.tgz",
       "integrity": "sha512-GCggjexbmSLaFhqsojeugBpeaRIgWNTcgKVq/0qIteFEqY2A+b9QidYadrWlnbWQUrW5fn+mCvf3tr7OeBFTyg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1122,7 +1080,6 @@
       "version": "7.26.3",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.26.3.tgz",
       "integrity": "sha512-7CAHcQ58z2chuXPWblnn1K6rLDnDWieghSOEmqQsrBenH0P9InCUtOJYD89pvngljmZlJcz3fcmgYsXFNGa1ZQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1138,7 +1095,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.9.tgz",
       "integrity": "sha512-2NsEz+CxzJIVOPx2o9UsW1rXLqtChtLoVnwYHHiB04wS5sgn7mrV45fWMBX0Kk+ub9uXytVYfNP2HjbVbCB3Ww==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1154,7 +1110,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz",
       "integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -1171,7 +1126,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.9.tgz",
       "integrity": "sha512-8lP+Yxjv14Vc5MuWBpJsoUCd3hD6V9DgBon2FVYL4jJgbnVQ9fTgYmonchzZJOVNgzEgbxp4OwAf6xz6M/14XA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-compilation-targets": "^7.25.9",
@@ -1189,7 +1143,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.9.tgz",
       "integrity": "sha512-xoTMk0WXceiiIvsaquQQUaLLXSW1KJ159KP87VilruQm0LNNGxWzahxSS6T6i4Zg3ezp4vA4zuwiNUR53qmQAw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1205,7 +1158,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.9.tgz",
       "integrity": "sha512-9N7+2lFziW8W9pBl2TzaNht3+pgMIRP74zizeCSrtnSKVdUl8mAjjOP2OOVQAfZ881P2cNjDj1uAMEdeD50nuQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1221,7 +1173,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.9.tgz",
       "integrity": "sha512-wI4wRAzGko551Y8eVf6iOY9EouIDTtPb0ByZx+ktDGHwv6bHFimrgJM/2T021txPZ2s4c7bqvHbd+vXG6K948Q==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1237,7 +1188,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.9.tgz",
       "integrity": "sha512-PYazBVfofCQkkMzh2P6IdIUaCEWni3iYEerAsRWuVd8+jlM1S9S9cz1dF9hIzyoZ8IA3+OwVYIp9v9e+GbgZhA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1253,7 +1203,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.9.tgz",
       "integrity": "sha512-g5T11tnI36jVClQlMlt4qKDLlWnG5pP9CSM4GhdRciTNMRgkfpo5cR6b4rGIOYPgRRuFAvwjPQ/Yk+ql4dyhbw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-module-transforms": "^7.25.9",
@@ -1270,7 +1219,6 @@
       "version": "7.26.3",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz",
       "integrity": "sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-module-transforms": "^7.26.0",
@@ -1287,7 +1235,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.9.tgz",
       "integrity": "sha512-hyss7iIlH/zLHaehT+xwiymtPOpsiwIIRlCAOwBB04ta5Tt+lNItADdlXw3jAWZ96VJ2jlhl/c+PNIQPKNfvcA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-module-transforms": "^7.25.9",
@@ -1306,7 +1253,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.9.tgz",
       "integrity": "sha512-bS9MVObUgE7ww36HEfwe6g9WakQ0KF07mQF74uuXdkoziUPfKyu/nIm663kz//e5O1nPInPFx36z7WJmJ4yNEw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-module-transforms": "^7.25.9",
@@ -1323,7 +1269,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.9.tgz",
       "integrity": "sha512-oqB6WHdKTGl3q/ItQhpLSnWWOpjUJLsOCLVyeFgeTktkBSCiurvPOsyt93gibI9CmuKvTUEtWmG5VhZD+5T/KA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.25.9",
@@ -1340,7 +1285,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.9.tgz",
       "integrity": "sha512-U/3p8X1yCSoKyUj2eOBIx3FOn6pElFOKvAAGf8HTtItuPyB+ZeOqfn+mvTtg9ZlOAjsPdK3ayQEjqHjU/yLeVQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1356,7 +1300,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.9.tgz",
       "integrity": "sha512-ENfftpLZw5EItALAD4WsY/KUWvhUlZndm5GC7G3evUsVeSJB6p0pBeLQUnRnBCBx7zV0RKQjR9kCuwrsIrjWog==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1372,7 +1315,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.9.tgz",
       "integrity": "sha512-TlprrJ1GBZ3r6s96Yq8gEQv82s8/5HnCVHtEJScUj90thHQbwe+E5MLhi2bbNHBEJuzrvltXSru+BUxHDoog7Q==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1388,7 +1330,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.9.tgz",
       "integrity": "sha512-fSaXafEE9CVHPweLYw4J0emp1t8zYTXyzN3UuG+lylqkvYd7RMrsOQ8TYx5RF231be0vqtFC6jnx3UmpJmKBYg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-compilation-targets": "^7.25.9",
@@ -1406,7 +1347,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.9.tgz",
       "integrity": "sha512-Kj/Gh+Rw2RNLbCK1VAWj2U48yxxqL2x0k10nPtSdRa0O2xnHXalD0s+o1A6a0W43gJ00ANo38jxkQreckOzv5A==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -1423,7 +1363,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.9.tgz",
       "integrity": "sha512-qM/6m6hQZzDcZF3onzIhZeDHDO43bkNNlOX0i8n3lR6zLbu0GN2d8qfM/IERJZYauhAHSLHy39NF0Ctdvcid7g==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1439,7 +1378,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.9.tgz",
       "integrity": "sha512-6AvV0FsLULbpnXeBjrY4dmWF8F7gf8QnvTEoO/wX/5xm/xE1Xo8oPuD3MPS+KS9f9XBEAWN7X1aWr4z9HdOr7A==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -1456,7 +1394,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.9.tgz",
       "integrity": "sha512-wzz6MKwpnshBAiRmn4jR8LYz/g8Ksg0o80XmwZDlordjwEk9SxBzTWC7F5ef1jhbrbOW2DJ5J6ayRukrJmnr0g==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1472,7 +1409,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.9.tgz",
       "integrity": "sha512-D/JUozNpQLAPUVusvqMxyvjzllRaF8/nSrP1s2YGQT/W4LHK4xxsMcHjhOGTS01mp9Hda8nswb+FblLdJornQw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-class-features-plugin": "^7.25.9",
@@ -1489,7 +1425,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.9.tgz",
       "integrity": "sha512-Evf3kcMqzXA3xfYJmZ9Pg1OvKdtqsDMSWBDzZOPLvHiTt36E75jLDQo5w1gtRU95Q4E5PDttrTf25Fw8d/uWLw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-annotate-as-pure": "^7.25.9",
@@ -1507,7 +1442,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.9.tgz",
       "integrity": "sha512-IvIUeV5KrS/VPavfSM/Iu+RE6llrHrYIKY1yfCzyO/lMXHQ+p7uGhonmGVisv6tSBSVgWzMBohTcvkC9vQcQFA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1523,7 +1457,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.9.tgz",
       "integrity": "sha512-vwDcDNsgMPDGP0nMqzahDWE5/MLcX8sv96+wfX7as7LoF/kr97Bo/7fI00lXY4wUXYfVmwIIyG80fGZ1uvt2qg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -1540,7 +1473,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.26.0.tgz",
       "integrity": "sha512-vN6saax7lrA2yA/Pak3sCxuD6F5InBjn9IcrIKQPjpsLvuHYLVroTxjdlVRHjjBWxKOqIwpTXDkOssYT4BFdRw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.25.9",
@@ -1557,7 +1489,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.9.tgz",
       "integrity": "sha512-7DL7DKYjn5Su++4RXu8puKZm2XBPHyjWLUidaPEkCUBbE7IPcsrkRHggAOOKydH1dASWdcUBxrkOGNxUv5P3Jg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1594,7 +1525,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.9.tgz",
       "integrity": "sha512-MUv6t0FhO5qHnS/W8XCbHmiRWOphNufpE1IVxhK5kuN3Td9FT1x4rx4K42s3RYdMXCXpfWkGSbCSd0Z64xA7Ng==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1610,7 +1540,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.9.tgz",
       "integrity": "sha512-oNknIB0TbURU5pqJFVbOOFspVlrpVwo2H1+HUIsVDvp5VauGGDP1ZEvO8Nn5xyMEs3dakajOxlmkNW7kNgSm6A==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9",
@@ -1627,7 +1556,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.9.tgz",
       "integrity": "sha512-WqBUSgeVwucYDP9U/xNRQam7xV8W5Zf+6Eo7T2SRVUFlhRiMNFdFz58u0KZmCVVqs2i7SHgpRnAhzRNmKfi2uA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1643,7 +1571,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz",
       "integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1659,7 +1586,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.9.tgz",
       "integrity": "sha512-v61XqUMiueJROUv66BVIOi0Fv/CUuZuZMl5NkRoCVxLAnMexZ0A3kMe7vvZ0nulxMuMp0Mk6S5hNh48yki08ZA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1675,7 +1601,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.9.tgz",
       "integrity": "sha512-s5EDrE6bW97LtxOcGj1Khcx5AaXwiMmi4toFWRDP9/y0Woo6pXC+iyPu/KuhKtfSrNFd7jJB+/fkOtZy6aIC6Q==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.25.9"
@@ -1691,7 +1616,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.9.tgz",
       "integrity": "sha512-Jt2d8Ga+QwRluxRQ307Vlxa6dMrYEMZCgGxoPR8V52rxPyldHu3hdlHspxaqYmE7oID5+kB+UKUB/eWS+DkkWg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.25.9",
@@ -1708,7 +1632,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.9.tgz",
       "integrity": "sha512-yoxstj7Rg9dlNn9UQxzk4fcNivwv4nUYz7fYXBaKxvw/lnmPuOm/ikoELygbYq68Bls3D/D+NBPHiLwZdZZ4HA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.25.9",
@@ -1725,7 +1648,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.9.tgz",
       "integrity": "sha512-8BYqO3GeVNHtx69fdPshN3fnzUNLrWdHhk/icSwigksJGczKSizZ+Z6SBCxTs723Fr5VSNorTIK7a+R2tISvwQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.25.9",
@@ -1742,7 +1664,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.26.0.tgz",
       "integrity": "sha512-H84Fxq0CQJNdPFT2DrfnylZ3cf5K43rGfWK4LJGPpjKHiZlk0/RzwEus3PDDZZg+/Er7lCA03MVacueUuXdzfw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/compat-data": "^7.26.0",
@@ -1826,7 +1747,6 @@
       "version": "0.1.6-no-external-plugins",
       "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
       "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.0.0",
@@ -1841,7 +1761,6 @@
       "version": "7.26.0",
       "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz",
       "integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "regenerator-runtime": "^0.14.0"
@@ -1854,7 +1773,6 @@
       "version": "7.25.9",
       "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.25.9.tgz",
       "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/code-frame": "^7.25.9",
@@ -1869,7 +1787,6 @@
       "version": "7.26.4",
       "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.26.4.tgz",
       "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/code-frame": "^7.26.2",
@@ -1906,6 +1823,14 @@
         "@capacitor/core": "^6.2.0"
       }
     },
+    "node_modules/@capacitor/app": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/@capacitor/app/-/app-6.0.2.tgz",
+      "integrity": "sha512-SiGTGgslK4TbWJVImCUL1odul7/YFkVfkYtAYS9AAEzQpxBECBeRnuN3FFBcfZ9eiN1XxFBFchhiwpxtx/c7yQ==",
+      "peerDependencies": {
+        "@capacitor/core": "^6.0.0"
+      }
+    },
     "node_modules/@capacitor/cli": {
       "version": "6.2.0",
       "resolved": "https://registry.npmmirror.com/@capacitor/cli/-/cli-6.2.0.tgz",
@@ -2034,7 +1959,6 @@
       "cpu": [
         "ppc64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2051,7 +1975,6 @@
       "cpu": [
         "arm"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2068,7 +1991,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2085,7 +2007,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2102,7 +2023,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2119,7 +2039,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2136,7 +2055,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2153,7 +2071,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2170,7 +2087,6 @@
       "cpu": [
         "arm"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2187,7 +2103,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2204,7 +2119,6 @@
       "cpu": [
         "ia32"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2221,7 +2135,6 @@
       "cpu": [
         "loong64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2238,7 +2151,6 @@
       "cpu": [
         "mips64el"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2255,7 +2167,6 @@
       "cpu": [
         "ppc64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2272,7 +2183,6 @@
       "cpu": [
         "riscv64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2289,7 +2199,6 @@
       "cpu": [
         "s390x"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2306,7 +2215,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2323,7 +2231,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2340,7 +2247,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2357,7 +2263,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2374,7 +2279,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2391,7 +2295,6 @@
       "cpu": [
         "ia32"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2408,7 +2311,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -2797,7 +2699,6 @@
       "version": "0.3.8",
       "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz",
       "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jridgewell/set-array": "^1.2.1",
@@ -2812,7 +2713,6 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
       "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6.0.0"
@@ -2822,7 +2722,6 @@
       "version": "1.2.1",
       "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz",
       "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6.0.0"
@@ -2832,7 +2731,6 @@
       "version": "0.3.6",
       "resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz",
       "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jridgewell/gen-mapping": "^0.3.5",
@@ -2849,7 +2747,6 @@
       "version": "0.3.25",
       "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
       "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jridgewell/resolve-uri": "^3.1.0",
@@ -2942,7 +2839,6 @@
       "version": "2.5.0",
       "resolved": "https://registry.npmmirror.com/@parcel/watcher/-/watcher-2.5.0.tgz",
       "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
-      "dev": true,
       "hasInstallScript": true,
       "license": "MIT",
       "optional": true,
@@ -2982,7 +2878,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3003,7 +2898,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3024,7 +2918,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3045,7 +2938,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3066,7 +2958,6 @@
       "cpu": [
         "arm"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3087,7 +2978,6 @@
       "cpu": [
         "arm"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3108,7 +2998,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3129,7 +3018,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3150,7 +3038,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3171,7 +3058,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3192,7 +3078,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3213,7 +3098,6 @@
       "cpu": [
         "ia32"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3234,7 +3118,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3287,7 +3170,6 @@
       "cpu": [
         "arm"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3301,7 +3183,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3315,7 +3196,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3329,7 +3209,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3343,7 +3222,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3357,7 +3235,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3371,7 +3248,6 @@
       "cpu": [
         "arm"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3385,7 +3261,6 @@
       "cpu": [
         "arm"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3399,7 +3274,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3413,7 +3287,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3427,7 +3300,6 @@
       "cpu": [
         "loong64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3441,7 +3313,6 @@
       "cpu": [
         "ppc64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3455,7 +3326,6 @@
       "cpu": [
         "riscv64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3469,7 +3339,6 @@
       "cpu": [
         "s390x"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3483,7 +3352,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3497,7 +3365,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3511,7 +3378,6 @@
       "cpu": [
         "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3525,7 +3391,6 @@
       "cpu": [
         "ia32"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3539,7 +3404,6 @@
       "cpu": [
         "x64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
@@ -3689,7 +3553,6 @@
       "version": "1.0.6",
       "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz",
       "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/@types/express": {
@@ -3821,7 +3684,7 @@
       "version": "22.10.2",
       "resolved": "https://registry.npmmirror.com/@types/node/-/node-22.10.2.tgz",
       "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "undici-types": "~6.20.0"
@@ -3955,6 +3818,31 @@
       "dev": true,
       "license": "ISC"
     },
+    "node_modules/@vitejs/plugin-legacy": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-legacy/-/plugin-legacy-5.4.1.tgz",
+      "integrity": "sha512-kee0l7dVevCNs1l3u2PnihVunvQ0WTJL2UJ/siQGD3Iht546mR9NO16tCv32uCP6lcGO1QDLqlPqInJtV1FE7A==",
+      "dependencies": {
+        "@babel/core": "^7.24.6",
+        "@babel/preset-env": "^7.24.6",
+        "browserslist": "^4.23.0",
+        "browserslist-to-esbuild": "^2.1.1",
+        "core-js": "^3.37.1",
+        "magic-string": "^0.30.10",
+        "regenerator-runtime": "^0.14.1",
+        "systemjs": "^6.15.1"
+      },
+      "engines": {
+        "node": "^18.0.0 || >=20.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/vitejs/vite?sponsor=1"
+      },
+      "peerDependencies": {
+        "terser": "^5.4.0",
+        "vite": "^5.0.0"
+      }
+    },
     "node_modules/@vitejs/plugin-vue": {
       "version": "5.2.1",
       "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz",
@@ -5012,7 +4900,6 @@
       "version": "8.14.0",
       "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.14.0.tgz",
       "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
-      "dev": true,
       "license": "MIT",
       "bin": {
         "acorn": "bin/acorn"
@@ -5517,7 +5404,6 @@
       "version": "0.4.12",
       "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.12.tgz",
       "integrity": "sha512-CPWT6BwvhrTO2d8QVorhTCQw9Y43zOu7G9HigcfxvepOU6b8o3tcWad6oVgZIsZCTt42FFv97aA7ZJsbM4+8og==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/compat-data": "^7.22.6",
@@ -5532,7 +5418,6 @@
       "version": "0.10.6",
       "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz",
       "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-define-polyfill-provider": "^0.6.2",
@@ -5546,7 +5431,6 @@
       "version": "0.6.3",
       "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.3.tgz",
       "integrity": "sha512-LiWSbl4CRSIa5x/JAU6jZiG9eit9w6mz+yVMFwDE83LAWvt0AfGBoZ7HS/mkhrKuh2ZlzfVZYKoLjXdqw6Yt7Q==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-define-polyfill-provider": "^0.6.3"
@@ -5736,7 +5620,7 @@
       "version": "3.0.3",
       "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz",
       "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "fill-range": "^7.1.1"
@@ -5749,7 +5633,6 @@
       "version": "4.24.3",
       "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.3.tgz",
       "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==",
-      "dev": true,
       "funding": [
         {
           "type": "opencollective",
@@ -5778,6 +5661,23 @@
         "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
       }
     },
+    "node_modules/browserslist-to-esbuild": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz",
+      "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==",
+      "dependencies": {
+        "meow": "^13.0.0"
+      },
+      "bin": {
+        "browserslist-to-esbuild": "cli/index.js"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "peerDependencies": {
+        "browserslist": "*"
+      }
+    },
     "node_modules/buffer": {
       "version": "5.7.1",
       "resolved": "https://registry.npmmirror.com/buffer/-/buffer-5.7.1.tgz",
@@ -5817,7 +5717,6 @@
       "version": "1.1.2",
       "resolved": "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz",
       "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/bytes": {
@@ -5931,7 +5830,6 @@
       "version": "1.0.30001690",
       "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz",
       "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==",
-      "dev": true,
       "funding": [
         {
           "type": "opencollective",
@@ -5999,7 +5897,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-4.0.3.tgz",
       "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "readdirp": "^4.0.1"
@@ -6458,7 +6356,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz",
       "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/cookie": {
@@ -6540,7 +6437,6 @@
       "version": "3.39.0",
       "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.39.0.tgz",
       "integrity": "sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "browserslist": "^4.24.2"
@@ -7004,7 +6900,6 @@
       "version": "4.4.0",
       "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz",
       "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ms": "^2.1.3"
@@ -7220,7 +7115,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmmirror.com/detect-libc/-/detect-libc-1.0.3.tgz",
       "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
-      "dev": true,
       "license": "Apache-2.0",
       "optional": true,
       "bin": {
@@ -7439,7 +7333,6 @@
       "version": "1.5.74",
       "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz",
       "integrity": "sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==",
-      "dev": true,
       "license": "ISC"
     },
     "node_modules/element-plus": {
@@ -7743,7 +7636,6 @@
       "version": "0.21.5",
       "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz",
       "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
-      "dev": true,
       "hasInstallScript": true,
       "license": "MIT",
       "bin": {
@@ -7782,7 +7674,6 @@
       "version": "3.2.0",
       "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz",
       "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6"
@@ -8481,7 +8372,6 @@
       "version": "2.0.3",
       "resolved": "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz",
       "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
-      "dev": true,
       "license": "BSD-2-Clause",
       "engines": {
         "node": ">=0.10.0"
@@ -8825,7 +8715,7 @@
       "version": "7.1.1",
       "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz",
       "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "to-regex-range": "^5.0.1"
@@ -9131,7 +9021,6 @@
       "version": "2.3.3",
       "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz",
       "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
-      "dev": true,
       "hasInstallScript": true,
       "license": "MIT",
       "optional": true,
@@ -9146,7 +9035,6 @@
       "version": "1.1.2",
       "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
       "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-      "dev": true,
       "license": "MIT",
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
@@ -9188,7 +9076,6 @@
       "version": "1.0.0-beta.2",
       "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz",
       "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
@@ -9344,7 +9231,6 @@
       "version": "11.12.0",
       "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
       "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=4"
@@ -9536,7 +9422,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
       "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "function-bind": "^1.1.2"
@@ -9956,7 +9841,7 @@
       "version": "5.0.3",
       "resolved": "https://registry.npmmirror.com/immutable/-/immutable-5.0.3.tgz",
       "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT"
     },
     "node_modules/import-fresh": {
@@ -10174,7 +10059,6 @@
       "version": "2.16.0",
       "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.0.tgz",
       "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "hasown": "^2.0.2"
@@ -10243,7 +10127,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
       "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.10.0"
@@ -10308,7 +10192,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "is-extglob": "^2.1.1"
@@ -10359,7 +10243,7 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.12.0"
@@ -10703,7 +10587,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
       "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/js-yaml": {
@@ -10723,7 +10606,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz",
       "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
-      "dev": true,
       "license": "MIT",
       "bin": {
         "jsesc": "bin/jsesc"
@@ -10771,7 +10653,6 @@
       "version": "2.2.3",
       "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
       "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
-      "dev": true,
       "license": "MIT",
       "bin": {
         "json5": "lib/cli.js"
@@ -11296,7 +11177,6 @@
       "version": "4.0.8",
       "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
       "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/lodash.defaultsdeep": {
@@ -11549,7 +11429,6 @@
       "version": "5.1.1",
       "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz",
       "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-      "dev": true,
       "license": "ISC",
       "dependencies": {
         "yallist": "^3.0.2"
@@ -11636,6 +11515,17 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/meow": {
+      "version": "13.2.0",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz",
+      "integrity": "sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/merge-descriptors": {
       "version": "1.0.3",
       "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
@@ -11690,7 +11580,7 @@
       "version": "4.0.8",
       "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.8.tgz",
       "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "braces": "^3.0.3",
@@ -11967,7 +11857,6 @@
       "version": "2.1.3",
       "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
       "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/multicast-dns": {
@@ -12090,7 +11979,6 @@
       "version": "7.1.1",
       "resolved": "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-7.1.1.tgz",
       "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
-      "dev": true,
       "license": "MIT",
       "optional": true
     },
@@ -12130,7 +12018,6 @@
       "version": "2.0.19",
       "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz",
       "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/normalize-package-data": {
@@ -12730,7 +12617,6 @@
       "version": "1.0.7",
       "resolved": "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz",
       "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/path-scurry": {
@@ -12802,7 +12688,7 @@
       "version": "2.3.1",
       "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
       "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "engines": {
         "node": ">=8.6"
@@ -14188,7 +14074,7 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-4.0.2.tgz",
       "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "engines": {
         "node": ">= 14.16.0"
@@ -14226,14 +14112,12 @@
       "version": "1.4.2",
       "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz",
       "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/regenerate-unicode-properties": {
       "version": "10.2.0",
       "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
       "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "regenerate": "^1.4.2"
@@ -14246,14 +14130,12 @@
       "version": "0.14.1",
       "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
       "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/regenerator-transform": {
       "version": "0.15.2",
       "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
       "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/runtime": "^7.8.4"
@@ -14283,7 +14165,6 @@
       "version": "6.2.0",
       "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.2.0.tgz",
       "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "regenerate": "^1.4.2",
@@ -14301,14 +14182,12 @@
       "version": "0.8.0",
       "resolved": "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.8.0.tgz",
       "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/regjsparser": {
       "version": "0.12.0",
       "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.12.0.tgz",
       "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
-      "dev": true,
       "license": "BSD-2-Clause",
       "dependencies": {
         "jsesc": "~3.0.2"
@@ -14321,7 +14200,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz",
       "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
-      "dev": true,
       "license": "MIT",
       "bin": {
         "jsesc": "bin/jsesc"
@@ -14389,7 +14267,6 @@
       "version": "1.22.9",
       "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.9.tgz",
       "integrity": "sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "is-core-module": "^2.16.0",
@@ -14495,7 +14372,6 @@
       "version": "4.28.1",
       "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.28.1.tgz",
       "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/estree": "1.0.6"
@@ -14627,7 +14503,7 @@
       "version": "1.83.0",
       "resolved": "https://registry.npmmirror.com/sass/-/sass-1.83.0.tgz",
       "integrity": "sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "chokidar": "^4.0.0",
@@ -14738,7 +14614,6 @@
       "version": "6.3.1",
       "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz",
       "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
-      "dev": true,
       "license": "ISC",
       "bin": {
         "semver": "bin/semver.js"
@@ -15169,7 +15044,6 @@
       "version": "0.6.1",
       "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-      "dev": true,
       "license": "BSD-3-Clause",
       "engines": {
         "node": ">=0.10.0"
@@ -15188,7 +15062,6 @@
       "version": "0.5.21",
       "resolved": "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz",
       "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "buffer-from": "^1.0.0",
@@ -15589,7 +15462,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
       "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 0.4"
@@ -15655,6 +15527,11 @@
         "url": "https://opencollective.com/unts"
       }
     },
+    "node_modules/systemjs": {
+      "version": "6.15.1",
+      "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.15.1.tgz",
+      "integrity": "sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA=="
+    },
     "node_modules/tapable": {
       "version": "0.1.10",
       "resolved": "https://registry.npmmirror.com/tapable/-/tapable-0.1.10.tgz",
@@ -15717,7 +15594,6 @@
       "version": "5.37.0",
       "resolved": "https://registry.npmmirror.com/terser/-/terser-5.37.0.tgz",
       "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==",
-      "dev": true,
       "license": "BSD-2-Clause",
       "dependencies": {
         "@jridgewell/source-map": "^0.3.3",
@@ -15828,7 +15704,6 @@
       "version": "2.20.3",
       "resolved": "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz",
       "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/text-table": {
@@ -15943,7 +15818,7 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "is-number": "^7.0.0"
@@ -16169,14 +16044,13 @@
       "version": "6.20.0",
       "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-6.20.0.tgz",
       "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT"
     },
     "node_modules/unicode-canonical-property-names-ecmascript": {
       "version": "2.0.1",
       "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
       "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=4"
@@ -16186,7 +16060,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
       "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "unicode-canonical-property-names-ecmascript": "^2.0.0",
@@ -16200,7 +16073,6 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
       "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=4"
@@ -16210,7 +16082,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
       "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=4"
@@ -16251,7 +16122,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz",
       "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==",
-      "dev": true,
       "funding": [
         {
           "type": "opencollective",
@@ -16351,7 +16221,6 @@
       "version": "5.4.11",
       "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.11.tgz",
       "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "esbuild": "^0.21.3",
@@ -17420,7 +17289,6 @@
       "version": "3.1.1",
       "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz",
       "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-      "dev": true,
       "license": "ISC"
     },
     "node_modules/yaml": {
diff --git a/package.json b/package.json
index 1033522..e9e2337 100644
--- a/package.json
+++ b/package.json
@@ -2,11 +2,13 @@
   "author": "SLeader <erauma@tutanota.com>",
   "dependencies": {
     "@capacitor/android": "^6.2.0",
+    "@capacitor/app": "^6.0.2",
     "@capacitor/core": "^6.2.0",
     "@capacitor/filesystem": "^6.0.2",
     "@capacitor/preferences": "^6.0.3",
     "@capawesome/capacitor-file-picker": "^6.2.0",
     "@element-plus/icons-vue": "^2.3.1",
+    "@vitejs/plugin-legacy": "^5.4.1",
     "chart.js": "^4.4.7",
     "chartjs-plugin-annotation": "^3.1.0",
     "core-js": "^3.39.0",
@@ -46,7 +48,7 @@
     "node": ">=20"
   },
   "lint-staged": {
-    "src/**/*.{js,vue}": [
+    "src/!(public)/**/*.{js,vue}": [
       "eslint --fix"
     ]
   },
diff --git a/src/public/js/pwa-elements/cjs/index-d7f36e37.js b/src/public/js/pwa-elements/cjs/index-d7f36e37.js
index 4cbe41d..6a6a7d5 100644
--- a/src/public/js/pwa-elements/cjs/index-d7f36e37.js
+++ b/src/public/js/pwa-elements/cjs/index-d7f36e37.js
@@ -1,5 +1,33 @@
 'use strict';
 
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
+function _possibleConstructorReturn(t, e) { if (e && ("object" == typeof e || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
+function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
+function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
+function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }
+function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }
+function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
+function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } }
+function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
+function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
+function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
+function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
+function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
+function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
+function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
+function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
+function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
 function _interopNamespace(e) {
   if (e && e.__esModule) return e;
   var n = Object.create(null);
@@ -9,7 +37,7 @@ function _interopNamespace(e) {
         var d = Object.getOwnPropertyDescriptor(e, k);
         Object.defineProperty(n, k, d.get ? d : {
           enumerable: true,
-          get: function () {
+          get: function get() {
             return e[k];
           }
         });
@@ -19,8 +47,7 @@ function _interopNamespace(e) {
   n['default'] = e;
   return Object.freeze(n);
 }
-
-const NAMESPACE = 'ionicpwaelements';
+var NAMESPACE = 'ionicpwaelements';
 
 /**
  * Virtual DOM patching algorithm based on Snabbdom by
@@ -30,25 +57,26 @@ const NAMESPACE = 'ionicpwaelements';
  *
  * Modified for Stencil's renderer and slot projection
  */
-let scopeId;
-let hostTagName;
-let isSvgMode = false;
-let queuePending = false;
-const createTime = (fnName, tagName = '') => {
-    {
-        return () => {
-            return;
-        };
-    }
+var scopeId;
+var hostTagName;
+var isSvgMode = false;
+var queuePending = false;
+var createTime = function createTime(fnName) {
+  var tagName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
+  {
+    return function () {
+      return;
+    };
+  }
 };
-const uniqueTime = (key, measureText) => {
-    {
-        return () => {
-            return;
-        };
-    }
+var uniqueTime = function uniqueTime(key, measureText) {
+  {
+    return function () {
+      return;
+    };
+  }
 };
-const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
+var HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
 /**
  * Default style mode id
  */
@@ -56,13 +84,15 @@ const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
  * Reusable empty obj/array
  * Don't add values to these!!
  */
-const EMPTY_OBJ = {};
+var EMPTY_OBJ = {};
 /**
  * Namespaces
  */
-const SVG_NS = 'http://www.w3.org/2000/svg';
-const HTML_NS = 'http://www.w3.org/1999/xhtml';
-const isDef = (v) => v != null;
+var SVG_NS = 'http://www.w3.org/2000/svg';
+var HTML_NS = 'http://www.w3.org/1999/xhtml';
+var isDef = function isDef(v) {
+  return v != null;
+};
 /**
  * Check whether a value is a 'complex type', defined here as an object or a
  * function.
@@ -70,10 +100,10 @@ const isDef = (v) => v != null;
  * @param o the value to check
  * @returns whether it's a complex type or not
  */
-const isComplexType = (o) => {
-    // https://jsperf.com/typeof-fn-object/5
-    o = typeof o;
-    return o === 'object' || o === 'function';
+var isComplexType = function isComplexType(o) {
+  // https://jsperf.com/typeof-fn-object/5
+  o = typeof o;
+  return o === 'object' || o === 'function';
 };
 /**
  * Helper method for querying a `meta` tag that contains a nonce value
@@ -84,8 +114,8 @@ const isComplexType = (o) => {
  * exists or the tag has no content.
  */
 function queryNonceMetaTagContent(doc) {
-    var _a, _b, _c;
-    return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
+  var _a, _b, _c;
+  return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
 }
 /**
  * Production h() function based on Preact by
@@ -97,53 +127,51 @@ function queryNonceMetaTagContent(doc) {
  */
 // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
 // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
-const h = (nodeName, vnodeData, ...children) => {
-    let child = null;
-    let simple = false;
-    let lastSimple = false;
-    const vNodeChildren = [];
-    const walk = (c) => {
-        for (let i = 0; i < c.length; i++) {
-            child = c[i];
-            if (Array.isArray(child)) {
-                walk(child);
-            }
-            else if (child != null && typeof child !== 'boolean') {
-                if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {
-                    child = String(child);
-                }
-                if (simple && lastSimple) {
-                    // If the previous child was simple (string), we merge both
-                    vNodeChildren[vNodeChildren.length - 1].$text$ += child;
-                }
-                else {
-                    // Append a new vNode, if it's text, we create a text vNode
-                    vNodeChildren.push(simple ? newVNode(null, child) : child);
-                }
-                lastSimple = simple;
-            }
-        }
-    };
-    walk(children);
-    if (vnodeData) {
-        {
-            const classData = vnodeData.className || vnodeData.class;
-            if (classData) {
-                vnodeData.class =
-                    typeof classData !== 'object'
-                        ? classData
-                        : Object.keys(classData)
-                            .filter((k) => classData[k])
-                            .join(' ');
-            }
-        }
+var h = function h(nodeName, vnodeData) {
+  var child = null;
+  var simple = false;
+  var lastSimple = false;
+  var vNodeChildren = [];
+  var _walk = function walk(c) {
+    for (var i = 0; i < c.length; i++) {
+      child = c[i];
+      if (Array.isArray(child)) {
+        _walk(child);
+      } else if (child != null && typeof child !== 'boolean') {
+        if (simple = typeof nodeName !== 'function' && !isComplexType(child)) {
+          child = String(child);
+        }
+        if (simple && lastSimple) {
+          // If the previous child was simple (string), we merge both
+          vNodeChildren[vNodeChildren.length - 1].$text$ += child;
+        } else {
+          // Append a new vNode, if it's text, we create a text vNode
+          vNodeChildren.push(simple ? newVNode(null, child) : child);
+        }
+        lastSimple = simple;
+      }
     }
-    const vnode = newVNode(nodeName, null);
-    vnode.$attrs$ = vnodeData;
-    if (vNodeChildren.length > 0) {
-        vnode.$children$ = vNodeChildren;
+  };
+  for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
+    children[_key - 2] = arguments[_key];
+  }
+  _walk(children);
+  if (vnodeData) {
+    {
+      var classData = vnodeData.className || vnodeData.class;
+      if (classData) {
+        vnodeData.class = typeof classData !== 'object' ? classData : Object.keys(classData).filter(function (k) {
+          return classData[k];
+        }).join(' ');
+      }
     }
-    return vnode;
+  }
+  var vnode = newVNode(nodeName, null);
+  vnode.$attrs$ = vnodeData;
+  if (vNodeChildren.length > 0) {
+    vnode.$children$ = vNodeChildren;
+  }
+  return vnode;
 };
 /**
  * A utility function for creating a virtual DOM node from a tag and some
@@ -153,27 +181,29 @@ const h = (nodeName, vnodeData, ...children) => {
  * @param text possible text content for the node
  * @returns a newly-minted virtual DOM node
  */
-const newVNode = (tag, text) => {
-    const vnode = {
-        $flags$: 0,
-        $tag$: tag,
-        $text$: text,
-        $elm$: null,
-        $children$: null,
-    };
-    {
-        vnode.$attrs$ = null;
-    }
-    return vnode;
+var newVNode = function newVNode(tag, text) {
+  var vnode = {
+    $flags$: 0,
+    $tag$: tag,
+    $text$: text,
+    $elm$: null,
+    $children$: null
+  };
+  {
+    vnode.$attrs$ = null;
+  }
+  return vnode;
 };
-const Host = {};
+var Host = {};
 /**
  * Check whether a given node is a Host node or not
  *
  * @param node the virtual DOM node to check
  * @returns whether it's a Host node or not
  */
-const isHost = (node) => node && node.$tag$ === Host;
+var isHost = function isHost(node) {
+  return node && node.$tag$ === Host;
+};
 /**
  * Parse a new property value for a given property type.
  *
@@ -197,43 +227,45 @@ const isHost = (node) => node && node.$tag$ === Host;
  * @param propType the type of the prop, expressed as a binary number
  * @returns the parsed/coerced value
  */
-const parsePropertyValue = (propValue, propType) => {
-    // ensure this value is of the correct prop type
-    if (propValue != null && !isComplexType(propValue)) {
-        if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
-            // per the HTML spec, any string value means it is a boolean true value
-            // but we'll cheat here and say that the string "false" is the boolean false
-            return propValue === 'false' ? false : propValue === '' || !!propValue;
-        }
-        if (propType & 2 /* MEMBER_FLAGS.Number */) {
-            // force it to be a number
-            return parseFloat(propValue);
-        }
-        if (propType & 1 /* MEMBER_FLAGS.String */) {
-            // could have been passed as a number or boolean
-            // but we still want it as a string
-            return String(propValue);
-        }
-        // redundant return here for better minification
-        return propValue;
+var parsePropertyValue = function parsePropertyValue(propValue, propType) {
+  // ensure this value is of the correct prop type
+  if (propValue != null && !isComplexType(propValue)) {
+    if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
+      // per the HTML spec, any string value means it is a boolean true value
+      // but we'll cheat here and say that the string "false" is the boolean false
+      return propValue === 'false' ? false : propValue === '' || !!propValue;
+    }
+    if (propType & 2 /* MEMBER_FLAGS.Number */) {
+      // force it to be a number
+      return parseFloat(propValue);
+    }
+    if (propType & 1 /* MEMBER_FLAGS.String */) {
+      // could have been passed as a number or boolean
+      // but we still want it as a string
+      return String(propValue);
     }
-    // not sure exactly what type we want
-    // so no need to change to a different type
+    // redundant return here for better minification
     return propValue;
+  }
+  // not sure exactly what type we want
+  // so no need to change to a different type
+  return propValue;
 };
-const getElement = (ref) => (getHostRef(ref).$hostElement$ );
-const createEvent = (ref, name, flags) => {
-    const elm = getElement(ref);
-    return {
-        emit: (detail) => {
-            return emitEvent(elm, name, {
-                bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
-                composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
-                cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
-                detail,
-            });
-        },
-    };
+var getElement = function getElement(ref) {
+  return getHostRef(ref).$hostElement$;
+};
+var createEvent = function createEvent(ref, name, flags) {
+  var elm = getElement(ref);
+  return {
+    emit: function emit(detail) {
+      return emitEvent(elm, name, {
+        bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
+        composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
+        cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
+        detail: detail
+      });
+    }
+  };
 };
 /**
  * Helper function to create & dispatch a custom Event on a provided target
@@ -242,89 +274,88 @@ const createEvent = (ref, name, flags) => {
  * @param opts options for configuring a custom Event
  * @returns the custom Event
  */
-const emitEvent = (elm, name, opts) => {
-    const ev = plt.ce(name, opts);
-    elm.dispatchEvent(ev);
-    return ev;
+var emitEvent = function emitEvent(elm, name, opts) {
+  var ev = plt.ce(name, opts);
+  elm.dispatchEvent(ev);
+  return ev;
 };
-const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
-const registerStyle = (scopeId, cssText, allowCS) => {
-    let style = styles.get(scopeId);
-    if (supportsConstructableStylesheets && allowCS) {
-        style = (style || new CSSStyleSheet());
-        if (typeof style === 'string') {
-            style = cssText;
-        }
-        else {
-            style.replaceSync(cssText);
-        }
-    }
-    else {
-        style = cssText;
+var rootAppliedStyles = /*@__PURE__*/new WeakMap();
+var registerStyle = function registerStyle(scopeId, cssText, allowCS) {
+  var style = styles.get(scopeId);
+  if (supportsConstructableStylesheets && allowCS) {
+    style = style || new CSSStyleSheet();
+    if (typeof style === 'string') {
+      style = cssText;
+    } else {
+      style.replaceSync(cssText);
     }
-    styles.set(scopeId, style);
+  } else {
+    style = cssText;
+  }
+  styles.set(scopeId, style);
 };
-const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
-    var _a;
-    let scopeId = getScopeId(cmpMeta);
-    const style = styles.get(scopeId);
-    // if an element is NOT connected then getRootNode() will return the wrong root node
-    // so the fallback is to always use the document for the root node in those cases
-    styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
-    if (style) {
-        if (typeof style === 'string') {
-            styleContainerNode = styleContainerNode.head || styleContainerNode;
-            let appliedStyles = rootAppliedStyles.get(styleContainerNode);
-            let styleElm;
-            if (!appliedStyles) {
-                rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
-            }
-            if (!appliedStyles.has(scopeId)) {
-                {
-                    // TODO(STENCIL-659): Remove code implementing the CSS variable shim
-                    {
-                        styleElm = doc.createElement('style');
-                        styleElm.innerHTML = style;
-                    }
-                    // Apply CSP nonce to the style tag if it exists
-                    const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
-                    if (nonce != null) {
-                        styleElm.setAttribute('nonce', nonce);
-                    }
-                    styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
-                }
-                if (appliedStyles) {
-                    appliedStyles.add(scopeId);
-                }
-            }
+var addStyle = function addStyle(styleContainerNode, cmpMeta, mode, hostElm) {
+  var _a;
+  var scopeId = getScopeId(cmpMeta);
+  var style = styles.get(scopeId);
+  // if an element is NOT connected then getRootNode() will return the wrong root node
+  // so the fallback is to always use the document for the root node in those cases
+  styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
+  if (style) {
+    if (typeof style === 'string') {
+      styleContainerNode = styleContainerNode.head || styleContainerNode;
+      var appliedStyles = rootAppliedStyles.get(styleContainerNode);
+      var styleElm;
+      if (!appliedStyles) {
+        rootAppliedStyles.set(styleContainerNode, appliedStyles = new Set());
+      }
+      if (!appliedStyles.has(scopeId)) {
+        {
+          // TODO(STENCIL-659): Remove code implementing the CSS variable shim
+          {
+            styleElm = doc.createElement('style');
+            styleElm.innerHTML = style;
+          }
+          // Apply CSP nonce to the style tag if it exists
+          var nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
+          if (nonce != null) {
+            styleElm.setAttribute('nonce', nonce);
+          }
+          styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
         }
-        else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
-            styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
+        if (appliedStyles) {
+          appliedStyles.add(scopeId);
         }
+      }
+    } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
+      styleContainerNode.adoptedStyleSheets = [].concat(_toConsumableArray(styleContainerNode.adoptedStyleSheets), [style]);
     }
-    return scopeId;
+  }
+  return scopeId;
 };
-const attachStyles = (hostRef) => {
-    const cmpMeta = hostRef.$cmpMeta$;
-    const elm = hostRef.$hostElement$;
-    const flags = cmpMeta.$flags$;
-    const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
-    const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
-    // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
-    if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
-        // only required when we're NOT using native shadow dom (slot)
-        // or this browser doesn't support native shadow dom
-        // and this host element was NOT created with SSR
-        // let's pick out the inner content for slot projection
-        // create a node to represent where the original
-        // content was first placed, which is useful later on
-        // DOM WRITE!!
-        elm['s-sc'] = scopeId;
-        elm.classList.add(scopeId + '-h');
-    }
-    endAttachStyles();
+var attachStyles = function attachStyles(hostRef) {
+  var cmpMeta = hostRef.$cmpMeta$;
+  var elm = hostRef.$hostElement$;
+  var flags = cmpMeta.$flags$;
+  var endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
+  var scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
+  // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
+  if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
+    // only required when we're NOT using native shadow dom (slot)
+    // or this browser doesn't support native shadow dom
+    // and this host element was NOT created with SSR
+    // let's pick out the inner content for slot projection
+    // create a node to represent where the original
+    // content was first placed, which is useful later on
+    // DOM WRITE!!
+    elm['s-sc'] = scopeId;
+    elm.classList.add(scopeId + '-h');
+  }
+  endAttachStyles();
+};
+var getScopeId = function getScopeId(cmp, mode) {
+  return 'sc-' + cmp.$tagName$;
 };
-const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
 /**
  * Production setAccessor() function based on Preact by
  * Jason Miller (@developit)
@@ -333,147 +364,137 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
  *
  * Modified for Stencil's compiler and vdom
  */
-const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
-    if (oldValue !== newValue) {
-        let isProp = isMemberInElement(elm, memberName);
-        let ln = memberName.toLowerCase();
-        if (memberName === 'class') {
-            const classList = elm.classList;
-            const oldClasses = parseClassList(oldValue);
-            const newClasses = parseClassList(newValue);
-            classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
-            classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
-        }
-        else if (memberName === 'style') {
-            // update style attribute, css properties and values
-            {
-                for (const prop in oldValue) {
-                    if (!newValue || newValue[prop] == null) {
-                        if (prop.includes('-')) {
-                            elm.style.removeProperty(prop);
-                        }
-                        else {
-                            elm.style[prop] = '';
-                        }
-                    }
-                }
-            }
-            for (const prop in newValue) {
-                if (!oldValue || newValue[prop] !== oldValue[prop]) {
-                    if (prop.includes('-')) {
-                        elm.style.setProperty(prop, newValue[prop]);
-                    }
-                    else {
-                        elm.style[prop] = newValue[prop];
-                    }
-                }
+var setAccessor = function setAccessor(elm, memberName, oldValue, newValue, isSvg, flags) {
+  if (oldValue !== newValue) {
+    var isProp = isMemberInElement(elm, memberName);
+    var ln = memberName.toLowerCase();
+    if (memberName === 'class') {
+      var classList = elm.classList;
+      var oldClasses = parseClassList(oldValue);
+      var newClasses = parseClassList(newValue);
+      classList.remove.apply(classList, _toConsumableArray(oldClasses.filter(function (c) {
+        return c && !newClasses.includes(c);
+      })));
+      classList.add.apply(classList, _toConsumableArray(newClasses.filter(function (c) {
+        return c && !oldClasses.includes(c);
+      })));
+    } else if (memberName === 'style') {
+      // update style attribute, css properties and values
+      {
+        for (var prop in oldValue) {
+          if (!newValue || newValue[prop] == null) {
+            if (prop.includes('-')) {
+              elm.style.removeProperty(prop);
+            } else {
+              elm.style[prop] = '';
             }
+          }
         }
-        else if (memberName === 'ref') {
-            // minifier will clean this up
-            if (newValue) {
-                newValue(elm);
-            }
+      }
+      for (var _prop in newValue) {
+        if (!oldValue || newValue[_prop] !== oldValue[_prop]) {
+          if (_prop.includes('-')) {
+            elm.style.setProperty(_prop, newValue[_prop]);
+          } else {
+            elm.style[_prop] = newValue[_prop];
+          }
         }
-        else if ((!isProp ) &&
-            memberName[0] === 'o' &&
-            memberName[1] === 'n') {
-            // Event Handlers
-            // so if the member name starts with "on" and the 3rd characters is
-            // a capital letter, and it's not already a member on the element,
-            // then we're assuming it's an event listener
-            if (memberName[2] === '-') {
-                // on- prefixed events
-                // allows to be explicit about the dom event to listen without any magic
-                // under the hood:
-                // <my-cmp on-click> // listens for "click"
-                // <my-cmp on-Click> // listens for "Click"
-                // <my-cmp on-ionChange> // listens for "ionChange"
-                // <my-cmp on-EVENTS> // listens for "EVENTS"
-                memberName = memberName.slice(3);
-            }
-            else if (isMemberInElement(win, ln)) {
-                // standard event
-                // the JSX attribute could have been "onMouseOver" and the
-                // member name "onmouseover" is on the window's prototype
-                // so let's add the listener "mouseover", which is all lowercased
-                memberName = ln.slice(2);
-            }
-            else {
-                // custom event
-                // the JSX attribute could have been "onMyCustomEvent"
-                // so let's trim off the "on" prefix and lowercase the first character
-                // and add the listener "myCustomEvent"
-                // except for the first character, we keep the event name case
-                memberName = ln[2] + memberName.slice(3);
-            }
-            if (oldValue) {
-                plt.rel(elm, memberName, oldValue, false);
-            }
-            if (newValue) {
-                plt.ael(elm, memberName, newValue, false);
+      }
+    } else if (memberName === 'ref') {
+      // minifier will clean this up
+      if (newValue) {
+        newValue(elm);
+      }
+    } else if (!isProp && memberName[0] === 'o' && memberName[1] === 'n') {
+      // Event Handlers
+      // so if the member name starts with "on" and the 3rd characters is
+      // a capital letter, and it's not already a member on the element,
+      // then we're assuming it's an event listener
+      if (memberName[2] === '-') {
+        // on- prefixed events
+        // allows to be explicit about the dom event to listen without any magic
+        // under the hood:
+        // <my-cmp on-click> // listens for "click"
+        // <my-cmp on-Click> // listens for "Click"
+        // <my-cmp on-ionChange> // listens for "ionChange"
+        // <my-cmp on-EVENTS> // listens for "EVENTS"
+        memberName = memberName.slice(3);
+      } else if (isMemberInElement(win, ln)) {
+        // standard event
+        // the JSX attribute could have been "onMouseOver" and the
+        // member name "onmouseover" is on the window's prototype
+        // so let's add the listener "mouseover", which is all lowercased
+        memberName = ln.slice(2);
+      } else {
+        // custom event
+        // the JSX attribute could have been "onMyCustomEvent"
+        // so let's trim off the "on" prefix and lowercase the first character
+        // and add the listener "myCustomEvent"
+        // except for the first character, we keep the event name case
+        memberName = ln[2] + memberName.slice(3);
+      }
+      if (oldValue) {
+        plt.rel(elm, memberName, oldValue, false);
+      }
+      if (newValue) {
+        plt.ael(elm, memberName, newValue, false);
+      }
+    } else {
+      // Set property if it exists and it's not a SVG
+      var isComplex = isComplexType(newValue);
+      if ((isProp || isComplex && newValue !== null) && !isSvg) {
+        try {
+          if (!elm.tagName.includes('-')) {
+            var n = newValue == null ? '' : newValue;
+            // Workaround for Safari, moving the <input> caret when re-assigning the same valued
+            if (memberName === 'list') {
+              isProp = false;
+            } else if (oldValue == null || elm[memberName] != n) {
+              elm[memberName] = n;
             }
+          } else {
+            elm[memberName] = newValue;
+          }
+        } catch (e) {}
+      }
+      if (newValue == null || newValue === false) {
+        if (newValue !== false || elm.getAttribute(memberName) === '') {
+          {
+            elm.removeAttribute(memberName);
+          }
         }
-        else {
-            // Set property if it exists and it's not a SVG
-            const isComplex = isComplexType(newValue);
-            if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
-                try {
-                    if (!elm.tagName.includes('-')) {
-                        const n = newValue == null ? '' : newValue;
-                        // Workaround for Safari, moving the <input> caret when re-assigning the same valued
-                        if (memberName === 'list') {
-                            isProp = false;
-                        }
-                        else if (oldValue == null || elm[memberName] != n) {
-                            elm[memberName] = n;
-                        }
-                    }
-                    else {
-                        elm[memberName] = newValue;
-                    }
-                }
-                catch (e) { }
-            }
-            if (newValue == null || newValue === false) {
-                if (newValue !== false || elm.getAttribute(memberName) === '') {
-                    {
-                        elm.removeAttribute(memberName);
-                    }
-                }
-            }
-            else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
-                newValue = newValue === true ? '' : newValue;
-                {
-                    elm.setAttribute(memberName, newValue);
-                }
-            }
+      } else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
+        newValue = newValue === true ? '' : newValue;
+        {
+          elm.setAttribute(memberName, newValue);
         }
+      }
     }
+  }
 };
-const parseClassListRegex = /\s/;
-const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
-const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
-    // if the element passed in is a shadow root, which is a document fragment
-    // then we want to be adding attrs/props to the shadow root's "host" element
-    // if it's not a shadow root, then we add attrs/props to the same element
-    const elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host
-        ? newVnode.$elm$.host
-        : newVnode.$elm$;
-    const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
-    const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
-    {
-        // remove attributes no longer present on the vnode by setting them to undefined
-        for (memberName in oldVnodeAttrs) {
-            if (!(memberName in newVnodeAttrs)) {
-                setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
-            }
-        }
-    }
-    // add new & update changed attributes
-    for (memberName in newVnodeAttrs) {
-        setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
+var parseClassListRegex = /\s/;
+var parseClassList = function parseClassList(value) {
+  return !value ? [] : value.split(parseClassListRegex);
+};
+var updateElement = function updateElement(oldVnode, newVnode, isSvgMode, memberName) {
+  // if the element passed in is a shadow root, which is a document fragment
+  // then we want to be adding attrs/props to the shadow root's "host" element
+  // if it's not a shadow root, then we add attrs/props to the same element
+  var elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
+  var oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
+  var newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
+  {
+    // remove attributes no longer present on the vnode by setting them to undefined
+    for (memberName in oldVnodeAttrs) {
+      if (!(memberName in newVnodeAttrs)) {
+        setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
+      }
     }
+  }
+  // add new & update changed attributes
+  for (memberName in newVnodeAttrs) {
+    setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
+  }
 };
 /**
  * Create a DOM Node corresponding to one of the children of a given VNode.
@@ -485,58 +506,55 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
  * @param parentElm the parent DOM node which our new node will be a child of
  * @returns the newly created node
  */
-const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
-    // tslint:disable-next-line: prefer-const
-    const newVNode = newParentVNode.$children$[childIndex];
-    let i = 0;
-    let elm;
-    let childNode;
-    if (newVNode.$text$ !== null) {
-        // create text node
-        elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
+var _createElm = function createElm(oldParentVNode, newParentVNode, childIndex, parentElm) {
+  // tslint:disable-next-line: prefer-const
+  var newVNode = newParentVNode.$children$[childIndex];
+  var i = 0;
+  var elm;
+  var childNode;
+  if (newVNode.$text$ !== null) {
+    // create text node
+    elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
+  } else {
+    if (!isSvgMode) {
+      isSvgMode = newVNode.$tag$ === 'svg';
     }
-    else {
-        if (!isSvgMode) {
-            isSvgMode = newVNode.$tag$ === 'svg';
-        }
-        // create element
-        elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
-            );
-        if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
-            isSvgMode = false;
-        }
-        // add css classes, attrs, props, listeners, etc.
-        {
-            updateElement(null, newVNode, isSvgMode);
-        }
-        if (isDef(scopeId) && elm['s-si'] !== scopeId) {
-            // if there is a scopeId and this is the initial render
-            // then let's add the scopeId as a css class
-            elm.classList.add((elm['s-si'] = scopeId));
-        }
-        if (newVNode.$children$) {
-            for (i = 0; i < newVNode.$children$.length; ++i) {
-                // create the node
-                childNode = createElm(oldParentVNode, newVNode, i);
-                // return node could have been null
-                if (childNode) {
-                    // append our new node
-                    elm.appendChild(childNode);
-                }
-            }
-        }
-        {
-            if (newVNode.$tag$ === 'svg') {
-                // Only reset the SVG context when we're exiting <svg> element
-                isSvgMode = false;
-            }
-            else if (elm.tagName === 'foreignObject') {
-                // Reenter SVG context when we're exiting <foreignObject> element
-                isSvgMode = true;
-            }
+    // create element
+    elm = newVNode.$elm$ = doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$);
+    if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
+      isSvgMode = false;
+    }
+    // add css classes, attrs, props, listeners, etc.
+    {
+      updateElement(null, newVNode, isSvgMode);
+    }
+    if (isDef(scopeId) && elm['s-si'] !== scopeId) {
+      // if there is a scopeId and this is the initial render
+      // then let's add the scopeId as a css class
+      elm.classList.add(elm['s-si'] = scopeId);
+    }
+    if (newVNode.$children$) {
+      for (i = 0; i < newVNode.$children$.length; ++i) {
+        // create the node
+        childNode = _createElm(oldParentVNode, newVNode, i);
+        // return node could have been null
+        if (childNode) {
+          // append our new node
+          elm.appendChild(childNode);
         }
+      }
+    }
+    {
+      if (newVNode.$tag$ === 'svg') {
+        // Only reset the SVG context when we're exiting <svg> element
+        isSvgMode = false;
+      } else if (elm.tagName === 'foreignObject') {
+        // Reenter SVG context when we're exiting <foreignObject> element
+        isSvgMode = true;
+      }
     }
-    return elm;
+  }
+  return elm;
 };
 /**
  * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
@@ -553,21 +571,21 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
  * @param endIdx the index in the child virtual DOM nodes at which to stop
  * creating DOM nodes (inclusive)
  */
-const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
-    let containerElm = (parentElm);
-    let childNode;
-    if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
-        containerElm = containerElm.shadowRoot;
-    }
-    for (; startIdx <= endIdx; ++startIdx) {
-        if (vnodes[startIdx]) {
-            childNode = createElm(null, parentVNode, startIdx);
-            if (childNode) {
-                vnodes[startIdx].$elm$ = childNode;
-                containerElm.insertBefore(childNode, before);
-            }
-        }
+var addVnodes = function addVnodes(parentElm, before, parentVNode, vnodes, startIdx, endIdx) {
+  var containerElm = parentElm;
+  var childNode;
+  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
+    containerElm = containerElm.shadowRoot;
+  }
+  for (; startIdx <= endIdx; ++startIdx) {
+    if (vnodes[startIdx]) {
+      childNode = _createElm(null, parentVNode, startIdx);
+      if (childNode) {
+        vnodes[startIdx].$elm$ = childNode;
+        containerElm.insertBefore(childNode, before);
+      }
     }
+  }
 };
 /**
  * Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
@@ -580,18 +598,18 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
  * @param startIdx the index at which to start removing nodes (inclusive)
  * @param endIdx the index at which to stop removing nodes (inclusive)
  */
-const removeVnodes = (vnodes, startIdx, endIdx) => {
-    for (let index = startIdx; index <= endIdx; ++index) {
-        const vnode = vnodes[index];
-        if (vnode) {
-            const elm = vnode.$elm$;
-            nullifyVNodeRefs(vnode);
-            if (elm) {
-                // remove the vnode's element from the dom
-                elm.remove();
-            }
-        }
+var removeVnodes = function removeVnodes(vnodes, startIdx, endIdx) {
+  for (var index = startIdx; index <= endIdx; ++index) {
+    var vnode = vnodes[index];
+    if (vnode) {
+      var elm = vnode.$elm$;
+      _nullifyVNodeRefs(vnode);
+      if (elm) {
+        // remove the vnode's element from the dom
+        elm.remove();
+      }
     }
+  }
 };
 /**
  * Reconcile the children of a new VNode with the children of an old VNode by
@@ -661,108 +679,99 @@ const removeVnodes = (vnodes, startIdx, endIdx) => {
  * @param newVNode the new VNode which will replace the parent
  * @param newCh the new children of the parent node
  */
-const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
-    let oldStartIdx = 0;
-    let newStartIdx = 0;
-    let oldEndIdx = oldCh.length - 1;
-    let oldStartVnode = oldCh[0];
-    let oldEndVnode = oldCh[oldEndIdx];
-    let newEndIdx = newCh.length - 1;
-    let newStartVnode = newCh[0];
-    let newEndVnode = newCh[newEndIdx];
-    let node;
-    while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
-        if (oldStartVnode == null) {
-            // VNode might have been moved left
-            oldStartVnode = oldCh[++oldStartIdx];
-        }
-        else if (oldEndVnode == null) {
-            oldEndVnode = oldCh[--oldEndIdx];
-        }
-        else if (newStartVnode == null) {
-            newStartVnode = newCh[++newStartIdx];
-        }
-        else if (newEndVnode == null) {
-            newEndVnode = newCh[--newEndIdx];
-        }
-        else if (isSameVnode(oldStartVnode, newStartVnode)) {
-            // if the start nodes are the same then we should patch the new VNode
-            // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
-            // indices to reflect that. We don't need to move any DOM Nodes around
-            // since things are matched up in order.
-            patch(oldStartVnode, newStartVnode);
-            oldStartVnode = oldCh[++oldStartIdx];
-            newStartVnode = newCh[++newStartIdx];
-        }
-        else if (isSameVnode(oldEndVnode, newEndVnode)) {
-            // likewise, if the end nodes are the same we patch new onto old and
-            // decrement our end indices, and also likewise in this case we don't
-            // need to move any DOM Nodes.
-            patch(oldEndVnode, newEndVnode);
-            oldEndVnode = oldCh[--oldEndIdx];
-            newEndVnode = newCh[--newEndIdx];
-        }
-        else if (isSameVnode(oldStartVnode, newEndVnode)) {
-            patch(oldStartVnode, newEndVnode);
-            // We need to move the element for `oldStartVnode` into a position which
-            // will be appropriate for `newEndVnode`. For this we can use
-            // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
-            // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
-            // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
-            //
-            // <old-start-node />
-            // <some-intervening-node />
-            // <old-end-node />
-            // <!-- ->              <-- `oldStartVnode.$elm$` should be inserted here
-            // <next-sibling />
-            //
-            // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
-            // the node for `oldStartVnode` at the end of the children of
-            // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
-            // aren't any siblings, and passing `null` to `Node.insertBefore` will
-            // append it to the children of the parent element.
-            parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
-            oldStartVnode = oldCh[++oldStartIdx];
-            newEndVnode = newCh[--newEndIdx];
-        }
-        else if (isSameVnode(oldEndVnode, newStartVnode)) {
-            patch(oldEndVnode, newStartVnode);
-            // We've already checked above if `oldStartVnode` and `newStartVnode` are
-            // the same node, so since we're here we know that they are not. Thus we
-            // can move the element for `oldEndVnode` _before_ the element for
-            // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
-            // future.
-            parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
-            oldEndVnode = oldCh[--oldEndIdx];
-            newStartVnode = newCh[++newStartIdx];
-        }
-        else {
-            {
-                // We either didn't find an element in the old children that matches
-                // the key of the first new child OR the build is not using `key`
-                // attributes at all. In either case we need to create a new element
-                // for the new node.
-                node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
-                newStartVnode = newCh[++newStartIdx];
-            }
-            if (node) {
-                // if we created a new node then handle inserting it to the DOM
-                {
-                    oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
-                }
-            }
+var updateChildren = function updateChildren(parentElm, oldCh, newVNode, newCh) {
+  var oldStartIdx = 0;
+  var newStartIdx = 0;
+  var oldEndIdx = oldCh.length - 1;
+  var oldStartVnode = oldCh[0];
+  var oldEndVnode = oldCh[oldEndIdx];
+  var newEndIdx = newCh.length - 1;
+  var newStartVnode = newCh[0];
+  var newEndVnode = newCh[newEndIdx];
+  var node;
+  while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
+    if (oldStartVnode == null) {
+      // VNode might have been moved left
+      oldStartVnode = oldCh[++oldStartIdx];
+    } else if (oldEndVnode == null) {
+      oldEndVnode = oldCh[--oldEndIdx];
+    } else if (newStartVnode == null) {
+      newStartVnode = newCh[++newStartIdx];
+    } else if (newEndVnode == null) {
+      newEndVnode = newCh[--newEndIdx];
+    } else if (isSameVnode(oldStartVnode, newStartVnode)) {
+      // if the start nodes are the same then we should patch the new VNode
+      // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
+      // indices to reflect that. We don't need to move any DOM Nodes around
+      // since things are matched up in order.
+      patch(oldStartVnode, newStartVnode);
+      oldStartVnode = oldCh[++oldStartIdx];
+      newStartVnode = newCh[++newStartIdx];
+    } else if (isSameVnode(oldEndVnode, newEndVnode)) {
+      // likewise, if the end nodes are the same we patch new onto old and
+      // decrement our end indices, and also likewise in this case we don't
+      // need to move any DOM Nodes.
+      patch(oldEndVnode, newEndVnode);
+      oldEndVnode = oldCh[--oldEndIdx];
+      newEndVnode = newCh[--newEndIdx];
+    } else if (isSameVnode(oldStartVnode, newEndVnode)) {
+      patch(oldStartVnode, newEndVnode);
+      // We need to move the element for `oldStartVnode` into a position which
+      // will be appropriate for `newEndVnode`. For this we can use
+      // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
+      // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
+      // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
+      //
+      // <old-start-node />
+      // <some-intervening-node />
+      // <old-end-node />
+      // <!-- ->              <-- `oldStartVnode.$elm$` should be inserted here
+      // <next-sibling />
+      //
+      // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
+      // the node for `oldStartVnode` at the end of the children of
+      // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
+      // aren't any siblings, and passing `null` to `Node.insertBefore` will
+      // append it to the children of the parent element.
+      parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
+      oldStartVnode = oldCh[++oldStartIdx];
+      newEndVnode = newCh[--newEndIdx];
+    } else if (isSameVnode(oldEndVnode, newStartVnode)) {
+      patch(oldEndVnode, newStartVnode);
+      // We've already checked above if `oldStartVnode` and `newStartVnode` are
+      // the same node, so since we're here we know that they are not. Thus we
+      // can move the element for `oldEndVnode` _before_ the element for
+      // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
+      // future.
+      parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
+      oldEndVnode = oldCh[--oldEndIdx];
+      newStartVnode = newCh[++newStartIdx];
+    } else {
+      {
+        // We either didn't find an element in the old children that matches
+        // the key of the first new child OR the build is not using `key`
+        // attributes at all. In either case we need to create a new element
+        // for the new node.
+        node = _createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
+        newStartVnode = newCh[++newStartIdx];
+      }
+      if (node) {
+        // if we created a new node then handle inserting it to the DOM
+        {
+          oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
         }
+      }
     }
-    if (oldStartIdx > oldEndIdx) {
-        // we have some more new nodes to add which don't match up with old nodes
-        addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
-    }
-    else if (newStartIdx > newEndIdx) {
-        // there are nodes in the `oldCh` array which no longer correspond to nodes
-        // in the new array, so lets remove them (which entails cleaning up the
-        // relevant DOM nodes)
-        removeVnodes(oldCh, oldStartIdx, oldEndIdx);
-    }
+  }
+  if (oldStartIdx > oldEndIdx) {
+    // we have some more new nodes to add which don't match up with old nodes
+    addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
+  } else if (newStartIdx > newEndIdx) {
+    // there are nodes in the `oldCh` array which no longer correspond to nodes
+    // in the new array, so lets remove them (which entails cleaning up the
+    // relevant DOM nodes)
+    removeVnodes(oldCh, oldStartIdx, oldEndIdx);
+  }
 };
 /**
  * Compare two VNodes to determine if they are the same
@@ -782,13 +791,13 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
  * @param rightVNode the second VNode to check
  * @returns whether they're equal or not
  */
-const isSameVnode = (leftVNode, rightVNode) => {
-    // compare if two vnode to see if they're "technically" the same
-    // need to have the same element tag, and same key to be the same
-    if (leftVNode.$tag$ === rightVNode.$tag$) {
-        return true;
-    }
-    return false;
+var isSameVnode = function isSameVnode(leftVNode, rightVNode) {
+  // compare if two vnode to see if they're "technically" the same
+  // need to have the same element tag, and same key to be the same
+  if (leftVNode.$tag$ === rightVNode.$tag$) {
+    return true;
+  }
+  return false;
 };
 /**
  * Handle reconciling an outdated VNode with a new one which corresponds to
@@ -798,53 +807,50 @@ const isSameVnode = (leftVNode, rightVNode) => {
  * @param oldVNode an old VNode whose DOM element and children we want to update
  * @param newVNode a new VNode representing an updated version of the old one
  */
-const patch = (oldVNode, newVNode) => {
-    const elm = (newVNode.$elm$ = oldVNode.$elm$);
-    const oldChildren = oldVNode.$children$;
-    const newChildren = newVNode.$children$;
-    const tag = newVNode.$tag$;
-    const text = newVNode.$text$;
-    if (text === null) {
-        {
-            // test if we're rendering an svg element, or still rendering nodes inside of one
-            // only add this to the when the compiler sees we're using an svg somewhere
-            isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
-        }
-        {
-            {
-                // either this is the first render of an element OR it's an update
-                // AND we already know it's possible it could have changed
-                // this updates the element's css classes, attrs, props, listeners, etc.
-                updateElement(oldVNode, newVNode, isSvgMode);
-            }
-        }
-        if (oldChildren !== null && newChildren !== null) {
-            // looks like there's child vnodes for both the old and new vnodes
-            // so we need to call `updateChildren` to reconcile them
-            updateChildren(elm, oldChildren, newVNode, newChildren);
-        }
-        else if (newChildren !== null) {
-            // no old child vnodes, but there are new child vnodes to add
-            if (oldVNode.$text$ !== null) {
-                // the old vnode was text, so be sure to clear it out
-                elm.textContent = '';
-            }
-            // add the new vnode children
-            addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
-        }
-        else if (oldChildren !== null) {
-            // no new child vnodes, but there are old child vnodes to remove
-            removeVnodes(oldChildren, 0, oldChildren.length - 1);
-        }
-        if (isSvgMode && tag === 'svg') {
-            isSvgMode = false;
-        }
+var patch = function patch(oldVNode, newVNode) {
+  var elm = newVNode.$elm$ = oldVNode.$elm$;
+  var oldChildren = oldVNode.$children$;
+  var newChildren = newVNode.$children$;
+  var tag = newVNode.$tag$;
+  var text = newVNode.$text$;
+  if (text === null) {
+    {
+      // test if we're rendering an svg element, or still rendering nodes inside of one
+      // only add this to the when the compiler sees we're using an svg somewhere
+      isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
+    }
+    {
+      {
+        // either this is the first render of an element OR it's an update
+        // AND we already know it's possible it could have changed
+        // this updates the element's css classes, attrs, props, listeners, etc.
+        updateElement(oldVNode, newVNode, isSvgMode);
+      }
+    }
+    if (oldChildren !== null && newChildren !== null) {
+      // looks like there's child vnodes for both the old and new vnodes
+      // so we need to call `updateChildren` to reconcile them
+      updateChildren(elm, oldChildren, newVNode, newChildren);
+    } else if (newChildren !== null) {
+      // no old child vnodes, but there are new child vnodes to add
+      if (oldVNode.$text$ !== null) {
+        // the old vnode was text, so be sure to clear it out
+        elm.textContent = '';
+      }
+      // add the new vnode children
+      addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
+    } else if (oldChildren !== null) {
+      // no new child vnodes, but there are old child vnodes to remove
+      removeVnodes(oldChildren, 0, oldChildren.length - 1);
     }
-    else if (oldVNode.$text$ !== text) {
-        // update the text content for the text only vnode
-        // and also only if the text is different than before
-        elm.data = text;
+    if (isSvgMode && tag === 'svg') {
+      isSvgMode = false;
     }
+  } else if (oldVNode.$text$ !== text) {
+    // update the text content for the text only vnode
+    // and also only if the text is different than before
+    elm.data = text;
+  }
 };
 /**
  * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
@@ -853,11 +859,11 @@ const patch = (oldVNode, newVNode) => {
  *
  * @param vNode a virtual DOM node
  */
-const nullifyVNodeRefs = (vNode) => {
-    {
-        vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
-        vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
-    }
+var _nullifyVNodeRefs = function nullifyVNodeRefs(vNode) {
+  {
+    vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
+    vNode.$children$ && vNode.$children$.map(_nullifyVNodeRefs);
+  }
 };
 /**
  * The main entry point for Stencil's virtual DOM-based rendering engine
@@ -871,40 +877,44 @@ const nullifyVNodeRefs = (vNode) => {
  * the DOM node into which it should be rendered.
  * @param renderFnResults the virtual DOM nodes to be rendered
  */
-const renderVdom = (hostRef, renderFnResults) => {
-    const hostElm = hostRef.$hostElement$;
-    const oldVNode = hostRef.$vnode$ || newVNode(null, null);
-    const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
-    hostTagName = hostElm.tagName;
-    rootVnode.$tag$ = null;
-    rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
-    hostRef.$vnode$ = rootVnode;
-    rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
-    {
-        scopeId = hostElm['s-sc'];
-    }
-    // synchronous patch
-    patch(oldVNode, rootVnode);
+var renderVdom = function renderVdom(hostRef, renderFnResults) {
+  var hostElm = hostRef.$hostElement$;
+  var oldVNode = hostRef.$vnode$ || newVNode(null, null);
+  var rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
+  hostTagName = hostElm.tagName;
+  rootVnode.$tag$ = null;
+  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
+  hostRef.$vnode$ = rootVnode;
+  rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm;
+  {
+    scopeId = hostElm['s-sc'];
+  }
+  // synchronous patch
+  patch(oldVNode, rootVnode);
 };
-const attachToAncestor = (hostRef, ancestorComponent) => {
-    if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
-        ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
-    }
+var attachToAncestor = function attachToAncestor(hostRef, ancestorComponent) {
+  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
+    ancestorComponent['s-p'].push(new Promise(function (r) {
+      return hostRef.$onRenderResolve$ = r;
+    }));
+  }
 };
-const scheduleUpdate = (hostRef, isInitialLoad) => {
-    {
-        hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
-    }
-    if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
-        hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
-        return;
-    }
-    attachToAncestor(hostRef, hostRef.$ancestorComponent$);
-    // there is no ancestor component or the ancestor component
-    // has already fired off its lifecycle update then
-    // fire off the initial update
-    const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
-    return writeTask(dispatch) ;
+var scheduleUpdate = function scheduleUpdate(hostRef, isInitialLoad) {
+  {
+    hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
+  }
+  if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
+    hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
+    return;
+  }
+  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
+  // there is no ancestor component or the ancestor component
+  // has already fired off its lifecycle update then
+  // fire off the initial update
+  var dispatch = function dispatch() {
+    return dispatchHooks(hostRef, isInitialLoad);
+  };
+  return writeTask(dispatch);
 };
 /**
  * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
@@ -916,33 +926,40 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
  * @returns an empty Promise which is used to enqueue a series of operations for
  * the component
  */
-const dispatchHooks = (hostRef, isInitialLoad) => {
-    const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
-    const instance = hostRef.$lazyInstance$ ;
-    // We're going to use this variable together with `enqueue` to implement a
-    // little promise-based queue. We start out with it `undefined`. When we add
-    // the first function to the queue we'll set this variable to be that
-    // function's return value. When we attempt to add subsequent values to the
-    // queue we'll check that value and, if it was a `Promise`, we'll then chain
-    // the new function off of that `Promise` using `.then()`. This will give our
-    // queue two nice properties:
-    //
-    // 1. If all functions added to the queue are synchronous they'll be called
-    //    synchronously right away.
-    // 2. If all functions added to the queue are asynchronous they'll all be
-    //    called in order after `dispatchHooks` exits.
-    let maybePromise;
-    if (isInitialLoad) {
-        {
-            hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
-            if (hostRef.$queuedListeners$) {
-                hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
-                hostRef.$queuedListeners$ = undefined;
-            }
-        }
+var dispatchHooks = function dispatchHooks(hostRef, isInitialLoad) {
+  var endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
+  var instance = hostRef.$lazyInstance$;
+  // We're going to use this variable together with `enqueue` to implement a
+  // little promise-based queue. We start out with it `undefined`. When we add
+  // the first function to the queue we'll set this variable to be that
+  // function's return value. When we attempt to add subsequent values to the
+  // queue we'll check that value and, if it was a `Promise`, we'll then chain
+  // the new function off of that `Promise` using `.then()`. This will give our
+  // queue two nice properties:
+  //
+  // 1. If all functions added to the queue are synchronous they'll be called
+  //    synchronously right away.
+  // 2. If all functions added to the queue are asynchronous they'll all be
+  //    called in order after `dispatchHooks` exits.
+  var maybePromise;
+  if (isInitialLoad) {
+    {
+      hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
+      if (hostRef.$queuedListeners$) {
+        hostRef.$queuedListeners$.map(function (_ref) {
+          var _ref2 = _slicedToArray(_ref, 2),
+            methodName = _ref2[0],
+            event = _ref2[1];
+          return safeCall(instance, methodName, event);
+        });
+        hostRef.$queuedListeners$ = undefined;
+      }
     }
-    endSchedule();
-    return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
+  }
+  endSchedule();
+  return enqueue(maybePromise, function () {
+    return updateComponent(hostRef, instance, isInitialLoad);
+  });
 };
 /**
  * This function uses a Promise to implement a simple first-in, first-out queue
@@ -960,7 +977,9 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
  * @param fn a function to enqueue
  * @returns either a `Promise` or the return value of the provided function
  */
-const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
+var enqueue = function enqueue(maybePromise, fn) {
+  return isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
+};
 /**
  * Check that a value is a `Promise`. To check, we first see if the value is an
  * instance of the `Promise` global. In a few circumstances, in particular if
@@ -971,171 +990,191 @@ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.th
  * @param maybePromise it might be a promise!
  * @returns whether it is or not
  */
-const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
-    (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
-const updateComponent = async (hostRef, instance, isInitialLoad) => {
-    var _a;
-    const elm = hostRef.$hostElement$;
-    const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
-    const rc = elm['s-rc'];
-    if (isInitialLoad) {
-        // DOM WRITE!
-        attachStyles(hostRef);
-    }
-    const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
-    {
-        callRender(hostRef, instance);
-    }
-    if (rc) {
-        // ok, so turns out there are some child host elements
-        // waiting on this parent element to load
-        // let's fire off all update callbacks waiting
-        rc.map((cb) => cb());
-        elm['s-rc'] = undefined;
-    }
-    endRender();
-    endUpdate();
-    {
-        const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
-        const postUpdate = () => postUpdateComponent(hostRef);
-        if (childrenPromises.length === 0) {
+var isPromisey = function isPromisey(maybePromise) {
+  return maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === 'function';
+};
+var updateComponent = /*#__PURE__*/function () {
+  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(hostRef, instance, isInitialLoad) {
+    var _a, elm, endUpdate, rc, endRender, childrenPromises, postUpdate;
+    return _regeneratorRuntime().wrap(function _callee$(_context) {
+      while (1) switch (_context.prev = _context.next) {
+        case 0:
+          elm = hostRef.$hostElement$;
+          endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
+          rc = elm['s-rc'];
+          if (isInitialLoad) {
+            // DOM WRITE!
+            attachStyles(hostRef);
+          }
+          endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
+          callRender(hostRef, instance);
+          if (rc) {
+            // ok, so turns out there are some child host elements
+            // waiting on this parent element to load
+            // let's fire off all update callbacks waiting
+            rc.map(function (cb) {
+              return cb();
+            });
+            elm['s-rc'] = undefined;
+          }
+          endRender();
+          endUpdate();
+          childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
+          postUpdate = function postUpdate() {
+            return postUpdateComponent(hostRef);
+          };
+          if (childrenPromises.length === 0) {
             postUpdate();
-        }
-        else {
+          } else {
             Promise.all(childrenPromises).then(postUpdate);
             hostRef.$flags$ |= 4 /* HOST_FLAGS.isWaitingForChildren */;
             childrenPromises.length = 0;
-        }
-    }
-};
-const callRender = (hostRef, instance, elm) => {
-    try {
-        instance = instance.render() ;
-        {
-            hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
-        }
-        {
-            hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
-        }
-        {
-            {
-                // looks like we've got child nodes to render into this host element
-                // or we need to update the css class/attrs on the host element
-                // DOM WRITE!
-                {
-                    renderVdom(hostRef, instance);
-                }
-            }
-        }
+          }
+        case 12:
+        case "end":
+          return _context.stop();
+      }
+    }, _callee);
+  }));
+  return function updateComponent(_x, _x2, _x3) {
+    return _ref3.apply(this, arguments);
+  };
+}();
+var callRender = function callRender(hostRef, instance, elm) {
+  try {
+    instance = instance.render();
+    {
+      hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
     }
-    catch (e) {
-        consoleError(e, hostRef.$hostElement$);
+    {
+      hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
     }
-    return null;
-};
-const postUpdateComponent = (hostRef) => {
-    const tagName = hostRef.$cmpMeta$.$tagName$;
-    const elm = hostRef.$hostElement$;
-    const endPostUpdate = createTime('postUpdate', tagName);
-    const instance = hostRef.$lazyInstance$ ;
-    const ancestorComponent = hostRef.$ancestorComponent$;
-    if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
-        hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
-        {
-            // DOM WRITE!
-            addHydratedFlag(elm);
-        }
-        {
-            safeCall(instance, 'componentDidLoad');
-        }
-        endPostUpdate();
+    {
+      {
+        // looks like we've got child nodes to render into this host element
+        // or we need to update the css class/attrs on the host element
+        // DOM WRITE!
         {
-            hostRef.$onReadyResolve$(elm);
-            if (!ancestorComponent) {
-                appDidLoad();
-            }
+          renderVdom(hostRef, instance);
         }
+      }
     }
-    else {
-        endPostUpdate();
-    }
+  } catch (e) {
+    consoleError(e, hostRef.$hostElement$);
+  }
+  return null;
+};
+var postUpdateComponent = function postUpdateComponent(hostRef) {
+  var tagName = hostRef.$cmpMeta$.$tagName$;
+  var elm = hostRef.$hostElement$;
+  var endPostUpdate = createTime('postUpdate', tagName);
+  var instance = hostRef.$lazyInstance$;
+  var ancestorComponent = hostRef.$ancestorComponent$;
+  if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
+    hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
     {
-        hostRef.$onInstanceResolve$(elm);
+      // DOM WRITE!
+      addHydratedFlag(elm);
     }
-    // load events fire from bottom to top
-    // the deepest elements load first then bubbles up
     {
-        if (hostRef.$onRenderResolve$) {
-            hostRef.$onRenderResolve$();
-            hostRef.$onRenderResolve$ = undefined;
-        }
-        if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
-            nextTick(() => scheduleUpdate(hostRef, false));
-        }
-        hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
+      safeCall(instance, 'componentDidLoad');
     }
-    // ( •_•)
-    // ( •_•)>⌐■-■
-    // (⌐■_■)
-};
-const forceUpdate = (ref) => {
+    endPostUpdate();
     {
-        const hostRef = getHostRef(ref);
-        const isConnected = hostRef.$hostElement$.isConnected;
-        if (isConnected &&
-            (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
-            scheduleUpdate(hostRef, false);
-        }
-        // Returns "true" when the forced update was successfully scheduled
-        return isConnected;
+      hostRef.$onReadyResolve$(elm);
+      if (!ancestorComponent) {
+        appDidLoad();
+      }
+    }
+  } else {
+    endPostUpdate();
+  }
+  {
+    hostRef.$onInstanceResolve$(elm);
+  }
+  // load events fire from bottom to top
+  // the deepest elements load first then bubbles up
+  {
+    if (hostRef.$onRenderResolve$) {
+      hostRef.$onRenderResolve$();
+      hostRef.$onRenderResolve$ = undefined;
     }
+    if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
+      nextTick(function () {
+        return scheduleUpdate(hostRef, false);
+      });
+    }
+    hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
+  }
+  // ( •_•)
+  // ( •_•)>⌐■-■
+  // (⌐■_■)
 };
-const appDidLoad = (who) => {
-    // on appload
-    // we have finish the first big initial render
-    {
-        addHydratedFlag(doc.documentElement);
+var forceUpdate = function forceUpdate(ref) {
+  {
+    var hostRef = getHostRef(ref);
+    var isConnected = hostRef.$hostElement$.isConnected;
+    if (isConnected && (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
+      scheduleUpdate(hostRef, false);
     }
-    nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
+    // Returns "true" when the forced update was successfully scheduled
+    return isConnected;
+  }
 };
-const safeCall = (instance, method, arg) => {
-    if (instance && instance[method]) {
-        try {
-            return instance[method](arg);
-        }
-        catch (e) {
-            consoleError(e);
-        }
+var appDidLoad = function appDidLoad(who) {
+  // on appload
+  // we have finish the first big initial render
+  {
+    addHydratedFlag(doc.documentElement);
+  }
+  nextTick(function () {
+    return emitEvent(win, 'appload', {
+      detail: {
+        namespace: NAMESPACE
+      }
+    });
+  });
+};
+var safeCall = function safeCall(instance, method, arg) {
+  if (instance && instance[method]) {
+    try {
+      return instance[method](arg);
+    } catch (e) {
+      consoleError(e);
     }
-    return undefined;
+  }
+  return undefined;
 };
-const addHydratedFlag = (elm) => elm.classList.add('hydrated')
-    ;
-const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
-const setValue = (ref, propName, newVal, cmpMeta) => {
-    // check our new property value against our internal value
-    const hostRef = getHostRef(ref);
-    const oldVal = hostRef.$instanceValues$.get(propName);
-    const flags = hostRef.$flags$;
-    const instance = hostRef.$lazyInstance$ ;
-    newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
-    // explicitly check for NaN on both sides, as `NaN === NaN` is always false
-    const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
-    const didValueChange = newVal !== oldVal && !areBothNaN;
-    if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
-        // gadzooks! the property's value has changed!!
-        // set our new value!
-        hostRef.$instanceValues$.set(propName, newVal);
-        if (instance) {
-            if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
-                // looks like this value actually changed, so we've got work to do!
-                // but only if we've already rendered, otherwise just chill out
-                // queue that we need to do an update, but don't worry about queuing
-                // up millions cuz this function ensures it only runs once
-                scheduleUpdate(hostRef, false);
-            }
-        }
+var addHydratedFlag = function addHydratedFlag(elm) {
+  return elm.classList.add('hydrated');
+};
+var getValue = function getValue(ref, propName) {
+  return getHostRef(ref).$instanceValues$.get(propName);
+};
+var setValue = function setValue(ref, propName, newVal, cmpMeta) {
+  // check our new property value against our internal value
+  var hostRef = getHostRef(ref);
+  var oldVal = hostRef.$instanceValues$.get(propName);
+  var flags = hostRef.$flags$;
+  var instance = hostRef.$lazyInstance$;
+  newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
+  // explicitly check for NaN on both sides, as `NaN === NaN` is always false
+  var areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
+  var didValueChange = newVal !== oldVal && !areBothNaN;
+  if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
+    // gadzooks! the property's value has changed!!
+    // set our new value!
+    hostRef.$instanceValues$.set(propName, newVal);
+    if (instance) {
+      if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
+        // looks like this value actually changed, so we've got work to do!
+        // but only if we've already rendered, otherwise just chill out
+        // queue that we need to do an update, but don't worry about queuing
+        // up millions cuz this function ensures it only runs once
+        scheduleUpdate(hostRef, false);
+      }
     }
+  }
 };
 /**
  * Attach a series of runtime constructs to a compiled Stencil component
@@ -1147,514 +1186,607 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
  * @param flags a number used to store a series of bit flags
  * @returns a reference to the same constructor passed in (but now mutated)
  */
-const proxyComponent = (Cstr, cmpMeta, flags) => {
-    if (cmpMeta.$members$) {
-        // It's better to have a const than two Object.entries()
-        const members = Object.entries(cmpMeta.$members$);
-        const prototype = Cstr.prototype;
-        members.map(([memberName, [memberFlags]]) => {
-            if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
-                    ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
-                // proxyComponent - prop
-                Object.defineProperty(prototype, memberName, {
-                    get() {
-                        // proxyComponent, get value
-                        return getValue(this, memberName);
-                    },
-                    set(newValue) {
-                        // proxyComponent, set value
-                        setValue(this, memberName, newValue, cmpMeta);
-                    },
-                    configurable: true,
-                    enumerable: true,
-                });
-            }
-            else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ &&
-                memberFlags & 64 /* MEMBER_FLAGS.Method */) {
-                // proxyComponent - method
-                Object.defineProperty(prototype, memberName, {
-                    value(...args) {
-                        const ref = getHostRef(this);
-                        return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
-                    },
-                });
-            }
+var proxyComponent = function proxyComponent(Cstr, cmpMeta, flags) {
+  if (cmpMeta.$members$) {
+    // It's better to have a const than two Object.entries()
+    var members = Object.entries(cmpMeta.$members$);
+    var prototype = Cstr.prototype;
+    members.map(function (_ref4) {
+      var _ref5 = _slicedToArray(_ref4, 2),
+        memberName = _ref5[0],
+        _ref5$ = _slicedToArray(_ref5[1], 1),
+        memberFlags = _ref5$[0];
+      if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ || flags & 2 /* PROXY_FLAGS.proxyState */ && memberFlags & 32 /* MEMBER_FLAGS.State */) {
+        // proxyComponent - prop
+        Object.defineProperty(prototype, memberName, {
+          get: function get() {
+            // proxyComponent, get value
+            return getValue(this, memberName);
+          },
+          set: function set(newValue) {
+            // proxyComponent, set value
+            setValue(this, memberName, newValue, cmpMeta);
+          },
+          configurable: true,
+          enumerable: true
         });
-        if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
-            const attrNameToPropName = new Map();
-            prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
-                plt.jmp(() => {
-                    const propName = attrNameToPropName.get(attrName);
-                    //  In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
-                    //  in the case where an attribute was set inline.
-                    //  ```html
-                    //    <my-component some-attribute="some-value"></my-component>
-                    //  ```
-                    //
-                    //  There is an edge case where a developer sets the attribute inline on a custom element and then
-                    //  programmatically changes it before it has been upgraded as shown below:
-                    //
-                    //  ```html
-                    //    <!-- this component has _not_ been upgraded yet -->
-                    //    <my-component id="test" some-attribute="some-value"></my-component>
-                    //    <script>
-                    //      // grab non-upgraded component
-                    //      el = document.querySelector("#test");
-                    //      el.someAttribute = "another-value";
-                    //      // upgrade component
-                    //      customElements.define('my-component', MyComponent);
-                    //    </script>
-                    //  ```
-                    //  In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
-                    //  will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
-                    //  to the value that was set inline i.e. "some-value" from above example. When
-                    //  the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
-                    //
-                    //  The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
-                    //  by connectedCallback as this attributeChangedCallback will not fire.
-                    //
-                    //  https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
-                    //
-                    //  TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
-                    //  properties here given that this goes against best practices outlined here
-                    //  https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
-                    if (this.hasOwnProperty(propName)) {
-                        newValue = this[propName];
-                        delete this[propName];
-                    }
-                    else if (prototype.hasOwnProperty(propName) &&
-                        typeof this[propName] === 'number' &&
-                        this[propName] == newValue) {
-                        // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
-                        // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
-                        // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
-                        return;
-                    }
-                    this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
-                });
-            };
-            // create an array of attributes to observe
-            // and also create a map of html attribute name to js property name
-            Cstr.observedAttributes = members
-                .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
-                .map(([propName, m]) => {
-                const attrName = m[1] || propName;
-                attrNameToPropName.set(attrName, propName);
-                return attrName;
+      } else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ && memberFlags & 64 /* MEMBER_FLAGS.Method */) {
+        // proxyComponent - method
+        Object.defineProperty(prototype, memberName, {
+          value: function value() {
+            for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+              args[_key2] = arguments[_key2];
+            }
+            var ref = getHostRef(this);
+            return ref.$onInstancePromise$.then(function () {
+              var _ref$$lazyInstance$;
+              return (_ref$$lazyInstance$ = ref.$lazyInstance$)[memberName].apply(_ref$$lazyInstance$, args);
             });
-        }
+          }
+        });
+      }
+    });
+    if (flags & 1 /* PROXY_FLAGS.isElementConstructor */) {
+      var attrNameToPropName = new Map();
+      prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
+        var _this = this;
+        plt.jmp(function () {
+          var propName = attrNameToPropName.get(attrName);
+          //  In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
+          //  in the case where an attribute was set inline.
+          //  ```html
+          //    <my-component some-attribute="some-value"></my-component>
+          //  ```
+          //
+          //  There is an edge case where a developer sets the attribute inline on a custom element and then
+          //  programmatically changes it before it has been upgraded as shown below:
+          //
+          //  ```html
+          //    <!-- this component has _not_ been upgraded yet -->
+          //    <my-component id="test" some-attribute="some-value"></my-component>
+          //    <script>
+          //      // grab non-upgraded component
+          //      el = document.querySelector("#test");
+          //      el.someAttribute = "another-value";
+          //      // upgrade component
+          //      customElements.define('my-component', MyComponent);
+          //    </script>
+          //  ```
+          //  In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
+          //  will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
+          //  to the value that was set inline i.e. "some-value" from above example. When
+          //  the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
+          //
+          //  The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
+          //  by connectedCallback as this attributeChangedCallback will not fire.
+          //
+          //  https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
+          //
+          //  TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
+          //  properties here given that this goes against best practices outlined here
+          //  https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
+          if (_this.hasOwnProperty(propName)) {
+            newValue = _this[propName];
+            delete _this[propName];
+          } else if (prototype.hasOwnProperty(propName) && typeof _this[propName] === 'number' && _this[propName] == newValue) {
+            // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
+            // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
+            // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
+            return;
+          }
+          _this[propName] = newValue === null && typeof _this[propName] === 'boolean' ? false : newValue;
+        });
+      };
+      // create an array of attributes to observe
+      // and also create a map of html attribute name to js property name
+      Cstr.observedAttributes = members.filter(function (_ref6) {
+        var _ref7 = _slicedToArray(_ref6, 2),
+          _ = _ref7[0],
+          m = _ref7[1];
+        return m[0] & 15;
+      } /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
+      .map(function (_ref8) {
+        var _ref9 = _slicedToArray(_ref8, 2),
+          propName = _ref9[0],
+          m = _ref9[1];
+        var attrName = m[1] || propName;
+        attrNameToPropName.set(attrName, propName);
+        return attrName;
+      });
     }
-    return Cstr;
+  }
+  return Cstr;
 };
-const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
-    // initializeComponent
-    if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
-        // Let the runtime know that the component has been initialized
-        hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
-        {
-            // lazy loaded components
-            // request the component's implementation to be
-            // wired up with the host element
-            Cstr = loadModule(cmpMeta);
-            if (Cstr.then) {
-                // Await creates a micro-task avoid if possible
-                const endLoad = uniqueTime();
-                Cstr = await Cstr;
-                endLoad();
-            }
-            if (!Cstr.isProxied) {
-                proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
-                Cstr.isProxied = true;
-            }
-            const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);
-            // ok, time to construct the instance
-            // but let's keep track of when we start and stop
-            // so that the getters/setters don't incorrectly step on data
-            {
-                hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
-            }
-            // construct the lazy-loaded component implementation
-            // passing the hostRef is very important during
-            // construction in order to directly wire together the
-            // host element and the lazy-loaded instance
-            try {
-                new Cstr(hostRef);
-            }
-            catch (e) {
-                consoleError(e);
-            }
-            {
-                hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
-            }
-            endNewInstance();
-        }
-        if (Cstr.style) {
+var initializeComponent = /*#__PURE__*/function () {
+  var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(elm, hostRef, cmpMeta, hmrVersionId, Cstr) {
+    var endLoad, endNewInstance, style, _scopeId, endRegisterStyles, ancestorComponent, schedule;
+    return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+      while (1) switch (_context2.prev = _context2.next) {
+        case 0:
+          if (!((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0)) {
+            _context2.next = 16;
+            break;
+          }
+          // Let the runtime know that the component has been initialized
+          hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
+          // lazy loaded components
+          // request the component's implementation to be
+          // wired up with the host element
+          Cstr = loadModule(cmpMeta);
+          if (!Cstr.then) {
+            _context2.next = 9;
+            break;
+          }
+          // Await creates a micro-task avoid if possible
+          endLoad = uniqueTime();
+          _context2.next = 7;
+          return Cstr;
+        case 7:
+          Cstr = _context2.sent;
+          endLoad();
+        case 9:
+          if (!Cstr.isProxied) {
+            proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
+            Cstr.isProxied = true;
+          }
+          endNewInstance = createTime('createInstance', cmpMeta.$tagName$); // ok, time to construct the instance
+          // but let's keep track of when we start and stop
+          // so that the getters/setters don't incorrectly step on data
+          hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
+          // construct the lazy-loaded component implementation
+          // passing the hostRef is very important during
+          // construction in order to directly wire together the
+          // host element and the lazy-loaded instance
+          try {
+            new Cstr(hostRef);
+          } catch (e) {
+            consoleError(e);
+          }
+          hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
+          endNewInstance();
+          if (Cstr.style) {
             // this component has styles but we haven't registered them yet
-            let style = Cstr.style;
-            const scopeId = getScopeId(cmpMeta);
-            if (!styles.has(scopeId)) {
-                const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
-                registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
-                endRegisterStyles();
+            style = Cstr.style;
+            _scopeId = getScopeId(cmpMeta);
+            if (!styles.has(_scopeId)) {
+              endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
+              registerStyle(_scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
+              endRegisterStyles();
             }
+          }
+        case 16:
+          // we've successfully created a lazy instance
+          ancestorComponent = hostRef.$ancestorComponent$;
+          schedule = function schedule() {
+            return scheduleUpdate(hostRef, true);
+          };
+          if (ancestorComponent && ancestorComponent['s-rc']) {
+            // this is the initial load and this component it has an ancestor component
+            // but the ancestor component has NOT fired its will update lifecycle yet
+            // so let's just cool our jets and wait for the ancestor to continue first
+            // this will get fired off when the ancestor component
+            // finally gets around to rendering its lazy self
+            // fire off the initial update
+            ancestorComponent['s-rc'].push(schedule);
+          } else {
+            schedule();
+          }
+        case 19:
+        case "end":
+          return _context2.stop();
+      }
+    }, _callee2);
+  }));
+  return function initializeComponent(_x4, _x5, _x6, _x7, _x8) {
+    return _ref10.apply(this, arguments);
+  };
+}();
+var _connectedCallback = function connectedCallback(elm) {
+  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
+    var hostRef = getHostRef(elm);
+    var cmpMeta = hostRef.$cmpMeta$;
+    var endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
+    if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
+      // first time this component has connected
+      hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
+      {
+        // find the first ancestor component (if there is one) and register
+        // this component as one of the actively loading child components for its ancestor
+        var ancestorComponent = elm;
+        while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {
+          // climb up the ancestors looking for the first
+          // component that hasn't finished its lifecycle update yet
+          if (ancestorComponent['s-p']) {
+            // we found this components first ancestor component
+            // keep a reference to this component's ancestor component
+            attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);
+            break;
+          }
         }
+      }
+      // Lazy properties
+      // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
+      if (cmpMeta.$members$) {
+        Object.entries(cmpMeta.$members$).map(function (_ref11) {
+          var _ref12 = _slicedToArray(_ref11, 2),
+            memberName = _ref12[0],
+            _ref12$ = _slicedToArray(_ref12[1], 1),
+            memberFlags = _ref12$[0];
+          if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
+            var value = elm[memberName];
+            delete elm[memberName];
+            elm[memberName] = value;
+          }
+        });
+      }
+      {
+        initializeComponent(elm, hostRef, cmpMeta);
+      }
+    } else {
+      // not the first time this has connected
+      // reattach any event listeners to the host
+      // since they would have been removed when disconnected
+      addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
     }
-    // we've successfully created a lazy instance
-    const ancestorComponent = hostRef.$ancestorComponent$;
-    const schedule = () => scheduleUpdate(hostRef, true);
-    if (ancestorComponent && ancestorComponent['s-rc']) {
-        // this is the initial load and this component it has an ancestor component
-        // but the ancestor component has NOT fired its will update lifecycle yet
-        // so let's just cool our jets and wait for the ancestor to continue first
-        // this will get fired off when the ancestor component
-        // finally gets around to rendering its lazy self
-        // fire off the initial update
-        ancestorComponent['s-rc'].push(schedule);
+    endConnected();
+  }
+};
+var _disconnectedCallback = function disconnectedCallback(elm) {
+  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
+    var hostRef = getHostRef(elm);
+    var instance = hostRef.$lazyInstance$;
+    {
+      if (hostRef.$rmListeners$) {
+        hostRef.$rmListeners$.map(function (rmListener) {
+          return rmListener();
+        });
+        hostRef.$rmListeners$ = undefined;
+      }
     }
-    else {
-        schedule();
+    {
+      safeCall(instance, 'disconnectedCallback');
     }
+  }
 };
-const connectedCallback = (elm) => {
-    if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
-        const hostRef = getHostRef(elm);
-        const cmpMeta = hostRef.$cmpMeta$;
-        const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
-        if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
-            // first time this component has connected
-            hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
+var bootstrapLazy = function bootstrapLazy(lazyBundles) {
+  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+  var _a;
+  var endBootstrap = createTime();
+  var cmpTags = [];
+  var exclude = options.exclude || [];
+  var customElements = win.customElements;
+  var head = doc.head;
+  var metaCharset = /*@__PURE__*/head.querySelector('meta[charset]');
+  var visibilityStyle = /*@__PURE__*/doc.createElement('style');
+  var deferredConnectedCallbacks = [];
+  var appLoadFallback;
+  var isBootstrapping = true;
+  Object.assign(plt, options);
+  plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
+  lazyBundles.map(function (lazyBundle) {
+    lazyBundle[1].map(function (compactMeta) {
+      var cmpMeta = {
+        $flags$: compactMeta[0],
+        $tagName$: compactMeta[1],
+        $members$: compactMeta[2],
+        $listeners$: compactMeta[3]
+      };
+      {
+        cmpMeta.$members$ = compactMeta[2];
+      }
+      {
+        cmpMeta.$listeners$ = compactMeta[3];
+      }
+      var tagName = cmpMeta.$tagName$;
+      var HostElement = /*#__PURE__*/function (_HTMLElement) {
+        // StencilLazyHost
+        function HostElement(self) {
+          var _this2;
+          _classCallCheck(this, HostElement);
+          // @ts-ignore
+          _this2 = _callSuper(this, HostElement, [self]);
+          self = _this2;
+          registerHost(self, cmpMeta);
+          if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
+            // this component is using shadow dom
+            // and this browser supports shadow dom
+            // add the read-only property "shadowRoot" to the host element
+            // adding the shadow root build conditionals to minimize runtime
             {
-                // find the first ancestor component (if there is one) and register
-                // this component as one of the actively loading child components for its ancestor
-                let ancestorComponent = elm;
-                while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {
-                    // climb up the ancestors looking for the first
-                    // component that hasn't finished its lifecycle update yet
-                    if (ancestorComponent['s-p']) {
-                        // we found this components first ancestor component
-                        // keep a reference to this component's ancestor component
-                        attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));
-                        break;
-                    }
-                }
-            }
-            // Lazy properties
-            // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
-            if (cmpMeta.$members$) {
-                Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
-                    if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
-                        const value = elm[memberName];
-                        delete elm[memberName];
-                        elm[memberName] = value;
-                    }
+              {
+                self.attachShadow({
+                  mode: 'open'
                 });
+              }
             }
-            {
-                initializeComponent(elm, hostRef, cmpMeta);
+          }
+          return _this2;
+        }
+        _inherits(HostElement, _HTMLElement);
+        return _createClass(HostElement, [{
+          key: "connectedCallback",
+          value: function connectedCallback() {
+            var _this3 = this;
+            if (appLoadFallback) {
+              clearTimeout(appLoadFallback);
+              appLoadFallback = null;
             }
-        }
-        else {
-            // not the first time this has connected
-            // reattach any event listeners to the host
-            // since they would have been removed when disconnected
-            addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
-        }
-        endConnected();
-    }
-};
-const disconnectedCallback = (elm) => {
-    if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
-        const hostRef = getHostRef(elm);
-        const instance = hostRef.$lazyInstance$ ;
-        {
-            if (hostRef.$rmListeners$) {
-                hostRef.$rmListeners$.map((rmListener) => rmListener());
-                hostRef.$rmListeners$ = undefined;
+            if (isBootstrapping) {
+              // connectedCallback will be processed once all components have been registered
+              deferredConnectedCallbacks.push(this);
+            } else {
+              plt.jmp(function () {
+                return _connectedCallback(_this3);
+              });
             }
-        }
-        {
-            safeCall(instance, 'disconnectedCallback');
-        }
+          }
+        }, {
+          key: "disconnectedCallback",
+          value: function disconnectedCallback() {
+            var _this4 = this;
+            plt.jmp(function () {
+              return _disconnectedCallback(_this4);
+            });
+          }
+        }, {
+          key: "componentOnReady",
+          value: function componentOnReady() {
+            return getHostRef(this).$onReadyPromise$;
+          }
+        }]);
+      }(/*#__PURE__*/_wrapNativeSuper(HTMLElement));
+      cmpMeta.$lazyBundleId$ = lazyBundle[0];
+      if (!exclude.includes(tagName) && !customElements.get(tagName)) {
+        cmpTags.push(tagName);
+        customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
+      }
+    });
+  });
+  {
+    visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
+    visibilityStyle.setAttribute('data-styles', '');
+    // Apply CSP nonce to the style tag if it exists
+    var nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
+    if (nonce != null) {
+      visibilityStyle.setAttribute('nonce', nonce);
     }
-};
-const bootstrapLazy = (lazyBundles, options = {}) => {
-    var _a;
-    const endBootstrap = createTime();
-    const cmpTags = [];
-    const exclude = options.exclude || [];
-    const customElements = win.customElements;
-    const head = doc.head;
-    const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
-    const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
-    const deferredConnectedCallbacks = [];
-    let appLoadFallback;
-    let isBootstrapping = true;
-    Object.assign(plt, options);
-    plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
-    lazyBundles.map((lazyBundle) => {
-        lazyBundle[1].map((compactMeta) => {
-            const cmpMeta = {
-                $flags$: compactMeta[0],
-                $tagName$: compactMeta[1],
-                $members$: compactMeta[2],
-                $listeners$: compactMeta[3],
-            };
-            {
-                cmpMeta.$members$ = compactMeta[2];
-            }
-            {
-                cmpMeta.$listeners$ = compactMeta[3];
-            }
-            const tagName = cmpMeta.$tagName$;
-            const HostElement = class extends HTMLElement {
-                // StencilLazyHost
-                constructor(self) {
-                    // @ts-ignore
-                    super(self);
-                    self = this;
-                    registerHost(self, cmpMeta);
-                    if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
-                        // this component is using shadow dom
-                        // and this browser supports shadow dom
-                        // add the read-only property "shadowRoot" to the host element
-                        // adding the shadow root build conditionals to minimize runtime
-                        {
-                            {
-                                self.attachShadow({ mode: 'open' });
-                            }
-                        }
-                    }
-                }
-                connectedCallback() {
-                    if (appLoadFallback) {
-                        clearTimeout(appLoadFallback);
-                        appLoadFallback = null;
-                    }
-                    if (isBootstrapping) {
-                        // connectedCallback will be processed once all components have been registered
-                        deferredConnectedCallbacks.push(this);
-                    }
-                    else {
-                        plt.jmp(() => connectedCallback(this));
-                    }
-                }
-                disconnectedCallback() {
-                    plt.jmp(() => disconnectedCallback(this));
-                }
-                componentOnReady() {
-                    return getHostRef(this).$onReadyPromise$;
-                }
-            };
-            cmpMeta.$lazyBundleId$ = lazyBundle[0];
-            if (!exclude.includes(tagName) && !customElements.get(tagName)) {
-                cmpTags.push(tagName);
-                customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
-            }
-        });
+    head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
+  }
+  // Process deferred connectedCallbacks now all components have been registered
+  isBootstrapping = false;
+  if (deferredConnectedCallbacks.length) {
+    deferredConnectedCallbacks.map(function (host) {
+      return host.connectedCallback();
     });
+  } else {
     {
-        visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
-        visibilityStyle.setAttribute('data-styles', '');
-        // Apply CSP nonce to the style tag if it exists
-        const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
-        if (nonce != null) {
-            visibilityStyle.setAttribute('nonce', nonce);
-        }
-        head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
-    }
-    // Process deferred connectedCallbacks now all components have been registered
-    isBootstrapping = false;
-    if (deferredConnectedCallbacks.length) {
-        deferredConnectedCallbacks.map((host) => host.connectedCallback());
+      plt.jmp(function () {
+        return appLoadFallback = setTimeout(appDidLoad, 30);
+      });
     }
-    else {
-        {
-            plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));
-        }
-    }
-    // Fallback appLoad event
-    endBootstrap();
+  }
+  // Fallback appLoad event
+  endBootstrap();
 };
-const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
-    if (listeners) {
-        listeners.map(([flags, name, method]) => {
-            const target = getHostListenerTarget(elm, flags) ;
-            const handler = hostListenerProxy(hostRef, method);
-            const opts = hostListenerOpts(flags);
-            plt.ael(target, name, handler, opts);
-            (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
-        });
-    }
+var addHostEventListeners = function addHostEventListeners(elm, hostRef, listeners, attachParentListeners) {
+  if (listeners) {
+    listeners.map(function (_ref13) {
+      var _ref14 = _slicedToArray(_ref13, 3),
+        flags = _ref14[0],
+        name = _ref14[1],
+        method = _ref14[2];
+      var target = getHostListenerTarget(elm, flags);
+      var handler = hostListenerProxy(hostRef, method);
+      var opts = hostListenerOpts(flags);
+      plt.ael(target, name, handler, opts);
+      (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(function () {
+        return plt.rel(target, name, handler, opts);
+      });
+    });
+  }
 };
-const hostListenerProxy = (hostRef, methodName) => (ev) => {
+var hostListenerProxy = function hostListenerProxy(hostRef, methodName) {
+  return function (ev) {
     try {
-        {
-            if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
-                // instance is ready, let's call it's member method for this event
-                hostRef.$lazyInstance$[methodName](ev);
-            }
-            else {
-                (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
-            }
+      {
+        if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
+          // instance is ready, let's call it's member method for this event
+          hostRef.$lazyInstance$[methodName](ev);
+        } else {
+          (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
         }
+      }
+    } catch (e) {
+      consoleError(e);
     }
-    catch (e) {
-        consoleError(e);
-    }
+  };
 };
-const getHostListenerTarget = (elm, flags) => {
-    if (flags & 16 /* LISTENER_FLAGS.TargetBody */)
-        return doc.body;
-    return elm;
+var getHostListenerTarget = function getHostListenerTarget(elm, flags) {
+  if (flags & 16 /* LISTENER_FLAGS.TargetBody */) return doc.body;
+  return elm;
 };
 // prettier-ignore
-const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
+var hostListenerOpts = function hostListenerOpts(flags) {
+  return (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
+};
 /**
  * Assigns the given value to the nonce property on the runtime platform object.
  * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
  * @param nonce The value to be assigned to the platform nonce property.
  * @returns void
  */
-const setNonce = (nonce) => (plt.$nonce$ = nonce);
-const hostRefs = /*@__PURE__*/ new WeakMap();
-const getHostRef = (ref) => hostRefs.get(ref);
-const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
-const registerHost = (elm, cmpMeta) => {
-    const hostRef = {
-        $flags$: 0,
-        $hostElement$: elm,
-        $cmpMeta$: cmpMeta,
-        $instanceValues$: new Map(),
-    };
-    {
-        hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));
-    }
-    {
-        hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
-        elm['s-p'] = [];
-        elm['s-rc'] = [];
-    }
-    addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
-    return hostRefs.set(elm, hostRef);
+var setNonce = function setNonce(nonce) {
+  return plt.$nonce$ = nonce;
 };
-const isMemberInElement = (elm, memberName) => memberName in elm;
-const consoleError = (e, el) => (0, console.error)(e, el);
-const cmpModules = /*@__PURE__*/ new Map();
-const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
-    // loadModuleImport
-    const exportName = cmpMeta.$tagName$.replace(/-/g, '_');
-    const bundleId = cmpMeta.$lazyBundleId$;
-    const module = cmpModules.get(bundleId) ;
-    if (module) {
-        return module[exportName];
-    }
-    
-    if (!hmrVersionId || !BUILD.hotModuleReplacement) {
-      const processMod = importedModule => {
-        cmpModules.set(bundleId, importedModule);
-        return importedModule[exportName];
-      }
-      switch(bundleId) {
-        
-        case 'pwa-action-sheet.cjs':
-          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
-            /* webpackMode: "lazy" */
-            './pwa-action-sheet.cjs.entry.js')); }).then(processMod, consoleError);
-        case 'pwa-camera-modal.cjs':
-          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
-            /* webpackMode: "lazy" */
-            './pwa-camera-modal.cjs.entry.js')); }).then(processMod, consoleError);
-        case 'pwa-toast.cjs':
-          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
-            /* webpackMode: "lazy" */
-            './pwa-toast.cjs.entry.js')); }).then(processMod, consoleError);
-        case 'pwa-camera-modal-instance.cjs':
-          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
-            /* webpackMode: "lazy" */
-            './pwa-camera-modal-instance.cjs.entry.js')); }).then(processMod, consoleError);
-        case 'pwa-camera.cjs':
-          return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
-            /* webpackMode: "lazy" */
-            './pwa-camera.cjs.entry.js')); }).then(processMod, consoleError);
-      }
+var hostRefs = /*@__PURE__*/new WeakMap();
+var getHostRef = function getHostRef(ref) {
+  return hostRefs.get(ref);
+};
+var registerInstance = function registerInstance(lazyInstance, hostRef) {
+  return hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
+};
+var registerHost = function registerHost(elm, cmpMeta) {
+  var hostRef = {
+    $flags$: 0,
+    $hostElement$: elm,
+    $cmpMeta$: cmpMeta,
+    $instanceValues$: new Map()
+  };
+  {
+    hostRef.$onInstancePromise$ = new Promise(function (r) {
+      return hostRef.$onInstanceResolve$ = r;
+    });
+  }
+  {
+    hostRef.$onReadyPromise$ = new Promise(function (r) {
+      return hostRef.$onReadyResolve$ = r;
+    });
+    elm['s-p'] = [];
+    elm['s-rc'] = [];
+  }
+  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
+  return hostRefs.set(elm, hostRef);
+};
+var isMemberInElement = function isMemberInElement(elm, memberName) {
+  return memberName in elm;
+};
+var consoleError = function consoleError(e, el) {
+  return (0, console.error)(e, el);
+};
+var cmpModules = /*@__PURE__*/new Map();
+var loadModule = function loadModule(cmpMeta, hostRef, hmrVersionId) {
+  // loadModuleImport
+  var exportName = cmpMeta.$tagName$.replace(/-/g, '_');
+  var bundleId = cmpMeta.$lazyBundleId$;
+  var module = cmpModules.get(bundleId);
+  if (module) {
+    return module[exportName];
+  }
+  if (!hmrVersionId || !BUILD.hotModuleReplacement) {
+    var processMod = function processMod(importedModule) {
+      cmpModules.set(bundleId, importedModule);
+      return importedModule[exportName];
+    };
+    switch (bundleId) {
+      case 'pwa-action-sheet.cjs':
+        return Promise.resolve().then(function () {
+          return /*#__PURE__*/_interopNamespace(require(/* webpackMode: "lazy" */
+          './pwa-action-sheet.cjs.entry.js'));
+        }).then(processMod, consoleError);
+      case 'pwa-camera-modal.cjs':
+        return Promise.resolve().then(function () {
+          return /*#__PURE__*/_interopNamespace(require(/* webpackMode: "lazy" */
+          './pwa-camera-modal.cjs.entry.js'));
+        }).then(processMod, consoleError);
+      case 'pwa-toast.cjs':
+        return Promise.resolve().then(function () {
+          return /*#__PURE__*/_interopNamespace(require(/* webpackMode: "lazy" */
+          './pwa-toast.cjs.entry.js'));
+        }).then(processMod, consoleError);
+      case 'pwa-camera-modal-instance.cjs':
+        return Promise.resolve().then(function () {
+          return /*#__PURE__*/_interopNamespace(require(/* webpackMode: "lazy" */
+          './pwa-camera-modal-instance.cjs.entry.js'));
+        }).then(processMod, consoleError);
+      case 'pwa-camera.cjs':
+        return Promise.resolve().then(function () {
+          return /*#__PURE__*/_interopNamespace(require(/* webpackMode: "lazy" */
+          './pwa-camera.cjs.entry.js'));
+        }).then(processMod, consoleError);
     }
-    return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(
+  }
+  return Promise.resolve().then(function () {
+    return /*#__PURE__*/_interopNamespace(require(
     /* @vite-ignore */
     /* webpackInclude: /\.entry\.js$/ */
     /* webpackExclude: /\.system\.entry\.js$/ */
     /* webpackMode: "lazy" */
-    `./${bundleId}.entry.js${''}`)); }).then((importedModule) => {
-        {
-            cmpModules.set(bundleId, importedModule);
-        }
-        return importedModule[exportName];
-    }, consoleError);
+    "./".concat(bundleId, ".entry.js")));
+  }).then(function (importedModule) {
+    {
+      cmpModules.set(bundleId, importedModule);
+    }
+    return importedModule[exportName];
+  }, consoleError);
 };
-const styles = /*@__PURE__*/ new Map();
-const win = typeof window !== 'undefined' ? window : {};
-const doc = win.document || { head: {} };
-const plt = {
-    $flags$: 0,
-    $resourcesUrl$: '',
-    jmp: (h) => h(),
-    raf: (h) => requestAnimationFrame(h),
-    ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
-    rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
-    ce: (eventName, opts) => new CustomEvent(eventName, opts),
+var styles = /*@__PURE__*/new Map();
+var win = typeof window !== 'undefined' ? window : {};
+var doc = win.document || {
+  head: {}
 };
-const promiseResolve = (v) => Promise.resolve(v);
-const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
-        try {
-            new CSSStyleSheet();
-            return typeof new CSSStyleSheet().replaceSync === 'function';
-        }
-        catch (e) { }
-        return false;
-    })()
-    ;
-const queueDomReads = [];
-const queueDomWrites = [];
-const queueTask = (queue, write) => (cb) => {
+var plt = {
+  $flags$: 0,
+  $resourcesUrl$: '',
+  jmp: function jmp(h) {
+    return h();
+  },
+  raf: function raf(h) {
+    return requestAnimationFrame(h);
+  },
+  ael: function ael(el, eventName, listener, opts) {
+    return el.addEventListener(eventName, listener, opts);
+  },
+  rel: function rel(el, eventName, listener, opts) {
+    return el.removeEventListener(eventName, listener, opts);
+  },
+  ce: function ce(eventName, opts) {
+    return new CustomEvent(eventName, opts);
+  }
+};
+var promiseResolve = function promiseResolve(v) {
+  return Promise.resolve(v);
+};
+var supportsConstructableStylesheets = /*@__PURE__*/function () {
+  try {
+    new CSSStyleSheet();
+    return typeof new CSSStyleSheet().replaceSync === 'function';
+  } catch (e) {}
+  return false;
+}();
+var queueDomReads = [];
+var queueDomWrites = [];
+var queueTask = function queueTask(queue, write) {
+  return function (cb) {
     queue.push(cb);
     if (!queuePending) {
-        queuePending = true;
-        if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
-            nextTick(flush);
-        }
-        else {
-            plt.raf(flush);
-        }
+      queuePending = true;
+      if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
+        nextTick(_flush);
+      } else {
+        plt.raf(_flush);
+      }
     }
+  };
 };
-const consume = (queue) => {
-    for (let i = 0; i < queue.length; i++) {
-        try {
-            queue[i](performance.now());
-        }
-        catch (e) {
-            consoleError(e);
-        }
+var consume = function consume(queue) {
+  for (var i = 0; i < queue.length; i++) {
+    try {
+      queue[i](performance.now());
+    } catch (e) {
+      consoleError(e);
     }
-    queue.length = 0;
+  }
+  queue.length = 0;
 };
-const flush = () => {
-    // always force a bunch of medium callbacks to run, but still have
-    // a throttle on how many can run in a certain time
-    // DOM READS!!!
-    consume(queueDomReads);
-    // DOM WRITES!!!
-    {
-        consume(queueDomWrites);
-        if ((queuePending = queueDomReads.length > 0)) {
-            // still more to do yet, but we've run out of time
-            // let's let this thing cool off and try again in the next tick
-            plt.raf(flush);
-        }
+var _flush = function flush() {
+  // always force a bunch of medium callbacks to run, but still have
+  // a throttle on how many can run in a certain time
+  // DOM READS!!!
+  consume(queueDomReads);
+  // DOM WRITES!!!
+  {
+    consume(queueDomWrites);
+    if (queuePending = queueDomReads.length > 0) {
+      // still more to do yet, but we've run out of time
+      // let's let this thing cool off and try again in the next tick
+      plt.raf(_flush);
     }
+  }
 };
-const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
-const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
-
+var nextTick = /*@__PURE__*/function nextTick(cb) {
+  return promiseResolve().then(cb);
+};
+var writeTask = /*@__PURE__*/queueTask(queueDomWrites, true);
 exports.Host = Host;
 exports.bootstrapLazy = bootstrapLazy;
 exports.createEvent = createEvent;
@@ -1663,4 +1795,4 @@ exports.getElement = getElement;
 exports.h = h;
 exports.promiseResolve = promiseResolve;
 exports.registerInstance = registerInstance;
-exports.setNonce = setNonce;
+exports.setNonce = setNonce;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/index.cjs.js b/src/public/js/pwa-elements/cjs/index.cjs.js
index eb109ab..a726efc 100644
--- a/src/public/js/pwa-elements/cjs/index.cjs.js
+++ b/src/public/js/pwa-elements/cjs/index.cjs.js
@@ -1,2 +1 @@
-'use strict';
-
+'use strict';
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/ionicpwaelements.cjs.js b/src/public/js/pwa-elements/cjs/ionicpwaelements.cjs.js
index 10dd1b3..ea55598 100644
--- a/src/public/js/pwa-elements/cjs/ionicpwaelements.cjs.js
+++ b/src/public/js/pwa-elements/cjs/ionicpwaelements.cjs.js
@@ -1,26 +1,58 @@
 'use strict';
 
-Object.defineProperty(exports, '__esModule', { value: true });
-
-const index = require('./index-d7f36e37.js');
+Object.defineProperty(exports, '__esModule', {
+  value: true
+});
+var index = require('./index-d7f36e37.js');
 
 /*
  Stencil Client Patch Browser v3.4.0 | MIT Licensed | https://stenciljs.com
  */
-const patchBrowser = () => {
-    const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('ionicpwaelements.cjs.js', document.baseURI).href));
-    const opts = {};
+var patchBrowser = function patchBrowser() {
+  var importMeta = typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : document.currentScript && document.currentScript.src || new URL('ionicpwaelements.cjs.js', document.baseURI).href;
+  var opts = {};
+  // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
+  if (importMeta !== '') {
+    opts.resourcesUrl = new URL('.', importMeta).href;
+    // TODO(STENCIL-661): Remove code related to the dynamic import shim
     // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
-    if (importMeta !== '') {
-        opts.resourcesUrl = new URL('.', importMeta).href;
-        // TODO(STENCIL-661): Remove code related to the dynamic import shim
-        // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
-    }
-    return index.promiseResolve(opts);
+  }
+  return index.promiseResolve(opts);
 };
-
-patchBrowser().then(options => {
-  return index.bootstrapLazy([["pwa-camera-modal.cjs",[[1,"pwa-camera-modal",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"present":[64],"dismiss":[64]}]]],["pwa-action-sheet.cjs",[[1,"pwa-action-sheet",{"header":[1],"cancelable":[4],"options":[16],"open":[32]}]]],["pwa-toast.cjs",[[1,"pwa-toast",{"message":[1],"duration":[2],"closing":[32]}]]],["pwa-camera.cjs",[[1,"pwa-camera",{"facingMode":[1,"facing-mode"],"handlePhoto":[16],"hidePicker":[4,"hide-picker"],"handleNoDeviceError":[16],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"],"photo":[32],"photoSrc":[32],"showShutterOverlay":[32],"flashIndex":[32],"hasCamera":[32],"rotation":[32],"deviceError":[32]}]]],["pwa-camera-modal-instance.cjs",[[1,"pwa-camera-modal-instance",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]], options);
+patchBrowser().then(function (options) {
+  return index.bootstrapLazy([["pwa-camera-modal.cjs", [[1, "pwa-camera-modal", {
+    "facingMode": [1, "facing-mode"],
+    "hidePicker": [4, "hide-picker"],
+    "present": [64],
+    "dismiss": [64]
+  }]]], ["pwa-action-sheet.cjs", [[1, "pwa-action-sheet", {
+    "header": [1],
+    "cancelable": [4],
+    "options": [16],
+    "open": [32]
+  }]]], ["pwa-toast.cjs", [[1, "pwa-toast", {
+    "message": [1],
+    "duration": [2],
+    "closing": [32]
+  }]]], ["pwa-camera.cjs", [[1, "pwa-camera", {
+    "facingMode": [1, "facing-mode"],
+    "handlePhoto": [16],
+    "hidePicker": [4, "hide-picker"],
+    "handleNoDeviceError": [16],
+    "noDevicesText": [1, "no-devices-text"],
+    "noDevicesButtonText": [1, "no-devices-button-text"],
+    "photo": [32],
+    "photoSrc": [32],
+    "showShutterOverlay": [32],
+    "flashIndex": [32],
+    "hasCamera": [32],
+    "rotation": [32],
+    "deviceError": [32]
+  }]]], ["pwa-camera-modal-instance.cjs", [[1, "pwa-camera-modal-instance", {
+    "facingMode": [1, "facing-mode"],
+    "hidePicker": [4, "hide-picker"],
+    "noDevicesText": [1, "no-devices-text"],
+    "noDevicesButtonText": [1, "no-devices-button-text"]
+  }, [[16, "keyup", "handleBackdropKeyUp"]]]]]], options);
 });
-
-exports.setNonce = index.setNonce;
+exports.setNonce = index.setNonce;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/loader.cjs.js b/src/public/js/pwa-elements/cjs/loader.cjs.js
index a197f5f..32aa305 100644
--- a/src/public/js/pwa-elements/cjs/loader.cjs.js
+++ b/src/public/js/pwa-elements/cjs/loader.cjs.js
@@ -1,22 +1,54 @@
 'use strict';
 
-Object.defineProperty(exports, '__esModule', { value: true });
-
-const index = require('./index-d7f36e37.js');
+Object.defineProperty(exports, '__esModule', {
+  value: true
+});
+var index = require('./index-d7f36e37.js');
 
 /*
  Stencil Client Patch Esm v3.4.0 | MIT Licensed | https://stenciljs.com
  */
-const patchEsm = () => {
-    return index.promiseResolve();
+var patchEsm = function patchEsm() {
+  return index.promiseResolve();
 };
-
-const defineCustomElements = (win, options) => {
+var defineCustomElements = function defineCustomElements(win, options) {
   if (typeof window === 'undefined') return Promise.resolve();
-  return patchEsm().then(() => {
-  return index.bootstrapLazy([["pwa-camera-modal.cjs",[[1,"pwa-camera-modal",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"present":[64],"dismiss":[64]}]]],["pwa-action-sheet.cjs",[[1,"pwa-action-sheet",{"header":[1],"cancelable":[4],"options":[16],"open":[32]}]]],["pwa-toast.cjs",[[1,"pwa-toast",{"message":[1],"duration":[2],"closing":[32]}]]],["pwa-camera.cjs",[[1,"pwa-camera",{"facingMode":[1,"facing-mode"],"handlePhoto":[16],"hidePicker":[4,"hide-picker"],"handleNoDeviceError":[16],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"],"photo":[32],"photoSrc":[32],"showShutterOverlay":[32],"flashIndex":[32],"hasCamera":[32],"rotation":[32],"deviceError":[32]}]]],["pwa-camera-modal-instance.cjs",[[1,"pwa-camera-modal-instance",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]], options);
+  return patchEsm().then(function () {
+    return index.bootstrapLazy([["pwa-camera-modal.cjs", [[1, "pwa-camera-modal", {
+      "facingMode": [1, "facing-mode"],
+      "hidePicker": [4, "hide-picker"],
+      "present": [64],
+      "dismiss": [64]
+    }]]], ["pwa-action-sheet.cjs", [[1, "pwa-action-sheet", {
+      "header": [1],
+      "cancelable": [4],
+      "options": [16],
+      "open": [32]
+    }]]], ["pwa-toast.cjs", [[1, "pwa-toast", {
+      "message": [1],
+      "duration": [2],
+      "closing": [32]
+    }]]], ["pwa-camera.cjs", [[1, "pwa-camera", {
+      "facingMode": [1, "facing-mode"],
+      "handlePhoto": [16],
+      "hidePicker": [4, "hide-picker"],
+      "handleNoDeviceError": [16],
+      "noDevicesText": [1, "no-devices-text"],
+      "noDevicesButtonText": [1, "no-devices-button-text"],
+      "photo": [32],
+      "photoSrc": [32],
+      "showShutterOverlay": [32],
+      "flashIndex": [32],
+      "hasCamera": [32],
+      "rotation": [32],
+      "deviceError": [32]
+    }]]], ["pwa-camera-modal-instance.cjs", [[1, "pwa-camera-modal-instance", {
+      "facingMode": [1, "facing-mode"],
+      "hidePicker": [4, "hide-picker"],
+      "noDevicesText": [1, "no-devices-text"],
+      "noDevicesButtonText": [1, "no-devices-button-text"]
+    }, [[16, "keyup", "handleBackdropKeyUp"]]]]]], options);
   });
 };
-
 exports.setNonce = index.setNonce;
-exports.defineCustomElements = defineCustomElements;
+exports.defineCustomElements = defineCustomElements;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/pwa-action-sheet.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-action-sheet.cjs.entry.js
index f482ee2..c5a36b0 100644
--- a/src/public/js/pwa-elements/cjs/pwa-action-sheet.cjs.entry.js
+++ b/src/public/js/pwa-elements/cjs/pwa-action-sheet.cjs.entry.js
@@ -1,13 +1,18 @@
 'use strict';
 
-Object.defineProperty(exports, '__esModule', { value: true });
-
-const index = require('./index-d7f36e37.js');
-
-const actionSheetCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}";
-
-const PWAActionSheet = class {
-  constructor(hostRef) {
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+Object.defineProperty(exports, '__esModule', {
+  value: true
+});
+var index = require('./index-d7f36e37.js');
+var actionSheetCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}";
+var PWAActionSheet = /*#__PURE__*/function () {
+  function PWAActionSheet(hostRef) {
+    _classCallCheck(this, PWAActionSheet);
     index.registerInstance(this, hostRef);
     this.onSelection = index.createEvent(this, "onSelection", 7);
     this.header = undefined;
@@ -15,32 +20,67 @@ const PWAActionSheet = class {
     this.options = [];
     this.open = false;
   }
-  componentDidLoad() {
-    requestAnimationFrame(() => {
-      this.open = true;
-    });
-  }
-  dismiss() {
-    if (this.cancelable) {
+  return _createClass(PWAActionSheet, [{
+    key: "componentDidLoad",
+    value: function componentDidLoad() {
+      var _this = this;
+      requestAnimationFrame(function () {
+        _this.open = true;
+      });
+    }
+  }, {
+    key: "dismiss",
+    value: function dismiss() {
+      if (this.cancelable) {
+        this.close();
+      }
+    }
+  }, {
+    key: "close",
+    value: function close() {
+      var _this2 = this;
+      this.open = false;
+      setTimeout(function () {
+        _this2.el.parentNode.removeChild(_this2.el);
+      }, 500);
+    }
+  }, {
+    key: "handleOptionClick",
+    value: function handleOptionClick(e, i) {
+      e.stopPropagation();
+      this.onSelection.emit(i);
       this.close();
     }
-  }
-  close() {
-    this.open = false;
-    setTimeout(() => {
-      this.el.parentNode.removeChild(this.el);
-    }, 500);
-  }
-  handleOptionClick(e, i) {
-    e.stopPropagation();
-    this.onSelection.emit(i);
-    this.close();
-  }
-  render() {
-    return (index.h("div", { class: `wrapper${this.open ? ' open' : ''}`, onClick: () => this.dismiss() }, index.h("div", { class: "content" }, index.h("div", { class: "title" }, this.header), this.options.map((option, i) => index.h("div", { class: "action-sheet-option", onClick: (e) => this.handleOptionClick(e, i) }, index.h("div", { class: "action-sheet-button" }, option.title))))));
-  }
-  get el() { return index.getElement(this); }
-};
+  }, {
+    key: "render",
+    value: function render() {
+      var _this3 = this;
+      return index.h("div", {
+        class: "wrapper".concat(this.open ? ' open' : ''),
+        onClick: function onClick() {
+          return _this3.dismiss();
+        }
+      }, index.h("div", {
+        class: "content"
+      }, index.h("div", {
+        class: "title"
+      }, this.header), this.options.map(function (option, i) {
+        return index.h("div", {
+          class: "action-sheet-option",
+          onClick: function onClick(e) {
+            return _this3.handleOptionClick(e, i);
+          }
+        }, index.h("div", {
+          class: "action-sheet-button"
+        }, option.title));
+      })));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return index.getElement(this);
+    }
+  }]);
+}();
 PWAActionSheet.style = actionSheetCss;
-
-exports.pwa_action_sheet = PWAActionSheet;
+exports.pwa_action_sheet = PWAActionSheet;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/pwa-camera-modal-instance.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-camera-modal-instance.cjs.entry.js
index 0c8cfe3..2d8fbd4 100644
--- a/src/public/js/pwa-elements/cjs/pwa-camera-modal-instance.cjs.entry.js
+++ b/src/public/js/pwa-elements/cjs/pwa-camera-modal-instance.cjs.entry.js
@@ -1,45 +1,110 @@
 'use strict';
 
-Object.defineProperty(exports, '__esModule', { value: true });
-
-const index = require('./index-d7f36e37.js');
-
-const cameraModalInstanceCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
-
-const PWACameraModal = class {
-  constructor(hostRef) {
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+Object.defineProperty(exports, '__esModule', {
+  value: true
+});
+var index = require('./index-d7f36e37.js');
+var cameraModalInstanceCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
+var PWACameraModal = /*#__PURE__*/function () {
+  function PWACameraModal(hostRef) {
+    var _this = this;
+    _classCallCheck(this, PWACameraModal);
     index.registerInstance(this, hostRef);
     this.onPhoto = index.createEvent(this, "onPhoto", 7);
     this.noDeviceError = index.createEvent(this, "noDeviceError", 7);
-    this.handlePhoto = async (photo) => {
-      this.onPhoto.emit(photo);
-    };
-    this.handleNoDeviceError = async (photo) => {
-      this.noDeviceError.emit(photo);
-    };
+    this.handlePhoto = /*#__PURE__*/function () {
+      var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(photo) {
+        return _regeneratorRuntime().wrap(function _callee$(_context) {
+          while (1) switch (_context.prev = _context.next) {
+            case 0:
+              _this.onPhoto.emit(photo);
+            case 1:
+            case "end":
+              return _context.stop();
+          }
+        }, _callee);
+      }));
+      return function (_x) {
+        return _ref.apply(this, arguments);
+      };
+    }();
+    this.handleNoDeviceError = /*#__PURE__*/function () {
+      var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(photo) {
+        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+          while (1) switch (_context2.prev = _context2.next) {
+            case 0:
+              _this.noDeviceError.emit(photo);
+            case 1:
+            case "end":
+              return _context2.stop();
+          }
+        }, _callee2);
+      }));
+      return function (_x2) {
+        return _ref2.apply(this, arguments);
+      };
+    }();
     this.facingMode = 'user';
     this.hidePicker = false;
     this.noDevicesText = 'No camera found';
     this.noDevicesButtonText = 'Choose image';
   }
-  handleBackdropClick(e) {
-    if (e.target !== this.el) {
-      this.onPhoto.emit(null);
+  return _createClass(PWACameraModal, [{
+    key: "handleBackdropClick",
+    value: function handleBackdropClick(e) {
+      if (e.target !== this.el) {
+        this.onPhoto.emit(null);
+      }
     }
-  }
-  handleComponentClick(e) {
-    e.stopPropagation();
-  }
-  handleBackdropKeyUp(e) {
-    if (e.key === "Escape") {
-      this.onPhoto.emit(null);
+  }, {
+    key: "handleComponentClick",
+    value: function handleComponentClick(e) {
+      e.stopPropagation();
     }
-  }
-  render() {
-    return (index.h("div", { class: "wrapper", onClick: e => this.handleBackdropClick(e) }, index.h("div", { class: "content" }, index.h("pwa-camera", { onClick: e => this.handleComponentClick(e), facingMode: this.facingMode, hidePicker: this.hidePicker, handlePhoto: this.handlePhoto, handleNoDeviceError: this.handleNoDeviceError, noDevicesButtonText: this.noDevicesButtonText, noDevicesText: this.noDevicesText }))));
-  }
-  get el() { return index.getElement(this); }
-};
+  }, {
+    key: "handleBackdropKeyUp",
+    value: function handleBackdropKeyUp(e) {
+      if (e.key === "Escape") {
+        this.onPhoto.emit(null);
+      }
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this2 = this;
+      return index.h("div", {
+        class: "wrapper",
+        onClick: function onClick(e) {
+          return _this2.handleBackdropClick(e);
+        }
+      }, index.h("div", {
+        class: "content"
+      }, index.h("pwa-camera", {
+        onClick: function onClick(e) {
+          return _this2.handleComponentClick(e);
+        },
+        facingMode: this.facingMode,
+        hidePicker: this.hidePicker,
+        handlePhoto: this.handlePhoto,
+        handleNoDeviceError: this.handleNoDeviceError,
+        noDevicesButtonText: this.noDevicesButtonText,
+        noDevicesText: this.noDevicesText
+      })));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return index.getElement(this);
+    }
+  }]);
+}();
 PWACameraModal.style = cameraModalInstanceCss;
-
-exports.pwa_camera_modal_instance = PWACameraModal;
+exports.pwa_camera_modal_instance = PWACameraModal;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/pwa-camera-modal.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-camera-modal.cjs.entry.js
index 867fa4c..7e7d409 100644
--- a/src/public/js/pwa-elements/cjs/pwa-camera-modal.cjs.entry.js
+++ b/src/public/js/pwa-elements/cjs/pwa-camera-modal.cjs.entry.js
@@ -1,47 +1,124 @@
 'use strict';
 
-Object.defineProperty(exports, '__esModule', { value: true });
-
-const index = require('./index-d7f36e37.js');
-
-const cameraModalCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
-
-const PWACameraModal = class {
-  constructor(hostRef) {
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+Object.defineProperty(exports, '__esModule', {
+  value: true
+});
+var index = require('./index-d7f36e37.js');
+var cameraModalCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
+var PWACameraModal = /*#__PURE__*/function () {
+  function PWACameraModal(hostRef) {
+    _classCallCheck(this, PWACameraModal);
     index.registerInstance(this, hostRef);
     this.onPhoto = index.createEvent(this, "onPhoto", 7);
     this.noDeviceError = index.createEvent(this, "noDeviceError", 7);
     this.facingMode = 'user';
     this.hidePicker = false;
   }
-  async present() {
-    const camera = document.createElement('pwa-camera-modal-instance');
-    camera.facingMode = this.facingMode;
-    camera.hidePicker = this.hidePicker;
-    camera.addEventListener('onPhoto', async (e) => {
-      if (!this._modal) {
-        return;
+  return _createClass(PWACameraModal, [{
+    key: "present",
+    value: function () {
+      var _present = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
+        var _this = this;
+        var camera;
+        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
+          while (1) switch (_context3.prev = _context3.next) {
+            case 0:
+              camera = document.createElement('pwa-camera-modal-instance');
+              camera.facingMode = this.facingMode;
+              camera.hidePicker = this.hidePicker;
+              camera.addEventListener('onPhoto', /*#__PURE__*/function () {
+                var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
+                  var photo;
+                  return _regeneratorRuntime().wrap(function _callee$(_context) {
+                    while (1) switch (_context.prev = _context.next) {
+                      case 0:
+                        if (_this._modal) {
+                          _context.next = 2;
+                          break;
+                        }
+                        return _context.abrupt("return");
+                      case 2:
+                        photo = e.detail;
+                        _this.onPhoto.emit(photo);
+                      case 4:
+                      case "end":
+                        return _context.stop();
+                    }
+                  }, _callee);
+                }));
+                return function (_x) {
+                  return _ref.apply(this, arguments);
+                };
+              }());
+              camera.addEventListener('noDeviceError', /*#__PURE__*/function () {
+                var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e) {
+                  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+                    while (1) switch (_context2.prev = _context2.next) {
+                      case 0:
+                        _this.noDeviceError.emit(e);
+                      case 1:
+                      case "end":
+                        return _context2.stop();
+                    }
+                  }, _callee2);
+                }));
+                return function (_x2) {
+                  return _ref2.apply(this, arguments);
+                };
+              }());
+              document.body.append(camera);
+              this._modal = camera;
+            case 7:
+            case "end":
+              return _context3.stop();
+          }
+        }, _callee3, this);
+      }));
+      function present() {
+        return _present.apply(this, arguments);
       }
-      const photo = e.detail;
-      this.onPhoto.emit(photo);
-    });
-    camera.addEventListener('noDeviceError', async (e) => {
-      this.noDeviceError.emit(e);
-    });
-    document.body.append(camera);
-    this._modal = camera;
-  }
-  async dismiss() {
-    if (!this._modal) {
-      return;
+      return present;
+    }()
+  }, {
+    key: "dismiss",
+    value: function () {
+      var _dismiss = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
+        return _regeneratorRuntime().wrap(function _callee4$(_context4) {
+          while (1) switch (_context4.prev = _context4.next) {
+            case 0:
+              if (this._modal) {
+                _context4.next = 2;
+                break;
+              }
+              return _context4.abrupt("return");
+            case 2:
+              this._modal && this._modal.parentNode.removeChild(this._modal);
+              this._modal = null;
+            case 4:
+            case "end":
+              return _context4.stop();
+          }
+        }, _callee4, this);
+      }));
+      function dismiss() {
+        return _dismiss.apply(this, arguments);
+      }
+      return dismiss;
+    }()
+  }, {
+    key: "render",
+    value: function render() {
+      return index.h("div", null);
     }
-    this._modal && this._modal.parentNode.removeChild(this._modal);
-    this._modal = null;
-  }
-  render() {
-    return (index.h("div", null));
-  }
-};
+  }]);
+}();
 PWACameraModal.style = cameraModalCss;
-
-exports.pwa_camera_modal = PWACameraModal;
+exports.pwa_camera_modal = PWACameraModal;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/pwa-camera.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-camera.cjs.entry.js
index f961db3..be72d83 100644
--- a/src/public/js/pwa-elements/cjs/pwa-camera.cjs.entry.js
+++ b/src/public/js/pwa-elements/cjs/pwa-camera.cjs.entry.js
@@ -1,8 +1,17 @@
 'use strict';
 
-Object.defineProperty(exports, '__esModule', { value: true });
-
-const index = require('./index-d7f36e37.js');
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+Object.defineProperty(exports, '__esModule', {
+  value: true
+});
+var index = require('./index-d7f36e37.js');
 
 /**
  * MediaStream ImageCapture polyfill
@@ -22,17 +31,18 @@ const index = require('./index-d7f36e37.js');
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-let ImageCapture = window.ImageCapture;
+var ImageCapture = window.ImageCapture;
 if (typeof ImageCapture === 'undefined') {
-  ImageCapture = class {
+  ImageCapture = /*#__PURE__*/function () {
     /**
      * TODO https://www.w3.org/TR/image-capture/#constructors
      *
      * @param {MediaStreamTrack} videoStreamTrack - A MediaStreamTrack of the 'video' kind
      */
-    constructor(videoStreamTrack) {
-      if (videoStreamTrack.kind !== 'video')
-        throw new DOMException('NotSupportedError');
+    function ImageCapture(videoStreamTrack) {
+      var _this = this;
+      _classCallCheck(this, ImageCapture);
+      if (videoStreamTrack.kind !== 'video') throw new DOMException('NotSupportedError');
       this._videoStreamTrack = videoStreamTrack;
       if (!('readyState' in this._videoStreamTrack)) {
         // Polyfill for Firefox
@@ -41,13 +51,12 @@ if (typeof ImageCapture === 'undefined') {
       // MediaStream constructor not available until Chrome 55 - https://www.chromestatus.com/feature/5912172546752512
       this._previewStream = new MediaStream([videoStreamTrack]);
       this.videoElement = document.createElement('video');
-      this.videoElementPlaying = new Promise(resolve => {
-        this.videoElement.addEventListener('playing', resolve);
+      this.videoElementPlaying = new Promise(function (resolve) {
+        _this.videoElement.addEventListener('playing', resolve);
       });
       if (HTMLMediaElement) {
         this.videoElement.srcObject = this._previewStream; // Safari 11 doesn't allow use of createObjectURL for MediaStream
-      }
-      else {
+      } else {
         this.videoElement.src = URL.createObjectURL(this._previewStream);
       }
       this.videoElement.muted = true;
@@ -61,109 +70,121 @@ if (typeof ImageCapture === 'undefined') {
      * https://w3c.github.io/mediacapture-image/index.html#dom-imagecapture-videostreamtrack
      * @return {MediaStreamTrack} The MediaStreamTrack passed into the constructor
      */
-    get videoStreamTrack() {
-      return this._videoStreamTrack;
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
-     * @return {Promise<PhotoCapabilities>} Fulfilled promise with
-     * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
-     * object on success, rejected promise on failure
-     */
-    getPhotoCapabilities() {
-      return new Promise(function executorGPC(resolve, reject) {
-        // TODO see https://github.com/w3c/mediacapture-image/issues/97
-        const MediaSettingsRange = {
-          current: 0, min: 0, max: 0,
-        };
-        resolve({
-          exposureCompensation: MediaSettingsRange,
-          exposureMode: 'none',
-          fillLightMode: ['none'],
-          focusMode: 'none',
-          imageHeight: MediaSettingsRange,
-          imageWidth: MediaSettingsRange,
-          iso: MediaSettingsRange,
-          redEyeReduction: false,
-          whiteBalanceMode: 'none',
-          zoom: MediaSettingsRange,
+    return _createClass(ImageCapture, [{
+      key: "videoStreamTrack",
+      get: function get() {
+        return this._videoStreamTrack;
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
+       * @return {Promise<PhotoCapabilities>} Fulfilled promise with
+       * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
+       * object on success, rejected promise on failure
+       */
+    }, {
+      key: "getPhotoCapabilities",
+      value: function getPhotoCapabilities() {
+        return new Promise(function executorGPC(resolve, reject) {
+          // TODO see https://github.com/w3c/mediacapture-image/issues/97
+          var MediaSettingsRange = {
+            current: 0,
+            min: 0,
+            max: 0
+          };
+          resolve({
+            exposureCompensation: MediaSettingsRange,
+            exposureMode: 'none',
+            fillLightMode: ['none'],
+            focusMode: 'none',
+            imageHeight: MediaSettingsRange,
+            imageWidth: MediaSettingsRange,
+            iso: MediaSettingsRange,
+            redEyeReduction: false,
+            whiteBalanceMode: 'none',
+            zoom: MediaSettingsRange
+          });
+          reject(new DOMException('OperationError'));
         });
-        reject(new DOMException('OperationError'));
-      });
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
-     * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
-     * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
-     */
-    setOptions(_photoSettings = {}) {
-      return new Promise(function executorSO(_resolve, _reject) {
-        // TODO
-      });
-    }
-    /**
-     * TODO
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
-     * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
-     * argument on success; rejected promise on failure
-     */
-    takePhoto() {
-      const self = this;
-      return new Promise(function executorTP(resolve, reject) {
-        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
-        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
-        if (self._videoStreamTrack.readyState !== 'live') {
-          return reject(new DOMException('InvalidStateError'));
-        }
-        self.videoElementPlaying.then(() => {
-          try {
-            self.canvasElement.width = self.videoElement.videoWidth;
-            self.canvasElement.height = self.videoElement.videoHeight;
-            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
-            self.canvasElement.toBlob(resolve);
-          }
-          catch (error) {
-            reject(new DOMException('UnknownError'));
-          }
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
+       * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
+       * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
+       */
+    }, {
+      key: "setOptions",
+      value: function setOptions() {
+        var _photoSettings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+        return new Promise(function executorSO(_resolve, _reject) {
+          // TODO
         });
-      });
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
-     * @return {Promise<ImageBitmap>} Fulfilled promise with
-     * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
-     * argument on success; rejected promise on failure
-     */
-    grabFrame() {
-      const self = this;
-      return new Promise(function executorGF(resolve, reject) {
-        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
-        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
-        if (self._videoStreamTrack.readyState !== 'live') {
-          return reject(new DOMException('InvalidStateError'));
-        }
-        self.videoElementPlaying.then(() => {
-          try {
-            self.canvasElement.width = self.videoElement.videoWidth;
-            self.canvasElement.height = self.videoElement.videoHeight;
-            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
-            // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
-            resolve(window.createImageBitmap(self.canvasElement));
+      }
+      /**
+       * TODO
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
+       * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
+       * argument on success; rejected promise on failure
+       */
+    }, {
+      key: "takePhoto",
+      value: function takePhoto() {
+        var self = this;
+        return new Promise(function executorTP(resolve, reject) {
+          // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+          // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+          if (self._videoStreamTrack.readyState !== 'live') {
+            return reject(new DOMException('InvalidStateError'));
           }
-          catch (error) {
-            reject(new DOMException('UnknownError'));
+          self.videoElementPlaying.then(function () {
+            try {
+              self.canvasElement.width = self.videoElement.videoWidth;
+              self.canvasElement.height = self.videoElement.videoHeight;
+              self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+              self.canvasElement.toBlob(resolve);
+            } catch (error) {
+              reject(new DOMException('UnknownError'));
+            }
+          });
+        });
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
+       * @return {Promise<ImageBitmap>} Fulfilled promise with
+       * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
+       * argument on success; rejected promise on failure
+       */
+    }, {
+      key: "grabFrame",
+      value: function grabFrame() {
+        var self = this;
+        return new Promise(function executorGF(resolve, reject) {
+          // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+          // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+          if (self._videoStreamTrack.readyState !== 'live') {
+            return reject(new DOMException('InvalidStateError'));
           }
+          self.videoElementPlaying.then(function () {
+            try {
+              self.canvasElement.width = self.videoElement.videoWidth;
+              self.canvasElement.height = self.videoElement.videoHeight;
+              self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+              // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
+              resolve(window.createImageBitmap(self.canvasElement));
+            } catch (error) {
+              reject(new DOMException('UnknownError'));
+            }
+          });
         });
-      });
-    }
-  };
+      }
+    }]);
+  }();
 }
 window.ImageCapture = ImageCapture;
-
-const cameraCss = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
-
-const CameraPWA = class {
-  constructor(hostRef) {
+var cameraCss = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
+var CameraPWA = /*#__PURE__*/function () {
+  function CameraPWA(hostRef) {
+    var _this2 = this;
+    _classCallCheck(this, CameraPWA);
     index.registerInstance(this, hostRef);
     // Whether the device has multiple cameras (front/back)
     this.hasMultipleCameras = false;
@@ -173,53 +194,71 @@ const CameraPWA = class {
     this.flashModes = [];
     // Current flash mode
     this.flashMode = 'off';
-    this.handlePickFile = (_e) => {
-    };
-    this.handleShutterClick = (_e) => {
+    this.handlePickFile = function (_e) {};
+    this.handleShutterClick = function (_e) {
       console.debug('shutter click');
-      this.capture();
+      _this2.capture();
     };
-    this.handleRotateClick = (_e) => {
-      this.rotate();
+    this.handleRotateClick = function (_e) {
+      _this2.rotate();
     };
-    this.handleClose = (_e) => {
-      this.handlePhoto && this.handlePhoto(null);
+    this.handleClose = function (_e) {
+      _this2.handlePhoto && _this2.handlePhoto(null);
     };
-    this.handleFlashClick = (_e) => {
-      this.cycleFlash();
+    this.handleFlashClick = function (_e) {
+      _this2.cycleFlash();
     };
-    this.handleCancelPhoto = (_e) => {
-      const track = this.stream && this.stream.getTracks()[0];
-      let c = track && track.getConstraints();
-      this.photo = null;
-      this.photoSrc = null;
+    this.handleCancelPhoto = function (_e) {
+      var track = _this2.stream && _this2.stream.getTracks()[0];
+      var c = track && track.getConstraints();
+      _this2.photo = null;
+      _this2.photoSrc = null;
       if (c) {
-        this.initCamera({
+        _this2.initCamera({
           video: {
             facingMode: c.facingMode
           }
         });
-      }
-      else {
-        this.initCamera();
+      } else {
+        _this2.initCamera();
       }
     };
-    this.handleAcceptPhoto = (_e) => {
-      this.handlePhoto && this.handlePhoto(this.photo);
+    this.handleAcceptPhoto = function (_e) {
+      _this2.handlePhoto && _this2.handlePhoto(_this2.photo);
     };
-    this.handleFileInputChange = async (e) => {
-      const input = e.target;
-      const file = input.files[0];
-      try {
-        const orientation = await this.getOrientation(file);
-        console.debug('Got orientation', orientation);
-        this.photoOrientation = orientation;
-      }
-      catch (e) {
-      }
-      this.handlePhoto && this.handlePhoto(file);
-    };
-    this.handleVideoMetadata = (e) => {
+    this.handleFileInputChange = /*#__PURE__*/function () {
+      var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
+        var input, file, orientation;
+        return _regeneratorRuntime().wrap(function _callee$(_context) {
+          while (1) switch (_context.prev = _context.next) {
+            case 0:
+              input = e.target;
+              file = input.files[0];
+              _context.prev = 2;
+              _context.next = 5;
+              return _this2.getOrientation(file);
+            case 5:
+              orientation = _context.sent;
+              console.debug('Got orientation', orientation);
+              _this2.photoOrientation = orientation;
+              _context.next = 12;
+              break;
+            case 10:
+              _context.prev = 10;
+              _context.t0 = _context["catch"](2);
+            case 12:
+              _this2.handlePhoto && _this2.handlePhoto(file);
+            case 13:
+            case "end":
+              return _context.stop();
+          }
+        }, _callee, null, [[2, 10]]);
+      }));
+      return function (_x) {
+        return _ref.apply(this, arguments);
+      };
+    }();
+    this.handleVideoMetadata = function (e) {
       console.debug('Video metadata', e);
     };
     this.facingMode = 'user';
@@ -236,250 +275,573 @@ const CameraPWA = class {
     this.rotation = 0;
     this.deviceError = null;
   }
-  async componentDidLoad() {
-    this.defaultConstraints = {
-      video: {
-        facingMode: this.facingMode
+  return _createClass(CameraPWA, [{
+    key: "componentDidLoad",
+    value: function () {
+      var _componentDidLoad = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
+        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+          while (1) switch (_context2.prev = _context2.next) {
+            case 0:
+              this.defaultConstraints = {
+                video: {
+                  facingMode: this.facingMode
+                }
+              };
+              // Figure out how many cameras we have
+              _context2.next = 3;
+              return this.queryDevices();
+            case 3:
+              _context2.next = 5;
+              return this.initCamera();
+            case 5:
+            case "end":
+              return _context2.stop();
+          }
+        }, _callee2, this);
+      }));
+      function componentDidLoad() {
+        return _componentDidLoad.apply(this, arguments);
       }
-    };
-    // Figure out how many cameras we have
-    await this.queryDevices();
-    // Initialize the camera
-    await this.initCamera();
-  }
-  disconnectedCallback() {
-    this.stopStream();
-    this.photoSrc && URL.revokeObjectURL(this.photoSrc);
-  }
-  hasImageCapture() {
-    return 'ImageCapture' in window;
-  }
-  /**
-   * Query the list of connected devices and figure out how many video inputs we have.
-   */
-  async queryDevices() {
-    try {
-      const devices = await navigator.mediaDevices.enumerateDevices();
-      const videoDevices = devices.filter(d => d.kind == 'videoinput');
-      this.hasCamera = !!videoDevices.length;
-      this.hasMultipleCameras = videoDevices.length > 1;
-    }
-    catch (e) {
-      this.deviceError = e;
-    }
-  }
-  async initCamera(constraints) {
-    if (!constraints) {
-      constraints = this.defaultConstraints;
-    }
-    try {
-      const stream = await navigator.mediaDevices.getUserMedia(Object.assign({ video: true, audio: false }, constraints));
-      this.initStream(stream);
-    }
-    catch (e) {
-      this.deviceError = e;
-      this.handleNoDeviceError && this.handleNoDeviceError(e);
-    }
-  }
-  async initStream(stream) {
-    this.stream = stream;
-    this.videoElement.srcObject = stream;
-    if (this.hasImageCapture()) {
-      this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
-      await this.initPhotoCapabilities(this.imageCapture);
+      return componentDidLoad;
+    }()
+  }, {
+    key: "disconnectedCallback",
+    value: function disconnectedCallback() {
+      this.stopStream();
+      this.photoSrc && URL.revokeObjectURL(this.photoSrc);
     }
-    else {
-      this.deviceError = 'No image capture';
-      this.handleNoDeviceError && this.handleNoDeviceError();
+  }, {
+    key: "hasImageCapture",
+    value: function hasImageCapture() {
+      return 'ImageCapture' in window;
     }
-    // Always re-render
-    index.forceUpdate(this.el);
-  }
-  async initPhotoCapabilities(imageCapture) {
-    const c = await imageCapture.getPhotoCapabilities();
-    if (c.fillLightMode && c.fillLightMode.length > 1) {
-      this.flashModes = c.fillLightMode.map(m => m);
-      // Try to recall the current flash mode
-      if (this.flashMode) {
-        this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
-        this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+    /**
+     * Query the list of connected devices and figure out how many video inputs we have.
+     */
+  }, {
+    key: "queryDevices",
+    value: (function () {
+      var _queryDevices = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
+        var devices, videoDevices;
+        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
+          while (1) switch (_context3.prev = _context3.next) {
+            case 0:
+              _context3.prev = 0;
+              _context3.next = 3;
+              return navigator.mediaDevices.enumerateDevices();
+            case 3:
+              devices = _context3.sent;
+              videoDevices = devices.filter(function (d) {
+                return d.kind == 'videoinput';
+              });
+              this.hasCamera = !!videoDevices.length;
+              this.hasMultipleCameras = videoDevices.length > 1;
+              _context3.next = 12;
+              break;
+            case 9:
+              _context3.prev = 9;
+              _context3.t0 = _context3["catch"](0);
+              this.deviceError = _context3.t0;
+            case 12:
+            case "end":
+              return _context3.stop();
+          }
+        }, _callee3, this, [[0, 9]]);
+      }));
+      function queryDevices() {
+        return _queryDevices.apply(this, arguments);
       }
-      else {
-        this.flashIndex = 0;
+      return queryDevices;
+    }())
+  }, {
+    key: "initCamera",
+    value: function () {
+      var _initCamera = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(constraints) {
+        var stream;
+        return _regeneratorRuntime().wrap(function _callee4$(_context4) {
+          while (1) switch (_context4.prev = _context4.next) {
+            case 0:
+              if (!constraints) {
+                constraints = this.defaultConstraints;
+              }
+              _context4.prev = 1;
+              _context4.next = 4;
+              return navigator.mediaDevices.getUserMedia(Object.assign({
+                video: true,
+                audio: false
+              }, constraints));
+            case 4:
+              stream = _context4.sent;
+              this.initStream(stream);
+              _context4.next = 12;
+              break;
+            case 8:
+              _context4.prev = 8;
+              _context4.t0 = _context4["catch"](1);
+              this.deviceError = _context4.t0;
+              this.handleNoDeviceError && this.handleNoDeviceError(_context4.t0);
+            case 12:
+            case "end":
+              return _context4.stop();
+          }
+        }, _callee4, this, [[1, 8]]);
+      }));
+      function initCamera(_x2) {
+        return _initCamera.apply(this, arguments);
       }
-    }
-  }
-  stopStream() {
-    if (this.videoElement) {
-      this.videoElement.srcObject = null;
-    }
-    this.stream && this.stream.getTracks().forEach(track => track.stop());
-  }
-  async capture() {
-    if (this.hasImageCapture()) {
-      try {
-        const photo = await this.imageCapture.takePhoto({
-          fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
-        });
-        await this.flashScreen();
-        this.promptAccept(photo);
+      return initCamera;
+    }()
+  }, {
+    key: "initStream",
+    value: function () {
+      var _initStream = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(stream) {
+        return _regeneratorRuntime().wrap(function _callee5$(_context5) {
+          while (1) switch (_context5.prev = _context5.next) {
+            case 0:
+              this.stream = stream;
+              this.videoElement.srcObject = stream;
+              if (!this.hasImageCapture()) {
+                _context5.next = 8;
+                break;
+              }
+              this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
+              _context5.next = 6;
+              return this.initPhotoCapabilities(this.imageCapture);
+            case 6:
+              _context5.next = 10;
+              break;
+            case 8:
+              this.deviceError = 'No image capture';
+              this.handleNoDeviceError && this.handleNoDeviceError();
+            case 10:
+              // Always re-render
+              index.forceUpdate(this.el);
+            case 11:
+            case "end":
+              return _context5.stop();
+          }
+        }, _callee5, this);
+      }));
+      function initStream(_x3) {
+        return _initStream.apply(this, arguments);
       }
-      catch (e) {
-        console.error('Unable to take photo!', e);
+      return initStream;
+    }()
+  }, {
+    key: "initPhotoCapabilities",
+    value: function () {
+      var _initPhotoCapabilities = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(imageCapture) {
+        var c;
+        return _regeneratorRuntime().wrap(function _callee6$(_context6) {
+          while (1) switch (_context6.prev = _context6.next) {
+            case 0:
+              _context6.next = 2;
+              return imageCapture.getPhotoCapabilities();
+            case 2:
+              c = _context6.sent;
+              if (c.fillLightMode && c.fillLightMode.length > 1) {
+                this.flashModes = c.fillLightMode.map(function (m) {
+                  return m;
+                });
+                // Try to recall the current flash mode
+                if (this.flashMode) {
+                  this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
+                  this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+                } else {
+                  this.flashIndex = 0;
+                }
+              }
+            case 4:
+            case "end":
+              return _context6.stop();
+          }
+        }, _callee6, this);
+      }));
+      function initPhotoCapabilities(_x4) {
+        return _initPhotoCapabilities.apply(this, arguments);
       }
-    }
-    this.stopStream();
-  }
-  async promptAccept(photo) {
-    this.photo = photo;
-    const orientation = await this.getOrientation(photo);
-    console.debug('Got orientation', orientation);
-    this.photoOrientation = orientation;
-    if (orientation) {
-      switch (orientation) {
-        case 1:
-        case 2:
-          this.rotation = 0;
-          break;
-        case 3:
-        case 4:
-          this.rotation = 180;
-          break;
-        case 5:
-        case 6:
-          this.rotation = 90;
-          break;
-        case 7:
-        case 8:
-          this.rotation = 270;
-          break;
+      return initPhotoCapabilities;
+    }()
+  }, {
+    key: "stopStream",
+    value: function stopStream() {
+      if (this.videoElement) {
+        this.videoElement.srcObject = null;
       }
+      this.stream && this.stream.getTracks().forEach(function (track) {
+        return track.stop();
+      });
     }
-    this.photoSrc = URL.createObjectURL(photo);
-  }
-  getOrientation(file) {
-    return new Promise(resolve => {
-      const reader = new FileReader();
-      reader.onload = (event) => {
-        const view = new DataView(event.target.result);
-        if (view.getUint16(0, false) !== 0xFFD8) {
-          return resolve(-2);
-        }
-        const length = view.byteLength;
-        let offset = 2;
-        while (offset < length) {
-          const marker = view.getUint16(offset, false);
-          offset += 2;
-          if (marker === 0xFFE1) {
-            if (view.getUint32(offset += 2, false) !== 0x45786966) {
-              return resolve(-1);
-            }
-            const little = view.getUint16(offset += 6, false) === 0x4949;
-            offset += view.getUint32(offset + 4, little);
-            const tags = view.getUint16(offset, little);
+  }, {
+    key: "capture",
+    value: function () {
+      var _capture = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
+        var photo;
+        return _regeneratorRuntime().wrap(function _callee7$(_context7) {
+          while (1) switch (_context7.prev = _context7.next) {
+            case 0:
+              if (!this.hasImageCapture()) {
+                _context7.next = 13;
+                break;
+              }
+              _context7.prev = 1;
+              _context7.next = 4;
+              return this.imageCapture.takePhoto({
+                fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
+              });
+            case 4:
+              photo = _context7.sent;
+              _context7.next = 7;
+              return this.flashScreen();
+            case 7:
+              this.promptAccept(photo);
+              _context7.next = 13;
+              break;
+            case 10:
+              _context7.prev = 10;
+              _context7.t0 = _context7["catch"](1);
+              console.error('Unable to take photo!', _context7.t0);
+            case 13:
+              this.stopStream();
+            case 14:
+            case "end":
+              return _context7.stop();
+          }
+        }, _callee7, this, [[1, 10]]);
+      }));
+      function capture() {
+        return _capture.apply(this, arguments);
+      }
+      return capture;
+    }()
+  }, {
+    key: "promptAccept",
+    value: function () {
+      var _promptAccept = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(photo) {
+        var orientation;
+        return _regeneratorRuntime().wrap(function _callee8$(_context8) {
+          while (1) switch (_context8.prev = _context8.next) {
+            case 0:
+              this.photo = photo;
+              _context8.next = 3;
+              return this.getOrientation(photo);
+            case 3:
+              orientation = _context8.sent;
+              console.debug('Got orientation', orientation);
+              this.photoOrientation = orientation;
+              if (!orientation) {
+                _context8.next = 18;
+                break;
+              }
+              _context8.t0 = orientation;
+              _context8.next = _context8.t0 === 1 ? 10 : _context8.t0 === 2 ? 10 : _context8.t0 === 3 ? 12 : _context8.t0 === 4 ? 12 : _context8.t0 === 5 ? 14 : _context8.t0 === 6 ? 14 : _context8.t0 === 7 ? 16 : _context8.t0 === 8 ? 16 : 18;
+              break;
+            case 10:
+              this.rotation = 0;
+              return _context8.abrupt("break", 18);
+            case 12:
+              this.rotation = 180;
+              return _context8.abrupt("break", 18);
+            case 14:
+              this.rotation = 90;
+              return _context8.abrupt("break", 18);
+            case 16:
+              this.rotation = 270;
+              return _context8.abrupt("break", 18);
+            case 18:
+              this.photoSrc = URL.createObjectURL(photo);
+            case 19:
+            case "end":
+              return _context8.stop();
+          }
+        }, _callee8, this);
+      }));
+      function promptAccept(_x5) {
+        return _promptAccept.apply(this, arguments);
+      }
+      return promptAccept;
+    }()
+  }, {
+    key: "getOrientation",
+    value: function getOrientation(file) {
+      return new Promise(function (resolve) {
+        var reader = new FileReader();
+        reader.onload = function (event) {
+          var view = new DataView(event.target.result);
+          if (view.getUint16(0, false) !== 0xFFD8) {
+            return resolve(-2);
+          }
+          var length = view.byteLength;
+          var offset = 2;
+          while (offset < length) {
+            var marker = view.getUint16(offset, false);
             offset += 2;
-            for (let i = 0; i < tags; i++) {
-              if (view.getUint16(offset + (i * 12), little) === 0x0112) {
-                return resolve(view.getUint16(offset + (i * 12) + 8, little));
+            if (marker === 0xFFE1) {
+              if (view.getUint32(offset += 2, false) !== 0x45786966) {
+                return resolve(-1);
               }
+              var little = view.getUint16(offset += 6, false) === 0x4949;
+              offset += view.getUint32(offset + 4, little);
+              var tags = view.getUint16(offset, little);
+              offset += 2;
+              for (var i = 0; i < tags; i++) {
+                if (view.getUint16(offset + i * 12, little) === 0x0112) {
+                  return resolve(view.getUint16(offset + i * 12 + 8, little));
+                }
+              }
+            } else if ((marker & 0xFF00) !== 0xFF00) {
+              break;
+            } else {
+              offset += view.getUint16(offset, false);
             }
           }
-          else if ((marker & 0xFF00) !== 0xFF00) {
-            break;
+          return resolve(-1);
+        };
+        reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
+      });
+    }
+  }, {
+    key: "rotate",
+    value: function rotate() {
+      this.stopStream();
+      var track = this.stream && this.stream.getTracks()[0];
+      if (!track) {
+        return;
+      }
+      var c = track.getConstraints();
+      var facingMode = c.facingMode;
+      if (!facingMode) {
+        var _c = track.getCapabilities();
+        if (_c.facingMode) {
+          facingMode = _c.facingMode[0];
+        }
+      }
+      if (facingMode === 'environment') {
+        this.initCamera({
+          video: {
+            facingMode: 'user'
           }
-          else {
-            offset += view.getUint16(offset, false);
+        });
+      } else {
+        this.initCamera({
+          video: {
+            facingMode: 'environment'
           }
-        }
-        return resolve(-1);
-      };
-      reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
-    });
-  }
-  rotate() {
-    this.stopStream();
-    const track = this.stream && this.stream.getTracks()[0];
-    if (!track) {
-      return;
+        });
+      }
+    }
+  }, {
+    key: "setFlashMode",
+    value: function setFlashMode(mode) {
+      console.debug('New flash mode: ', mode);
+      this.flashMode = mode;
     }
-    let c = track.getConstraints();
-    let facingMode = c.facingMode;
-    if (!facingMode) {
-      let c = track.getCapabilities();
-      if (c.facingMode) {
-        facingMode = c.facingMode[0];
+  }, {
+    key: "cycleFlash",
+    value: function cycleFlash() {
+      if (this.flashModes.length > 0) {
+        this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
+        this.setFlashMode(this.flashModes[this.flashIndex]);
       }
     }
-    if (facingMode === 'environment') {
-      this.initCamera({
-        video: {
-          facingMode: 'user'
-        }
-      });
+  }, {
+    key: "flashScreen",
+    value: function () {
+      var _flashScreen = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
+        var _this3 = this;
+        return _regeneratorRuntime().wrap(function _callee9$(_context9) {
+          while (1) switch (_context9.prev = _context9.next) {
+            case 0:
+              return _context9.abrupt("return", new Promise(function (resolve, _reject) {
+                _this3.showShutterOverlay = true;
+                setTimeout(function () {
+                  _this3.showShutterOverlay = false;
+                  resolve();
+                }, 100);
+              }));
+            case 1:
+            case "end":
+              return _context9.stop();
+          }
+        }, _callee9);
+      }));
+      function flashScreen() {
+        return _flashScreen.apply(this, arguments);
+      }
+      return flashScreen;
+    }()
+  }, {
+    key: "iconExit",
+    value: function iconExit() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconPhotos",
+    value: function iconPhotos() {
+      return index.h("svg", {
+        xmlns: 'http://www.w3.org/2000/svg',
+        width: '512',
+        height: '512',
+        viewBox: '0 0 512 512'
+      }, index.h("path", {
+        d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z'
+      }), index.h("path", {
+        d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z'
+      }));
+    }
+  }, {
+    key: "iconConfirm",
+    value: function iconConfirm() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
     }
-    else {
-      this.initCamera({
-        video: {
-          facingMode: 'environment'
+  }, {
+    key: "iconReverseCamera",
+    value: function iconReverseCamera() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconRetake",
+    value: function iconRetake() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashOff",
+    value: function iconFlashOff() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashOn",
+    value: function iconFlashOn() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashAuto",
+    value: function iconFlashAuto() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this4 = this;
+      // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
+      var acceptStyles = {};
+      return index.h("div", {
+        class: "camera-wrapper"
+      }, index.h("div", {
+        class: "camera-header"
+      }, index.h("section", {
+        class: "items"
+      }, index.h("div", {
+        class: "item close",
+        onClick: function onClick(e) {
+          return _this4.handleClose(e);
         }
-      });
+      }, index.h("img", {
+        src: this.iconExit()
+      })), index.h("div", {
+        class: "item flash",
+        onClick: function onClick(e) {
+          return _this4.handleFlashClick(e);
+        }
+      }, this.flashModes.length > 0 && index.h("div", null, this.flashMode == 'off' ? index.h("img", {
+        src: this.iconFlashOff()
+      }) : '', this.flashMode == 'auto' ? index.h("img", {
+        src: this.iconFlashAuto()
+      }) : '', this.flashMode == 'flash' ? index.h("img", {
+        src: this.iconFlashOn()
+      }) : '')))), (this.hasCamera === false || !!this.deviceError) && index.h("div", {
+        class: "no-device"
+      }, index.h("h2", null, this.noDevicesText), index.h("label", {
+        htmlFor: "_pwa-elements-camera-input"
+      }, this.noDevicesButtonText), index.h("input", {
+        type: "file",
+        id: "_pwa-elements-camera-input",
+        onChange: this.handleFileInputChange,
+        accept: "image/*",
+        class: "select-file-button"
+      })), this.photoSrc ? index.h("div", {
+        class: "accept"
+      }, index.h("div", {
+        class: "accept-image",
+        style: Object.assign({
+          backgroundImage: "url(".concat(this.photoSrc, ")")
+        }, acceptStyles)
+      })) : index.h("div", {
+        class: "camera-video"
+      }, this.showShutterOverlay && index.h("div", {
+        class: "shutter-overlay"
+      }), this.hasImageCapture() ? index.h("video", {
+        ref: function ref(el) {
+          return _this4.videoElement = el;
+        },
+        onLoadedMetaData: this.handleVideoMetadata,
+        autoplay: true,
+        playsinline: true
+      }) : index.h("canvas", {
+        ref: function ref(el) {
+          return _this4.canvasElement = el;
+        },
+        width: "100%",
+        height: "100%"
+      }), index.h("canvas", {
+        class: "offscreen-image-render",
+        ref: function ref(e) {
+          return _this4.offscreenCanvas = e;
+        },
+        width: "100%",
+        height: "100%"
+      })), this.hasCamera && index.h("div", {
+        class: "camera-footer"
+      }, !this.photo ? [!this.hidePicker && index.h("div", {
+        class: "pick-image",
+        onClick: this.handlePickFile
+      }, index.h("label", {
+        htmlFor: "_pwa-elements-file-pick"
+      }, this.iconPhotos()), index.h("input", {
+        type: "file",
+        id: "_pwa-elements-file-pick",
+        onChange: this.handleFileInputChange,
+        accept: "image/*",
+        class: "pick-image-button"
+      })), index.h("div", {
+        class: "shutter",
+        onClick: this.handleShutterClick
+      }, index.h("div", {
+        class: "shutter-button"
+      })), index.h("div", {
+        class: "rotate",
+        onClick: this.handleRotateClick
+      }, index.h("img", {
+        src: this.iconReverseCamera()
+      }))] : index.h("section", {
+        class: "items"
+      }, index.h("div", {
+        class: "item accept-cancel",
+        onClick: function onClick(e) {
+          return _this4.handleCancelPhoto(e);
+        }
+      }, index.h("img", {
+        src: this.iconRetake()
+      })), index.h("div", {
+        class: "item accept-use",
+        onClick: function onClick(e) {
+          return _this4.handleAcceptPhoto(e);
+        }
+      }, index.h("img", {
+        src: this.iconConfirm()
+      })))));
     }
-  }
-  setFlashMode(mode) {
-    console.debug('New flash mode: ', mode);
-    this.flashMode = mode;
-  }
-  cycleFlash() {
-    if (this.flashModes.length > 0) {
-      this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
-      this.setFlashMode(this.flashModes[this.flashIndex]);
+  }, {
+    key: "el",
+    get: function get() {
+      return index.getElement(this);
     }
-  }
-  async flashScreen() {
-    return new Promise((resolve, _reject) => {
-      this.showShutterOverlay = true;
-      setTimeout(() => {
-        this.showShutterOverlay = false;
-        resolve();
-      }, 100);
-    });
-  }
-  iconExit() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconPhotos() {
-    return (index.h("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '512', height: '512', viewBox: '0 0 512 512' }, index.h("path", { d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z' }), index.h("path", { d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z' })));
-  }
-  iconConfirm() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconReverseCamera() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconRetake() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconFlashOff() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconFlashOn() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E`;
-  }
-  iconFlashAuto() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  render() {
-    // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
-    const acceptStyles = {};
-    return (index.h("div", { class: "camera-wrapper" }, index.h("div", { class: "camera-header" }, index.h("section", { class: "items" }, index.h("div", { class: "item close", onClick: e => this.handleClose(e) }, index.h("img", { src: this.iconExit() })), index.h("div", { class: "item flash", onClick: e => this.handleFlashClick(e) }, this.flashModes.length > 0 && (index.h("div", null, this.flashMode == 'off' ? index.h("img", { src: this.iconFlashOff() }) : '', this.flashMode == 'auto' ? index.h("img", { src: this.iconFlashAuto() }) : '', this.flashMode == 'flash' ? index.h("img", { src: this.iconFlashOn() }) : ''))))), (this.hasCamera === false || !!this.deviceError) && (index.h("div", { class: "no-device" }, index.h("h2", null, this.noDevicesText), index.h("label", { htmlFor: "_pwa-elements-camera-input" }, this.noDevicesButtonText), index.h("input", { type: "file", id: "_pwa-elements-camera-input", onChange: this.handleFileInputChange, accept: "image/*", class: "select-file-button" }))), this.photoSrc ? (index.h("div", { class: "accept" }, index.h("div", { class: "accept-image", style: Object.assign({ backgroundImage: `url(${this.photoSrc})` }, acceptStyles) }))) : (index.h("div", { class: "camera-video" }, this.showShutterOverlay && (index.h("div", { class: "shutter-overlay" })), this.hasImageCapture() ? (index.h("video", { ref: (el) => this.videoElement = el, onLoadedMetaData: this.handleVideoMetadata, autoplay: true, playsinline: true })) : (index.h("canvas", { ref: (el) => this.canvasElement = el, width: "100%", height: "100%" })), index.h("canvas", { class: "offscreen-image-render", ref: e => this.offscreenCanvas = e, width: "100%", height: "100%" }))), this.hasCamera && (index.h("div", { class: "camera-footer" }, !this.photo ? ([
-      !this.hidePicker && (index.h("div", { class: "pick-image", onClick: this.handlePickFile }, index.h("label", { htmlFor: "_pwa-elements-file-pick" }, this.iconPhotos()), index.h("input", { type: "file", id: "_pwa-elements-file-pick", onChange: this.handleFileInputChange, accept: "image/*", class: "pick-image-button" }))),
-      index.h("div", { class: "shutter", onClick: this.handleShutterClick }, index.h("div", { class: "shutter-button" })),
-      index.h("div", { class: "rotate", onClick: this.handleRotateClick }, index.h("img", { src: this.iconReverseCamera() })),
-    ]) : (index.h("section", { class: "items" }, index.h("div", { class: "item accept-cancel", onClick: e => this.handleCancelPhoto(e) }, index.h("img", { src: this.iconRetake() })), index.h("div", { class: "item accept-use", onClick: e => this.handleAcceptPhoto(e) }, index.h("img", { src: this.iconConfirm() }))))))));
-  }
-  static get assetsDirs() { return ["icons"]; }
-  get el() { return index.getElement(this); }
-};
+  }], [{
+    key: "assetsDirs",
+    get: function get() {
+      return ["icons"];
+    }
+  }]);
+}();
 CameraPWA.style = cameraCss;
-
-exports.pwa_camera = CameraPWA;
+exports.pwa_camera = CameraPWA;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/cjs/pwa-toast.cjs.entry.js b/src/public/js/pwa-elements/cjs/pwa-toast.cjs.entry.js
index a799f7d..383c353 100644
--- a/src/public/js/pwa-elements/cjs/pwa-toast.cjs.entry.js
+++ b/src/public/js/pwa-elements/cjs/pwa-toast.cjs.entry.js
@@ -1,49 +1,76 @@
 'use strict';
 
-Object.defineProperty(exports, '__esModule', { value: true });
-
-const index = require('./index-d7f36e37.js');
-
-const toastCss = ":host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, \"Helvetica Neue\", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}";
-
-const PWAToast = class {
-  constructor(hostRef) {
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+Object.defineProperty(exports, '__esModule', {
+  value: true
+});
+var index = require('./index-d7f36e37.js');
+var toastCss = ":host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, \"Helvetica Neue\", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}";
+var PWAToast = /*#__PURE__*/function () {
+  function PWAToast(hostRef) {
+    _classCallCheck(this, PWAToast);
     index.registerInstance(this, hostRef);
     this.message = undefined;
     this.duration = 2000;
     this.closing = null;
   }
-  hostData() {
-    const classes = {
-      out: !!this.closing
-    };
-    if (this.closing !== null) {
-      classes['in'] = !this.closing;
+  return _createClass(PWAToast, [{
+    key: "hostData",
+    value: function hostData() {
+      var classes = {
+        out: !!this.closing
+      };
+      if (this.closing !== null) {
+        classes['in'] = !this.closing;
+      }
+      return {
+        class: classes
+      };
     }
-    return {
-      class: classes
-    };
-  }
-  componentDidLoad() {
-    setTimeout(() => {
-      this.closing = false;
-    });
-    setTimeout(() => {
-      this.close();
-    }, this.duration);
-  }
-  close() {
-    this.closing = true;
-    setTimeout(() => {
-      this.el.parentNode.removeChild(this.el);
-    }, 1000);
-  }
-  __stencil_render() {
-    return (index.h("div", { class: "wrapper" }, index.h("div", { class: "toast" }, this.message)));
-  }
-  get el() { return index.getElement(this); }
-  render() { return index.h(index.Host, this.hostData(), this.__stencil_render()); }
-};
+  }, {
+    key: "componentDidLoad",
+    value: function componentDidLoad() {
+      var _this = this;
+      setTimeout(function () {
+        _this.closing = false;
+      });
+      setTimeout(function () {
+        _this.close();
+      }, this.duration);
+    }
+  }, {
+    key: "close",
+    value: function close() {
+      var _this2 = this;
+      this.closing = true;
+      setTimeout(function () {
+        _this2.el.parentNode.removeChild(_this2.el);
+      }, 1000);
+    }
+  }, {
+    key: "__stencil_render",
+    value: function __stencil_render() {
+      return index.h("div", {
+        class: "wrapper"
+      }, index.h("div", {
+        class: "toast"
+      }, this.message));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return index.getElement(this);
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      return index.h(index.Host, this.hostData(), this.__stencil_render());
+    }
+  }]);
+}();
 PWAToast.style = toastCss;
-
-exports.pwa_toast = PWAToast;
+exports.pwa_toast = PWAToast;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.js b/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.js
index a2c8e06..cdb8e0d 100644
--- a/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.js
+++ b/src/public/js/pwa-elements/collection/components/action-sheet/action-sheet.js
@@ -1,114 +1,169 @@
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { h } from '@stencil/core';
-export class PWAActionSheet {
-  constructor() {
+export var PWAActionSheet = /*#__PURE__*/function () {
+  function PWAActionSheet() {
+    _classCallCheck(this, PWAActionSheet);
     this.header = undefined;
     this.cancelable = true;
     this.options = [];
     this.open = false;
   }
-  componentDidLoad() {
-    requestAnimationFrame(() => {
-      this.open = true;
-    });
-  }
-  dismiss() {
-    if (this.cancelable) {
+  return _createClass(PWAActionSheet, [{
+    key: "componentDidLoad",
+    value: function componentDidLoad() {
+      var _this = this;
+      requestAnimationFrame(function () {
+        _this.open = true;
+      });
+    }
+  }, {
+    key: "dismiss",
+    value: function dismiss() {
+      if (this.cancelable) {
+        this.close();
+      }
+    }
+  }, {
+    key: "close",
+    value: function close() {
+      var _this2 = this;
+      this.open = false;
+      setTimeout(function () {
+        _this2.el.parentNode.removeChild(_this2.el);
+      }, 500);
+    }
+  }, {
+    key: "handleOptionClick",
+    value: function handleOptionClick(e, i) {
+      e.stopPropagation();
+      this.onSelection.emit(i);
       this.close();
     }
-  }
-  close() {
-    this.open = false;
-    setTimeout(() => {
-      this.el.parentNode.removeChild(this.el);
-    }, 500);
-  }
-  handleOptionClick(e, i) {
-    e.stopPropagation();
-    this.onSelection.emit(i);
-    this.close();
-  }
-  render() {
-    return (h("div", { class: `wrapper${this.open ? ' open' : ''}`, onClick: () => this.dismiss() }, h("div", { class: "content" }, h("div", { class: "title" }, this.header), this.options.map((option, i) => h("div", { class: "action-sheet-option", onClick: (e) => this.handleOptionClick(e, i) }, h("div", { class: "action-sheet-button" }, option.title))))));
-  }
-  static get is() { return "pwa-action-sheet"; }
-  static get encapsulation() { return "shadow"; }
-  static get originalStyleUrls() {
-    return {
-      "$": ["action-sheet.css"]
-    };
-  }
-  static get styleUrls() {
-    return {
-      "$": ["action-sheet.css"]
-    };
-  }
-  static get properties() {
-    return {
-      "header": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
-        },
-        "attribute": "header",
-        "reflect": false
-      },
-      "cancelable": {
-        "type": "boolean",
-        "mutable": false,
-        "complexType": {
-          "original": "boolean",
-          "resolved": "boolean",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
-        },
-        "attribute": "cancelable",
-        "reflect": false,
-        "defaultValue": "true"
-      },
-      "options": {
-        "type": "unknown",
-        "mutable": false,
-        "complexType": {
-          "original": "ActionSheetOption[]",
-          "resolved": "ActionSheetOption[]",
-          "references": {
-            "ActionSheetOption": {
-              "location": "import",
-              "path": "../../definitions"
-            }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this3 = this;
+      return h("div", {
+        class: "wrapper".concat(this.open ? ' open' : ''),
+        onClick: function onClick() {
+          return _this3.dismiss();
+        }
+      }, h("div", {
+        class: "content"
+      }, h("div", {
+        class: "title"
+      }, this.header), this.options.map(function (option, i) {
+        return h("div", {
+          class: "action-sheet-option",
+          onClick: function onClick(e) {
+            return _this3.handleOptionClick(e, i);
           }
+        }, h("div", {
+          class: "action-sheet-button"
+        }, option.title));
+      })));
+    }
+  }], [{
+    key: "is",
+    get: function get() {
+      return "pwa-action-sheet";
+    }
+  }, {
+    key: "encapsulation",
+    get: function get() {
+      return "shadow";
+    }
+  }, {
+    key: "originalStyleUrls",
+    get: function get() {
+      return {
+        "$": ["action-sheet.css"]
+      };
+    }
+  }, {
+    key: "styleUrls",
+    get: function get() {
+      return {
+        "$": ["action-sheet.css"]
+      };
+    }
+  }, {
+    key: "properties",
+    get: function get() {
+      return {
+        "header": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "header",
+          "reflect": false
         },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+        "cancelable": {
+          "type": "boolean",
+          "mutable": false,
+          "complexType": {
+            "original": "boolean",
+            "resolved": "boolean",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "cancelable",
+          "reflect": false,
+          "defaultValue": "true"
         },
-        "defaultValue": "[]"
-      }
-    };
-  }
-  static get states() {
-    return {
-      "open": {}
-    };
-  }
-  static get events() {
-    return [{
+        "options": {
+          "type": "unknown",
+          "mutable": false,
+          "complexType": {
+            "original": "ActionSheetOption[]",
+            "resolved": "ActionSheetOption[]",
+            "references": {
+              "ActionSheetOption": {
+                "location": "import",
+                "path": "../../definitions"
+              }
+            }
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "defaultValue": "[]"
+        }
+      };
+    }
+  }, {
+    key: "states",
+    get: function get() {
+      return {
+        "open": {}
+      };
+    }
+  }, {
+    key: "events",
+    get: function get() {
+      return [{
         "method": "onSelection",
         "name": "onSelection",
         "bubbles": true,
@@ -124,6 +179,11 @@ export class PWAActionSheet {
           "references": {}
         }
       }];
-  }
-  static get elementRef() { return "el"; }
-}
+    }
+  }, {
+    key: "elementRef",
+    get: function get() {
+      return "el";
+    }
+  }]);
+}();
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.js b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.js
index 6f0187a..e9388c8 100644
--- a/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.js
+++ b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal-instance.js
@@ -1,123 +1,201 @@
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { h } from '@stencil/core';
-export class PWACameraModal {
-  constructor() {
-    this.handlePhoto = async (photo) => {
-      this.onPhoto.emit(photo);
-    };
-    this.handleNoDeviceError = async (photo) => {
-      this.noDeviceError.emit(photo);
-    };
+export var PWACameraModal = /*#__PURE__*/function () {
+  function PWACameraModal() {
+    var _this = this;
+    _classCallCheck(this, PWACameraModal);
+    this.handlePhoto = /*#__PURE__*/function () {
+      var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(photo) {
+        return _regeneratorRuntime().wrap(function _callee$(_context) {
+          while (1) switch (_context.prev = _context.next) {
+            case 0:
+              _this.onPhoto.emit(photo);
+            case 1:
+            case "end":
+              return _context.stop();
+          }
+        }, _callee);
+      }));
+      return function (_x) {
+        return _ref.apply(this, arguments);
+      };
+    }();
+    this.handleNoDeviceError = /*#__PURE__*/function () {
+      var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(photo) {
+        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+          while (1) switch (_context2.prev = _context2.next) {
+            case 0:
+              _this.noDeviceError.emit(photo);
+            case 1:
+            case "end":
+              return _context2.stop();
+          }
+        }, _callee2);
+      }));
+      return function (_x2) {
+        return _ref2.apply(this, arguments);
+      };
+    }();
     this.facingMode = 'user';
     this.hidePicker = false;
     this.noDevicesText = 'No camera found';
     this.noDevicesButtonText = 'Choose image';
   }
-  handleBackdropClick(e) {
-    if (e.target !== this.el) {
-      this.onPhoto.emit(null);
+  return _createClass(PWACameraModal, [{
+    key: "handleBackdropClick",
+    value: function handleBackdropClick(e) {
+      if (e.target !== this.el) {
+        this.onPhoto.emit(null);
+      }
     }
-  }
-  handleComponentClick(e) {
-    e.stopPropagation();
-  }
-  handleBackdropKeyUp(e) {
-    if (e.key === "Escape") {
-      this.onPhoto.emit(null);
+  }, {
+    key: "handleComponentClick",
+    value: function handleComponentClick(e) {
+      e.stopPropagation();
     }
-  }
-  render() {
-    return (h("div", { class: "wrapper", onClick: e => this.handleBackdropClick(e) }, h("div", { class: "content" }, h("pwa-camera", { onClick: e => this.handleComponentClick(e), facingMode: this.facingMode, hidePicker: this.hidePicker, handlePhoto: this.handlePhoto, handleNoDeviceError: this.handleNoDeviceError, noDevicesButtonText: this.noDevicesButtonText, noDevicesText: this.noDevicesText }))));
-  }
-  static get is() { return "pwa-camera-modal-instance"; }
-  static get encapsulation() { return "shadow"; }
-  static get originalStyleUrls() {
-    return {
-      "$": ["camera-modal-instance.css"]
-    };
-  }
-  static get styleUrls() {
-    return {
-      "$": ["camera-modal-instance.css"]
-    };
-  }
-  static get properties() {
-    return {
-      "facingMode": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
-        },
-        "attribute": "facing-mode",
-        "reflect": false,
-        "defaultValue": "'user'"
-      },
-      "hidePicker": {
-        "type": "boolean",
-        "mutable": false,
-        "complexType": {
-          "original": "boolean",
-          "resolved": "boolean",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
-        },
-        "attribute": "hide-picker",
-        "reflect": false,
-        "defaultValue": "false"
-      },
-      "noDevicesText": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
+  }, {
+    key: "handleBackdropKeyUp",
+    value: function handleBackdropKeyUp(e) {
+      if (e.key === "Escape") {
+        this.onPhoto.emit(null);
+      }
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this2 = this;
+      return h("div", {
+        class: "wrapper",
+        onClick: function onClick(e) {
+          return _this2.handleBackdropClick(e);
+        }
+      }, h("div", {
+        class: "content"
+      }, h("pwa-camera", {
+        onClick: function onClick(e) {
+          return _this2.handleComponentClick(e);
         },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+        facingMode: this.facingMode,
+        hidePicker: this.hidePicker,
+        handlePhoto: this.handlePhoto,
+        handleNoDeviceError: this.handleNoDeviceError,
+        noDevicesButtonText: this.noDevicesButtonText,
+        noDevicesText: this.noDevicesText
+      })));
+    }
+  }], [{
+    key: "is",
+    get: function get() {
+      return "pwa-camera-modal-instance";
+    }
+  }, {
+    key: "encapsulation",
+    get: function get() {
+      return "shadow";
+    }
+  }, {
+    key: "originalStyleUrls",
+    get: function get() {
+      return {
+        "$": ["camera-modal-instance.css"]
+      };
+    }
+  }, {
+    key: "styleUrls",
+    get: function get() {
+      return {
+        "$": ["camera-modal-instance.css"]
+      };
+    }
+  }, {
+    key: "properties",
+    get: function get() {
+      return {
+        "facingMode": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "facing-mode",
+          "reflect": false,
+          "defaultValue": "'user'"
         },
-        "attribute": "no-devices-text",
-        "reflect": false,
-        "defaultValue": "'No camera found'"
-      },
-      "noDevicesButtonText": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
+        "hidePicker": {
+          "type": "boolean",
+          "mutable": false,
+          "complexType": {
+            "original": "boolean",
+            "resolved": "boolean",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "hide-picker",
+          "reflect": false,
+          "defaultValue": "false"
         },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+        "noDevicesText": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "no-devices-text",
+          "reflect": false,
+          "defaultValue": "'No camera found'"
         },
-        "attribute": "no-devices-button-text",
-        "reflect": false,
-        "defaultValue": "'Choose image'"
-      }
-    };
-  }
-  static get events() {
-    return [{
+        "noDevicesButtonText": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "no-devices-button-text",
+          "reflect": false,
+          "defaultValue": "'Choose image'"
+        }
+      };
+    }
+  }, {
+    key: "events",
+    get: function get() {
+      return [{
         "method": "onPhoto",
         "name": "onPhoto",
         "bubbles": true,
@@ -148,15 +226,22 @@ export class PWACameraModal {
           "references": {}
         }
       }];
-  }
-  static get elementRef() { return "el"; }
-  static get listeners() {
-    return [{
+    }
+  }, {
+    key: "elementRef",
+    get: function get() {
+      return "el";
+    }
+  }, {
+    key: "listeners",
+    get: function get() {
+      return [{
         "name": "keyup",
         "method": "handleBackdropKeyUp",
         "target": "body",
         "capture": false,
         "passive": false
       }];
-  }
-}
+    }
+  }]);
+}();
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.js b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.js
index 3326ee3..74ab3df 100644
--- a/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.js
+++ b/src/public/js/pwa-elements/collection/components/camera-modal/camera-modal.js
@@ -1,90 +1,184 @@
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { h } from '@stencil/core';
-export class PWACameraModal {
-  constructor() {
+export var PWACameraModal = /*#__PURE__*/function () {
+  function PWACameraModal() {
+    _classCallCheck(this, PWACameraModal);
     this.facingMode = 'user';
     this.hidePicker = false;
   }
-  async present() {
-    const camera = document.createElement('pwa-camera-modal-instance');
-    camera.facingMode = this.facingMode;
-    camera.hidePicker = this.hidePicker;
-    camera.addEventListener('onPhoto', async (e) => {
-      if (!this._modal) {
-        return;
+  return _createClass(PWACameraModal, [{
+    key: "present",
+    value: function () {
+      var _present = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
+        var _this = this;
+        var camera;
+        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
+          while (1) switch (_context3.prev = _context3.next) {
+            case 0:
+              camera = document.createElement('pwa-camera-modal-instance');
+              camera.facingMode = this.facingMode;
+              camera.hidePicker = this.hidePicker;
+              camera.addEventListener('onPhoto', /*#__PURE__*/function () {
+                var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
+                  var photo;
+                  return _regeneratorRuntime().wrap(function _callee$(_context) {
+                    while (1) switch (_context.prev = _context.next) {
+                      case 0:
+                        if (_this._modal) {
+                          _context.next = 2;
+                          break;
+                        }
+                        return _context.abrupt("return");
+                      case 2:
+                        photo = e.detail;
+                        _this.onPhoto.emit(photo);
+                      case 4:
+                      case "end":
+                        return _context.stop();
+                    }
+                  }, _callee);
+                }));
+                return function (_x) {
+                  return _ref.apply(this, arguments);
+                };
+              }());
+              camera.addEventListener('noDeviceError', /*#__PURE__*/function () {
+                var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e) {
+                  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+                    while (1) switch (_context2.prev = _context2.next) {
+                      case 0:
+                        _this.noDeviceError.emit(e);
+                      case 1:
+                      case "end":
+                        return _context2.stop();
+                    }
+                  }, _callee2);
+                }));
+                return function (_x2) {
+                  return _ref2.apply(this, arguments);
+                };
+              }());
+              document.body.append(camera);
+              this._modal = camera;
+            case 7:
+            case "end":
+              return _context3.stop();
+          }
+        }, _callee3, this);
+      }));
+      function present() {
+        return _present.apply(this, arguments);
       }
-      const photo = e.detail;
-      this.onPhoto.emit(photo);
-    });
-    camera.addEventListener('noDeviceError', async (e) => {
-      this.noDeviceError.emit(e);
-    });
-    document.body.append(camera);
-    this._modal = camera;
-  }
-  async dismiss() {
-    if (!this._modal) {
-      return;
+      return present;
+    }()
+  }, {
+    key: "dismiss",
+    value: function () {
+      var _dismiss = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
+        return _regeneratorRuntime().wrap(function _callee4$(_context4) {
+          while (1) switch (_context4.prev = _context4.next) {
+            case 0:
+              if (this._modal) {
+                _context4.next = 2;
+                break;
+              }
+              return _context4.abrupt("return");
+            case 2:
+              this._modal && this._modal.parentNode.removeChild(this._modal);
+              this._modal = null;
+            case 4:
+            case "end":
+              return _context4.stop();
+          }
+        }, _callee4, this);
+      }));
+      function dismiss() {
+        return _dismiss.apply(this, arguments);
+      }
+      return dismiss;
+    }()
+  }, {
+    key: "render",
+    value: function render() {
+      return h("div", null);
     }
-    this._modal && this._modal.parentNode.removeChild(this._modal);
-    this._modal = null;
-  }
-  render() {
-    return (h("div", null));
-  }
-  static get is() { return "pwa-camera-modal"; }
-  static get encapsulation() { return "shadow"; }
-  static get originalStyleUrls() {
-    return {
-      "$": ["camera-modal.css"]
-    };
-  }
-  static get styleUrls() {
-    return {
-      "$": ["camera-modal.css"]
-    };
-  }
-  static get properties() {
-    return {
-      "facingMode": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
-        },
-        "attribute": "facing-mode",
-        "reflect": false,
-        "defaultValue": "'user'"
-      },
-      "hidePicker": {
-        "type": "boolean",
-        "mutable": false,
-        "complexType": {
-          "original": "boolean",
-          "resolved": "boolean",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+  }], [{
+    key: "is",
+    get: function get() {
+      return "pwa-camera-modal";
+    }
+  }, {
+    key: "encapsulation",
+    get: function get() {
+      return "shadow";
+    }
+  }, {
+    key: "originalStyleUrls",
+    get: function get() {
+      return {
+        "$": ["camera-modal.css"]
+      };
+    }
+  }, {
+    key: "styleUrls",
+    get: function get() {
+      return {
+        "$": ["camera-modal.css"]
+      };
+    }
+  }, {
+    key: "properties",
+    get: function get() {
+      return {
+        "facingMode": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "facing-mode",
+          "reflect": false,
+          "defaultValue": "'user'"
         },
-        "attribute": "hide-picker",
-        "reflect": false,
-        "defaultValue": "false"
-      }
-    };
-  }
-  static get events() {
-    return [{
+        "hidePicker": {
+          "type": "boolean",
+          "mutable": false,
+          "complexType": {
+            "original": "boolean",
+            "resolved": "boolean",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "hide-picker",
+          "reflect": false,
+          "defaultValue": "false"
+        }
+      };
+    }
+  }, {
+    key: "events",
+    get: function get() {
+      return [{
         "method": "onPhoto",
         "name": "onPhoto",
         "bubbles": true,
@@ -115,41 +209,44 @@ export class PWACameraModal {
           "references": {}
         }
       }];
-  }
-  static get methods() {
-    return {
-      "present": {
-        "complexType": {
-          "signature": "() => Promise<void>",
-          "parameters": [],
-          "references": {
-            "Promise": {
-              "location": "global"
-            }
+    }
+  }, {
+    key: "methods",
+    get: function get() {
+      return {
+        "present": {
+          "complexType": {
+            "signature": "() => Promise<void>",
+            "parameters": [],
+            "references": {
+              "Promise": {
+                "location": "global"
+              }
+            },
+            "return": "Promise<void>"
           },
-          "return": "Promise<void>"
+          "docs": {
+            "text": "",
+            "tags": []
+          }
         },
-        "docs": {
-          "text": "",
-          "tags": []
-        }
-      },
-      "dismiss": {
-        "complexType": {
-          "signature": "() => Promise<void>",
-          "parameters": [],
-          "references": {
-            "Promise": {
-              "location": "global"
-            }
+        "dismiss": {
+          "complexType": {
+            "signature": "() => Promise<void>",
+            "parameters": [],
+            "references": {
+              "Promise": {
+                "location": "global"
+              }
+            },
+            "return": "Promise<void>"
           },
-          "return": "Promise<void>"
-        },
-        "docs": {
-          "text": "",
-          "tags": []
+          "docs": {
+            "text": "",
+            "tags": []
+          }
         }
-      }
-    };
-  }
-}
+      };
+    }
+  }]);
+}();
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/components/camera/camera.js b/src/public/js/pwa-elements/collection/components/camera/camera.js
index d94b830..9541891 100644
--- a/src/public/js/pwa-elements/collection/components/camera/camera.js
+++ b/src/public/js/pwa-elements/collection/components/camera/camera.js
@@ -1,7 +1,17 @@
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { h, Build, forceUpdate } from '@stencil/core';
 import './imagecapture';
-export class CameraPWA {
-  constructor() {
+export var CameraPWA = /*#__PURE__*/function () {
+  function CameraPWA() {
+    var _this = this;
+    _classCallCheck(this, CameraPWA);
     // Whether the device has multiple cameras (front/back)
     this.hasMultipleCameras = false;
     // Whether the device has flash support
@@ -10,53 +20,71 @@ export class CameraPWA {
     this.flashModes = [];
     // Current flash mode
     this.flashMode = 'off';
-    this.handlePickFile = (_e) => {
-    };
-    this.handleShutterClick = (_e) => {
+    this.handlePickFile = function (_e) {};
+    this.handleShutterClick = function (_e) {
       console.debug('shutter click');
-      this.capture();
+      _this.capture();
     };
-    this.handleRotateClick = (_e) => {
-      this.rotate();
+    this.handleRotateClick = function (_e) {
+      _this.rotate();
     };
-    this.handleClose = (_e) => {
-      this.handlePhoto && this.handlePhoto(null);
+    this.handleClose = function (_e) {
+      _this.handlePhoto && _this.handlePhoto(null);
     };
-    this.handleFlashClick = (_e) => {
-      this.cycleFlash();
+    this.handleFlashClick = function (_e) {
+      _this.cycleFlash();
     };
-    this.handleCancelPhoto = (_e) => {
-      const track = this.stream && this.stream.getTracks()[0];
-      let c = track && track.getConstraints();
-      this.photo = null;
-      this.photoSrc = null;
+    this.handleCancelPhoto = function (_e) {
+      var track = _this.stream && _this.stream.getTracks()[0];
+      var c = track && track.getConstraints();
+      _this.photo = null;
+      _this.photoSrc = null;
       if (c) {
-        this.initCamera({
+        _this.initCamera({
           video: {
             facingMode: c.facingMode
           }
         });
+      } else {
+        _this.initCamera();
       }
-      else {
-        this.initCamera();
-      }
-    };
-    this.handleAcceptPhoto = (_e) => {
-      this.handlePhoto && this.handlePhoto(this.photo);
     };
-    this.handleFileInputChange = async (e) => {
-      const input = e.target;
-      const file = input.files[0];
-      try {
-        const orientation = await this.getOrientation(file);
-        console.debug('Got orientation', orientation);
-        this.photoOrientation = orientation;
-      }
-      catch (e) {
-      }
-      this.handlePhoto && this.handlePhoto(file);
+    this.handleAcceptPhoto = function (_e) {
+      _this.handlePhoto && _this.handlePhoto(_this.photo);
     };
-    this.handleVideoMetadata = (e) => {
+    this.handleFileInputChange = /*#__PURE__*/function () {
+      var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
+        var input, file, orientation;
+        return _regeneratorRuntime().wrap(function _callee$(_context) {
+          while (1) switch (_context.prev = _context.next) {
+            case 0:
+              input = e.target;
+              file = input.files[0];
+              _context.prev = 2;
+              _context.next = 5;
+              return _this.getOrientation(file);
+            case 5:
+              orientation = _context.sent;
+              console.debug('Got orientation', orientation);
+              _this.photoOrientation = orientation;
+              _context.next = 12;
+              break;
+            case 10:
+              _context.prev = 10;
+              _context.t0 = _context["catch"](2);
+            case 12:
+              _this.handlePhoto && _this.handlePhoto(file);
+            case 13:
+            case "end":
+              return _context.stop();
+          }
+        }, _callee, null, [[2, 10]]);
+      }));
+      return function (_x) {
+        return _ref.apply(this, arguments);
+      };
+    }();
+    this.handleVideoMetadata = function (e) {
       console.debug('Video metadata', e);
     };
     this.facingMode = 'user';
@@ -73,383 +101,726 @@ export class CameraPWA {
     this.rotation = 0;
     this.deviceError = null;
   }
-  async componentDidLoad() {
-    if (Build.isServer) {
-      return;
-    }
-    this.defaultConstraints = {
-      video: {
-        facingMode: this.facingMode
+  return _createClass(CameraPWA, [{
+    key: "componentDidLoad",
+    value: function () {
+      var _componentDidLoad = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
+        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+          while (1) switch (_context2.prev = _context2.next) {
+            case 0:
+              if (!Build.isServer) {
+                _context2.next = 2;
+                break;
+              }
+              return _context2.abrupt("return");
+            case 2:
+              this.defaultConstraints = {
+                video: {
+                  facingMode: this.facingMode
+                }
+              };
+              // Figure out how many cameras we have
+              _context2.next = 5;
+              return this.queryDevices();
+            case 5:
+              _context2.next = 7;
+              return this.initCamera();
+            case 7:
+            case "end":
+              return _context2.stop();
+          }
+        }, _callee2, this);
+      }));
+      function componentDidLoad() {
+        return _componentDidLoad.apply(this, arguments);
       }
-    };
-    // Figure out how many cameras we have
-    await this.queryDevices();
-    // Initialize the camera
-    await this.initCamera();
-  }
-  disconnectedCallback() {
-    this.stopStream();
-    this.photoSrc && URL.revokeObjectURL(this.photoSrc);
-  }
-  hasImageCapture() {
-    return 'ImageCapture' in window;
-  }
-  /**
-   * Query the list of connected devices and figure out how many video inputs we have.
-   */
-  async queryDevices() {
-    try {
-      const devices = await navigator.mediaDevices.enumerateDevices();
-      const videoDevices = devices.filter(d => d.kind == 'videoinput');
-      this.hasCamera = !!videoDevices.length;
-      this.hasMultipleCameras = videoDevices.length > 1;
+      return componentDidLoad;
+    }()
+  }, {
+    key: "disconnectedCallback",
+    value: function disconnectedCallback() {
+      this.stopStream();
+      this.photoSrc && URL.revokeObjectURL(this.photoSrc);
     }
-    catch (e) {
-      this.deviceError = e;
+  }, {
+    key: "hasImageCapture",
+    value: function hasImageCapture() {
+      return 'ImageCapture' in window;
     }
-  }
-  async initCamera(constraints) {
-    if (!constraints) {
-      constraints = this.defaultConstraints;
-    }
-    try {
-      const stream = await navigator.mediaDevices.getUserMedia(Object.assign({ video: true, audio: false }, constraints));
-      this.initStream(stream);
-    }
-    catch (e) {
-      this.deviceError = e;
-      this.handleNoDeviceError && this.handleNoDeviceError(e);
-    }
-  }
-  async initStream(stream) {
-    this.stream = stream;
-    this.videoElement.srcObject = stream;
-    if (this.hasImageCapture()) {
-      this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
-      await this.initPhotoCapabilities(this.imageCapture);
-    }
-    else {
-      this.deviceError = 'No image capture';
-      this.handleNoDeviceError && this.handleNoDeviceError();
-    }
-    // Always re-render
-    forceUpdate(this.el);
-  }
-  async initPhotoCapabilities(imageCapture) {
-    const c = await imageCapture.getPhotoCapabilities();
-    if (c.fillLightMode && c.fillLightMode.length > 1) {
-      this.flashModes = c.fillLightMode.map(m => m);
-      // Try to recall the current flash mode
-      if (this.flashMode) {
-        this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
-        this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+    /**
+     * Query the list of connected devices and figure out how many video inputs we have.
+     */
+  }, {
+    key: "queryDevices",
+    value: (function () {
+      var _queryDevices = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
+        var devices, videoDevices;
+        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
+          while (1) switch (_context3.prev = _context3.next) {
+            case 0:
+              _context3.prev = 0;
+              _context3.next = 3;
+              return navigator.mediaDevices.enumerateDevices();
+            case 3:
+              devices = _context3.sent;
+              videoDevices = devices.filter(function (d) {
+                return d.kind == 'videoinput';
+              });
+              this.hasCamera = !!videoDevices.length;
+              this.hasMultipleCameras = videoDevices.length > 1;
+              _context3.next = 12;
+              break;
+            case 9:
+              _context3.prev = 9;
+              _context3.t0 = _context3["catch"](0);
+              this.deviceError = _context3.t0;
+            case 12:
+            case "end":
+              return _context3.stop();
+          }
+        }, _callee3, this, [[0, 9]]);
+      }));
+      function queryDevices() {
+        return _queryDevices.apply(this, arguments);
       }
-      else {
-        this.flashIndex = 0;
+      return queryDevices;
+    }())
+  }, {
+    key: "initCamera",
+    value: function () {
+      var _initCamera = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(constraints) {
+        var stream;
+        return _regeneratorRuntime().wrap(function _callee4$(_context4) {
+          while (1) switch (_context4.prev = _context4.next) {
+            case 0:
+              if (!constraints) {
+                constraints = this.defaultConstraints;
+              }
+              _context4.prev = 1;
+              _context4.next = 4;
+              return navigator.mediaDevices.getUserMedia(Object.assign({
+                video: true,
+                audio: false
+              }, constraints));
+            case 4:
+              stream = _context4.sent;
+              this.initStream(stream);
+              _context4.next = 12;
+              break;
+            case 8:
+              _context4.prev = 8;
+              _context4.t0 = _context4["catch"](1);
+              this.deviceError = _context4.t0;
+              this.handleNoDeviceError && this.handleNoDeviceError(_context4.t0);
+            case 12:
+            case "end":
+              return _context4.stop();
+          }
+        }, _callee4, this, [[1, 8]]);
+      }));
+      function initCamera(_x2) {
+        return _initCamera.apply(this, arguments);
       }
-    }
-  }
-  stopStream() {
-    if (this.videoElement) {
-      this.videoElement.srcObject = null;
-    }
-    this.stream && this.stream.getTracks().forEach(track => track.stop());
-  }
-  async capture() {
-    if (this.hasImageCapture()) {
-      try {
-        const photo = await this.imageCapture.takePhoto({
-          fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
-        });
-        await this.flashScreen();
-        this.promptAccept(photo);
+      return initCamera;
+    }()
+  }, {
+    key: "initStream",
+    value: function () {
+      var _initStream = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(stream) {
+        return _regeneratorRuntime().wrap(function _callee5$(_context5) {
+          while (1) switch (_context5.prev = _context5.next) {
+            case 0:
+              this.stream = stream;
+              this.videoElement.srcObject = stream;
+              if (!this.hasImageCapture()) {
+                _context5.next = 8;
+                break;
+              }
+              this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
+              _context5.next = 6;
+              return this.initPhotoCapabilities(this.imageCapture);
+            case 6:
+              _context5.next = 10;
+              break;
+            case 8:
+              this.deviceError = 'No image capture';
+              this.handleNoDeviceError && this.handleNoDeviceError();
+            case 10:
+              // Always re-render
+              forceUpdate(this.el);
+            case 11:
+            case "end":
+              return _context5.stop();
+          }
+        }, _callee5, this);
+      }));
+      function initStream(_x3) {
+        return _initStream.apply(this, arguments);
       }
-      catch (e) {
-        console.error('Unable to take photo!', e);
+      return initStream;
+    }()
+  }, {
+    key: "initPhotoCapabilities",
+    value: function () {
+      var _initPhotoCapabilities = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(imageCapture) {
+        var c;
+        return _regeneratorRuntime().wrap(function _callee6$(_context6) {
+          while (1) switch (_context6.prev = _context6.next) {
+            case 0:
+              _context6.next = 2;
+              return imageCapture.getPhotoCapabilities();
+            case 2:
+              c = _context6.sent;
+              if (c.fillLightMode && c.fillLightMode.length > 1) {
+                this.flashModes = c.fillLightMode.map(function (m) {
+                  return m;
+                });
+                // Try to recall the current flash mode
+                if (this.flashMode) {
+                  this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
+                  this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+                } else {
+                  this.flashIndex = 0;
+                }
+              }
+            case 4:
+            case "end":
+              return _context6.stop();
+          }
+        }, _callee6, this);
+      }));
+      function initPhotoCapabilities(_x4) {
+        return _initPhotoCapabilities.apply(this, arguments);
       }
-    }
-    this.stopStream();
-  }
-  async promptAccept(photo) {
-    this.photo = photo;
-    const orientation = await this.getOrientation(photo);
-    console.debug('Got orientation', orientation);
-    this.photoOrientation = orientation;
-    if (orientation) {
-      switch (orientation) {
-        case 1:
-        case 2:
-          this.rotation = 0;
-          break;
-        case 3:
-        case 4:
-          this.rotation = 180;
-          break;
-        case 5:
-        case 6:
-          this.rotation = 90;
-          break;
-        case 7:
-        case 8:
-          this.rotation = 270;
-          break;
+      return initPhotoCapabilities;
+    }()
+  }, {
+    key: "stopStream",
+    value: function stopStream() {
+      if (this.videoElement) {
+        this.videoElement.srcObject = null;
       }
+      this.stream && this.stream.getTracks().forEach(function (track) {
+        return track.stop();
+      });
     }
-    this.photoSrc = URL.createObjectURL(photo);
-  }
-  getOrientation(file) {
-    return new Promise(resolve => {
-      const reader = new FileReader();
-      reader.onload = (event) => {
-        const view = new DataView(event.target.result);
-        if (view.getUint16(0, false) !== 0xFFD8) {
-          return resolve(-2);
-        }
-        const length = view.byteLength;
-        let offset = 2;
-        while (offset < length) {
-          const marker = view.getUint16(offset, false);
-          offset += 2;
-          if (marker === 0xFFE1) {
-            if (view.getUint32(offset += 2, false) !== 0x45786966) {
-              return resolve(-1);
-            }
-            const little = view.getUint16(offset += 6, false) === 0x4949;
-            offset += view.getUint32(offset + 4, little);
-            const tags = view.getUint16(offset, little);
+  }, {
+    key: "capture",
+    value: function () {
+      var _capture = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
+        var photo;
+        return _regeneratorRuntime().wrap(function _callee7$(_context7) {
+          while (1) switch (_context7.prev = _context7.next) {
+            case 0:
+              if (!this.hasImageCapture()) {
+                _context7.next = 13;
+                break;
+              }
+              _context7.prev = 1;
+              _context7.next = 4;
+              return this.imageCapture.takePhoto({
+                fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
+              });
+            case 4:
+              photo = _context7.sent;
+              _context7.next = 7;
+              return this.flashScreen();
+            case 7:
+              this.promptAccept(photo);
+              _context7.next = 13;
+              break;
+            case 10:
+              _context7.prev = 10;
+              _context7.t0 = _context7["catch"](1);
+              console.error('Unable to take photo!', _context7.t0);
+            case 13:
+              this.stopStream();
+            case 14:
+            case "end":
+              return _context7.stop();
+          }
+        }, _callee7, this, [[1, 10]]);
+      }));
+      function capture() {
+        return _capture.apply(this, arguments);
+      }
+      return capture;
+    }()
+  }, {
+    key: "promptAccept",
+    value: function () {
+      var _promptAccept = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(photo) {
+        var orientation;
+        return _regeneratorRuntime().wrap(function _callee8$(_context8) {
+          while (1) switch (_context8.prev = _context8.next) {
+            case 0:
+              this.photo = photo;
+              _context8.next = 3;
+              return this.getOrientation(photo);
+            case 3:
+              orientation = _context8.sent;
+              console.debug('Got orientation', orientation);
+              this.photoOrientation = orientation;
+              if (!orientation) {
+                _context8.next = 18;
+                break;
+              }
+              _context8.t0 = orientation;
+              _context8.next = _context8.t0 === 1 ? 10 : _context8.t0 === 2 ? 10 : _context8.t0 === 3 ? 12 : _context8.t0 === 4 ? 12 : _context8.t0 === 5 ? 14 : _context8.t0 === 6 ? 14 : _context8.t0 === 7 ? 16 : _context8.t0 === 8 ? 16 : 18;
+              break;
+            case 10:
+              this.rotation = 0;
+              return _context8.abrupt("break", 18);
+            case 12:
+              this.rotation = 180;
+              return _context8.abrupt("break", 18);
+            case 14:
+              this.rotation = 90;
+              return _context8.abrupt("break", 18);
+            case 16:
+              this.rotation = 270;
+              return _context8.abrupt("break", 18);
+            case 18:
+              this.photoSrc = URL.createObjectURL(photo);
+            case 19:
+            case "end":
+              return _context8.stop();
+          }
+        }, _callee8, this);
+      }));
+      function promptAccept(_x5) {
+        return _promptAccept.apply(this, arguments);
+      }
+      return promptAccept;
+    }()
+  }, {
+    key: "getOrientation",
+    value: function getOrientation(file) {
+      return new Promise(function (resolve) {
+        var reader = new FileReader();
+        reader.onload = function (event) {
+          var view = new DataView(event.target.result);
+          if (view.getUint16(0, false) !== 0xFFD8) {
+            return resolve(-2);
+          }
+          var length = view.byteLength;
+          var offset = 2;
+          while (offset < length) {
+            var marker = view.getUint16(offset, false);
             offset += 2;
-            for (let i = 0; i < tags; i++) {
-              if (view.getUint16(offset + (i * 12), little) === 0x0112) {
-                return resolve(view.getUint16(offset + (i * 12) + 8, little));
+            if (marker === 0xFFE1) {
+              if (view.getUint32(offset += 2, false) !== 0x45786966) {
+                return resolve(-1);
+              }
+              var little = view.getUint16(offset += 6, false) === 0x4949;
+              offset += view.getUint32(offset + 4, little);
+              var tags = view.getUint16(offset, little);
+              offset += 2;
+              for (var i = 0; i < tags; i++) {
+                if (view.getUint16(offset + i * 12, little) === 0x0112) {
+                  return resolve(view.getUint16(offset + i * 12 + 8, little));
+                }
               }
+            } else if ((marker & 0xFF00) !== 0xFF00) {
+              break;
+            } else {
+              offset += view.getUint16(offset, false);
             }
           }
-          else if ((marker & 0xFF00) !== 0xFF00) {
-            break;
+          return resolve(-1);
+        };
+        reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
+      });
+    }
+  }, {
+    key: "rotate",
+    value: function rotate() {
+      this.stopStream();
+      var track = this.stream && this.stream.getTracks()[0];
+      if (!track) {
+        return;
+      }
+      var c = track.getConstraints();
+      var facingMode = c.facingMode;
+      if (!facingMode) {
+        var _c = track.getCapabilities();
+        if (_c.facingMode) {
+          facingMode = _c.facingMode[0];
+        }
+      }
+      if (facingMode === 'environment') {
+        this.initCamera({
+          video: {
+            facingMode: 'user'
           }
-          else {
-            offset += view.getUint16(offset, false);
+        });
+      } else {
+        this.initCamera({
+          video: {
+            facingMode: 'environment'
           }
-        }
-        return resolve(-1);
-      };
-      reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
-    });
-  }
-  rotate() {
-    this.stopStream();
-    const track = this.stream && this.stream.getTracks()[0];
-    if (!track) {
-      return;
+        });
+      }
     }
-    let c = track.getConstraints();
-    let facingMode = c.facingMode;
-    if (!facingMode) {
-      let c = track.getCapabilities();
-      if (c.facingMode) {
-        facingMode = c.facingMode[0];
+  }, {
+    key: "setFlashMode",
+    value: function setFlashMode(mode) {
+      console.debug('New flash mode: ', mode);
+      this.flashMode = mode;
+    }
+  }, {
+    key: "cycleFlash",
+    value: function cycleFlash() {
+      if (this.flashModes.length > 0) {
+        this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
+        this.setFlashMode(this.flashModes[this.flashIndex]);
       }
     }
-    if (facingMode === 'environment') {
-      this.initCamera({
-        video: {
-          facingMode: 'user'
-        }
-      });
+  }, {
+    key: "flashScreen",
+    value: function () {
+      var _flashScreen = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
+        var _this2 = this;
+        return _regeneratorRuntime().wrap(function _callee9$(_context9) {
+          while (1) switch (_context9.prev = _context9.next) {
+            case 0:
+              return _context9.abrupt("return", new Promise(function (resolve, _reject) {
+                _this2.showShutterOverlay = true;
+                setTimeout(function () {
+                  _this2.showShutterOverlay = false;
+                  resolve();
+                }, 100);
+              }));
+            case 1:
+            case "end":
+              return _context9.stop();
+          }
+        }, _callee9);
+      }));
+      function flashScreen() {
+        return _flashScreen.apply(this, arguments);
+      }
+      return flashScreen;
+    }()
+  }, {
+    key: "iconExit",
+    value: function iconExit() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
     }
-    else {
-      this.initCamera({
-        video: {
-          facingMode: 'environment'
-        }
-      });
+  }, {
+    key: "iconPhotos",
+    value: function iconPhotos() {
+      return h("svg", {
+        xmlns: 'http://www.w3.org/2000/svg',
+        width: '512',
+        height: '512',
+        viewBox: '0 0 512 512'
+      }, h("path", {
+        d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z'
+      }), h("path", {
+        d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z'
+      }));
     }
-  }
-  setFlashMode(mode) {
-    console.debug('New flash mode: ', mode);
-    this.flashMode = mode;
-  }
-  cycleFlash() {
-    if (this.flashModes.length > 0) {
-      this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
-      this.setFlashMode(this.flashModes[this.flashIndex]);
+  }, {
+    key: "iconConfirm",
+    value: function iconConfirm() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
     }
-  }
-  async flashScreen() {
-    return new Promise((resolve, _reject) => {
-      this.showShutterOverlay = true;
-      setTimeout(() => {
-        this.showShutterOverlay = false;
-        resolve();
-      }, 100);
-    });
-  }
-  iconExit() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconPhotos() {
-    return (h("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '512', height: '512', viewBox: '0 0 512 512' }, h("path", { d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z' }), h("path", { d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z' })));
-  }
-  iconConfirm() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconReverseCamera() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconRetake() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconFlashOff() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconFlashOn() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E`;
-  }
-  iconFlashAuto() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  render() {
-    // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
-    const acceptStyles = {};
-    return (h("div", { class: "camera-wrapper" }, h("div", { class: "camera-header" }, h("section", { class: "items" }, h("div", { class: "item close", onClick: e => this.handleClose(e) }, h("img", { src: this.iconExit() })), h("div", { class: "item flash", onClick: e => this.handleFlashClick(e) }, this.flashModes.length > 0 && (h("div", null, this.flashMode == 'off' ? h("img", { src: this.iconFlashOff() }) : '', this.flashMode == 'auto' ? h("img", { src: this.iconFlashAuto() }) : '', this.flashMode == 'flash' ? h("img", { src: this.iconFlashOn() }) : ''))))), (this.hasCamera === false || !!this.deviceError) && (h("div", { class: "no-device" }, h("h2", null, this.noDevicesText), h("label", { htmlFor: "_pwa-elements-camera-input" }, this.noDevicesButtonText), h("input", { type: "file", id: "_pwa-elements-camera-input", onChange: this.handleFileInputChange, accept: "image/*", class: "select-file-button" }))), this.photoSrc ? (h("div", { class: "accept" }, h("div", { class: "accept-image", style: Object.assign({ backgroundImage: `url(${this.photoSrc})` }, acceptStyles) }))) : (h("div", { class: "camera-video" }, this.showShutterOverlay && (h("div", { class: "shutter-overlay" })), this.hasImageCapture() ? (h("video", { ref: (el) => this.videoElement = el, onLoadedMetaData: this.handleVideoMetadata, autoplay: true, playsinline: true })) : (h("canvas", { ref: (el) => this.canvasElement = el, width: "100%", height: "100%" })), h("canvas", { class: "offscreen-image-render", ref: e => this.offscreenCanvas = e, width: "100%", height: "100%" }))), this.hasCamera && (h("div", { class: "camera-footer" }, !this.photo ? ([
-      !this.hidePicker && (h("div", { class: "pick-image", onClick: this.handlePickFile }, h("label", { htmlFor: "_pwa-elements-file-pick" }, this.iconPhotos()), h("input", { type: "file", id: "_pwa-elements-file-pick", onChange: this.handleFileInputChange, accept: "image/*", class: "pick-image-button" }))),
-      h("div", { class: "shutter", onClick: this.handleShutterClick }, h("div", { class: "shutter-button" })),
-      h("div", { class: "rotate", onClick: this.handleRotateClick }, h("img", { src: this.iconReverseCamera() })),
-    ]) : (h("section", { class: "items" }, h("div", { class: "item accept-cancel", onClick: e => this.handleCancelPhoto(e) }, h("img", { src: this.iconRetake() })), h("div", { class: "item accept-use", onClick: e => this.handleAcceptPhoto(e) }, h("img", { src: this.iconConfirm() }))))))));
-  }
-  static get is() { return "pwa-camera"; }
-  static get encapsulation() { return "shadow"; }
-  static get originalStyleUrls() {
-    return {
-      "$": ["camera.css"]
-    };
-  }
-  static get styleUrls() {
-    return {
-      "$": ["camera.css"]
-    };
-  }
-  static get assetsDirs() { return ["icons"]; }
-  static get properties() {
-    return {
-      "facingMode": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
-        },
-        "attribute": "facing-mode",
-        "reflect": false,
-        "defaultValue": "'user'"
-      },
-      "handlePhoto": {
-        "type": "unknown",
-        "mutable": false,
-        "complexType": {
-          "original": "(photo: Blob) => void",
-          "resolved": "(photo: Blob) => void",
-          "references": {
-            "Blob": {
-              "location": "global"
-            }
-          }
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+  }, {
+    key: "iconReverseCamera",
+    value: function iconReverseCamera() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconRetake",
+    value: function iconRetake() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashOff",
+    value: function iconFlashOff() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashOn",
+    value: function iconFlashOn() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashAuto",
+    value: function iconFlashAuto() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this3 = this;
+      // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
+      var acceptStyles = {};
+      return h("div", {
+        class: "camera-wrapper"
+      }, h("div", {
+        class: "camera-header"
+      }, h("section", {
+        class: "items"
+      }, h("div", {
+        class: "item close",
+        onClick: function onClick(e) {
+          return _this3.handleClose(e);
+        }
+      }, h("img", {
+        src: this.iconExit()
+      })), h("div", {
+        class: "item flash",
+        onClick: function onClick(e) {
+          return _this3.handleFlashClick(e);
         }
-      },
-      "hidePicker": {
-        "type": "boolean",
-        "mutable": false,
-        "complexType": {
-          "original": "boolean",
-          "resolved": "boolean",
-          "references": {}
+      }, this.flashModes.length > 0 && h("div", null, this.flashMode == 'off' ? h("img", {
+        src: this.iconFlashOff()
+      }) : '', this.flashMode == 'auto' ? h("img", {
+        src: this.iconFlashAuto()
+      }) : '', this.flashMode == 'flash' ? h("img", {
+        src: this.iconFlashOn()
+      }) : '')))), (this.hasCamera === false || !!this.deviceError) && h("div", {
+        class: "no-device"
+      }, h("h2", null, this.noDevicesText), h("label", {
+        htmlFor: "_pwa-elements-camera-input"
+      }, this.noDevicesButtonText), h("input", {
+        type: "file",
+        id: "_pwa-elements-camera-input",
+        onChange: this.handleFileInputChange,
+        accept: "image/*",
+        class: "select-file-button"
+      })), this.photoSrc ? h("div", {
+        class: "accept"
+      }, h("div", {
+        class: "accept-image",
+        style: Object.assign({
+          backgroundImage: "url(".concat(this.photoSrc, ")")
+        }, acceptStyles)
+      })) : h("div", {
+        class: "camera-video"
+      }, this.showShutterOverlay && h("div", {
+        class: "shutter-overlay"
+      }), this.hasImageCapture() ? h("video", {
+        ref: function ref(el) {
+          return _this3.videoElement = el;
         },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+        onLoadedMetaData: this.handleVideoMetadata,
+        autoplay: true,
+        playsinline: true
+      }) : h("canvas", {
+        ref: function ref(el) {
+          return _this3.canvasElement = el;
         },
-        "attribute": "hide-picker",
-        "reflect": false,
-        "defaultValue": "false"
-      },
-      "handleNoDeviceError": {
-        "type": "unknown",
-        "mutable": false,
-        "complexType": {
-          "original": "(e?: any) => void",
-          "resolved": "(e?: any) => void",
-          "references": {}
+        width: "100%",
+        height: "100%"
+      }), h("canvas", {
+        class: "offscreen-image-render",
+        ref: function ref(e) {
+          return _this3.offscreenCanvas = e;
         },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+        width: "100%",
+        height: "100%"
+      })), this.hasCamera && h("div", {
+        class: "camera-footer"
+      }, !this.photo ? [!this.hidePicker && h("div", {
+        class: "pick-image",
+        onClick: this.handlePickFile
+      }, h("label", {
+        htmlFor: "_pwa-elements-file-pick"
+      }, this.iconPhotos()), h("input", {
+        type: "file",
+        id: "_pwa-elements-file-pick",
+        onChange: this.handleFileInputChange,
+        accept: "image/*",
+        class: "pick-image-button"
+      })), h("div", {
+        class: "shutter",
+        onClick: this.handleShutterClick
+      }, h("div", {
+        class: "shutter-button"
+      })), h("div", {
+        class: "rotate",
+        onClick: this.handleRotateClick
+      }, h("img", {
+        src: this.iconReverseCamera()
+      }))] : h("section", {
+        class: "items"
+      }, h("div", {
+        class: "item accept-cancel",
+        onClick: function onClick(e) {
+          return _this3.handleCancelPhoto(e);
         }
-      },
-      "noDevicesText": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
+      }, h("img", {
+        src: this.iconRetake()
+      })), h("div", {
+        class: "item accept-use",
+        onClick: function onClick(e) {
+          return _this3.handleAcceptPhoto(e);
+        }
+      }, h("img", {
+        src: this.iconConfirm()
+      })))));
+    }
+  }], [{
+    key: "is",
+    get: function get() {
+      return "pwa-camera";
+    }
+  }, {
+    key: "encapsulation",
+    get: function get() {
+      return "shadow";
+    }
+  }, {
+    key: "originalStyleUrls",
+    get: function get() {
+      return {
+        "$": ["camera.css"]
+      };
+    }
+  }, {
+    key: "styleUrls",
+    get: function get() {
+      return {
+        "$": ["camera.css"]
+      };
+    }
+  }, {
+    key: "assetsDirs",
+    get: function get() {
+      return ["icons"];
+    }
+  }, {
+    key: "properties",
+    get: function get() {
+      return {
+        "facingMode": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "facing-mode",
+          "reflect": false,
+          "defaultValue": "'user'"
         },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+        "handlePhoto": {
+          "type": "unknown",
+          "mutable": false,
+          "complexType": {
+            "original": "(photo: Blob) => void",
+            "resolved": "(photo: Blob) => void",
+            "references": {
+              "Blob": {
+                "location": "global"
+              }
+            }
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          }
         },
-        "attribute": "no-devices-text",
-        "reflect": false,
-        "defaultValue": "'No camera found'"
-      },
-      "noDevicesButtonText": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
+        "hidePicker": {
+          "type": "boolean",
+          "mutable": false,
+          "complexType": {
+            "original": "boolean",
+            "resolved": "boolean",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "hide-picker",
+          "reflect": false,
+          "defaultValue": "false"
         },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+        "handleNoDeviceError": {
+          "type": "unknown",
+          "mutable": false,
+          "complexType": {
+            "original": "(e?: any) => void",
+            "resolved": "(e?: any) => void",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          }
         },
-        "attribute": "no-devices-button-text",
-        "reflect": false,
-        "defaultValue": "'Choose image'"
-      }
-    };
-  }
-  static get states() {
-    return {
-      "photo": {},
-      "photoSrc": {},
-      "showShutterOverlay": {},
-      "flashIndex": {},
-      "hasCamera": {},
-      "rotation": {},
-      "deviceError": {}
-    };
-  }
-  static get elementRef() { return "el"; }
-}
+        "noDevicesText": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "no-devices-text",
+          "reflect": false,
+          "defaultValue": "'No camera found'"
+        },
+        "noDevicesButtonText": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "no-devices-button-text",
+          "reflect": false,
+          "defaultValue": "'Choose image'"
+        }
+      };
+    }
+  }, {
+    key: "states",
+    get: function get() {
+      return {
+        "photo": {},
+        "photoSrc": {},
+        "showShutterOverlay": {},
+        "flashIndex": {},
+        "hasCamera": {},
+        "rotation": {},
+        "deviceError": {}
+      };
+    }
+  }, {
+    key: "elementRef",
+    get: function get() {
+      return "el";
+    }
+  }]);
+}();
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/components/camera/imagecapture.js b/src/public/js/pwa-elements/collection/components/camera/imagecapture.js
index dfb6cba..1b2442e 100644
--- a/src/public/js/pwa-elements/collection/components/camera/imagecapture.js
+++ b/src/public/js/pwa-elements/collection/components/camera/imagecapture.js
@@ -1,3 +1,8 @@
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 /**
  * MediaStream ImageCapture polyfill
  *
@@ -16,17 +21,18 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-export let ImageCapture = window.ImageCapture;
+export var ImageCapture = window.ImageCapture;
 if (typeof ImageCapture === 'undefined') {
-  ImageCapture = class {
+  ImageCapture = /*#__PURE__*/function () {
     /**
      * TODO https://www.w3.org/TR/image-capture/#constructors
      *
      * @param {MediaStreamTrack} videoStreamTrack - A MediaStreamTrack of the 'video' kind
      */
-    constructor(videoStreamTrack) {
-      if (videoStreamTrack.kind !== 'video')
-        throw new DOMException('NotSupportedError');
+    function ImageCapture(videoStreamTrack) {
+      var _this = this;
+      _classCallCheck(this, ImageCapture);
+      if (videoStreamTrack.kind !== 'video') throw new DOMException('NotSupportedError');
       this._videoStreamTrack = videoStreamTrack;
       if (!('readyState' in this._videoStreamTrack)) {
         // Polyfill for Firefox
@@ -35,13 +41,12 @@ if (typeof ImageCapture === 'undefined') {
       // MediaStream constructor not available until Chrome 55 - https://www.chromestatus.com/feature/5912172546752512
       this._previewStream = new MediaStream([videoStreamTrack]);
       this.videoElement = document.createElement('video');
-      this.videoElementPlaying = new Promise(resolve => {
-        this.videoElement.addEventListener('playing', resolve);
+      this.videoElementPlaying = new Promise(function (resolve) {
+        _this.videoElement.addEventListener('playing', resolve);
       });
       if (HTMLMediaElement) {
         this.videoElement.srcObject = this._previewStream; // Safari 11 doesn't allow use of createObjectURL for MediaStream
-      }
-      else {
+      } else {
         this.videoElement.src = URL.createObjectURL(this._previewStream);
       }
       this.videoElement.muted = true;
@@ -55,101 +60,113 @@ if (typeof ImageCapture === 'undefined') {
      * https://w3c.github.io/mediacapture-image/index.html#dom-imagecapture-videostreamtrack
      * @return {MediaStreamTrack} The MediaStreamTrack passed into the constructor
      */
-    get videoStreamTrack() {
-      return this._videoStreamTrack;
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
-     * @return {Promise<PhotoCapabilities>} Fulfilled promise with
-     * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
-     * object on success, rejected promise on failure
-     */
-    getPhotoCapabilities() {
-      return new Promise(function executorGPC(resolve, reject) {
-        // TODO see https://github.com/w3c/mediacapture-image/issues/97
-        const MediaSettingsRange = {
-          current: 0, min: 0, max: 0,
-        };
-        resolve({
-          exposureCompensation: MediaSettingsRange,
-          exposureMode: 'none',
-          fillLightMode: ['none'],
-          focusMode: 'none',
-          imageHeight: MediaSettingsRange,
-          imageWidth: MediaSettingsRange,
-          iso: MediaSettingsRange,
-          redEyeReduction: false,
-          whiteBalanceMode: 'none',
-          zoom: MediaSettingsRange,
+    return _createClass(ImageCapture, [{
+      key: "videoStreamTrack",
+      get: function get() {
+        return this._videoStreamTrack;
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
+       * @return {Promise<PhotoCapabilities>} Fulfilled promise with
+       * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
+       * object on success, rejected promise on failure
+       */
+    }, {
+      key: "getPhotoCapabilities",
+      value: function getPhotoCapabilities() {
+        return new Promise(function executorGPC(resolve, reject) {
+          // TODO see https://github.com/w3c/mediacapture-image/issues/97
+          var MediaSettingsRange = {
+            current: 0,
+            min: 0,
+            max: 0
+          };
+          resolve({
+            exposureCompensation: MediaSettingsRange,
+            exposureMode: 'none',
+            fillLightMode: ['none'],
+            focusMode: 'none',
+            imageHeight: MediaSettingsRange,
+            imageWidth: MediaSettingsRange,
+            iso: MediaSettingsRange,
+            redEyeReduction: false,
+            whiteBalanceMode: 'none',
+            zoom: MediaSettingsRange
+          });
+          reject(new DOMException('OperationError'));
         });
-        reject(new DOMException('OperationError'));
-      });
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
-     * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
-     * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
-     */
-    setOptions(_photoSettings = {}) {
-      return new Promise(function executorSO(_resolve, _reject) {
-        // TODO
-      });
-    }
-    /**
-     * TODO
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
-     * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
-     * argument on success; rejected promise on failure
-     */
-    takePhoto() {
-      const self = this;
-      return new Promise(function executorTP(resolve, reject) {
-        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
-        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
-        if (self._videoStreamTrack.readyState !== 'live') {
-          return reject(new DOMException('InvalidStateError'));
-        }
-        self.videoElementPlaying.then(() => {
-          try {
-            self.canvasElement.width = self.videoElement.videoWidth;
-            self.canvasElement.height = self.videoElement.videoHeight;
-            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
-            self.canvasElement.toBlob(resolve);
-          }
-          catch (error) {
-            reject(new DOMException('UnknownError'));
-          }
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
+       * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
+       * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
+       */
+    }, {
+      key: "setOptions",
+      value: function setOptions() {
+        var _photoSettings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+        return new Promise(function executorSO(_resolve, _reject) {
+          // TODO
         });
-      });
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
-     * @return {Promise<ImageBitmap>} Fulfilled promise with
-     * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
-     * argument on success; rejected promise on failure
-     */
-    grabFrame() {
-      const self = this;
-      return new Promise(function executorGF(resolve, reject) {
-        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
-        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
-        if (self._videoStreamTrack.readyState !== 'live') {
-          return reject(new DOMException('InvalidStateError'));
-        }
-        self.videoElementPlaying.then(() => {
-          try {
-            self.canvasElement.width = self.videoElement.videoWidth;
-            self.canvasElement.height = self.videoElement.videoHeight;
-            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
-            // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
-            resolve(window.createImageBitmap(self.canvasElement));
+      }
+      /**
+       * TODO
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
+       * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
+       * argument on success; rejected promise on failure
+       */
+    }, {
+      key: "takePhoto",
+      value: function takePhoto() {
+        var self = this;
+        return new Promise(function executorTP(resolve, reject) {
+          // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+          // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+          if (self._videoStreamTrack.readyState !== 'live') {
+            return reject(new DOMException('InvalidStateError'));
           }
-          catch (error) {
-            reject(new DOMException('UnknownError'));
+          self.videoElementPlaying.then(function () {
+            try {
+              self.canvasElement.width = self.videoElement.videoWidth;
+              self.canvasElement.height = self.videoElement.videoHeight;
+              self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+              self.canvasElement.toBlob(resolve);
+            } catch (error) {
+              reject(new DOMException('UnknownError'));
+            }
+          });
+        });
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
+       * @return {Promise<ImageBitmap>} Fulfilled promise with
+       * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
+       * argument on success; rejected promise on failure
+       */
+    }, {
+      key: "grabFrame",
+      value: function grabFrame() {
+        var self = this;
+        return new Promise(function executorGF(resolve, reject) {
+          // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+          // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+          if (self._videoStreamTrack.readyState !== 'live') {
+            return reject(new DOMException('InvalidStateError'));
           }
+          self.videoElementPlaying.then(function () {
+            try {
+              self.canvasElement.width = self.videoElement.videoWidth;
+              self.canvasElement.height = self.videoElement.videoHeight;
+              self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+              // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
+              resolve(window.createImageBitmap(self.canvasElement));
+            } catch (error) {
+              reject(new DOMException('UnknownError'));
+            }
+          });
         });
-      });
-    }
-  };
+      }
+    }]);
+  }();
 }
-window.ImageCapture = ImageCapture;
+window.ImageCapture = ImageCapture;
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/components/toast/toast.js b/src/public/js/pwa-elements/collection/components/toast/toast.js
index 3dc57b7..168fe77 100644
--- a/src/public/js/pwa-elements/collection/components/toast/toast.js
+++ b/src/public/js/pwa-elements/collection/components/toast/toast.js
@@ -1,93 +1,134 @@
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { h } from '@stencil/core';
-export class PWAToast {
-  constructor() {
+export var PWAToast = /*#__PURE__*/function () {
+  function PWAToast() {
+    _classCallCheck(this, PWAToast);
     this.message = undefined;
     this.duration = 2000;
     this.closing = null;
   }
-  hostData() {
-    const classes = {
-      out: !!this.closing
-    };
-    if (this.closing !== null) {
-      classes['in'] = !this.closing;
+  return _createClass(PWAToast, [{
+    key: "hostData",
+    value: function hostData() {
+      var classes = {
+        out: !!this.closing
+      };
+      if (this.closing !== null) {
+        classes['in'] = !this.closing;
+      }
+      return {
+        class: classes
+      };
     }
-    return {
-      class: classes
-    };
-  }
-  componentDidLoad() {
-    setTimeout(() => {
-      this.closing = false;
-    });
-    setTimeout(() => {
-      this.close();
-    }, this.duration);
-  }
-  close() {
-    this.closing = true;
-    setTimeout(() => {
-      this.el.parentNode.removeChild(this.el);
-    }, 1000);
-  }
-  render() {
-    return (h("div", { class: "wrapper" }, h("div", { class: "toast" }, this.message)));
-  }
-  static get is() { return "pwa-toast"; }
-  static get encapsulation() { return "shadow"; }
-  static get originalStyleUrls() {
-    return {
-      "$": ["toast.css"]
-    };
-  }
-  static get styleUrls() {
-    return {
-      "$": ["toast.css"]
-    };
-  }
-  static get properties() {
-    return {
-      "message": {
-        "type": "string",
-        "mutable": false,
-        "complexType": {
-          "original": "string",
-          "resolved": "string",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
-        },
-        "attribute": "message",
-        "reflect": false
-      },
-      "duration": {
-        "type": "number",
-        "mutable": false,
-        "complexType": {
-          "original": "number",
-          "resolved": "number",
-          "references": {}
-        },
-        "required": false,
-        "optional": false,
-        "docs": {
-          "tags": [],
-          "text": ""
+  }, {
+    key: "componentDidLoad",
+    value: function componentDidLoad() {
+      var _this = this;
+      setTimeout(function () {
+        _this.closing = false;
+      });
+      setTimeout(function () {
+        _this.close();
+      }, this.duration);
+    }
+  }, {
+    key: "close",
+    value: function close() {
+      var _this2 = this;
+      this.closing = true;
+      setTimeout(function () {
+        _this2.el.parentNode.removeChild(_this2.el);
+      }, 1000);
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      return h("div", {
+        class: "wrapper"
+      }, h("div", {
+        class: "toast"
+      }, this.message));
+    }
+  }], [{
+    key: "is",
+    get: function get() {
+      return "pwa-toast";
+    }
+  }, {
+    key: "encapsulation",
+    get: function get() {
+      return "shadow";
+    }
+  }, {
+    key: "originalStyleUrls",
+    get: function get() {
+      return {
+        "$": ["toast.css"]
+      };
+    }
+  }, {
+    key: "styleUrls",
+    get: function get() {
+      return {
+        "$": ["toast.css"]
+      };
+    }
+  }, {
+    key: "properties",
+    get: function get() {
+      return {
+        "message": {
+          "type": "string",
+          "mutable": false,
+          "complexType": {
+            "original": "string",
+            "resolved": "string",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "message",
+          "reflect": false
         },
-        "attribute": "duration",
-        "reflect": false,
-        "defaultValue": "2000"
-      }
-    };
-  }
-  static get states() {
-    return {
-      "closing": {}
-    };
-  }
-  static get elementRef() { return "el"; }
-}
+        "duration": {
+          "type": "number",
+          "mutable": false,
+          "complexType": {
+            "original": "number",
+            "resolved": "number",
+            "references": {}
+          },
+          "required": false,
+          "optional": false,
+          "docs": {
+            "tags": [],
+            "text": ""
+          },
+          "attribute": "duration",
+          "reflect": false,
+          "defaultValue": "2000"
+        }
+      };
+    }
+  }, {
+    key: "states",
+    get: function get() {
+      return {
+        "closing": {}
+      };
+    }
+  }, {
+    key: "elementRef",
+    get: function get() {
+      return "el";
+    }
+  }]);
+}();
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/definitions.js b/src/public/js/pwa-elements/collection/definitions.js
index cb0ff5c..8cec2e9 100644
--- a/src/public/js/pwa-elements/collection/definitions.js
+++ b/src/public/js/pwa-elements/collection/definitions.js
@@ -1 +1 @@
-export {};
+export {};
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/collection/index.js b/src/public/js/pwa-elements/collection/index.js
index 07635cb..099b463 100644
--- a/src/public/js/pwa-elements/collection/index.js
+++ b/src/public/js/pwa-elements/collection/index.js
@@ -1 +1 @@
-export * from './components';
+export * from './components';
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/index-1c5c47b4.js b/src/public/js/pwa-elements/esm-es5/index-1c5c47b4.js
index 6f5cdf8..920be60 100644
--- a/src/public/js/pwa-elements/esm-es5/index-1c5c47b4.js
+++ b/src/public/js/pwa-elements/esm-es5/index-1c5c47b4.js
@@ -1 +1,1293 @@
-var __extends=this&&this.__extends||function(){var e=function(t,n){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)if(Object.prototype.hasOwnProperty.call(t,n))e[n]=t[n]};return e(t,n)};return function(t,n){if(typeof n!=="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();var __awaiter=this&&this.__awaiter||function(e,t,n,r){function a(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,o){function s(e){try{l(r.next(e))}catch(e){o(e)}}function i(e){try{l(r["throw"](e))}catch(e){o(e)}}function l(e){e.done?n(e.value):a(e.value).then(s,i)}l((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,a,o,s;return s={next:i(0),throw:i(1),return:i(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function i(e){return function(t){return l([e,t])}}function l(i){if(r)throw new TypeError("Generator is already executing.");while(s&&(s=0,i[0]&&(n=0)),n)try{if(r=1,a&&(o=i[0]&2?a["return"]:i[0]?a["throw"]||((o=a["return"])&&o.call(a),0):a.next)&&!(o=o.call(a,i[1])).done)return o;if(a=0,o)i=[i[0]&2,o.value];switch(i[0]){case 0:case 1:o=i;break;case 4:n.label++;return{value:i[1],done:false};case 5:n.label++;a=i[1];i=[0];continue;case 7:i=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(i[0]===6||i[0]===2)){n=0;continue}if(i[0]===3&&(!o||i[1]>o[0]&&i[1]<o[3])){n.label=i[1];break}if(i[0]===6&&n.label<o[1]){n.label=o[1];o=i;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(i);break}if(o[2])n.ops.pop();n.trys.pop();continue}i=t.call(e,n)}catch(e){i=[6,e];a=0}finally{r=o=0}if(i[0]&5)throw i[1];return{value:i[0]?i[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,t,n){if(n||arguments.length===2)for(var r=0,a=t.length,o;r<a;r++){if(o||!(r in t)){if(!o)o=Array.prototype.slice.call(t,0,r);o[r]=t[r]}}return e.concat(o||Array.prototype.slice.call(t))};var NAMESPACE="ionicpwaelements";var scopeId;var hostTagName;var isSvgMode=false;var queuePending=false;var createTime=function(e,t){if(t===void 0){t=""}{return function(){return}}};var uniqueTime=function(e,t){{return function(){return}}};var HYDRATED_CSS="{visibility:hidden}.hydrated{visibility:inherit}";var EMPTY_OBJ={};var SVG_NS="http://www.w3.org/2000/svg";var HTML_NS="http://www.w3.org/1999/xhtml";var isDef=function(e){return e!=null};var isComplexType=function(e){e=typeof e;return e==="object"||e==="function"};function queryNonceMetaTagContent(e){var t,n,r;return(r=(n=(t=e.head)===null||t===void 0?void 0:t.querySelector('meta[name="csp-nonce"]'))===null||n===void 0?void 0:n.getAttribute("content"))!==null&&r!==void 0?r:undefined}var h=function(e,t){var n=[];for(var r=2;r<arguments.length;r++){n[r-2]=arguments[r]}var a=null;var o=false;var s=false;var i=[];var l=function(t){for(var n=0;n<t.length;n++){a=t[n];if(Array.isArray(a)){l(a)}else if(a!=null&&typeof a!=="boolean"){if(o=typeof e!=="function"&&!isComplexType(a)){a=String(a)}if(o&&s){i[i.length-1].$text$+=a}else{i.push(o?newVNode(null,a):a)}s=o}}};l(n);if(t){{var u=t.className||t.class;if(u){t.class=typeof u!=="object"?u:Object.keys(u).filter((function(e){return u[e]})).join(" ")}}}var c=newVNode(e,null);c.$attrs$=t;if(i.length>0){c.$children$=i}return c};var newVNode=function(e,t){var n={$flags$:0,$tag$:e,$text$:t,$elm$:null,$children$:null};{n.$attrs$=null}return n};var Host={};var isHost=function(e){return e&&e.$tag$===Host};var parsePropertyValue=function(e,t){if(e!=null&&!isComplexType(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};var getElement=function(e){return getHostRef(e).$hostElement$};var createEvent=function(e,t,n){var r=getElement(e);return{emit:function(e){return emitEvent(r,t,{bubbles:!!(n&4),composed:!!(n&2),cancelable:!!(n&1),detail:e})}}};var emitEvent=function(e,t,n){var r=plt.ce(t,n);e.dispatchEvent(r);return r};var rootAppliedStyles=new WeakMap;var registerStyle=function(e,t,n){var r=styles.get(e);if(supportsConstructableStylesheets&&n){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}styles.set(e,r)};var addStyle=function(e,t,n,r){var a;var o=getScopeId(t);var s=styles.get(o);e=e.nodeType===11?e:doc;if(s){if(typeof s==="string"){e=e.head||e;var i=rootAppliedStyles.get(e);var l=void 0;if(!i){rootAppliedStyles.set(e,i=new Set)}if(!i.has(o)){{{l=doc.createElement("style");l.innerHTML=s}var u=(a=plt.$nonce$)!==null&&a!==void 0?a:queryNonceMetaTagContent(doc);if(u!=null){l.setAttribute("nonce",u)}e.insertBefore(l,e.querySelector("link"))}if(i){i.add(o)}}}else if(!e.adoptedStyleSheets.includes(s)){e.adoptedStyleSheets=__spreadArray(__spreadArray([],e.adoptedStyleSheets,true),[s],false)}}return o};var attachStyles=function(e){var t=e.$cmpMeta$;var n=e.$hostElement$;var r=t.$flags$;var a=createTime("attachStyles",t.$tagName$);var o=addStyle(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);if(r&10){n["s-sc"]=o;n.classList.add(o+"-h")}a()};var getScopeId=function(e,t){return"sc-"+e.$tagName$};var setAccessor=function(e,t,n,r,a,o){if(n!==r){var s=isMemberInElement(e,t);var i=t.toLowerCase();if(t==="class"){var l=e.classList;var u=parseClassList(n);var c=parseClassList(r);l.remove.apply(l,u.filter((function(e){return e&&!c.includes(e)})));l.add.apply(l,c.filter((function(e){return e&&!u.includes(e)})))}else if(t==="style"){{for(var f in n){if(!r||r[f]==null){if(f.includes("-")){e.style.removeProperty(f)}else{e.style[f]=""}}}}for(var f in r){if(!n||r[f]!==n[f]){if(f.includes("-")){e.style.setProperty(f,r[f])}else{e.style[f]=r[f]}}}}else if(t==="ref"){if(r){r(e)}}else if(!s&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(isMemberInElement(win,i)){t=i.slice(2)}else{t=i[2]+t.slice(3)}if(n){plt.rel(e,t,n,false)}if(r){plt.ael(e,t,r,false)}}else{var $=isComplexType(r);if((s||$&&r!==null)&&!a){try{if(!e.tagName.includes("-")){var d=r==null?"":r;if(t==="list"){s=false}else if(n==null||e[t]!=d){e[t]=d}}else{e[t]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){{e.removeAttribute(t)}}}else if((!s||o&4||a)&&!$){r=r===true?"":r;{e.setAttribute(t,r)}}}}};var parseClassListRegex=/\s/;var parseClassList=function(e){return!e?[]:e.split(parseClassListRegex)};var updateElement=function(e,t,n,r){var a=t.$elm$.nodeType===11&&t.$elm$.host?t.$elm$.host:t.$elm$;var o=e&&e.$attrs$||EMPTY_OBJ;var s=t.$attrs$||EMPTY_OBJ;{for(r in o){if(!(r in s)){setAccessor(a,r,o[r],undefined,n,t.$flags$)}}}for(r in s){setAccessor(a,r,o[r],s[r],n,t.$flags$)}};var createElm=function(e,t,n,r){var a=t.$children$[n];var o=0;var s;var i;if(a.$text$!==null){s=a.$elm$=doc.createTextNode(a.$text$)}else{if(!isSvgMode){isSvgMode=a.$tag$==="svg"}s=a.$elm$=doc.createElementNS(isSvgMode?SVG_NS:HTML_NS,a.$tag$);if(isSvgMode&&a.$tag$==="foreignObject"){isSvgMode=false}{updateElement(null,a,isSvgMode)}if(isDef(scopeId)&&s["s-si"]!==scopeId){s.classList.add(s["s-si"]=scopeId)}if(a.$children$){for(o=0;o<a.$children$.length;++o){i=createElm(e,a,o);if(i){s.appendChild(i)}}}{if(a.$tag$==="svg"){isSvgMode=false}else if(s.tagName==="foreignObject"){isSvgMode=true}}}return s};var addVnodes=function(e,t,n,r,a,o){var s=e;var i;if(s.shadowRoot&&s.tagName===hostTagName){s=s.shadowRoot}for(;a<=o;++a){if(r[a]){i=createElm(null,n,a);if(i){r[a].$elm$=i;s.insertBefore(i,t)}}}};var removeVnodes=function(e,t,n){for(var r=t;r<=n;++r){var a=e[r];if(a){var o=a.$elm$;nullifyVNodeRefs(a);if(o){o.remove()}}}};var updateChildren=function(e,t,n,r){var a=0;var o=0;var s=t.length-1;var i=t[0];var l=t[s];var u=r.length-1;var c=r[0];var f=r[u];var $;while(a<=s&&o<=u){if(i==null){i=t[++a]}else if(l==null){l=t[--s]}else if(c==null){c=r[++o]}else if(f==null){f=r[--u]}else if(isSameVnode(i,c)){patch(i,c);i=t[++a];c=r[++o]}else if(isSameVnode(l,f)){patch(l,f);l=t[--s];f=r[--u]}else if(isSameVnode(i,f)){patch(i,f);e.insertBefore(i.$elm$,l.$elm$.nextSibling);i=t[++a];f=r[--u]}else if(isSameVnode(l,c)){patch(l,c);e.insertBefore(l.$elm$,i.$elm$);l=t[--s];c=r[++o]}else{{$=createElm(t&&t[o],n,o);c=r[++o]}if($){{i.$elm$.parentNode.insertBefore($,i.$elm$)}}}}if(a>s){addVnodes(e,r[u+1]==null?null:r[u+1].$elm$,n,r,o,u)}else if(o>u){removeVnodes(t,a,s)}};var isSameVnode=function(e,t){if(e.$tag$===t.$tag$){return true}return false};var patch=function(e,t){var n=t.$elm$=e.$elm$;var r=e.$children$;var a=t.$children$;var o=t.$tag$;var s=t.$text$;if(s===null){{isSvgMode=o==="svg"?true:o==="foreignObject"?false:isSvgMode}{{updateElement(e,t,isSvgMode)}}if(r!==null&&a!==null){updateChildren(n,r,t,a)}else if(a!==null){if(e.$text$!==null){n.textContent=""}addVnodes(n,null,t,a,0,a.length-1)}else if(r!==null){removeVnodes(r,0,r.length-1)}if(isSvgMode&&o==="svg"){isSvgMode=false}}else if(e.$text$!==s){n.data=s}};var nullifyVNodeRefs=function(e){{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null);e.$children$&&e.$children$.map(nullifyVNodeRefs)}};var renderVdom=function(e,t){var n=e.$hostElement$;var r=e.$vnode$||newVNode(null,null);var a=isHost(t)?t:h(null,null,t);hostTagName=n.tagName;a.$tag$=null;a.$flags$|=4;e.$vnode$=a;a.$elm$=r.$elm$=n.shadowRoot||n;{scopeId=n["s-sc"]}patch(r,a)};var attachToAncestor=function(e,t){if(t&&!e.$onRenderResolve$&&t["s-p"]){t["s-p"].push(new Promise((function(t){return e.$onRenderResolve$=t})))}};var scheduleUpdate=function(e,t){{e.$flags$|=16}if(e.$flags$&4){e.$flags$|=512;return}attachToAncestor(e,e.$ancestorComponent$);var n=function(){return dispatchHooks(e,t)};return writeTask(n)};var dispatchHooks=function(e,t){var n=createTime("scheduleUpdate",e.$cmpMeta$.$tagName$);var r=e.$lazyInstance$;var a;if(t){{e.$flags$|=256;if(e.$queuedListeners$){e.$queuedListeners$.map((function(e){var t=e[0],n=e[1];return safeCall(r,t,n)}));e.$queuedListeners$=undefined}}}n();return enqueue(a,(function(){return updateComponent(e,r,t)}))};var enqueue=function(e,t){return isPromisey(e)?e.then(t):t()};var isPromisey=function(e){return e instanceof Promise||e&&e.then&&typeof e.then==="function"};var updateComponent=function(e,t,n){return __awaiter(void 0,void 0,void 0,(function(){var r,a,o,s,i,l,u;return __generator(this,(function(c){a=e.$hostElement$;o=createTime("update",e.$cmpMeta$.$tagName$);s=a["s-rc"];if(n){attachStyles(e)}i=createTime("render",e.$cmpMeta$.$tagName$);{callRender(e,t)}if(s){s.map((function(e){return e()}));a["s-rc"]=undefined}i();o();{l=(r=a["s-p"])!==null&&r!==void 0?r:[];u=function(){return postUpdateComponent(e)};if(l.length===0){u()}else{Promise.all(l).then(u);e.$flags$|=4;l.length=0}}return[2]}))}))};var callRender=function(e,t,n){try{t=t.render();{e.$flags$&=~16}{e.$flags$|=2}{{{renderVdom(e,t)}}}}catch(t){consoleError(t,e.$hostElement$)}return null};var postUpdateComponent=function(e){var t=e.$cmpMeta$.$tagName$;var n=e.$hostElement$;var r=createTime("postUpdate",t);var a=e.$lazyInstance$;var o=e.$ancestorComponent$;if(!(e.$flags$&64)){e.$flags$|=64;{addHydratedFlag(n)}{safeCall(a,"componentDidLoad")}r();{e.$onReadyResolve$(n);if(!o){appDidLoad()}}}else{r()}{e.$onInstanceResolve$(n)}{if(e.$onRenderResolve$){e.$onRenderResolve$();e.$onRenderResolve$=undefined}if(e.$flags$&512){nextTick((function(){return scheduleUpdate(e,false)}))}e.$flags$&=~(4|512)}};var forceUpdate=function(e){{var t=getHostRef(e);var n=t.$hostElement$.isConnected;if(n&&(t.$flags$&(2|16))===2){scheduleUpdate(t,false)}return n}};var appDidLoad=function(e){{addHydratedFlag(doc.documentElement)}nextTick((function(){return emitEvent(win,"appload",{detail:{namespace:NAMESPACE}})}))};var safeCall=function(e,t,n){if(e&&e[t]){try{return e[t](n)}catch(e){consoleError(e)}}return undefined};var addHydratedFlag=function(e){return e.classList.add("hydrated")};var getValue=function(e,t){return getHostRef(e).$instanceValues$.get(t)};var setValue=function(e,t,n,r){var a=getHostRef(e);var o=a.$instanceValues$.get(t);var s=a.$flags$;var i=a.$lazyInstance$;n=parsePropertyValue(n,r.$members$[t][0]);var l=Number.isNaN(o)&&Number.isNaN(n);var u=n!==o&&!l;if((!(s&8)||o===undefined)&&u){a.$instanceValues$.set(t,n);if(i){if((s&(2|16))===2){scheduleUpdate(a,false)}}}};var proxyComponent=function(e,t,n){if(t.$members$){var r=Object.entries(t.$members$);var a=e.prototype;r.map((function(e){var r=e[0],o=e[1][0];if(o&31||n&2&&o&32){Object.defineProperty(a,r,{get:function(){return getValue(this,r)},set:function(e){setValue(this,r,e,t)},configurable:true,enumerable:true})}else if(n&1&&o&64){Object.defineProperty(a,r,{value:function(){var e=[];for(var t=0;t<arguments.length;t++){e[t]=arguments[t]}var n=getHostRef(this);return n.$onInstancePromise$.then((function(){var t;return(t=n.$lazyInstance$)[r].apply(t,e)}))}})}}));if(n&1){var o=new Map;a.attributeChangedCallback=function(e,t,n){var r=this;plt.jmp((function(){var t=o.get(e);if(r.hasOwnProperty(t)){n=r[t];delete r[t]}else if(a.hasOwnProperty(t)&&typeof r[t]==="number"&&r[t]==n){return}r[t]=n===null&&typeof r[t]==="boolean"?false:n}))};e.observedAttributes=r.filter((function(e){var t=e[0],n=e[1];return n[0]&15})).map((function(e){var t=e[0],n=e[1];var r=n[1]||t;o.set(r,t);return r}))}}return e};var initializeComponent=function(e,t,n,r,a){return __awaiter(void 0,void 0,void 0,(function(){var e,r,o,s,i,l,u;return __generator(this,(function(c){switch(c.label){case 0:if(!((t.$flags$&32)===0))return[3,3];t.$flags$|=32;a=loadModule(n);if(!a.then)return[3,2];e=uniqueTime();return[4,a];case 1:a=c.sent();e();c.label=2;case 2:if(!a.isProxied){proxyComponent(a,n,2);a.isProxied=true}r=createTime("createInstance",n.$tagName$);{t.$flags$|=8}try{new a(t)}catch(e){consoleError(e)}{t.$flags$&=~8}r();if(a.style){o=a.style;s=getScopeId(n);if(!styles.has(s)){i=createTime("registerStyles",n.$tagName$);registerStyle(s,o,!!(n.$flags$&1));i()}}c.label=3;case 3:l=t.$ancestorComponent$;u=function(){return scheduleUpdate(t,true)};if(l&&l["s-rc"]){l["s-rc"].push(u)}else{u()}return[2]}}))}))};var connectedCallback=function(e){if((plt.$flags$&1)===0){var t=getHostRef(e);var n=t.$cmpMeta$;var r=createTime("connectedCallback",n.$tagName$);if(!(t.$flags$&1)){t.$flags$|=1;{var a=e;while(a=a.parentNode||a.host){if(a["s-p"]){attachToAncestor(t,t.$ancestorComponent$=a);break}}}if(n.$members$){Object.entries(n.$members$).map((function(t){var n=t[0],r=t[1][0];if(r&31&&e.hasOwnProperty(n)){var a=e[n];delete e[n];e[n]=a}}))}{initializeComponent(e,t,n)}}else{addHostEventListeners(e,t,n.$listeners$)}r()}};var disconnectedCallback=function(e){if((plt.$flags$&1)===0){var t=getHostRef(e);var n=t.$lazyInstance$;{if(t.$rmListeners$){t.$rmListeners$.map((function(e){return e()}));t.$rmListeners$=undefined}}{safeCall(n,"disconnectedCallback")}}};var bootstrapLazy=function(e,t){if(t===void 0){t={}}var n;var r=createTime();var a=[];var o=t.exclude||[];var s=win.customElements;var i=doc.head;var l=i.querySelector("meta[charset]");var u=doc.createElement("style");var c=[];var f;var $=true;Object.assign(plt,t);plt.$resourcesUrl$=new URL(t.resourcesUrl||"./",doc.baseURI).href;e.map((function(e){e[1].map((function(t){var n={$flags$:t[0],$tagName$:t[1],$members$:t[2],$listeners$:t[3]};{n.$members$=t[2]}{n.$listeners$=t[3]}var r=n.$tagName$;var i=function(e){__extends(t,e);function t(t){var r=e.call(this,t)||this;t=r;registerHost(t,n);if(n.$flags$&1){{{t.attachShadow({mode:"open"})}}}return r}t.prototype.connectedCallback=function(){var e=this;if(f){clearTimeout(f);f=null}if($){c.push(this)}else{plt.jmp((function(){return connectedCallback(e)}))}};t.prototype.disconnectedCallback=function(){var e=this;plt.jmp((function(){return disconnectedCallback(e)}))};t.prototype.componentOnReady=function(){return getHostRef(this).$onReadyPromise$};return t}(HTMLElement);n.$lazyBundleId$=e[0];if(!o.includes(r)&&!s.get(r)){a.push(r);s.define(r,proxyComponent(i,n,1))}}))}));{u.innerHTML=a+HYDRATED_CSS;u.setAttribute("data-styles","");var d=(n=plt.$nonce$)!==null&&n!==void 0?n:queryNonceMetaTagContent(doc);if(d!=null){u.setAttribute("nonce",d)}i.insertBefore(u,l?l.nextSibling:i.firstChild)}$=false;if(c.length){c.map((function(e){return e.connectedCallback()}))}else{{plt.jmp((function(){return f=setTimeout(appDidLoad,30)}))}}r()};var addHostEventListeners=function(e,t,n,r){if(n){n.map((function(n){var r=n[0],a=n[1],o=n[2];var s=getHostListenerTarget(e,r);var i=hostListenerProxy(t,o);var l=hostListenerOpts(r);plt.ael(s,a,i,l);(t.$rmListeners$=t.$rmListeners$||[]).push((function(){return plt.rel(s,a,i,l)}))}))}};var hostListenerProxy=function(e,t){return function(n){try{{if(e.$flags$&256){e.$lazyInstance$[t](n)}else{(e.$queuedListeners$=e.$queuedListeners$||[]).push([t,n])}}}catch(e){consoleError(e)}}};var getHostListenerTarget=function(e,t){if(t&16)return doc.body;return e};var hostListenerOpts=function(e){return(e&2)!==0};var setNonce=function(e){return plt.$nonce$=e};var hostRefs=new WeakMap;var getHostRef=function(e){return hostRefs.get(e)};var registerInstance=function(e,t){return hostRefs.set(t.$lazyInstance$=e,t)};var registerHost=function(e,t){var n={$flags$:0,$hostElement$:e,$cmpMeta$:t,$instanceValues$:new Map};{n.$onInstancePromise$=new Promise((function(e){return n.$onInstanceResolve$=e}))}{n.$onReadyPromise$=new Promise((function(e){return n.$onReadyResolve$=e}));e["s-p"]=[];e["s-rc"]=[]}addHostEventListeners(e,n,t.$listeners$);return hostRefs.set(e,n)};var isMemberInElement=function(e,t){return t in e};var consoleError=function(e,t){return(0,console.error)(e,t)};var cmpModules=new Map;var loadModule=function(e,t,n){var r=e.$tagName$.replace(/-/g,"_");var a=e.$lazyBundleId$;var o=cmpModules.get(a);if(o){return o[r]}if(!n||!BUILD.hotModuleReplacement){var s=function(e){cmpModules.set(a,e);return e[r]};switch(a){case"pwa-action-sheet":return import("./pwa-action-sheet.entry.js").then(s,consoleError);case"pwa-camera-modal":return import("./pwa-camera-modal.entry.js").then(s,consoleError);case"pwa-toast":return import("./pwa-toast.entry.js").then(s,consoleError);case"pwa-camera-modal-instance":return import("./pwa-camera-modal-instance.entry.js").then(s,consoleError);case"pwa-camera":return import("./pwa-camera.entry.js").then(s,consoleError)}}return import("./".concat(a,".entry.js").concat("")).then((function(e){{cmpModules.set(a,e)}return e[r]}),consoleError)};var styles=new Map;var win=typeof window!=="undefined"?window:{};var doc=win.document||{head:{}};var plt={$flags$:0,$resourcesUrl$:"",jmp:function(e){return e()},raf:function(e){return requestAnimationFrame(e)},ael:function(e,t,n,r){return e.addEventListener(t,n,r)},rel:function(e,t,n,r){return e.removeEventListener(t,n,r)},ce:function(e,t){return new CustomEvent(e,t)}};var promiseResolve=function(e){return Promise.resolve(e)};var supportsConstructableStylesheets=function(){try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false}();var queueDomReads=[];var queueDomWrites=[];var queueTask=function(e,t){return function(n){e.push(n);if(!queuePending){queuePending=true;if(t&&plt.$flags$&4){nextTick(flush)}else{plt.raf(flush)}}}};var consume=function(e){for(var t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){consoleError(e)}}e.length=0};var flush=function(){consume(queueDomReads);{consume(queueDomWrites);if(queuePending=queueDomReads.length>0){plt.raf(flush)}}};var nextTick=function(e){return promiseResolve().then(e)};var writeTask=queueTask(queueDomWrites,true);export{Host as H,bootstrapLazy as b,createEvent as c,forceUpdate as f,getElement as g,h,promiseResolve as p,registerInstance as r,setNonce as s};
\ No newline at end of file
+var __extends = this && this.__extends || function () {
+  var _e = function e(t, n) {
+    _e = Object.setPrototypeOf || {
+      __proto__: []
+    } instanceof Array && function (e, t) {
+      e.__proto__ = t;
+    } || function (e, t) {
+      for (var n in t) if (Object.prototype.hasOwnProperty.call(t, n)) e[n] = t[n];
+    };
+    return _e(t, n);
+  };
+  return function (t, n) {
+    if (typeof n !== "function" && n !== null) throw new TypeError("Class extends value " + String(n) + " is not a constructor or null");
+    _e(t, n);
+    function r() {
+      this.constructor = t;
+    }
+    t.prototype = n === null ? Object.create(n) : (r.prototype = n.prototype, new r());
+  };
+}();
+var __awaiter = this && this.__awaiter || function (e, t, n, r) {
+  function a(e) {
+    return e instanceof n ? e : new n(function (t) {
+      t(e);
+    });
+  }
+  return new (n || (n = Promise))(function (n, o) {
+    function s(e) {
+      try {
+        l(r.next(e));
+      } catch (e) {
+        o(e);
+      }
+    }
+    function i(e) {
+      try {
+        l(r["throw"](e));
+      } catch (e) {
+        o(e);
+      }
+    }
+    function l(e) {
+      e.done ? n(e.value) : a(e.value).then(s, i);
+    }
+    l((r = r.apply(e, t || [])).next());
+  });
+};
+var __generator = this && this.__generator || function (e, t) {
+  var n = {
+      label: 0,
+      sent: function sent() {
+        if (o[0] & 1) throw o[1];
+        return o[1];
+      },
+      trys: [],
+      ops: []
+    },
+    r,
+    a,
+    o,
+    s;
+  return s = {
+    next: i(0),
+    throw: i(1),
+    return: i(2)
+  }, typeof Symbol === "function" && (s[Symbol.iterator] = function () {
+    return this;
+  }), s;
+  function i(e) {
+    return function (t) {
+      return l([e, t]);
+    };
+  }
+  function l(i) {
+    if (r) throw new TypeError("Generator is already executing.");
+    while (s && (s = 0, i[0] && (n = 0)), n) try {
+      if (r = 1, a && (o = i[0] & 2 ? a["return"] : i[0] ? a["throw"] || ((o = a["return"]) && o.call(a), 0) : a.next) && !(o = o.call(a, i[1])).done) return o;
+      if (a = 0, o) i = [i[0] & 2, o.value];
+      switch (i[0]) {
+        case 0:
+        case 1:
+          o = i;
+          break;
+        case 4:
+          n.label++;
+          return {
+            value: i[1],
+            done: false
+          };
+        case 5:
+          n.label++;
+          a = i[1];
+          i = [0];
+          continue;
+        case 7:
+          i = n.ops.pop();
+          n.trys.pop();
+          continue;
+        default:
+          if (!(o = n.trys, o = o.length > 0 && o[o.length - 1]) && (i[0] === 6 || i[0] === 2)) {
+            n = 0;
+            continue;
+          }
+          if (i[0] === 3 && (!o || i[1] > o[0] && i[1] < o[3])) {
+            n.label = i[1];
+            break;
+          }
+          if (i[0] === 6 && n.label < o[1]) {
+            n.label = o[1];
+            o = i;
+            break;
+          }
+          if (o && n.label < o[2]) {
+            n.label = o[2];
+            n.ops.push(i);
+            break;
+          }
+          if (o[2]) n.ops.pop();
+          n.trys.pop();
+          continue;
+      }
+      i = t.call(e, n);
+    } catch (e) {
+      i = [6, e];
+      a = 0;
+    } finally {
+      r = o = 0;
+    }
+    if (i[0] & 5) throw i[1];
+    return {
+      value: i[0] ? i[1] : void 0,
+      done: true
+    };
+  }
+};
+var __spreadArray = this && this.__spreadArray || function (e, t, n) {
+  if (n || arguments.length === 2) for (var r = 0, a = t.length, o; r < a; r++) {
+    if (o || !(r in t)) {
+      if (!o) o = Array.prototype.slice.call(t, 0, r);
+      o[r] = t[r];
+    }
+  }
+  return e.concat(o || Array.prototype.slice.call(t));
+};
+var NAMESPACE = "ionicpwaelements";
+var scopeId;
+var hostTagName;
+var isSvgMode = false;
+var queuePending = false;
+var createTime = function createTime(e, t) {
+  if (t === void 0) {
+    t = "";
+  }
+  {
+    return function () {
+      return;
+    };
+  }
+};
+var uniqueTime = function uniqueTime(e, t) {
+  {
+    return function () {
+      return;
+    };
+  }
+};
+var HYDRATED_CSS = "{visibility:hidden}.hydrated{visibility:inherit}";
+var EMPTY_OBJ = {};
+var SVG_NS = "http://www.w3.org/2000/svg";
+var HTML_NS = "http://www.w3.org/1999/xhtml";
+var isDef = function isDef(e) {
+  return e != null;
+};
+var isComplexType = function isComplexType(e) {
+  e = typeof e;
+  return e === "object" || e === "function";
+};
+function queryNonceMetaTagContent(e) {
+  var t, n, r;
+  return (r = (n = (t = e.head) === null || t === void 0 ? void 0 : t.querySelector('meta[name="csp-nonce"]')) === null || n === void 0 ? void 0 : n.getAttribute("content")) !== null && r !== void 0 ? r : undefined;
+}
+var h = function h(e, t) {
+  var n = [];
+  for (var r = 2; r < arguments.length; r++) {
+    n[r - 2] = arguments[r];
+  }
+  var a = null;
+  var o = false;
+  var s = false;
+  var i = [];
+  var _l = function l(t) {
+    for (var n = 0; n < t.length; n++) {
+      a = t[n];
+      if (Array.isArray(a)) {
+        _l(a);
+      } else if (a != null && typeof a !== "boolean") {
+        if (o = typeof e !== "function" && !isComplexType(a)) {
+          a = String(a);
+        }
+        if (o && s) {
+          i[i.length - 1].$text$ += a;
+        } else {
+          i.push(o ? newVNode(null, a) : a);
+        }
+        s = o;
+      }
+    }
+  };
+  _l(n);
+  if (t) {
+    {
+      var u = t.className || t.class;
+      if (u) {
+        t.class = typeof u !== "object" ? u : Object.keys(u).filter(function (e) {
+          return u[e];
+        }).join(" ");
+      }
+    }
+  }
+  var c = newVNode(e, null);
+  c.$attrs$ = t;
+  if (i.length > 0) {
+    c.$children$ = i;
+  }
+  return c;
+};
+var newVNode = function newVNode(e, t) {
+  var n = {
+    $flags$: 0,
+    $tag$: e,
+    $text$: t,
+    $elm$: null,
+    $children$: null
+  };
+  {
+    n.$attrs$ = null;
+  }
+  return n;
+};
+var Host = {};
+var isHost = function isHost(e) {
+  return e && e.$tag$ === Host;
+};
+var parsePropertyValue = function parsePropertyValue(e, t) {
+  if (e != null && !isComplexType(e)) {
+    if (t & 4) {
+      return e === "false" ? false : e === "" || !!e;
+    }
+    if (t & 2) {
+      return parseFloat(e);
+    }
+    if (t & 1) {
+      return String(e);
+    }
+    return e;
+  }
+  return e;
+};
+var getElement = function getElement(e) {
+  return getHostRef(e).$hostElement$;
+};
+var createEvent = function createEvent(e, t, n) {
+  var r = getElement(e);
+  return {
+    emit: function emit(e) {
+      return emitEvent(r, t, {
+        bubbles: !!(n & 4),
+        composed: !!(n & 2),
+        cancelable: !!(n & 1),
+        detail: e
+      });
+    }
+  };
+};
+var emitEvent = function emitEvent(e, t, n) {
+  var r = plt.ce(t, n);
+  e.dispatchEvent(r);
+  return r;
+};
+var rootAppliedStyles = new WeakMap();
+var registerStyle = function registerStyle(e, t, n) {
+  var r = styles.get(e);
+  if (supportsConstructableStylesheets && n) {
+    r = r || new CSSStyleSheet();
+    if (typeof r === "string") {
+      r = t;
+    } else {
+      r.replaceSync(t);
+    }
+  } else {
+    r = t;
+  }
+  styles.set(e, r);
+};
+var addStyle = function addStyle(e, t, n, r) {
+  var a;
+  var o = getScopeId(t);
+  var s = styles.get(o);
+  e = e.nodeType === 11 ? e : doc;
+  if (s) {
+    if (typeof s === "string") {
+      e = e.head || e;
+      var i = rootAppliedStyles.get(e);
+      var l = void 0;
+      if (!i) {
+        rootAppliedStyles.set(e, i = new Set());
+      }
+      if (!i.has(o)) {
+        {
+          {
+            l = doc.createElement("style");
+            l.innerHTML = s;
+          }
+          var u = (a = plt.$nonce$) !== null && a !== void 0 ? a : queryNonceMetaTagContent(doc);
+          if (u != null) {
+            l.setAttribute("nonce", u);
+          }
+          e.insertBefore(l, e.querySelector("link"));
+        }
+        if (i) {
+          i.add(o);
+        }
+      }
+    } else if (!e.adoptedStyleSheets.includes(s)) {
+      e.adoptedStyleSheets = __spreadArray(__spreadArray([], e.adoptedStyleSheets, true), [s], false);
+    }
+  }
+  return o;
+};
+var attachStyles = function attachStyles(e) {
+  var t = e.$cmpMeta$;
+  var n = e.$hostElement$;
+  var r = t.$flags$;
+  var a = createTime("attachStyles", t.$tagName$);
+  var o = addStyle(n.shadowRoot ? n.shadowRoot : n.getRootNode(), t);
+  if (r & 10) {
+    n["s-sc"] = o;
+    n.classList.add(o + "-h");
+  }
+  a();
+};
+var getScopeId = function getScopeId(e, t) {
+  return "sc-" + e.$tagName$;
+};
+var setAccessor = function setAccessor(e, t, n, r, a, o) {
+  if (n !== r) {
+    var s = isMemberInElement(e, t);
+    var i = t.toLowerCase();
+    if (t === "class") {
+      var l = e.classList;
+      var u = parseClassList(n);
+      var c = parseClassList(r);
+      l.remove.apply(l, u.filter(function (e) {
+        return e && !c.includes(e);
+      }));
+      l.add.apply(l, c.filter(function (e) {
+        return e && !u.includes(e);
+      }));
+    } else if (t === "style") {
+      {
+        for (var f in n) {
+          if (!r || r[f] == null) {
+            if (f.includes("-")) {
+              e.style.removeProperty(f);
+            } else {
+              e.style[f] = "";
+            }
+          }
+        }
+      }
+      for (var f in r) {
+        if (!n || r[f] !== n[f]) {
+          if (f.includes("-")) {
+            e.style.setProperty(f, r[f]);
+          } else {
+            e.style[f] = r[f];
+          }
+        }
+      }
+    } else if (t === "ref") {
+      if (r) {
+        r(e);
+      }
+    } else if (!s && t[0] === "o" && t[1] === "n") {
+      if (t[2] === "-") {
+        t = t.slice(3);
+      } else if (isMemberInElement(win, i)) {
+        t = i.slice(2);
+      } else {
+        t = i[2] + t.slice(3);
+      }
+      if (n) {
+        plt.rel(e, t, n, false);
+      }
+      if (r) {
+        plt.ael(e, t, r, false);
+      }
+    } else {
+      var $ = isComplexType(r);
+      if ((s || $ && r !== null) && !a) {
+        try {
+          if (!e.tagName.includes("-")) {
+            var d = r == null ? "" : r;
+            if (t === "list") {
+              s = false;
+            } else if (n == null || e[t] != d) {
+              e[t] = d;
+            }
+          } else {
+            e[t] = r;
+          }
+        } catch (e) {}
+      }
+      if (r == null || r === false) {
+        if (r !== false || e.getAttribute(t) === "") {
+          {
+            e.removeAttribute(t);
+          }
+        }
+      } else if ((!s || o & 4 || a) && !$) {
+        r = r === true ? "" : r;
+        {
+          e.setAttribute(t, r);
+        }
+      }
+    }
+  }
+};
+var parseClassListRegex = /\s/;
+var parseClassList = function parseClassList(e) {
+  return !e ? [] : e.split(parseClassListRegex);
+};
+var updateElement = function updateElement(e, t, n, r) {
+  var a = t.$elm$.nodeType === 11 && t.$elm$.host ? t.$elm$.host : t.$elm$;
+  var o = e && e.$attrs$ || EMPTY_OBJ;
+  var s = t.$attrs$ || EMPTY_OBJ;
+  {
+    for (r in o) {
+      if (!(r in s)) {
+        setAccessor(a, r, o[r], undefined, n, t.$flags$);
+      }
+    }
+  }
+  for (r in s) {
+    setAccessor(a, r, o[r], s[r], n, t.$flags$);
+  }
+};
+var _createElm = function createElm(e, t, n, r) {
+  var a = t.$children$[n];
+  var o = 0;
+  var s;
+  var i;
+  if (a.$text$ !== null) {
+    s = a.$elm$ = doc.createTextNode(a.$text$);
+  } else {
+    if (!isSvgMode) {
+      isSvgMode = a.$tag$ === "svg";
+    }
+    s = a.$elm$ = doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, a.$tag$);
+    if (isSvgMode && a.$tag$ === "foreignObject") {
+      isSvgMode = false;
+    }
+    {
+      updateElement(null, a, isSvgMode);
+    }
+    if (isDef(scopeId) && s["s-si"] !== scopeId) {
+      s.classList.add(s["s-si"] = scopeId);
+    }
+    if (a.$children$) {
+      for (o = 0; o < a.$children$.length; ++o) {
+        i = _createElm(e, a, o);
+        if (i) {
+          s.appendChild(i);
+        }
+      }
+    }
+    {
+      if (a.$tag$ === "svg") {
+        isSvgMode = false;
+      } else if (s.tagName === "foreignObject") {
+        isSvgMode = true;
+      }
+    }
+  }
+  return s;
+};
+var addVnodes = function addVnodes(e, t, n, r, a, o) {
+  var s = e;
+  var i;
+  if (s.shadowRoot && s.tagName === hostTagName) {
+    s = s.shadowRoot;
+  }
+  for (; a <= o; ++a) {
+    if (r[a]) {
+      i = _createElm(null, n, a);
+      if (i) {
+        r[a].$elm$ = i;
+        s.insertBefore(i, t);
+      }
+    }
+  }
+};
+var removeVnodes = function removeVnodes(e, t, n) {
+  for (var r = t; r <= n; ++r) {
+    var a = e[r];
+    if (a) {
+      var o = a.$elm$;
+      _nullifyVNodeRefs(a);
+      if (o) {
+        o.remove();
+      }
+    }
+  }
+};
+var updateChildren = function updateChildren(e, t, n, r) {
+  var a = 0;
+  var o = 0;
+  var s = t.length - 1;
+  var i = t[0];
+  var l = t[s];
+  var u = r.length - 1;
+  var c = r[0];
+  var f = r[u];
+  var $;
+  while (a <= s && o <= u) {
+    if (i == null) {
+      i = t[++a];
+    } else if (l == null) {
+      l = t[--s];
+    } else if (c == null) {
+      c = r[++o];
+    } else if (f == null) {
+      f = r[--u];
+    } else if (isSameVnode(i, c)) {
+      patch(i, c);
+      i = t[++a];
+      c = r[++o];
+    } else if (isSameVnode(l, f)) {
+      patch(l, f);
+      l = t[--s];
+      f = r[--u];
+    } else if (isSameVnode(i, f)) {
+      patch(i, f);
+      e.insertBefore(i.$elm$, l.$elm$.nextSibling);
+      i = t[++a];
+      f = r[--u];
+    } else if (isSameVnode(l, c)) {
+      patch(l, c);
+      e.insertBefore(l.$elm$, i.$elm$);
+      l = t[--s];
+      c = r[++o];
+    } else {
+      {
+        $ = _createElm(t && t[o], n, o);
+        c = r[++o];
+      }
+      if ($) {
+        {
+          i.$elm$.parentNode.insertBefore($, i.$elm$);
+        }
+      }
+    }
+  }
+  if (a > s) {
+    addVnodes(e, r[u + 1] == null ? null : r[u + 1].$elm$, n, r, o, u);
+  } else if (o > u) {
+    removeVnodes(t, a, s);
+  }
+};
+var isSameVnode = function isSameVnode(e, t) {
+  if (e.$tag$ === t.$tag$) {
+    return true;
+  }
+  return false;
+};
+var patch = function patch(e, t) {
+  var n = t.$elm$ = e.$elm$;
+  var r = e.$children$;
+  var a = t.$children$;
+  var o = t.$tag$;
+  var s = t.$text$;
+  if (s === null) {
+    {
+      isSvgMode = o === "svg" ? true : o === "foreignObject" ? false : isSvgMode;
+    }
+    {
+      {
+        updateElement(e, t, isSvgMode);
+      }
+    }
+    if (r !== null && a !== null) {
+      updateChildren(n, r, t, a);
+    } else if (a !== null) {
+      if (e.$text$ !== null) {
+        n.textContent = "";
+      }
+      addVnodes(n, null, t, a, 0, a.length - 1);
+    } else if (r !== null) {
+      removeVnodes(r, 0, r.length - 1);
+    }
+    if (isSvgMode && o === "svg") {
+      isSvgMode = false;
+    }
+  } else if (e.$text$ !== s) {
+    n.data = s;
+  }
+};
+var _nullifyVNodeRefs = function nullifyVNodeRefs(e) {
+  {
+    e.$attrs$ && e.$attrs$.ref && e.$attrs$.ref(null);
+    e.$children$ && e.$children$.map(_nullifyVNodeRefs);
+  }
+};
+var renderVdom = function renderVdom(e, t) {
+  var n = e.$hostElement$;
+  var r = e.$vnode$ || newVNode(null, null);
+  var a = isHost(t) ? t : h(null, null, t);
+  hostTagName = n.tagName;
+  a.$tag$ = null;
+  a.$flags$ |= 4;
+  e.$vnode$ = a;
+  a.$elm$ = r.$elm$ = n.shadowRoot || n;
+  {
+    scopeId = n["s-sc"];
+  }
+  patch(r, a);
+};
+var attachToAncestor = function attachToAncestor(e, t) {
+  if (t && !e.$onRenderResolve$ && t["s-p"]) {
+    t["s-p"].push(new Promise(function (t) {
+      return e.$onRenderResolve$ = t;
+    }));
+  }
+};
+var scheduleUpdate = function scheduleUpdate(e, t) {
+  {
+    e.$flags$ |= 16;
+  }
+  if (e.$flags$ & 4) {
+    e.$flags$ |= 512;
+    return;
+  }
+  attachToAncestor(e, e.$ancestorComponent$);
+  var n = function n() {
+    return dispatchHooks(e, t);
+  };
+  return writeTask(n);
+};
+var dispatchHooks = function dispatchHooks(e, t) {
+  var n = createTime("scheduleUpdate", e.$cmpMeta$.$tagName$);
+  var r = e.$lazyInstance$;
+  var a;
+  if (t) {
+    {
+      e.$flags$ |= 256;
+      if (e.$queuedListeners$) {
+        e.$queuedListeners$.map(function (e) {
+          var t = e[0],
+            n = e[1];
+          return safeCall(r, t, n);
+        });
+        e.$queuedListeners$ = undefined;
+      }
+    }
+  }
+  n();
+  return enqueue(a, function () {
+    return updateComponent(e, r, t);
+  });
+};
+var enqueue = function enqueue(e, t) {
+  return isPromisey(e) ? e.then(t) : t();
+};
+var isPromisey = function isPromisey(e) {
+  return e instanceof Promise || e && e.then && typeof e.then === "function";
+};
+var updateComponent = function updateComponent(e, t, n) {
+  return __awaiter(void 0, void 0, void 0, function () {
+    var r, a, o, s, i, l, u;
+    return __generator(this, function (c) {
+      a = e.$hostElement$;
+      o = createTime("update", e.$cmpMeta$.$tagName$);
+      s = a["s-rc"];
+      if (n) {
+        attachStyles(e);
+      }
+      i = createTime("render", e.$cmpMeta$.$tagName$);
+      {
+        callRender(e, t);
+      }
+      if (s) {
+        s.map(function (e) {
+          return e();
+        });
+        a["s-rc"] = undefined;
+      }
+      i();
+      o();
+      {
+        l = (r = a["s-p"]) !== null && r !== void 0 ? r : [];
+        u = function u() {
+          return postUpdateComponent(e);
+        };
+        if (l.length === 0) {
+          u();
+        } else {
+          Promise.all(l).then(u);
+          e.$flags$ |= 4;
+          l.length = 0;
+        }
+      }
+      return [2];
+    });
+  });
+};
+var callRender = function callRender(e, t, n) {
+  try {
+    t = t.render();
+    {
+      e.$flags$ &= ~16;
+    }
+    {
+      e.$flags$ |= 2;
+    }
+    {
+      {
+        {
+          renderVdom(e, t);
+        }
+      }
+    }
+  } catch (t) {
+    consoleError(t, e.$hostElement$);
+  }
+  return null;
+};
+var postUpdateComponent = function postUpdateComponent(e) {
+  var t = e.$cmpMeta$.$tagName$;
+  var n = e.$hostElement$;
+  var r = createTime("postUpdate", t);
+  var a = e.$lazyInstance$;
+  var o = e.$ancestorComponent$;
+  if (!(e.$flags$ & 64)) {
+    e.$flags$ |= 64;
+    {
+      addHydratedFlag(n);
+    }
+    {
+      safeCall(a, "componentDidLoad");
+    }
+    r();
+    {
+      e.$onReadyResolve$(n);
+      if (!o) {
+        appDidLoad();
+      }
+    }
+  } else {
+    r();
+  }
+  {
+    e.$onInstanceResolve$(n);
+  }
+  {
+    if (e.$onRenderResolve$) {
+      e.$onRenderResolve$();
+      e.$onRenderResolve$ = undefined;
+    }
+    if (e.$flags$ & 512) {
+      nextTick(function () {
+        return scheduleUpdate(e, false);
+      });
+    }
+    e.$flags$ &= ~(4 | 512);
+  }
+};
+var forceUpdate = function forceUpdate(e) {
+  {
+    var t = getHostRef(e);
+    var n = t.$hostElement$.isConnected;
+    if (n && (t.$flags$ & (2 | 16)) === 2) {
+      scheduleUpdate(t, false);
+    }
+    return n;
+  }
+};
+var appDidLoad = function appDidLoad(e) {
+  {
+    addHydratedFlag(doc.documentElement);
+  }
+  nextTick(function () {
+    return emitEvent(win, "appload", {
+      detail: {
+        namespace: NAMESPACE
+      }
+    });
+  });
+};
+var safeCall = function safeCall(e, t, n) {
+  if (e && e[t]) {
+    try {
+      return e[t](n);
+    } catch (e) {
+      consoleError(e);
+    }
+  }
+  return undefined;
+};
+var addHydratedFlag = function addHydratedFlag(e) {
+  return e.classList.add("hydrated");
+};
+var getValue = function getValue(e, t) {
+  return getHostRef(e).$instanceValues$.get(t);
+};
+var setValue = function setValue(e, t, n, r) {
+  var a = getHostRef(e);
+  var o = a.$instanceValues$.get(t);
+  var s = a.$flags$;
+  var i = a.$lazyInstance$;
+  n = parsePropertyValue(n, r.$members$[t][0]);
+  var l = Number.isNaN(o) && Number.isNaN(n);
+  var u = n !== o && !l;
+  if ((!(s & 8) || o === undefined) && u) {
+    a.$instanceValues$.set(t, n);
+    if (i) {
+      if ((s & (2 | 16)) === 2) {
+        scheduleUpdate(a, false);
+      }
+    }
+  }
+};
+var proxyComponent = function proxyComponent(e, t, n) {
+  if (t.$members$) {
+    var r = Object.entries(t.$members$);
+    var a = e.prototype;
+    r.map(function (e) {
+      var r = e[0],
+        o = e[1][0];
+      if (o & 31 || n & 2 && o & 32) {
+        Object.defineProperty(a, r, {
+          get: function get() {
+            return getValue(this, r);
+          },
+          set: function set(e) {
+            setValue(this, r, e, t);
+          },
+          configurable: true,
+          enumerable: true
+        });
+      } else if (n & 1 && o & 64) {
+        Object.defineProperty(a, r, {
+          value: function value() {
+            var e = [];
+            for (var t = 0; t < arguments.length; t++) {
+              e[t] = arguments[t];
+            }
+            var n = getHostRef(this);
+            return n.$onInstancePromise$.then(function () {
+              var t;
+              return (t = n.$lazyInstance$)[r].apply(t, e);
+            });
+          }
+        });
+      }
+    });
+    if (n & 1) {
+      var o = new Map();
+      a.attributeChangedCallback = function (e, t, n) {
+        var r = this;
+        plt.jmp(function () {
+          var t = o.get(e);
+          if (r.hasOwnProperty(t)) {
+            n = r[t];
+            delete r[t];
+          } else if (a.hasOwnProperty(t) && typeof r[t] === "number" && r[t] == n) {
+            return;
+          }
+          r[t] = n === null && typeof r[t] === "boolean" ? false : n;
+        });
+      };
+      e.observedAttributes = r.filter(function (e) {
+        var t = e[0],
+          n = e[1];
+        return n[0] & 15;
+      }).map(function (e) {
+        var t = e[0],
+          n = e[1];
+        var r = n[1] || t;
+        o.set(r, t);
+        return r;
+      });
+    }
+  }
+  return e;
+};
+var initializeComponent = function initializeComponent(e, t, n, r, a) {
+  return __awaiter(void 0, void 0, void 0, function () {
+    var e, r, o, s, i, l, u;
+    return __generator(this, function (c) {
+      switch (c.label) {
+        case 0:
+          if (!((t.$flags$ & 32) === 0)) return [3, 3];
+          t.$flags$ |= 32;
+          a = loadModule(n);
+          if (!a.then) return [3, 2];
+          e = uniqueTime();
+          return [4, a];
+        case 1:
+          a = c.sent();
+          e();
+          c.label = 2;
+        case 2:
+          if (!a.isProxied) {
+            proxyComponent(a, n, 2);
+            a.isProxied = true;
+          }
+          r = createTime("createInstance", n.$tagName$);
+          {
+            t.$flags$ |= 8;
+          }
+          try {
+            new a(t);
+          } catch (e) {
+            consoleError(e);
+          }
+          {
+            t.$flags$ &= ~8;
+          }
+          r();
+          if (a.style) {
+            o = a.style;
+            s = getScopeId(n);
+            if (!styles.has(s)) {
+              i = createTime("registerStyles", n.$tagName$);
+              registerStyle(s, o, !!(n.$flags$ & 1));
+              i();
+            }
+          }
+          c.label = 3;
+        case 3:
+          l = t.$ancestorComponent$;
+          u = function u() {
+            return scheduleUpdate(t, true);
+          };
+          if (l && l["s-rc"]) {
+            l["s-rc"].push(u);
+          } else {
+            u();
+          }
+          return [2];
+      }
+    });
+  });
+};
+var connectedCallback = function connectedCallback(e) {
+  if ((plt.$flags$ & 1) === 0) {
+    var t = getHostRef(e);
+    var n = t.$cmpMeta$;
+    var r = createTime("connectedCallback", n.$tagName$);
+    if (!(t.$flags$ & 1)) {
+      t.$flags$ |= 1;
+      {
+        var a = e;
+        while (a = a.parentNode || a.host) {
+          if (a["s-p"]) {
+            attachToAncestor(t, t.$ancestorComponent$ = a);
+            break;
+          }
+        }
+      }
+      if (n.$members$) {
+        Object.entries(n.$members$).map(function (t) {
+          var n = t[0],
+            r = t[1][0];
+          if (r & 31 && e.hasOwnProperty(n)) {
+            var a = e[n];
+            delete e[n];
+            e[n] = a;
+          }
+        });
+      }
+      {
+        initializeComponent(e, t, n);
+      }
+    } else {
+      addHostEventListeners(e, t, n.$listeners$);
+    }
+    r();
+  }
+};
+var disconnectedCallback = function disconnectedCallback(e) {
+  if ((plt.$flags$ & 1) === 0) {
+    var t = getHostRef(e);
+    var n = t.$lazyInstance$;
+    {
+      if (t.$rmListeners$) {
+        t.$rmListeners$.map(function (e) {
+          return e();
+        });
+        t.$rmListeners$ = undefined;
+      }
+    }
+    {
+      safeCall(n, "disconnectedCallback");
+    }
+  }
+};
+var bootstrapLazy = function bootstrapLazy(e, t) {
+  if (t === void 0) {
+    t = {};
+  }
+  var n;
+  var r = createTime();
+  var a = [];
+  var o = t.exclude || [];
+  var s = win.customElements;
+  var i = doc.head;
+  var l = i.querySelector("meta[charset]");
+  var u = doc.createElement("style");
+  var c = [];
+  var f;
+  var $ = true;
+  Object.assign(plt, t);
+  plt.$resourcesUrl$ = new URL(t.resourcesUrl || "./", doc.baseURI).href;
+  e.map(function (e) {
+    e[1].map(function (t) {
+      var n = {
+        $flags$: t[0],
+        $tagName$: t[1],
+        $members$: t[2],
+        $listeners$: t[3]
+      };
+      {
+        n.$members$ = t[2];
+      }
+      {
+        n.$listeners$ = t[3];
+      }
+      var r = n.$tagName$;
+      var i = function (e) {
+        __extends(t, e);
+        function t(t) {
+          var r = e.call(this, t) || this;
+          t = r;
+          registerHost(t, n);
+          if (n.$flags$ & 1) {
+            {
+              {
+                t.attachShadow({
+                  mode: "open"
+                });
+              }
+            }
+          }
+          return r;
+        }
+        t.prototype.connectedCallback = function () {
+          var e = this;
+          if (f) {
+            clearTimeout(f);
+            f = null;
+          }
+          if ($) {
+            c.push(this);
+          } else {
+            plt.jmp(function () {
+              return connectedCallback(e);
+            });
+          }
+        };
+        t.prototype.disconnectedCallback = function () {
+          var e = this;
+          plt.jmp(function () {
+            return disconnectedCallback(e);
+          });
+        };
+        t.prototype.componentOnReady = function () {
+          return getHostRef(this).$onReadyPromise$;
+        };
+        return t;
+      }(HTMLElement);
+      n.$lazyBundleId$ = e[0];
+      if (!o.includes(r) && !s.get(r)) {
+        a.push(r);
+        s.define(r, proxyComponent(i, n, 1));
+      }
+    });
+  });
+  {
+    u.innerHTML = a + HYDRATED_CSS;
+    u.setAttribute("data-styles", "");
+    var d = (n = plt.$nonce$) !== null && n !== void 0 ? n : queryNonceMetaTagContent(doc);
+    if (d != null) {
+      u.setAttribute("nonce", d);
+    }
+    i.insertBefore(u, l ? l.nextSibling : i.firstChild);
+  }
+  $ = false;
+  if (c.length) {
+    c.map(function (e) {
+      return e.connectedCallback();
+    });
+  } else {
+    {
+      plt.jmp(function () {
+        return f = setTimeout(appDidLoad, 30);
+      });
+    }
+  }
+  r();
+};
+var addHostEventListeners = function addHostEventListeners(e, t, n, r) {
+  if (n) {
+    n.map(function (n) {
+      var r = n[0],
+        a = n[1],
+        o = n[2];
+      var s = getHostListenerTarget(e, r);
+      var i = hostListenerProxy(t, o);
+      var l = hostListenerOpts(r);
+      plt.ael(s, a, i, l);
+      (t.$rmListeners$ = t.$rmListeners$ || []).push(function () {
+        return plt.rel(s, a, i, l);
+      });
+    });
+  }
+};
+var hostListenerProxy = function hostListenerProxy(e, t) {
+  return function (n) {
+    try {
+      {
+        if (e.$flags$ & 256) {
+          e.$lazyInstance$[t](n);
+        } else {
+          (e.$queuedListeners$ = e.$queuedListeners$ || []).push([t, n]);
+        }
+      }
+    } catch (e) {
+      consoleError(e);
+    }
+  };
+};
+var getHostListenerTarget = function getHostListenerTarget(e, t) {
+  if (t & 16) return doc.body;
+  return e;
+};
+var hostListenerOpts = function hostListenerOpts(e) {
+  return (e & 2) !== 0;
+};
+var setNonce = function setNonce(e) {
+  return plt.$nonce$ = e;
+};
+var hostRefs = new WeakMap();
+var getHostRef = function getHostRef(e) {
+  return hostRefs.get(e);
+};
+var registerInstance = function registerInstance(e, t) {
+  return hostRefs.set(t.$lazyInstance$ = e, t);
+};
+var registerHost = function registerHost(e, t) {
+  var n = {
+    $flags$: 0,
+    $hostElement$: e,
+    $cmpMeta$: t,
+    $instanceValues$: new Map()
+  };
+  {
+    n.$onInstancePromise$ = new Promise(function (e) {
+      return n.$onInstanceResolve$ = e;
+    });
+  }
+  {
+    n.$onReadyPromise$ = new Promise(function (e) {
+      return n.$onReadyResolve$ = e;
+    });
+    e["s-p"] = [];
+    e["s-rc"] = [];
+  }
+  addHostEventListeners(e, n, t.$listeners$);
+  return hostRefs.set(e, n);
+};
+var isMemberInElement = function isMemberInElement(e, t) {
+  return t in e;
+};
+var consoleError = function consoleError(e, t) {
+  return (0, console.error)(e, t);
+};
+var cmpModules = new Map();
+var loadModule = function loadModule(e, t, n) {
+  var r = e.$tagName$.replace(/-/g, "_");
+  var a = e.$lazyBundleId$;
+  var o = cmpModules.get(a);
+  if (o) {
+    return o[r];
+  }
+  if (!n || !BUILD.hotModuleReplacement) {
+    var s = function s(e) {
+      cmpModules.set(a, e);
+      return e[r];
+    };
+    switch (a) {
+      case "pwa-action-sheet":
+        return import("./pwa-action-sheet.entry.js").then(s, consoleError);
+      case "pwa-camera-modal":
+        return import("./pwa-camera-modal.entry.js").then(s, consoleError);
+      case "pwa-toast":
+        return import("./pwa-toast.entry.js").then(s, consoleError);
+      case "pwa-camera-modal-instance":
+        return import("./pwa-camera-modal-instance.entry.js").then(s, consoleError);
+      case "pwa-camera":
+        return import("./pwa-camera.entry.js").then(s, consoleError);
+    }
+  }
+  return import("./".concat(a, ".entry.js").concat("")).then(function (e) {
+    {
+      cmpModules.set(a, e);
+    }
+    return e[r];
+  }, consoleError);
+};
+var styles = new Map();
+var win = typeof window !== "undefined" ? window : {};
+var doc = win.document || {
+  head: {}
+};
+var plt = {
+  $flags$: 0,
+  $resourcesUrl$: "",
+  jmp: function jmp(e) {
+    return e();
+  },
+  raf: function raf(e) {
+    return requestAnimationFrame(e);
+  },
+  ael: function ael(e, t, n, r) {
+    return e.addEventListener(t, n, r);
+  },
+  rel: function rel(e, t, n, r) {
+    return e.removeEventListener(t, n, r);
+  },
+  ce: function ce(e, t) {
+    return new CustomEvent(e, t);
+  }
+};
+var promiseResolve = function promiseResolve(e) {
+  return Promise.resolve(e);
+};
+var supportsConstructableStylesheets = function () {
+  try {
+    new CSSStyleSheet();
+    return typeof new CSSStyleSheet().replaceSync === "function";
+  } catch (e) {}
+  return false;
+}();
+var queueDomReads = [];
+var queueDomWrites = [];
+var queueTask = function queueTask(e, t) {
+  return function (n) {
+    e.push(n);
+    if (!queuePending) {
+      queuePending = true;
+      if (t && plt.$flags$ & 4) {
+        nextTick(_flush);
+      } else {
+        plt.raf(_flush);
+      }
+    }
+  };
+};
+var consume = function consume(e) {
+  for (var t = 0; t < e.length; t++) {
+    try {
+      e[t](performance.now());
+    } catch (e) {
+      consoleError(e);
+    }
+  }
+  e.length = 0;
+};
+var _flush = function flush() {
+  consume(queueDomReads);
+  {
+    consume(queueDomWrites);
+    if (queuePending = queueDomReads.length > 0) {
+      plt.raf(_flush);
+    }
+  }
+};
+var nextTick = function nextTick(e) {
+  return promiseResolve().then(e);
+};
+var writeTask = queueTask(queueDomWrites, true);
+export { Host as H, bootstrapLazy as b, createEvent as c, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/ionicpwaelements.js b/src/public/js/pwa-elements/esm-es5/ionicpwaelements.js
index a1b8a72..e802f64 100644
--- a/src/public/js/pwa-elements/esm-es5/ionicpwaelements.js
+++ b/src/public/js/pwa-elements/esm-es5/ionicpwaelements.js
@@ -1 +1,46 @@
-import{p as promiseResolve,b as bootstrapLazy}from"./index-1c5c47b4.js";export{s as setNonce}from"./index-1c5c47b4.js";var patchBrowser=function(){var e=import.meta.url;var a={};if(e!==""){a.resourcesUrl=new URL(".",e).href}return promiseResolve(a)};patchBrowser().then((function(e){return bootstrapLazy([["pwa-camera-modal",[[1,"pwa-camera-modal",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],present:[64],dismiss:[64]}]]],["pwa-action-sheet",[[1,"pwa-action-sheet",{header:[1],cancelable:[4],options:[16],open:[32]}]]],["pwa-toast",[[1,"pwa-toast",{message:[1],duration:[2],closing:[32]}]]],["pwa-camera",[[1,"pwa-camera",{facingMode:[1,"facing-mode"],handlePhoto:[16],hidePicker:[4,"hide-picker"],handleNoDeviceError:[16],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"],photo:[32],photoSrc:[32],showShutterOverlay:[32],flashIndex:[32],hasCamera:[32],rotation:[32],deviceError:[32]}]]],["pwa-camera-modal-instance",[[1,"pwa-camera-modal-instance",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]],e)}));
\ No newline at end of file
+import { p as promiseResolve, b as bootstrapLazy } from "./index-1c5c47b4.js";
+export { s as setNonce } from "./index-1c5c47b4.js";
+var patchBrowser = function patchBrowser() {
+  var e = import.meta.url;
+  var a = {};
+  if (e !== "") {
+    a.resourcesUrl = new URL(".", e).href;
+  }
+  return promiseResolve(a);
+};
+patchBrowser().then(function (e) {
+  return bootstrapLazy([["pwa-camera-modal", [[1, "pwa-camera-modal", {
+    facingMode: [1, "facing-mode"],
+    hidePicker: [4, "hide-picker"],
+    present: [64],
+    dismiss: [64]
+  }]]], ["pwa-action-sheet", [[1, "pwa-action-sheet", {
+    header: [1],
+    cancelable: [4],
+    options: [16],
+    open: [32]
+  }]]], ["pwa-toast", [[1, "pwa-toast", {
+    message: [1],
+    duration: [2],
+    closing: [32]
+  }]]], ["pwa-camera", [[1, "pwa-camera", {
+    facingMode: [1, "facing-mode"],
+    handlePhoto: [16],
+    hidePicker: [4, "hide-picker"],
+    handleNoDeviceError: [16],
+    noDevicesText: [1, "no-devices-text"],
+    noDevicesButtonText: [1, "no-devices-button-text"],
+    photo: [32],
+    photoSrc: [32],
+    showShutterOverlay: [32],
+    flashIndex: [32],
+    hasCamera: [32],
+    rotation: [32],
+    deviceError: [32]
+  }]]], ["pwa-camera-modal-instance", [[1, "pwa-camera-modal-instance", {
+    facingMode: [1, "facing-mode"],
+    hidePicker: [4, "hide-picker"],
+    noDevicesText: [1, "no-devices-text"],
+    noDevicesButtonText: [1, "no-devices-button-text"]
+  }, [[16, "keyup", "handleBackdropKeyUp"]]]]]], e);
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/loader.js b/src/public/js/pwa-elements/esm-es5/loader.js
index 89fde8d..c2c66de 100644
--- a/src/public/js/pwa-elements/esm-es5/loader.js
+++ b/src/public/js/pwa-elements/esm-es5/loader.js
@@ -1 +1,45 @@
-import{p as promiseResolve,b as bootstrapLazy}from"./index-1c5c47b4.js";export{s as setNonce}from"./index-1c5c47b4.js";var patchEsm=function(){return promiseResolve()};var defineCustomElements=function(e,o){if(typeof window==="undefined")return Promise.resolve();return patchEsm().then((function(){return bootstrapLazy([["pwa-camera-modal",[[1,"pwa-camera-modal",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],present:[64],dismiss:[64]}]]],["pwa-action-sheet",[[1,"pwa-action-sheet",{header:[1],cancelable:[4],options:[16],open:[32]}]]],["pwa-toast",[[1,"pwa-toast",{message:[1],duration:[2],closing:[32]}]]],["pwa-camera",[[1,"pwa-camera",{facingMode:[1,"facing-mode"],handlePhoto:[16],hidePicker:[4,"hide-picker"],handleNoDeviceError:[16],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"],photo:[32],photoSrc:[32],showShutterOverlay:[32],flashIndex:[32],hasCamera:[32],rotation:[32],deviceError:[32]}]]],["pwa-camera-modal-instance",[[1,"pwa-camera-modal-instance",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]],o)}))};export{defineCustomElements};
\ No newline at end of file
+import { p as promiseResolve, b as bootstrapLazy } from "./index-1c5c47b4.js";
+export { s as setNonce } from "./index-1c5c47b4.js";
+var patchEsm = function patchEsm() {
+  return promiseResolve();
+};
+var defineCustomElements = function defineCustomElements(e, o) {
+  if (typeof window === "undefined") return Promise.resolve();
+  return patchEsm().then(function () {
+    return bootstrapLazy([["pwa-camera-modal", [[1, "pwa-camera-modal", {
+      facingMode: [1, "facing-mode"],
+      hidePicker: [4, "hide-picker"],
+      present: [64],
+      dismiss: [64]
+    }]]], ["pwa-action-sheet", [[1, "pwa-action-sheet", {
+      header: [1],
+      cancelable: [4],
+      options: [16],
+      open: [32]
+    }]]], ["pwa-toast", [[1, "pwa-toast", {
+      message: [1],
+      duration: [2],
+      closing: [32]
+    }]]], ["pwa-camera", [[1, "pwa-camera", {
+      facingMode: [1, "facing-mode"],
+      handlePhoto: [16],
+      hidePicker: [4, "hide-picker"],
+      handleNoDeviceError: [16],
+      noDevicesText: [1, "no-devices-text"],
+      noDevicesButtonText: [1, "no-devices-button-text"],
+      photo: [32],
+      photoSrc: [32],
+      showShutterOverlay: [32],
+      flashIndex: [32],
+      hasCamera: [32],
+      rotation: [32],
+      deviceError: [32]
+    }]]], ["pwa-camera-modal-instance", [[1, "pwa-camera-modal-instance", {
+      facingMode: [1, "facing-mode"],
+      hidePicker: [4, "hide-picker"],
+      noDevicesText: [1, "no-devices-text"],
+      noDevicesButtonText: [1, "no-devices-button-text"]
+    }, [[16, "keyup", "handleBackdropKeyUp"]]]]]], o);
+  });
+};
+export { defineCustomElements };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-action-sheet.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-action-sheet.entry.js
index 36f6d26..4e0ecac 100644
--- a/src/public/js/pwa-elements/esm-es5/pwa-action-sheet.entry.js
+++ b/src/public/js/pwa-elements/esm-es5/pwa-action-sheet.entry.js
@@ -1 +1,67 @@
-import{r as registerInstance,c as createEvent,h,g as getElement}from"./index-1c5c47b4.js";var actionSheetCss=':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';var PWAActionSheet=function(){function e(e){registerInstance(this,e);this.onSelection=createEvent(this,"onSelection",7);this.header=undefined;this.cancelable=true;this.options=[];this.open=false}e.prototype.componentDidLoad=function(){var e=this;requestAnimationFrame((function(){e.open=true}))};e.prototype.dismiss=function(){if(this.cancelable){this.close()}};e.prototype.close=function(){var e=this;this.open=false;setTimeout((function(){e.el.parentNode.removeChild(e.el)}),500)};e.prototype.handleOptionClick=function(e,t){e.stopPropagation();this.onSelection.emit(t);this.close()};e.prototype.render=function(){var e=this;return h("div",{class:"wrapper".concat(this.open?" open":""),onClick:function(){return e.dismiss()}},h("div",{class:"content"},h("div",{class:"title"},this.header),this.options.map((function(t,n){return h("div",{class:"action-sheet-option",onClick:function(t){return e.handleOptionClick(t,n)}},h("div",{class:"action-sheet-button"},t.title))}))))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PWAActionSheet.style=actionSheetCss;export{PWAActionSheet as pwa_action_sheet};
\ No newline at end of file
+import { r as registerInstance, c as createEvent, h, g as getElement } from "./index-1c5c47b4.js";
+var actionSheetCss = ':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';
+var PWAActionSheet = function () {
+  function e(e) {
+    registerInstance(this, e);
+    this.onSelection = createEvent(this, "onSelection", 7);
+    this.header = undefined;
+    this.cancelable = true;
+    this.options = [];
+    this.open = false;
+  }
+  e.prototype.componentDidLoad = function () {
+    var e = this;
+    requestAnimationFrame(function () {
+      e.open = true;
+    });
+  };
+  e.prototype.dismiss = function () {
+    if (this.cancelable) {
+      this.close();
+    }
+  };
+  e.prototype.close = function () {
+    var e = this;
+    this.open = false;
+    setTimeout(function () {
+      e.el.parentNode.removeChild(e.el);
+    }, 500);
+  };
+  e.prototype.handleOptionClick = function (e, t) {
+    e.stopPropagation();
+    this.onSelection.emit(t);
+    this.close();
+  };
+  e.prototype.render = function () {
+    var e = this;
+    return h("div", {
+      class: "wrapper".concat(this.open ? " open" : ""),
+      onClick: function onClick() {
+        return e.dismiss();
+      }
+    }, h("div", {
+      class: "content"
+    }, h("div", {
+      class: "title"
+    }, this.header), this.options.map(function (t, n) {
+      return h("div", {
+        class: "action-sheet-option",
+        onClick: function onClick(t) {
+          return e.handleOptionClick(t, n);
+        }
+      }, h("div", {
+        class: "action-sheet-button"
+      }, t.title));
+    })));
+  };
+  Object.defineProperty(e.prototype, "el", {
+    get: function get() {
+      return getElement(this);
+    },
+    enumerable: false,
+    configurable: true
+  });
+  return e;
+}();
+PWAActionSheet.style = actionSheetCss;
+export { PWAActionSheet as pwa_action_sheet };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-camera-modal-instance.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-camera-modal-instance.entry.js
index a1746cf..8d667ff 100644
--- a/src/public/js/pwa-elements/esm-es5/pwa-camera-modal-instance.entry.js
+++ b/src/public/js/pwa-elements/esm-es5/pwa-camera-modal-instance.entry.js
@@ -1 +1,189 @@
-var __awaiter=this&&this.__awaiter||function(e,t,n,o){function r(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,i){function a(e){try{s(o.next(e))}catch(e){i(e)}}function c(e){try{s(o["throw"](e))}catch(e){i(e)}}function s(e){e.done?n(e.value):r(e.value).then(a,c)}s((o=o.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,r,i,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(t){return s([e,t])}}function s(c){if(o)throw new TypeError("Generator is already executing.");while(a&&(a=0,c[0]&&(n=0)),n)try{if(o=1,r&&(i=c[0]&2?r["return"]:c[0]?r["throw"]||((i=r["return"])&&i.call(r),0):r.next)&&!(i=i.call(r,c[1])).done)return i;if(r=0,i)c=[c[0]&2,i.value];switch(c[0]){case 0:case 1:i=c;break;case 4:n.label++;return{value:c[1],done:false};case 5:n.label++;r=c[1];c=[0];continue;case 7:c=n.ops.pop();n.trys.pop();continue;default:if(!(i=n.trys,i=i.length>0&&i[i.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!i||c[1]>i[0]&&c[1]<i[3])){n.label=c[1];break}if(c[0]===6&&n.label<i[1]){n.label=i[1];i=c;break}if(i&&n.label<i[2]){n.label=i[2];n.ops.push(c);break}if(i[2])n.ops.pop();n.trys.pop();continue}c=t.call(e,n)}catch(e){c=[6,e];r=0}finally{o=i=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h,g as getElement}from"./index-1c5c47b4.js";var cameraModalInstanceCss=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";var PWACameraModal=function(){function e(e){var t=this;registerInstance(this,e);this.onPhoto=createEvent(this,"onPhoto",7);this.noDeviceError=createEvent(this,"noDeviceError",7);this.handlePhoto=function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){this.onPhoto.emit(e);return[2]}))}))};this.handleNoDeviceError=function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){this.noDeviceError.emit(e);return[2]}))}))};this.facingMode="user";this.hidePicker=false;this.noDevicesText="No camera found";this.noDevicesButtonText="Choose image"}e.prototype.handleBackdropClick=function(e){if(e.target!==this.el){this.onPhoto.emit(null)}};e.prototype.handleComponentClick=function(e){e.stopPropagation()};e.prototype.handleBackdropKeyUp=function(e){if(e.key==="Escape"){this.onPhoto.emit(null)}};e.prototype.render=function(){var e=this;return h("div",{class:"wrapper",onClick:function(t){return e.handleBackdropClick(t)}},h("div",{class:"content"},h("pwa-camera",{onClick:function(t){return e.handleComponentClick(t)},facingMode:this.facingMode,hidePicker:this.hidePicker,handlePhoto:this.handlePhoto,handleNoDeviceError:this.handleNoDeviceError,noDevicesButtonText:this.noDevicesButtonText,noDevicesText:this.noDevicesText})))};Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();PWACameraModal.style=cameraModalInstanceCss;export{PWACameraModal as pwa_camera_modal_instance};
\ No newline at end of file
+var __awaiter = this && this.__awaiter || function (e, t, n, o) {
+  function r(e) {
+    return e instanceof n ? e : new n(function (t) {
+      t(e);
+    });
+  }
+  return new (n || (n = Promise))(function (n, i) {
+    function a(e) {
+      try {
+        s(o.next(e));
+      } catch (e) {
+        i(e);
+      }
+    }
+    function c(e) {
+      try {
+        s(o["throw"](e));
+      } catch (e) {
+        i(e);
+      }
+    }
+    function s(e) {
+      e.done ? n(e.value) : r(e.value).then(a, c);
+    }
+    s((o = o.apply(e, t || [])).next());
+  });
+};
+var __generator = this && this.__generator || function (e, t) {
+  var n = {
+      label: 0,
+      sent: function sent() {
+        if (i[0] & 1) throw i[1];
+        return i[1];
+      },
+      trys: [],
+      ops: []
+    },
+    o,
+    r,
+    i,
+    a;
+  return a = {
+    next: c(0),
+    throw: c(1),
+    return: c(2)
+  }, typeof Symbol === "function" && (a[Symbol.iterator] = function () {
+    return this;
+  }), a;
+  function c(e) {
+    return function (t) {
+      return s([e, t]);
+    };
+  }
+  function s(c) {
+    if (o) throw new TypeError("Generator is already executing.");
+    while (a && (a = 0, c[0] && (n = 0)), n) try {
+      if (o = 1, r && (i = c[0] & 2 ? r["return"] : c[0] ? r["throw"] || ((i = r["return"]) && i.call(r), 0) : r.next) && !(i = i.call(r, c[1])).done) return i;
+      if (r = 0, i) c = [c[0] & 2, i.value];
+      switch (c[0]) {
+        case 0:
+        case 1:
+          i = c;
+          break;
+        case 4:
+          n.label++;
+          return {
+            value: c[1],
+            done: false
+          };
+        case 5:
+          n.label++;
+          r = c[1];
+          c = [0];
+          continue;
+        case 7:
+          c = n.ops.pop();
+          n.trys.pop();
+          continue;
+        default:
+          if (!(i = n.trys, i = i.length > 0 && i[i.length - 1]) && (c[0] === 6 || c[0] === 2)) {
+            n = 0;
+            continue;
+          }
+          if (c[0] === 3 && (!i || c[1] > i[0] && c[1] < i[3])) {
+            n.label = c[1];
+            break;
+          }
+          if (c[0] === 6 && n.label < i[1]) {
+            n.label = i[1];
+            i = c;
+            break;
+          }
+          if (i && n.label < i[2]) {
+            n.label = i[2];
+            n.ops.push(c);
+            break;
+          }
+          if (i[2]) n.ops.pop();
+          n.trys.pop();
+          continue;
+      }
+      c = t.call(e, n);
+    } catch (e) {
+      c = [6, e];
+      r = 0;
+    } finally {
+      o = i = 0;
+    }
+    if (c[0] & 5) throw c[1];
+    return {
+      value: c[0] ? c[1] : void 0,
+      done: true
+    };
+  }
+};
+import { r as registerInstance, c as createEvent, h, g as getElement } from "./index-1c5c47b4.js";
+var cameraModalInstanceCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
+var PWACameraModal = function () {
+  function e(e) {
+    var t = this;
+    registerInstance(this, e);
+    this.onPhoto = createEvent(this, "onPhoto", 7);
+    this.noDeviceError = createEvent(this, "noDeviceError", 7);
+    this.handlePhoto = function (e) {
+      return __awaiter(t, void 0, void 0, function () {
+        return __generator(this, function (t) {
+          this.onPhoto.emit(e);
+          return [2];
+        });
+      });
+    };
+    this.handleNoDeviceError = function (e) {
+      return __awaiter(t, void 0, void 0, function () {
+        return __generator(this, function (t) {
+          this.noDeviceError.emit(e);
+          return [2];
+        });
+      });
+    };
+    this.facingMode = "user";
+    this.hidePicker = false;
+    this.noDevicesText = "No camera found";
+    this.noDevicesButtonText = "Choose image";
+  }
+  e.prototype.handleBackdropClick = function (e) {
+    if (e.target !== this.el) {
+      this.onPhoto.emit(null);
+    }
+  };
+  e.prototype.handleComponentClick = function (e) {
+    e.stopPropagation();
+  };
+  e.prototype.handleBackdropKeyUp = function (e) {
+    if (e.key === "Escape") {
+      this.onPhoto.emit(null);
+    }
+  };
+  e.prototype.render = function () {
+    var e = this;
+    return h("div", {
+      class: "wrapper",
+      onClick: function onClick(t) {
+        return e.handleBackdropClick(t);
+      }
+    }, h("div", {
+      class: "content"
+    }, h("pwa-camera", {
+      onClick: function onClick(t) {
+        return e.handleComponentClick(t);
+      },
+      facingMode: this.facingMode,
+      hidePicker: this.hidePicker,
+      handlePhoto: this.handlePhoto,
+      handleNoDeviceError: this.handleNoDeviceError,
+      noDevicesButtonText: this.noDevicesButtonText,
+      noDevicesText: this.noDevicesText
+    })));
+  };
+  Object.defineProperty(e.prototype, "el", {
+    get: function get() {
+      return getElement(this);
+    },
+    enumerable: false,
+    configurable: true
+  });
+  return e;
+}();
+PWACameraModal.style = cameraModalInstanceCss;
+export { PWACameraModal as pwa_camera_modal_instance };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-camera-modal.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-camera-modal.entry.js
index 3f04ded..0878a62 100644
--- a/src/public/js/pwa-elements/esm-es5/pwa-camera-modal.entry.js
+++ b/src/public/js/pwa-elements/esm-es5/pwa-camera-modal.entry.js
@@ -1 +1,179 @@
-var __awaiter=this&&this.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,o){function a(e){try{c(r.next(e))}catch(e){o(e)}}function s(e){try{c(r["throw"](e))}catch(e){o(e)}}function c(e){e.done?n(e.value):i(e.value).then(a,s)}c((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return c([e,t])}}function c(s){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(n=0)),n)try{if(r=1,i&&(o=s[0]&2?i["return"]:s[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;if(i=0,o)s=[s[0]&2,o.value];switch(s[0]){case 0:case 1:o=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;i=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!o||s[1]>o[0]&&s[1]<o[3])){n.label=s[1];break}if(s[0]===6&&n.label<o[1]){n.label=o[1];o=s;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(s);break}if(o[2])n.ops.pop();n.trys.pop();continue}s=t.call(e,n)}catch(e){s=[6,e];i=0}finally{r=o=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};import{r as registerInstance,c as createEvent,h}from"./index-1c5c47b4.js";var cameraModalCss=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";var PWACameraModal=function(){function e(e){registerInstance(this,e);this.onPhoto=createEvent(this,"onPhoto",7);this.noDeviceError=createEvent(this,"noDeviceError",7);this.facingMode="user";this.hidePicker=false}e.prototype.present=function(){return __awaiter(this,void 0,void 0,(function(){var e;var t=this;return __generator(this,(function(n){e=document.createElement("pwa-camera-modal-instance");e.facingMode=this.facingMode;e.hidePicker=this.hidePicker;e.addEventListener("onPhoto",(function(e){return __awaiter(t,void 0,void 0,(function(){var t;return __generator(this,(function(n){if(!this._modal){return[2]}t=e.detail;this.onPhoto.emit(t);return[2]}))}))}));e.addEventListener("noDeviceError",(function(e){return __awaiter(t,void 0,void 0,(function(){return __generator(this,(function(t){this.noDeviceError.emit(e);return[2]}))}))}));document.body.append(e);this._modal=e;return[2]}))}))};e.prototype.dismiss=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){if(!this._modal){return[2]}this._modal&&this._modal.parentNode.removeChild(this._modal);this._modal=null;return[2]}))}))};e.prototype.render=function(){return h("div",null)};return e}();PWACameraModal.style=cameraModalCss;export{PWACameraModal as pwa_camera_modal};
\ No newline at end of file
+var __awaiter = this && this.__awaiter || function (e, t, n, r) {
+  function i(e) {
+    return e instanceof n ? e : new n(function (t) {
+      t(e);
+    });
+  }
+  return new (n || (n = Promise))(function (n, o) {
+    function a(e) {
+      try {
+        c(r.next(e));
+      } catch (e) {
+        o(e);
+      }
+    }
+    function s(e) {
+      try {
+        c(r["throw"](e));
+      } catch (e) {
+        o(e);
+      }
+    }
+    function c(e) {
+      e.done ? n(e.value) : i(e.value).then(a, s);
+    }
+    c((r = r.apply(e, t || [])).next());
+  });
+};
+var __generator = this && this.__generator || function (e, t) {
+  var n = {
+      label: 0,
+      sent: function sent() {
+        if (o[0] & 1) throw o[1];
+        return o[1];
+      },
+      trys: [],
+      ops: []
+    },
+    r,
+    i,
+    o,
+    a;
+  return a = {
+    next: s(0),
+    throw: s(1),
+    return: s(2)
+  }, typeof Symbol === "function" && (a[Symbol.iterator] = function () {
+    return this;
+  }), a;
+  function s(e) {
+    return function (t) {
+      return c([e, t]);
+    };
+  }
+  function c(s) {
+    if (r) throw new TypeError("Generator is already executing.");
+    while (a && (a = 0, s[0] && (n = 0)), n) try {
+      if (r = 1, i && (o = s[0] & 2 ? i["return"] : s[0] ? i["throw"] || ((o = i["return"]) && o.call(i), 0) : i.next) && !(o = o.call(i, s[1])).done) return o;
+      if (i = 0, o) s = [s[0] & 2, o.value];
+      switch (s[0]) {
+        case 0:
+        case 1:
+          o = s;
+          break;
+        case 4:
+          n.label++;
+          return {
+            value: s[1],
+            done: false
+          };
+        case 5:
+          n.label++;
+          i = s[1];
+          s = [0];
+          continue;
+        case 7:
+          s = n.ops.pop();
+          n.trys.pop();
+          continue;
+        default:
+          if (!(o = n.trys, o = o.length > 0 && o[o.length - 1]) && (s[0] === 6 || s[0] === 2)) {
+            n = 0;
+            continue;
+          }
+          if (s[0] === 3 && (!o || s[1] > o[0] && s[1] < o[3])) {
+            n.label = s[1];
+            break;
+          }
+          if (s[0] === 6 && n.label < o[1]) {
+            n.label = o[1];
+            o = s;
+            break;
+          }
+          if (o && n.label < o[2]) {
+            n.label = o[2];
+            n.ops.push(s);
+            break;
+          }
+          if (o[2]) n.ops.pop();
+          n.trys.pop();
+          continue;
+      }
+      s = t.call(e, n);
+    } catch (e) {
+      s = [6, e];
+      i = 0;
+    } finally {
+      r = o = 0;
+    }
+    if (s[0] & 5) throw s[1];
+    return {
+      value: s[0] ? s[1] : void 0,
+      done: true
+    };
+  }
+};
+import { r as registerInstance, c as createEvent, h } from "./index-1c5c47b4.js";
+var cameraModalCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
+var PWACameraModal = function () {
+  function e(e) {
+    registerInstance(this, e);
+    this.onPhoto = createEvent(this, "onPhoto", 7);
+    this.noDeviceError = createEvent(this, "noDeviceError", 7);
+    this.facingMode = "user";
+    this.hidePicker = false;
+  }
+  e.prototype.present = function () {
+    return __awaiter(this, void 0, void 0, function () {
+      var e;
+      var t = this;
+      return __generator(this, function (n) {
+        e = document.createElement("pwa-camera-modal-instance");
+        e.facingMode = this.facingMode;
+        e.hidePicker = this.hidePicker;
+        e.addEventListener("onPhoto", function (e) {
+          return __awaiter(t, void 0, void 0, function () {
+            var t;
+            return __generator(this, function (n) {
+              if (!this._modal) {
+                return [2];
+              }
+              t = e.detail;
+              this.onPhoto.emit(t);
+              return [2];
+            });
+          });
+        });
+        e.addEventListener("noDeviceError", function (e) {
+          return __awaiter(t, void 0, void 0, function () {
+            return __generator(this, function (t) {
+              this.noDeviceError.emit(e);
+              return [2];
+            });
+          });
+        });
+        document.body.append(e);
+        this._modal = e;
+        return [2];
+      });
+    });
+  };
+  e.prototype.dismiss = function () {
+    return __awaiter(this, void 0, void 0, function () {
+      return __generator(this, function (e) {
+        if (!this._modal) {
+          return [2];
+        }
+        this._modal && this._modal.parentNode.removeChild(this._modal);
+        this._modal = null;
+        return [2];
+      });
+    });
+  };
+  e.prototype.render = function () {
+    return h("div", null);
+  };
+  return e;
+}();
+PWACameraModal.style = cameraModalCss;
+export { PWACameraModal as pwa_camera_modal };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-camera.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-camera.entry.js
index ae82a51..78afc19 100644
--- a/src/public/js/pwa-elements/esm-es5/pwa-camera.entry.js
+++ b/src/public/js/pwa-elements/esm-es5/pwa-camera.entry.js
@@ -1,4 +1,119 @@
-var __awaiter=this&&this.__awaiter||function(e,t,i,n){function r(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n["throw"](e))}catch(e){a(e)}}function c(e){e.done?i(e.value):r(e.value).then(o,s)}c((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,s[0]&&(i=0)),i)try{if(n=1,r&&(a=s[0]&2?r["return"]:s[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;if(r=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:i.label++;return{value:s[1],done:false};case 5:i.label++;r=s[1];s=[0];continue;case 7:s=i.ops.pop();i.trys.pop();continue;default:if(!(a=i.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){i=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(s[0]===6&&i.label<a[1]){i.label=a[1];a=s;break}if(a&&i.label<a[2]){i.label=a[2];i.ops.push(s);break}if(a[2])i.ops.pop();i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e];r=0}finally{n=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};import{r as registerInstance,f as forceUpdate,h,g as getElement}from"./index-1c5c47b4.js";
+var __awaiter = this && this.__awaiter || function (e, t, i, n) {
+  function r(e) {
+    return e instanceof i ? e : new i(function (t) {
+      t(e);
+    });
+  }
+  return new (i || (i = Promise))(function (i, a) {
+    function o(e) {
+      try {
+        c(n.next(e));
+      } catch (e) {
+        a(e);
+      }
+    }
+    function s(e) {
+      try {
+        c(n["throw"](e));
+      } catch (e) {
+        a(e);
+      }
+    }
+    function c(e) {
+      e.done ? i(e.value) : r(e.value).then(o, s);
+    }
+    c((n = n.apply(e, t || [])).next());
+  });
+};
+var __generator = this && this.__generator || function (e, t) {
+  var i = {
+      label: 0,
+      sent: function sent() {
+        if (a[0] & 1) throw a[1];
+        return a[1];
+      },
+      trys: [],
+      ops: []
+    },
+    n,
+    r,
+    a,
+    o;
+  return o = {
+    next: s(0),
+    throw: s(1),
+    return: s(2)
+  }, typeof Symbol === "function" && (o[Symbol.iterator] = function () {
+    return this;
+  }), o;
+  function s(e) {
+    return function (t) {
+      return c([e, t]);
+    };
+  }
+  function c(s) {
+    if (n) throw new TypeError("Generator is already executing.");
+    while (o && (o = 0, s[0] && (i = 0)), i) try {
+      if (n = 1, r && (a = s[0] & 2 ? r["return"] : s[0] ? r["throw"] || ((a = r["return"]) && a.call(r), 0) : r.next) && !(a = a.call(r, s[1])).done) return a;
+      if (r = 0, a) s = [s[0] & 2, a.value];
+      switch (s[0]) {
+        case 0:
+        case 1:
+          a = s;
+          break;
+        case 4:
+          i.label++;
+          return {
+            value: s[1],
+            done: false
+          };
+        case 5:
+          i.label++;
+          r = s[1];
+          s = [0];
+          continue;
+        case 7:
+          s = i.ops.pop();
+          i.trys.pop();
+          continue;
+        default:
+          if (!(a = i.trys, a = a.length > 0 && a[a.length - 1]) && (s[0] === 6 || s[0] === 2)) {
+            i = 0;
+            continue;
+          }
+          if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {
+            i.label = s[1];
+            break;
+          }
+          if (s[0] === 6 && i.label < a[1]) {
+            i.label = a[1];
+            a = s;
+            break;
+          }
+          if (a && i.label < a[2]) {
+            i.label = a[2];
+            i.ops.push(s);
+            break;
+          }
+          if (a[2]) i.ops.pop();
+          i.trys.pop();
+          continue;
+      }
+      s = t.call(e, i);
+    } catch (e) {
+      s = [6, e];
+      r = 0;
+    } finally {
+      n = a = 0;
+    }
+    if (s[0] & 5) throw s[1];
+    return {
+      value: s[0] ? s[1] : void 0,
+      done: true
+    };
+  }
+};
+import { r as registerInstance, f as forceUpdate, h, g as getElement } from "./index-1c5c47b4.js";
 /**
  * MediaStream ImageCapture polyfill
  *
@@ -16,4 +131,650 @@ var __awaiter=this&&this.__awaiter||function(e,t,i,n){function r(e){return e ins
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */var ImageCapture=window.ImageCapture;if(typeof ImageCapture==="undefined"){ImageCapture=function(){function e(e){var t=this;if(e.kind!=="video")throw new DOMException("NotSupportedError");this._videoStreamTrack=e;if(!("readyState"in this._videoStreamTrack)){this._videoStreamTrack.readyState="live"}this._previewStream=new MediaStream([e]);this.videoElement=document.createElement("video");this.videoElementPlaying=new Promise((function(e){t.videoElement.addEventListener("playing",e)}));if(HTMLMediaElement){this.videoElement.srcObject=this._previewStream}else{this.videoElement.src=URL.createObjectURL(this._previewStream)}this.videoElement.muted=true;this.videoElement.setAttribute("playsinline","");this.videoElement.play();this.canvasElement=document.createElement("canvas");this.canvas2dContext=this.canvasElement.getContext("2d")}Object.defineProperty(e.prototype,"videoStreamTrack",{get:function(){return this._videoStreamTrack},enumerable:false,configurable:true});e.prototype.getPhotoCapabilities=function(){return new Promise((function e(t,i){var n={current:0,min:0,max:0};t({exposureCompensation:n,exposureMode:"none",fillLightMode:["none"],focusMode:"none",imageHeight:n,imageWidth:n,iso:n,redEyeReduction:false,whiteBalanceMode:"none",zoom:n});i(new DOMException("OperationError"))}))};e.prototype.setOptions=function(e){if(e===void 0){e={}}return new Promise((function e(t,i){}))};e.prototype.takePhoto=function(){var e=this;return new Promise((function t(i,n){if(e._videoStreamTrack.readyState!=="live"){return n(new DOMException("InvalidStateError"))}e.videoElementPlaying.then((function(){try{e.canvasElement.width=e.videoElement.videoWidth;e.canvasElement.height=e.videoElement.videoHeight;e.canvas2dContext.drawImage(e.videoElement,0,0);e.canvasElement.toBlob(i)}catch(e){n(new DOMException("UnknownError"))}}))}))};e.prototype.grabFrame=function(){var e=this;return new Promise((function t(i,n){if(e._videoStreamTrack.readyState!=="live"){return n(new DOMException("InvalidStateError"))}e.videoElementPlaying.then((function(){try{e.canvasElement.width=e.videoElement.videoWidth;e.canvasElement.height=e.videoElement.videoHeight;e.canvas2dContext.drawImage(e.videoElement,0,0);i(window.createImageBitmap(e.canvasElement))}catch(e){n(new DOMException("UnknownError"))}}))}))};return e}()}window.ImageCapture=ImageCapture;var cameraCss=":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";var CameraPWA=function(){function e(e){var t=this;registerInstance(this,e);this.hasMultipleCameras=false;this.hasFlash=false;this.flashModes=[];this.flashMode="off";this.handlePickFile=function(e){};this.handleShutterClick=function(e){console.debug("shutter click");t.capture()};this.handleRotateClick=function(e){t.rotate()};this.handleClose=function(e){t.handlePhoto&&t.handlePhoto(null)};this.handleFlashClick=function(e){t.cycleFlash()};this.handleCancelPhoto=function(e){var i=t.stream&&t.stream.getTracks()[0];var n=i&&i.getConstraints();t.photo=null;t.photoSrc=null;if(n){t.initCamera({video:{facingMode:n.facingMode}})}else{t.initCamera()}};this.handleAcceptPhoto=function(e){t.handlePhoto&&t.handlePhoto(t.photo)};this.handleFileInputChange=function(e){return __awaiter(t,void 0,void 0,(function(){var t,i,n,r;return __generator(this,(function(a){switch(a.label){case 0:t=e.target;i=t.files[0];a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.getOrientation(i)];case 2:n=a.sent();console.debug("Got orientation",n);this.photoOrientation=n;return[3,4];case 3:r=a.sent();return[3,4];case 4:this.handlePhoto&&this.handlePhoto(i);return[2]}}))}))};this.handleVideoMetadata=function(e){console.debug("Video metadata",e)};this.facingMode="user";this.handlePhoto=undefined;this.hidePicker=false;this.handleNoDeviceError=undefined;this.noDevicesText="No camera found";this.noDevicesButtonText="Choose image";this.photo=undefined;this.photoSrc=undefined;this.showShutterOverlay=false;this.flashIndex=0;this.hasCamera=null;this.rotation=0;this.deviceError=null}e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:this.defaultConstraints={video:{facingMode:this.facingMode}};return[4,this.queryDevices()];case 1:e.sent();return[4,this.initCamera()];case 2:e.sent();return[2]}}))}))};e.prototype.disconnectedCallback=function(){this.stopStream();this.photoSrc&&URL.revokeObjectURL(this.photoSrc)};e.prototype.hasImageCapture=function(){return"ImageCapture"in window};e.prototype.queryDevices=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,i;return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,navigator.mediaDevices.enumerateDevices()];case 1:e=n.sent();t=e.filter((function(e){return e.kind=="videoinput"}));this.hasCamera=!!t.length;this.hasMultipleCameras=t.length>1;return[3,3];case 2:i=n.sent();this.deviceError=i;return[3,3];case 3:return[2]}}))}))};e.prototype.initCamera=function(e){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(n){switch(n.label){case 0:if(!e){e=this.defaultConstraints}n.label=1;case 1:n.trys.push([1,3,,4]);return[4,navigator.mediaDevices.getUserMedia(Object.assign({video:true,audio:false},e))];case 2:t=n.sent();this.initStream(t);return[3,4];case 3:i=n.sent();this.deviceError=i;this.handleNoDeviceError&&this.handleNoDeviceError(i);return[3,4];case 4:return[2]}}))}))};e.prototype.initStream=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:this.stream=e;this.videoElement.srcObject=e;if(!this.hasImageCapture())return[3,2];this.imageCapture=new window.ImageCapture(e.getVideoTracks()[0]);return[4,this.initPhotoCapabilities(this.imageCapture)];case 1:t.sent();return[3,3];case 2:this.deviceError="No image capture";this.handleNoDeviceError&&this.handleNoDeviceError();t.label=3;case 3:forceUpdate(this.el);return[2]}}))}))};e.prototype.initPhotoCapabilities=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:return[4,e.getPhotoCapabilities()];case 1:t=i.sent();if(t.fillLightMode&&t.fillLightMode.length>1){this.flashModes=t.fillLightMode.map((function(e){return e}));if(this.flashMode){this.flashMode=this.flashModes[this.flashModes.indexOf(this.flashMode)]||"off";this.flashIndex=this.flashModes.indexOf(this.flashMode)||0}else{this.flashIndex=0}}return[2]}}))}))};e.prototype.stopStream=function(){if(this.videoElement){this.videoElement.srcObject=null}this.stream&&this.stream.getTracks().forEach((function(e){return e.stop()}))};e.prototype.capture=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){switch(i.label){case 0:if(!this.hasImageCapture())return[3,5];i.label=1;case 1:i.trys.push([1,4,,5]);return[4,this.imageCapture.takePhoto({fillLightMode:this.flashModes.length>1?this.flashMode:undefined})];case 2:e=i.sent();return[4,this.flashScreen()];case 3:i.sent();this.promptAccept(e);return[3,5];case 4:t=i.sent();console.error("Unable to take photo!",t);return[3,5];case 5:this.stopStream();return[2]}}))}))};e.prototype.promptAccept=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:this.photo=e;return[4,this.getOrientation(e)];case 1:t=i.sent();console.debug("Got orientation",t);this.photoOrientation=t;if(t){switch(t){case 1:case 2:this.rotation=0;break;case 3:case 4:this.rotation=180;break;case 5:case 6:this.rotation=90;break;case 7:case 8:this.rotation=270;break}}this.photoSrc=URL.createObjectURL(e);return[2]}}))}))};e.prototype.getOrientation=function(e){return new Promise((function(t){var i=new FileReader;i.onload=function(e){var i=new DataView(e.target.result);if(i.getUint16(0,false)!==65496){return t(-2)}var n=i.byteLength;var r=2;while(r<n){var a=i.getUint16(r,false);r+=2;if(a===65505){if(i.getUint32(r+=2,false)!==1165519206){return t(-1)}var o=i.getUint16(r+=6,false)===18761;r+=i.getUint32(r+4,o);var s=i.getUint16(r,o);r+=2;for(var c=0;c<s;c++){if(i.getUint16(r+c*12,o)===274){return t(i.getUint16(r+c*12+8,o))}}}else if((a&65280)!==65280){break}else{r+=i.getUint16(r,false)}}return t(-1)};i.readAsArrayBuffer(e.slice(0,64*1024))}))};e.prototype.rotate=function(){this.stopStream();var e=this.stream&&this.stream.getTracks()[0];if(!e){return}var t=e.getConstraints();var i=t.facingMode;if(!i){var n=e.getCapabilities();if(n.facingMode){i=n.facingMode[0]}}if(i==="environment"){this.initCamera({video:{facingMode:"user"}})}else{this.initCamera({video:{facingMode:"environment"}})}};e.prototype.setFlashMode=function(e){console.debug("New flash mode: ",e);this.flashMode=e};e.prototype.cycleFlash=function(){if(this.flashModes.length>0){this.flashIndex=(this.flashIndex+1)%this.flashModes.length;this.setFlashMode(this.flashModes[this.flashIndex])}};e.prototype.flashScreen=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,new Promise((function(t,i){e.showShutterOverlay=true;setTimeout((function(){e.showShutterOverlay=false;t()}),100)}))]}))}))};e.prototype.iconExit=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconPhotos=function(){return h("svg",{xmlns:"http://www.w3.org/2000/svg",width:"512",height:"512",viewBox:"0 0 512 512"},h("path",{d:"M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"}),h("path",{d:"M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"}))};e.prototype.iconConfirm=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconReverseCamera=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconRetake=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconFlashOff=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconFlashOn=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E"};e.prototype.iconFlashAuto=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.render=function(){var e=this;var t={};return h("div",{class:"camera-wrapper"},h("div",{class:"camera-header"},h("section",{class:"items"},h("div",{class:"item close",onClick:function(t){return e.handleClose(t)}},h("img",{src:this.iconExit()})),h("div",{class:"item flash",onClick:function(t){return e.handleFlashClick(t)}},this.flashModes.length>0&&h("div",null,this.flashMode=="off"?h("img",{src:this.iconFlashOff()}):"",this.flashMode=="auto"?h("img",{src:this.iconFlashAuto()}):"",this.flashMode=="flash"?h("img",{src:this.iconFlashOn()}):"")))),(this.hasCamera===false||!!this.deviceError)&&h("div",{class:"no-device"},h("h2",null,this.noDevicesText),h("label",{htmlFor:"_pwa-elements-camera-input"},this.noDevicesButtonText),h("input",{type:"file",id:"_pwa-elements-camera-input",onChange:this.handleFileInputChange,accept:"image/*",class:"select-file-button"})),this.photoSrc?h("div",{class:"accept"},h("div",{class:"accept-image",style:Object.assign({backgroundImage:"url(".concat(this.photoSrc,")")},t)})):h("div",{class:"camera-video"},this.showShutterOverlay&&h("div",{class:"shutter-overlay"}),this.hasImageCapture()?h("video",{ref:function(t){return e.videoElement=t},onLoadedMetaData:this.handleVideoMetadata,autoplay:true,playsinline:true}):h("canvas",{ref:function(t){return e.canvasElement=t},width:"100%",height:"100%"}),h("canvas",{class:"offscreen-image-render",ref:function(t){return e.offscreenCanvas=t},width:"100%",height:"100%"})),this.hasCamera&&h("div",{class:"camera-footer"},!this.photo?[!this.hidePicker&&h("div",{class:"pick-image",onClick:this.handlePickFile},h("label",{htmlFor:"_pwa-elements-file-pick"},this.iconPhotos()),h("input",{type:"file",id:"_pwa-elements-file-pick",onChange:this.handleFileInputChange,accept:"image/*",class:"pick-image-button"})),h("div",{class:"shutter",onClick:this.handleShutterClick},h("div",{class:"shutter-button"})),h("div",{class:"rotate",onClick:this.handleRotateClick},h("img",{src:this.iconReverseCamera()}))]:h("section",{class:"items"},h("div",{class:"item accept-cancel",onClick:function(t){return e.handleCancelPhoto(t)}},h("img",{src:this.iconRetake()})),h("div",{class:"item accept-use",onClick:function(t){return e.handleAcceptPhoto(t)}},h("img",{src:this.iconConfirm()})))))};Object.defineProperty(e,"assetsDirs",{get:function(){return["icons"]},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});return e}();CameraPWA.style=cameraCss;export{CameraPWA as pwa_camera};
\ No newline at end of file
+ */
+var ImageCapture = window.ImageCapture;
+if (typeof ImageCapture === "undefined") {
+  ImageCapture = function () {
+    function e(e) {
+      var t = this;
+      if (e.kind !== "video") throw new DOMException("NotSupportedError");
+      this._videoStreamTrack = e;
+      if (!("readyState" in this._videoStreamTrack)) {
+        this._videoStreamTrack.readyState = "live";
+      }
+      this._previewStream = new MediaStream([e]);
+      this.videoElement = document.createElement("video");
+      this.videoElementPlaying = new Promise(function (e) {
+        t.videoElement.addEventListener("playing", e);
+      });
+      if (HTMLMediaElement) {
+        this.videoElement.srcObject = this._previewStream;
+      } else {
+        this.videoElement.src = URL.createObjectURL(this._previewStream);
+      }
+      this.videoElement.muted = true;
+      this.videoElement.setAttribute("playsinline", "");
+      this.videoElement.play();
+      this.canvasElement = document.createElement("canvas");
+      this.canvas2dContext = this.canvasElement.getContext("2d");
+    }
+    Object.defineProperty(e.prototype, "videoStreamTrack", {
+      get: function get() {
+        return this._videoStreamTrack;
+      },
+      enumerable: false,
+      configurable: true
+    });
+    e.prototype.getPhotoCapabilities = function () {
+      return new Promise(function e(t, i) {
+        var n = {
+          current: 0,
+          min: 0,
+          max: 0
+        };
+        t({
+          exposureCompensation: n,
+          exposureMode: "none",
+          fillLightMode: ["none"],
+          focusMode: "none",
+          imageHeight: n,
+          imageWidth: n,
+          iso: n,
+          redEyeReduction: false,
+          whiteBalanceMode: "none",
+          zoom: n
+        });
+        i(new DOMException("OperationError"));
+      });
+    };
+    e.prototype.setOptions = function (e) {
+      if (e === void 0) {
+        e = {};
+      }
+      return new Promise(function e(t, i) {});
+    };
+    e.prototype.takePhoto = function () {
+      var e = this;
+      return new Promise(function t(i, n) {
+        if (e._videoStreamTrack.readyState !== "live") {
+          return n(new DOMException("InvalidStateError"));
+        }
+        e.videoElementPlaying.then(function () {
+          try {
+            e.canvasElement.width = e.videoElement.videoWidth;
+            e.canvasElement.height = e.videoElement.videoHeight;
+            e.canvas2dContext.drawImage(e.videoElement, 0, 0);
+            e.canvasElement.toBlob(i);
+          } catch (e) {
+            n(new DOMException("UnknownError"));
+          }
+        });
+      });
+    };
+    e.prototype.grabFrame = function () {
+      var e = this;
+      return new Promise(function t(i, n) {
+        if (e._videoStreamTrack.readyState !== "live") {
+          return n(new DOMException("InvalidStateError"));
+        }
+        e.videoElementPlaying.then(function () {
+          try {
+            e.canvasElement.width = e.videoElement.videoWidth;
+            e.canvasElement.height = e.videoElement.videoHeight;
+            e.canvas2dContext.drawImage(e.videoElement, 0, 0);
+            i(window.createImageBitmap(e.canvasElement));
+          } catch (e) {
+            n(new DOMException("UnknownError"));
+          }
+        });
+      });
+    };
+    return e;
+  }();
+}
+window.ImageCapture = ImageCapture;
+var cameraCss = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
+var CameraPWA = function () {
+  function e(e) {
+    var t = this;
+    registerInstance(this, e);
+    this.hasMultipleCameras = false;
+    this.hasFlash = false;
+    this.flashModes = [];
+    this.flashMode = "off";
+    this.handlePickFile = function (e) {};
+    this.handleShutterClick = function (e) {
+      console.debug("shutter click");
+      t.capture();
+    };
+    this.handleRotateClick = function (e) {
+      t.rotate();
+    };
+    this.handleClose = function (e) {
+      t.handlePhoto && t.handlePhoto(null);
+    };
+    this.handleFlashClick = function (e) {
+      t.cycleFlash();
+    };
+    this.handleCancelPhoto = function (e) {
+      var i = t.stream && t.stream.getTracks()[0];
+      var n = i && i.getConstraints();
+      t.photo = null;
+      t.photoSrc = null;
+      if (n) {
+        t.initCamera({
+          video: {
+            facingMode: n.facingMode
+          }
+        });
+      } else {
+        t.initCamera();
+      }
+    };
+    this.handleAcceptPhoto = function (e) {
+      t.handlePhoto && t.handlePhoto(t.photo);
+    };
+    this.handleFileInputChange = function (e) {
+      return __awaiter(t, void 0, void 0, function () {
+        var t, i, n, r;
+        return __generator(this, function (a) {
+          switch (a.label) {
+            case 0:
+              t = e.target;
+              i = t.files[0];
+              a.label = 1;
+            case 1:
+              a.trys.push([1, 3,, 4]);
+              return [4, this.getOrientation(i)];
+            case 2:
+              n = a.sent();
+              console.debug("Got orientation", n);
+              this.photoOrientation = n;
+              return [3, 4];
+            case 3:
+              r = a.sent();
+              return [3, 4];
+            case 4:
+              this.handlePhoto && this.handlePhoto(i);
+              return [2];
+          }
+        });
+      });
+    };
+    this.handleVideoMetadata = function (e) {
+      console.debug("Video metadata", e);
+    };
+    this.facingMode = "user";
+    this.handlePhoto = undefined;
+    this.hidePicker = false;
+    this.handleNoDeviceError = undefined;
+    this.noDevicesText = "No camera found";
+    this.noDevicesButtonText = "Choose image";
+    this.photo = undefined;
+    this.photoSrc = undefined;
+    this.showShutterOverlay = false;
+    this.flashIndex = 0;
+    this.hasCamera = null;
+    this.rotation = 0;
+    this.deviceError = null;
+  }
+  e.prototype.componentDidLoad = function () {
+    return __awaiter(this, void 0, void 0, function () {
+      return __generator(this, function (e) {
+        switch (e.label) {
+          case 0:
+            this.defaultConstraints = {
+              video: {
+                facingMode: this.facingMode
+              }
+            };
+            return [4, this.queryDevices()];
+          case 1:
+            e.sent();
+            return [4, this.initCamera()];
+          case 2:
+            e.sent();
+            return [2];
+        }
+      });
+    });
+  };
+  e.prototype.disconnectedCallback = function () {
+    this.stopStream();
+    this.photoSrc && URL.revokeObjectURL(this.photoSrc);
+  };
+  e.prototype.hasImageCapture = function () {
+    return "ImageCapture" in window;
+  };
+  e.prototype.queryDevices = function () {
+    return __awaiter(this, void 0, void 0, function () {
+      var e, t, i;
+      return __generator(this, function (n) {
+        switch (n.label) {
+          case 0:
+            n.trys.push([0, 2,, 3]);
+            return [4, navigator.mediaDevices.enumerateDevices()];
+          case 1:
+            e = n.sent();
+            t = e.filter(function (e) {
+              return e.kind == "videoinput";
+            });
+            this.hasCamera = !!t.length;
+            this.hasMultipleCameras = t.length > 1;
+            return [3, 3];
+          case 2:
+            i = n.sent();
+            this.deviceError = i;
+            return [3, 3];
+          case 3:
+            return [2];
+        }
+      });
+    });
+  };
+  e.prototype.initCamera = function (e) {
+    return __awaiter(this, void 0, void 0, function () {
+      var t, i;
+      return __generator(this, function (n) {
+        switch (n.label) {
+          case 0:
+            if (!e) {
+              e = this.defaultConstraints;
+            }
+            n.label = 1;
+          case 1:
+            n.trys.push([1, 3,, 4]);
+            return [4, navigator.mediaDevices.getUserMedia(Object.assign({
+              video: true,
+              audio: false
+            }, e))];
+          case 2:
+            t = n.sent();
+            this.initStream(t);
+            return [3, 4];
+          case 3:
+            i = n.sent();
+            this.deviceError = i;
+            this.handleNoDeviceError && this.handleNoDeviceError(i);
+            return [3, 4];
+          case 4:
+            return [2];
+        }
+      });
+    });
+  };
+  e.prototype.initStream = function (e) {
+    return __awaiter(this, void 0, void 0, function () {
+      return __generator(this, function (t) {
+        switch (t.label) {
+          case 0:
+            this.stream = e;
+            this.videoElement.srcObject = e;
+            if (!this.hasImageCapture()) return [3, 2];
+            this.imageCapture = new window.ImageCapture(e.getVideoTracks()[0]);
+            return [4, this.initPhotoCapabilities(this.imageCapture)];
+          case 1:
+            t.sent();
+            return [3, 3];
+          case 2:
+            this.deviceError = "No image capture";
+            this.handleNoDeviceError && this.handleNoDeviceError();
+            t.label = 3;
+          case 3:
+            forceUpdate(this.el);
+            return [2];
+        }
+      });
+    });
+  };
+  e.prototype.initPhotoCapabilities = function (e) {
+    return __awaiter(this, void 0, void 0, function () {
+      var t;
+      return __generator(this, function (i) {
+        switch (i.label) {
+          case 0:
+            return [4, e.getPhotoCapabilities()];
+          case 1:
+            t = i.sent();
+            if (t.fillLightMode && t.fillLightMode.length > 1) {
+              this.flashModes = t.fillLightMode.map(function (e) {
+                return e;
+              });
+              if (this.flashMode) {
+                this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || "off";
+                this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+              } else {
+                this.flashIndex = 0;
+              }
+            }
+            return [2];
+        }
+      });
+    });
+  };
+  e.prototype.stopStream = function () {
+    if (this.videoElement) {
+      this.videoElement.srcObject = null;
+    }
+    this.stream && this.stream.getTracks().forEach(function (e) {
+      return e.stop();
+    });
+  };
+  e.prototype.capture = function () {
+    return __awaiter(this, void 0, void 0, function () {
+      var e, t;
+      return __generator(this, function (i) {
+        switch (i.label) {
+          case 0:
+            if (!this.hasImageCapture()) return [3, 5];
+            i.label = 1;
+          case 1:
+            i.trys.push([1, 4,, 5]);
+            return [4, this.imageCapture.takePhoto({
+              fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
+            })];
+          case 2:
+            e = i.sent();
+            return [4, this.flashScreen()];
+          case 3:
+            i.sent();
+            this.promptAccept(e);
+            return [3, 5];
+          case 4:
+            t = i.sent();
+            console.error("Unable to take photo!", t);
+            return [3, 5];
+          case 5:
+            this.stopStream();
+            return [2];
+        }
+      });
+    });
+  };
+  e.prototype.promptAccept = function (e) {
+    return __awaiter(this, void 0, void 0, function () {
+      var t;
+      return __generator(this, function (i) {
+        switch (i.label) {
+          case 0:
+            this.photo = e;
+            return [4, this.getOrientation(e)];
+          case 1:
+            t = i.sent();
+            console.debug("Got orientation", t);
+            this.photoOrientation = t;
+            if (t) {
+              switch (t) {
+                case 1:
+                case 2:
+                  this.rotation = 0;
+                  break;
+                case 3:
+                case 4:
+                  this.rotation = 180;
+                  break;
+                case 5:
+                case 6:
+                  this.rotation = 90;
+                  break;
+                case 7:
+                case 8:
+                  this.rotation = 270;
+                  break;
+              }
+            }
+            this.photoSrc = URL.createObjectURL(e);
+            return [2];
+        }
+      });
+    });
+  };
+  e.prototype.getOrientation = function (e) {
+    return new Promise(function (t) {
+      var i = new FileReader();
+      i.onload = function (e) {
+        var i = new DataView(e.target.result);
+        if (i.getUint16(0, false) !== 65496) {
+          return t(-2);
+        }
+        var n = i.byteLength;
+        var r = 2;
+        while (r < n) {
+          var a = i.getUint16(r, false);
+          r += 2;
+          if (a === 65505) {
+            if (i.getUint32(r += 2, false) !== 1165519206) {
+              return t(-1);
+            }
+            var o = i.getUint16(r += 6, false) === 18761;
+            r += i.getUint32(r + 4, o);
+            var s = i.getUint16(r, o);
+            r += 2;
+            for (var c = 0; c < s; c++) {
+              if (i.getUint16(r + c * 12, o) === 274) {
+                return t(i.getUint16(r + c * 12 + 8, o));
+              }
+            }
+          } else if ((a & 65280) !== 65280) {
+            break;
+          } else {
+            r += i.getUint16(r, false);
+          }
+        }
+        return t(-1);
+      };
+      i.readAsArrayBuffer(e.slice(0, 64 * 1024));
+    });
+  };
+  e.prototype.rotate = function () {
+    this.stopStream();
+    var e = this.stream && this.stream.getTracks()[0];
+    if (!e) {
+      return;
+    }
+    var t = e.getConstraints();
+    var i = t.facingMode;
+    if (!i) {
+      var n = e.getCapabilities();
+      if (n.facingMode) {
+        i = n.facingMode[0];
+      }
+    }
+    if (i === "environment") {
+      this.initCamera({
+        video: {
+          facingMode: "user"
+        }
+      });
+    } else {
+      this.initCamera({
+        video: {
+          facingMode: "environment"
+        }
+      });
+    }
+  };
+  e.prototype.setFlashMode = function (e) {
+    console.debug("New flash mode: ", e);
+    this.flashMode = e;
+  };
+  e.prototype.cycleFlash = function () {
+    if (this.flashModes.length > 0) {
+      this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
+      this.setFlashMode(this.flashModes[this.flashIndex]);
+    }
+  };
+  e.prototype.flashScreen = function () {
+    return __awaiter(this, void 0, void 0, function () {
+      var e = this;
+      return __generator(this, function (t) {
+        return [2, new Promise(function (t, i) {
+          e.showShutterOverlay = true;
+          setTimeout(function () {
+            e.showShutterOverlay = false;
+            t();
+          }, 100);
+        })];
+      });
+    });
+  };
+  e.prototype.iconExit = function () {
+    return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+  };
+  e.prototype.iconPhotos = function () {
+    return h("svg", {
+      xmlns: "http://www.w3.org/2000/svg",
+      width: "512",
+      height: "512",
+      viewBox: "0 0 512 512"
+    }, h("path", {
+      d: "M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"
+    }), h("path", {
+      d: "M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"
+    }));
+  };
+  e.prototype.iconConfirm = function () {
+    return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+  };
+  e.prototype.iconReverseCamera = function () {
+    return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E";
+  };
+  e.prototype.iconRetake = function () {
+    return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+  };
+  e.prototype.iconFlashOff = function () {
+    return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E";
+  };
+  e.prototype.iconFlashOn = function () {
+    return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E";
+  };
+  e.prototype.iconFlashAuto = function () {
+    return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E";
+  };
+  e.prototype.render = function () {
+    var e = this;
+    var t = {};
+    return h("div", {
+      class: "camera-wrapper"
+    }, h("div", {
+      class: "camera-header"
+    }, h("section", {
+      class: "items"
+    }, h("div", {
+      class: "item close",
+      onClick: function onClick(t) {
+        return e.handleClose(t);
+      }
+    }, h("img", {
+      src: this.iconExit()
+    })), h("div", {
+      class: "item flash",
+      onClick: function onClick(t) {
+        return e.handleFlashClick(t);
+      }
+    }, this.flashModes.length > 0 && h("div", null, this.flashMode == "off" ? h("img", {
+      src: this.iconFlashOff()
+    }) : "", this.flashMode == "auto" ? h("img", {
+      src: this.iconFlashAuto()
+    }) : "", this.flashMode == "flash" ? h("img", {
+      src: this.iconFlashOn()
+    }) : "")))), (this.hasCamera === false || !!this.deviceError) && h("div", {
+      class: "no-device"
+    }, h("h2", null, this.noDevicesText), h("label", {
+      htmlFor: "_pwa-elements-camera-input"
+    }, this.noDevicesButtonText), h("input", {
+      type: "file",
+      id: "_pwa-elements-camera-input",
+      onChange: this.handleFileInputChange,
+      accept: "image/*",
+      class: "select-file-button"
+    })), this.photoSrc ? h("div", {
+      class: "accept"
+    }, h("div", {
+      class: "accept-image",
+      style: Object.assign({
+        backgroundImage: "url(".concat(this.photoSrc, ")")
+      }, t)
+    })) : h("div", {
+      class: "camera-video"
+    }, this.showShutterOverlay && h("div", {
+      class: "shutter-overlay"
+    }), this.hasImageCapture() ? h("video", {
+      ref: function ref(t) {
+        return e.videoElement = t;
+      },
+      onLoadedMetaData: this.handleVideoMetadata,
+      autoplay: true,
+      playsinline: true
+    }) : h("canvas", {
+      ref: function ref(t) {
+        return e.canvasElement = t;
+      },
+      width: "100%",
+      height: "100%"
+    }), h("canvas", {
+      class: "offscreen-image-render",
+      ref: function ref(t) {
+        return e.offscreenCanvas = t;
+      },
+      width: "100%",
+      height: "100%"
+    })), this.hasCamera && h("div", {
+      class: "camera-footer"
+    }, !this.photo ? [!this.hidePicker && h("div", {
+      class: "pick-image",
+      onClick: this.handlePickFile
+    }, h("label", {
+      htmlFor: "_pwa-elements-file-pick"
+    }, this.iconPhotos()), h("input", {
+      type: "file",
+      id: "_pwa-elements-file-pick",
+      onChange: this.handleFileInputChange,
+      accept: "image/*",
+      class: "pick-image-button"
+    })), h("div", {
+      class: "shutter",
+      onClick: this.handleShutterClick
+    }, h("div", {
+      class: "shutter-button"
+    })), h("div", {
+      class: "rotate",
+      onClick: this.handleRotateClick
+    }, h("img", {
+      src: this.iconReverseCamera()
+    }))] : h("section", {
+      class: "items"
+    }, h("div", {
+      class: "item accept-cancel",
+      onClick: function onClick(t) {
+        return e.handleCancelPhoto(t);
+      }
+    }, h("img", {
+      src: this.iconRetake()
+    })), h("div", {
+      class: "item accept-use",
+      onClick: function onClick(t) {
+        return e.handleAcceptPhoto(t);
+      }
+    }, h("img", {
+      src: this.iconConfirm()
+    })))));
+  };
+  Object.defineProperty(e, "assetsDirs", {
+    get: function get() {
+      return ["icons"];
+    },
+    enumerable: false,
+    configurable: true
+  });
+  Object.defineProperty(e.prototype, "el", {
+    get: function get() {
+      return getElement(this);
+    },
+    enumerable: false,
+    configurable: true
+  });
+  return e;
+}();
+CameraPWA.style = cameraCss;
+export { CameraPWA as pwa_camera };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm-es5/pwa-toast.entry.js b/src/public/js/pwa-elements/esm-es5/pwa-toast.entry.js
index 2b8e239..3d37f6f 100644
--- a/src/public/js/pwa-elements/esm-es5/pwa-toast.entry.js
+++ b/src/public/js/pwa-elements/esm-es5/pwa-toast.entry.js
@@ -1 +1,57 @@
-import{r as registerInstance,h,g as getElement,H as Host}from"./index-1c5c47b4.js";var toastCss=':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';var PWAToast=function(){function t(t){registerInstance(this,t);this.message=undefined;this.duration=2e3;this.closing=null}t.prototype.hostData=function(){var t={out:!!this.closing};if(this.closing!==null){t["in"]=!this.closing}return{class:t}};t.prototype.componentDidLoad=function(){var t=this;setTimeout((function(){t.closing=false}));setTimeout((function(){t.close()}),this.duration)};t.prototype.close=function(){var t=this;this.closing=true;setTimeout((function(){t.el.parentNode.removeChild(t.el)}),1e3)};t.prototype.__stencil_render=function(){return h("div",{class:"wrapper"},h("div",{class:"toast"},this.message))};Object.defineProperty(t.prototype,"el",{get:function(){return getElement(this)},enumerable:false,configurable:true});t.prototype.render=function(){return h(Host,this.hostData(),this.__stencil_render())};return t}();PWAToast.style=toastCss;export{PWAToast as pwa_toast};
\ No newline at end of file
+import { r as registerInstance, h, g as getElement, H as Host } from "./index-1c5c47b4.js";
+var toastCss = ':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';
+var PWAToast = function () {
+  function t(t) {
+    registerInstance(this, t);
+    this.message = undefined;
+    this.duration = 2e3;
+    this.closing = null;
+  }
+  t.prototype.hostData = function () {
+    var t = {
+      out: !!this.closing
+    };
+    if (this.closing !== null) {
+      t["in"] = !this.closing;
+    }
+    return {
+      class: t
+    };
+  };
+  t.prototype.componentDidLoad = function () {
+    var t = this;
+    setTimeout(function () {
+      t.closing = false;
+    });
+    setTimeout(function () {
+      t.close();
+    }, this.duration);
+  };
+  t.prototype.close = function () {
+    var t = this;
+    this.closing = true;
+    setTimeout(function () {
+      t.el.parentNode.removeChild(t.el);
+    }, 1e3);
+  };
+  t.prototype.__stencil_render = function () {
+    return h("div", {
+      class: "wrapper"
+    }, h("div", {
+      class: "toast"
+    }, this.message));
+  };
+  Object.defineProperty(t.prototype, "el", {
+    get: function get() {
+      return getElement(this);
+    },
+    enumerable: false,
+    configurable: true
+  });
+  t.prototype.render = function () {
+    return h(Host, this.hostData(), this.__stencil_render());
+  };
+  return t;
+}();
+PWAToast.style = toastCss;
+export { PWAToast as pwa_toast };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/index-1c5c47b4.js b/src/public/js/pwa-elements/esm/index-1c5c47b4.js
index 14e6a7f..35b2455 100644
--- a/src/public/js/pwa-elements/esm/index-1c5c47b4.js
+++ b/src/public/js/pwa-elements/esm/index-1c5c47b4.js
@@ -1,4 +1,32 @@
-const NAMESPACE = 'ionicpwaelements';
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
+function _possibleConstructorReturn(t, e) { if (e && ("object" == typeof e || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
+function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
+function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
+function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }
+function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }
+function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
+function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } }
+function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
+function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
+function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
+function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
+function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
+function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
+function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
+function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
+function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
+var NAMESPACE = 'ionicpwaelements';
 
 /**
  * Virtual DOM patching algorithm based on Snabbdom by
@@ -8,25 +36,26 @@ const NAMESPACE = 'ionicpwaelements';
  *
  * Modified for Stencil's renderer and slot projection
  */
-let scopeId;
-let hostTagName;
-let isSvgMode = false;
-let queuePending = false;
-const createTime = (fnName, tagName = '') => {
-    {
-        return () => {
-            return;
-        };
-    }
+var scopeId;
+var hostTagName;
+var isSvgMode = false;
+var queuePending = false;
+var createTime = function createTime(fnName) {
+  var tagName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
+  {
+    return function () {
+      return;
+    };
+  }
 };
-const uniqueTime = (key, measureText) => {
-    {
-        return () => {
-            return;
-        };
-    }
+var uniqueTime = function uniqueTime(key, measureText) {
+  {
+    return function () {
+      return;
+    };
+  }
 };
-const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
+var HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
 /**
  * Default style mode id
  */
@@ -34,13 +63,15 @@ const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
  * Reusable empty obj/array
  * Don't add values to these!!
  */
-const EMPTY_OBJ = {};
+var EMPTY_OBJ = {};
 /**
  * Namespaces
  */
-const SVG_NS = 'http://www.w3.org/2000/svg';
-const HTML_NS = 'http://www.w3.org/1999/xhtml';
-const isDef = (v) => v != null;
+var SVG_NS = 'http://www.w3.org/2000/svg';
+var HTML_NS = 'http://www.w3.org/1999/xhtml';
+var isDef = function isDef(v) {
+  return v != null;
+};
 /**
  * Check whether a value is a 'complex type', defined here as an object or a
  * function.
@@ -48,10 +79,10 @@ const isDef = (v) => v != null;
  * @param o the value to check
  * @returns whether it's a complex type or not
  */
-const isComplexType = (o) => {
-    // https://jsperf.com/typeof-fn-object/5
-    o = typeof o;
-    return o === 'object' || o === 'function';
+var isComplexType = function isComplexType(o) {
+  // https://jsperf.com/typeof-fn-object/5
+  o = typeof o;
+  return o === 'object' || o === 'function';
 };
 /**
  * Helper method for querying a `meta` tag that contains a nonce value
@@ -62,8 +93,8 @@ const isComplexType = (o) => {
  * exists or the tag has no content.
  */
 function queryNonceMetaTagContent(doc) {
-    var _a, _b, _c;
-    return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
+  var _a, _b, _c;
+  return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
 }
 /**
  * Production h() function based on Preact by
@@ -75,53 +106,51 @@ function queryNonceMetaTagContent(doc) {
  */
 // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode;
 // export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode;
-const h = (nodeName, vnodeData, ...children) => {
-    let child = null;
-    let simple = false;
-    let lastSimple = false;
-    const vNodeChildren = [];
-    const walk = (c) => {
-        for (let i = 0; i < c.length; i++) {
-            child = c[i];
-            if (Array.isArray(child)) {
-                walk(child);
-            }
-            else if (child != null && typeof child !== 'boolean') {
-                if ((simple = typeof nodeName !== 'function' && !isComplexType(child))) {
-                    child = String(child);
-                }
-                if (simple && lastSimple) {
-                    // If the previous child was simple (string), we merge both
-                    vNodeChildren[vNodeChildren.length - 1].$text$ += child;
-                }
-                else {
-                    // Append a new vNode, if it's text, we create a text vNode
-                    vNodeChildren.push(simple ? newVNode(null, child) : child);
-                }
-                lastSimple = simple;
-            }
-        }
-    };
-    walk(children);
-    if (vnodeData) {
-        {
-            const classData = vnodeData.className || vnodeData.class;
-            if (classData) {
-                vnodeData.class =
-                    typeof classData !== 'object'
-                        ? classData
-                        : Object.keys(classData)
-                            .filter((k) => classData[k])
-                            .join(' ');
-            }
-        }
+var h = function h(nodeName, vnodeData) {
+  var child = null;
+  var simple = false;
+  var lastSimple = false;
+  var vNodeChildren = [];
+  var _walk = function walk(c) {
+    for (var i = 0; i < c.length; i++) {
+      child = c[i];
+      if (Array.isArray(child)) {
+        _walk(child);
+      } else if (child != null && typeof child !== 'boolean') {
+        if (simple = typeof nodeName !== 'function' && !isComplexType(child)) {
+          child = String(child);
+        }
+        if (simple && lastSimple) {
+          // If the previous child was simple (string), we merge both
+          vNodeChildren[vNodeChildren.length - 1].$text$ += child;
+        } else {
+          // Append a new vNode, if it's text, we create a text vNode
+          vNodeChildren.push(simple ? newVNode(null, child) : child);
+        }
+        lastSimple = simple;
+      }
     }
-    const vnode = newVNode(nodeName, null);
-    vnode.$attrs$ = vnodeData;
-    if (vNodeChildren.length > 0) {
-        vnode.$children$ = vNodeChildren;
+  };
+  for (var _len = arguments.length, children = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
+    children[_key - 2] = arguments[_key];
+  }
+  _walk(children);
+  if (vnodeData) {
+    {
+      var classData = vnodeData.className || vnodeData.class;
+      if (classData) {
+        vnodeData.class = typeof classData !== 'object' ? classData : Object.keys(classData).filter(function (k) {
+          return classData[k];
+        }).join(' ');
+      }
     }
-    return vnode;
+  }
+  var vnode = newVNode(nodeName, null);
+  vnode.$attrs$ = vnodeData;
+  if (vNodeChildren.length > 0) {
+    vnode.$children$ = vNodeChildren;
+  }
+  return vnode;
 };
 /**
  * A utility function for creating a virtual DOM node from a tag and some
@@ -131,27 +160,29 @@ const h = (nodeName, vnodeData, ...children) => {
  * @param text possible text content for the node
  * @returns a newly-minted virtual DOM node
  */
-const newVNode = (tag, text) => {
-    const vnode = {
-        $flags$: 0,
-        $tag$: tag,
-        $text$: text,
-        $elm$: null,
-        $children$: null,
-    };
-    {
-        vnode.$attrs$ = null;
-    }
-    return vnode;
+var newVNode = function newVNode(tag, text) {
+  var vnode = {
+    $flags$: 0,
+    $tag$: tag,
+    $text$: text,
+    $elm$: null,
+    $children$: null
+  };
+  {
+    vnode.$attrs$ = null;
+  }
+  return vnode;
 };
-const Host = {};
+var Host = {};
 /**
  * Check whether a given node is a Host node or not
  *
  * @param node the virtual DOM node to check
  * @returns whether it's a Host node or not
  */
-const isHost = (node) => node && node.$tag$ === Host;
+var isHost = function isHost(node) {
+  return node && node.$tag$ === Host;
+};
 /**
  * Parse a new property value for a given property type.
  *
@@ -175,43 +206,45 @@ const isHost = (node) => node && node.$tag$ === Host;
  * @param propType the type of the prop, expressed as a binary number
  * @returns the parsed/coerced value
  */
-const parsePropertyValue = (propValue, propType) => {
-    // ensure this value is of the correct prop type
-    if (propValue != null && !isComplexType(propValue)) {
-        if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
-            // per the HTML spec, any string value means it is a boolean true value
-            // but we'll cheat here and say that the string "false" is the boolean false
-            return propValue === 'false' ? false : propValue === '' || !!propValue;
-        }
-        if (propType & 2 /* MEMBER_FLAGS.Number */) {
-            // force it to be a number
-            return parseFloat(propValue);
-        }
-        if (propType & 1 /* MEMBER_FLAGS.String */) {
-            // could have been passed as a number or boolean
-            // but we still want it as a string
-            return String(propValue);
-        }
-        // redundant return here for better minification
-        return propValue;
+var parsePropertyValue = function parsePropertyValue(propValue, propType) {
+  // ensure this value is of the correct prop type
+  if (propValue != null && !isComplexType(propValue)) {
+    if (propType & 4 /* MEMBER_FLAGS.Boolean */) {
+      // per the HTML spec, any string value means it is a boolean true value
+      // but we'll cheat here and say that the string "false" is the boolean false
+      return propValue === 'false' ? false : propValue === '' || !!propValue;
+    }
+    if (propType & 2 /* MEMBER_FLAGS.Number */) {
+      // force it to be a number
+      return parseFloat(propValue);
     }
-    // not sure exactly what type we want
-    // so no need to change to a different type
+    if (propType & 1 /* MEMBER_FLAGS.String */) {
+      // could have been passed as a number or boolean
+      // but we still want it as a string
+      return String(propValue);
+    }
+    // redundant return here for better minification
     return propValue;
+  }
+  // not sure exactly what type we want
+  // so no need to change to a different type
+  return propValue;
 };
-const getElement = (ref) => (getHostRef(ref).$hostElement$ );
-const createEvent = (ref, name, flags) => {
-    const elm = getElement(ref);
-    return {
-        emit: (detail) => {
-            return emitEvent(elm, name, {
-                bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
-                composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
-                cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
-                detail,
-            });
-        },
-    };
+var getElement = function getElement(ref) {
+  return getHostRef(ref).$hostElement$;
+};
+var createEvent = function createEvent(ref, name, flags) {
+  var elm = getElement(ref);
+  return {
+    emit: function emit(detail) {
+      return emitEvent(elm, name, {
+        bubbles: !!(flags & 4 /* EVENT_FLAGS.Bubbles */),
+        composed: !!(flags & 2 /* EVENT_FLAGS.Composed */),
+        cancelable: !!(flags & 1 /* EVENT_FLAGS.Cancellable */),
+        detail: detail
+      });
+    }
+  };
 };
 /**
  * Helper function to create & dispatch a custom Event on a provided target
@@ -220,89 +253,88 @@ const createEvent = (ref, name, flags) => {
  * @param opts options for configuring a custom Event
  * @returns the custom Event
  */
-const emitEvent = (elm, name, opts) => {
-    const ev = plt.ce(name, opts);
-    elm.dispatchEvent(ev);
-    return ev;
+var emitEvent = function emitEvent(elm, name, opts) {
+  var ev = plt.ce(name, opts);
+  elm.dispatchEvent(ev);
+  return ev;
 };
-const rootAppliedStyles = /*@__PURE__*/ new WeakMap();
-const registerStyle = (scopeId, cssText, allowCS) => {
-    let style = styles.get(scopeId);
-    if (supportsConstructableStylesheets && allowCS) {
-        style = (style || new CSSStyleSheet());
-        if (typeof style === 'string') {
-            style = cssText;
-        }
-        else {
-            style.replaceSync(cssText);
-        }
+var rootAppliedStyles = /*@__PURE__*/new WeakMap();
+var registerStyle = function registerStyle(scopeId, cssText, allowCS) {
+  var style = styles.get(scopeId);
+  if (supportsConstructableStylesheets && allowCS) {
+    style = style || new CSSStyleSheet();
+    if (typeof style === 'string') {
+      style = cssText;
+    } else {
+      style.replaceSync(cssText);
     }
-    else {
-        style = cssText;
-    }
-    styles.set(scopeId, style);
+  } else {
+    style = cssText;
+  }
+  styles.set(scopeId, style);
 };
-const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
-    var _a;
-    let scopeId = getScopeId(cmpMeta);
-    const style = styles.get(scopeId);
-    // if an element is NOT connected then getRootNode() will return the wrong root node
-    // so the fallback is to always use the document for the root node in those cases
-    styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
-    if (style) {
-        if (typeof style === 'string') {
-            styleContainerNode = styleContainerNode.head || styleContainerNode;
-            let appliedStyles = rootAppliedStyles.get(styleContainerNode);
-            let styleElm;
-            if (!appliedStyles) {
-                rootAppliedStyles.set(styleContainerNode, (appliedStyles = new Set()));
-            }
-            if (!appliedStyles.has(scopeId)) {
-                {
-                    // TODO(STENCIL-659): Remove code implementing the CSS variable shim
-                    {
-                        styleElm = doc.createElement('style');
-                        styleElm.innerHTML = style;
-                    }
-                    // Apply CSP nonce to the style tag if it exists
-                    const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
-                    if (nonce != null) {
-                        styleElm.setAttribute('nonce', nonce);
-                    }
-                    styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
-                }
-                if (appliedStyles) {
-                    appliedStyles.add(scopeId);
-                }
-            }
-        }
-        else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
-            styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style];
+var addStyle = function addStyle(styleContainerNode, cmpMeta, mode, hostElm) {
+  var _a;
+  var scopeId = getScopeId(cmpMeta);
+  var style = styles.get(scopeId);
+  // if an element is NOT connected then getRootNode() will return the wrong root node
+  // so the fallback is to always use the document for the root node in those cases
+  styleContainerNode = styleContainerNode.nodeType === 11 /* NODE_TYPE.DocumentFragment */ ? styleContainerNode : doc;
+  if (style) {
+    if (typeof style === 'string') {
+      styleContainerNode = styleContainerNode.head || styleContainerNode;
+      var appliedStyles = rootAppliedStyles.get(styleContainerNode);
+      var styleElm;
+      if (!appliedStyles) {
+        rootAppliedStyles.set(styleContainerNode, appliedStyles = new Set());
+      }
+      if (!appliedStyles.has(scopeId)) {
+        {
+          // TODO(STENCIL-659): Remove code implementing the CSS variable shim
+          {
+            styleElm = doc.createElement('style');
+            styleElm.innerHTML = style;
+          }
+          // Apply CSP nonce to the style tag if it exists
+          var nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
+          if (nonce != null) {
+            styleElm.setAttribute('nonce', nonce);
+          }
+          styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
+        }
+        if (appliedStyles) {
+          appliedStyles.add(scopeId);
         }
+      }
+    } else if (!styleContainerNode.adoptedStyleSheets.includes(style)) {
+      styleContainerNode.adoptedStyleSheets = [].concat(_toConsumableArray(styleContainerNode.adoptedStyleSheets), [style]);
     }
-    return scopeId;
+  }
+  return scopeId;
 };
-const attachStyles = (hostRef) => {
-    const cmpMeta = hostRef.$cmpMeta$;
-    const elm = hostRef.$hostElement$;
-    const flags = cmpMeta.$flags$;
-    const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
-    const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
-    // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
-    if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
-        // only required when we're NOT using native shadow dom (slot)
-        // or this browser doesn't support native shadow dom
-        // and this host element was NOT created with SSR
-        // let's pick out the inner content for slot projection
-        // create a node to represent where the original
-        // content was first placed, which is useful later on
-        // DOM WRITE!!
-        elm['s-sc'] = scopeId;
-        elm.classList.add(scopeId + '-h');
-    }
-    endAttachStyles();
+var attachStyles = function attachStyles(hostRef) {
+  var cmpMeta = hostRef.$cmpMeta$;
+  var elm = hostRef.$hostElement$;
+  var flags = cmpMeta.$flags$;
+  var endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
+  var scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
+  // TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
+  if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
+    // only required when we're NOT using native shadow dom (slot)
+    // or this browser doesn't support native shadow dom
+    // and this host element was NOT created with SSR
+    // let's pick out the inner content for slot projection
+    // create a node to represent where the original
+    // content was first placed, which is useful later on
+    // DOM WRITE!!
+    elm['s-sc'] = scopeId;
+    elm.classList.add(scopeId + '-h');
+  }
+  endAttachStyles();
+};
+var getScopeId = function getScopeId(cmp, mode) {
+  return 'sc-' + cmp.$tagName$;
 };
-const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
 /**
  * Production setAccessor() function based on Preact by
  * Jason Miller (@developit)
@@ -311,147 +343,137 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
  *
  * Modified for Stencil's compiler and vdom
  */
-const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
-    if (oldValue !== newValue) {
-        let isProp = isMemberInElement(elm, memberName);
-        let ln = memberName.toLowerCase();
-        if (memberName === 'class') {
-            const classList = elm.classList;
-            const oldClasses = parseClassList(oldValue);
-            const newClasses = parseClassList(newValue);
-            classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
-            classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
-        }
-        else if (memberName === 'style') {
-            // update style attribute, css properties and values
-            {
-                for (const prop in oldValue) {
-                    if (!newValue || newValue[prop] == null) {
-                        if (prop.includes('-')) {
-                            elm.style.removeProperty(prop);
-                        }
-                        else {
-                            elm.style[prop] = '';
-                        }
-                    }
-                }
-            }
-            for (const prop in newValue) {
-                if (!oldValue || newValue[prop] !== oldValue[prop]) {
-                    if (prop.includes('-')) {
-                        elm.style.setProperty(prop, newValue[prop]);
-                    }
-                    else {
-                        elm.style[prop] = newValue[prop];
-                    }
-                }
-            }
-        }
-        else if (memberName === 'ref') {
-            // minifier will clean this up
-            if (newValue) {
-                newValue(elm);
+var setAccessor = function setAccessor(elm, memberName, oldValue, newValue, isSvg, flags) {
+  if (oldValue !== newValue) {
+    var isProp = isMemberInElement(elm, memberName);
+    var ln = memberName.toLowerCase();
+    if (memberName === 'class') {
+      var classList = elm.classList;
+      var oldClasses = parseClassList(oldValue);
+      var newClasses = parseClassList(newValue);
+      classList.remove.apply(classList, _toConsumableArray(oldClasses.filter(function (c) {
+        return c && !newClasses.includes(c);
+      })));
+      classList.add.apply(classList, _toConsumableArray(newClasses.filter(function (c) {
+        return c && !oldClasses.includes(c);
+      })));
+    } else if (memberName === 'style') {
+      // update style attribute, css properties and values
+      {
+        for (var prop in oldValue) {
+          if (!newValue || newValue[prop] == null) {
+            if (prop.includes('-')) {
+              elm.style.removeProperty(prop);
+            } else {
+              elm.style[prop] = '';
             }
+          }
         }
-        else if ((!isProp ) &&
-            memberName[0] === 'o' &&
-            memberName[1] === 'n') {
-            // Event Handlers
-            // so if the member name starts with "on" and the 3rd characters is
-            // a capital letter, and it's not already a member on the element,
-            // then we're assuming it's an event listener
-            if (memberName[2] === '-') {
-                // on- prefixed events
-                // allows to be explicit about the dom event to listen without any magic
-                // under the hood:
-                // <my-cmp on-click> // listens for "click"
-                // <my-cmp on-Click> // listens for "Click"
-                // <my-cmp on-ionChange> // listens for "ionChange"
-                // <my-cmp on-EVENTS> // listens for "EVENTS"
-                memberName = memberName.slice(3);
-            }
-            else if (isMemberInElement(win, ln)) {
-                // standard event
-                // the JSX attribute could have been "onMouseOver" and the
-                // member name "onmouseover" is on the window's prototype
-                // so let's add the listener "mouseover", which is all lowercased
-                memberName = ln.slice(2);
-            }
-            else {
-                // custom event
-                // the JSX attribute could have been "onMyCustomEvent"
-                // so let's trim off the "on" prefix and lowercase the first character
-                // and add the listener "myCustomEvent"
-                // except for the first character, we keep the event name case
-                memberName = ln[2] + memberName.slice(3);
-            }
-            if (oldValue) {
-                plt.rel(elm, memberName, oldValue, false);
-            }
-            if (newValue) {
-                plt.ael(elm, memberName, newValue, false);
-            }
+      }
+      for (var _prop in newValue) {
+        if (!oldValue || newValue[_prop] !== oldValue[_prop]) {
+          if (_prop.includes('-')) {
+            elm.style.setProperty(_prop, newValue[_prop]);
+          } else {
+            elm.style[_prop] = newValue[_prop];
+          }
         }
-        else {
-            // Set property if it exists and it's not a SVG
-            const isComplex = isComplexType(newValue);
-            if ((isProp || (isComplex && newValue !== null)) && !isSvg) {
-                try {
-                    if (!elm.tagName.includes('-')) {
-                        const n = newValue == null ? '' : newValue;
-                        // Workaround for Safari, moving the <input> caret when re-assigning the same valued
-                        if (memberName === 'list') {
-                            isProp = false;
-                        }
-                        else if (oldValue == null || elm[memberName] != n) {
-                            elm[memberName] = n;
-                        }
-                    }
-                    else {
-                        elm[memberName] = newValue;
-                    }
-                }
-                catch (e) { }
-            }
-            if (newValue == null || newValue === false) {
-                if (newValue !== false || elm.getAttribute(memberName) === '') {
-                    {
-                        elm.removeAttribute(memberName);
-                    }
-                }
-            }
-            else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
-                newValue = newValue === true ? '' : newValue;
-                {
-                    elm.setAttribute(memberName, newValue);
-                }
+      }
+    } else if (memberName === 'ref') {
+      // minifier will clean this up
+      if (newValue) {
+        newValue(elm);
+      }
+    } else if (!isProp && memberName[0] === 'o' && memberName[1] === 'n') {
+      // Event Handlers
+      // so if the member name starts with "on" and the 3rd characters is
+      // a capital letter, and it's not already a member on the element,
+      // then we're assuming it's an event listener
+      if (memberName[2] === '-') {
+        // on- prefixed events
+        // allows to be explicit about the dom event to listen without any magic
+        // under the hood:
+        // <my-cmp on-click> // listens for "click"
+        // <my-cmp on-Click> // listens for "Click"
+        // <my-cmp on-ionChange> // listens for "ionChange"
+        // <my-cmp on-EVENTS> // listens for "EVENTS"
+        memberName = memberName.slice(3);
+      } else if (isMemberInElement(win, ln)) {
+        // standard event
+        // the JSX attribute could have been "onMouseOver" and the
+        // member name "onmouseover" is on the window's prototype
+        // so let's add the listener "mouseover", which is all lowercased
+        memberName = ln.slice(2);
+      } else {
+        // custom event
+        // the JSX attribute could have been "onMyCustomEvent"
+        // so let's trim off the "on" prefix and lowercase the first character
+        // and add the listener "myCustomEvent"
+        // except for the first character, we keep the event name case
+        memberName = ln[2] + memberName.slice(3);
+      }
+      if (oldValue) {
+        plt.rel(elm, memberName, oldValue, false);
+      }
+      if (newValue) {
+        plt.ael(elm, memberName, newValue, false);
+      }
+    } else {
+      // Set property if it exists and it's not a SVG
+      var isComplex = isComplexType(newValue);
+      if ((isProp || isComplex && newValue !== null) && !isSvg) {
+        try {
+          if (!elm.tagName.includes('-')) {
+            var n = newValue == null ? '' : newValue;
+            // Workaround for Safari, moving the <input> caret when re-assigning the same valued
+            if (memberName === 'list') {
+              isProp = false;
+            } else if (oldValue == null || elm[memberName] != n) {
+              elm[memberName] = n;
             }
+          } else {
+            elm[memberName] = newValue;
+          }
+        } catch (e) {}
+      }
+      if (newValue == null || newValue === false) {
+        if (newValue !== false || elm.getAttribute(memberName) === '') {
+          {
+            elm.removeAttribute(memberName);
+          }
+        }
+      } else if ((!isProp || flags & 4 /* VNODE_FLAGS.isHost */ || isSvg) && !isComplex) {
+        newValue = newValue === true ? '' : newValue;
+        {
+          elm.setAttribute(memberName, newValue);
         }
+      }
     }
+  }
 };
-const parseClassListRegex = /\s/;
-const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
-const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
-    // if the element passed in is a shadow root, which is a document fragment
-    // then we want to be adding attrs/props to the shadow root's "host" element
-    // if it's not a shadow root, then we add attrs/props to the same element
-    const elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host
-        ? newVnode.$elm$.host
-        : newVnode.$elm$;
-    const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ;
-    const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
-    {
-        // remove attributes no longer present on the vnode by setting them to undefined
-        for (memberName in oldVnodeAttrs) {
-            if (!(memberName in newVnodeAttrs)) {
-                setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
-            }
-        }
-    }
-    // add new & update changed attributes
-    for (memberName in newVnodeAttrs) {
-        setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
+var parseClassListRegex = /\s/;
+var parseClassList = function parseClassList(value) {
+  return !value ? [] : value.split(parseClassListRegex);
+};
+var updateElement = function updateElement(oldVnode, newVnode, isSvgMode, memberName) {
+  // if the element passed in is a shadow root, which is a document fragment
+  // then we want to be adding attrs/props to the shadow root's "host" element
+  // if it's not a shadow root, then we add attrs/props to the same element
+  var elm = newVnode.$elm$.nodeType === 11 /* NODE_TYPE.DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
+  var oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || EMPTY_OBJ;
+  var newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
+  {
+    // remove attributes no longer present on the vnode by setting them to undefined
+    for (memberName in oldVnodeAttrs) {
+      if (!(memberName in newVnodeAttrs)) {
+        setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
+      }
     }
+  }
+  // add new & update changed attributes
+  for (memberName in newVnodeAttrs) {
+    setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
+  }
 };
 /**
  * Create a DOM Node corresponding to one of the children of a given VNode.
@@ -463,58 +485,55 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
  * @param parentElm the parent DOM node which our new node will be a child of
  * @returns the newly created node
  */
-const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
-    // tslint:disable-next-line: prefer-const
-    const newVNode = newParentVNode.$children$[childIndex];
-    let i = 0;
-    let elm;
-    let childNode;
-    if (newVNode.$text$ !== null) {
-        // create text node
-        elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
+var _createElm = function createElm(oldParentVNode, newParentVNode, childIndex, parentElm) {
+  // tslint:disable-next-line: prefer-const
+  var newVNode = newParentVNode.$children$[childIndex];
+  var i = 0;
+  var elm;
+  var childNode;
+  if (newVNode.$text$ !== null) {
+    // create text node
+    elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$);
+  } else {
+    if (!isSvgMode) {
+      isSvgMode = newVNode.$tag$ === 'svg';
     }
-    else {
-        if (!isSvgMode) {
-            isSvgMode = newVNode.$tag$ === 'svg';
-        }
-        // create element
-        elm = newVNode.$elm$ = (doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$)
-            );
-        if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
-            isSvgMode = false;
-        }
-        // add css classes, attrs, props, listeners, etc.
-        {
-            updateElement(null, newVNode, isSvgMode);
-        }
-        if (isDef(scopeId) && elm['s-si'] !== scopeId) {
-            // if there is a scopeId and this is the initial render
-            // then let's add the scopeId as a css class
-            elm.classList.add((elm['s-si'] = scopeId));
-        }
-        if (newVNode.$children$) {
-            for (i = 0; i < newVNode.$children$.length; ++i) {
-                // create the node
-                childNode = createElm(oldParentVNode, newVNode, i);
-                // return node could have been null
-                if (childNode) {
-                    // append our new node
-                    elm.appendChild(childNode);
-                }
-            }
-        }
-        {
-            if (newVNode.$tag$ === 'svg') {
-                // Only reset the SVG context when we're exiting <svg> element
-                isSvgMode = false;
-            }
-            else if (elm.tagName === 'foreignObject') {
-                // Reenter SVG context when we're exiting <foreignObject> element
-                isSvgMode = true;
-            }
+    // create element
+    elm = newVNode.$elm$ = doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, newVNode.$tag$);
+    if (isSvgMode && newVNode.$tag$ === 'foreignObject') {
+      isSvgMode = false;
+    }
+    // add css classes, attrs, props, listeners, etc.
+    {
+      updateElement(null, newVNode, isSvgMode);
+    }
+    if (isDef(scopeId) && elm['s-si'] !== scopeId) {
+      // if there is a scopeId and this is the initial render
+      // then let's add the scopeId as a css class
+      elm.classList.add(elm['s-si'] = scopeId);
+    }
+    if (newVNode.$children$) {
+      for (i = 0; i < newVNode.$children$.length; ++i) {
+        // create the node
+        childNode = _createElm(oldParentVNode, newVNode, i);
+        // return node could have been null
+        if (childNode) {
+          // append our new node
+          elm.appendChild(childNode);
         }
+      }
     }
-    return elm;
+    {
+      if (newVNode.$tag$ === 'svg') {
+        // Only reset the SVG context when we're exiting <svg> element
+        isSvgMode = false;
+      } else if (elm.tagName === 'foreignObject') {
+        // Reenter SVG context when we're exiting <foreignObject> element
+        isSvgMode = true;
+      }
+    }
+  }
+  return elm;
 };
 /**
  * Create DOM nodes corresponding to a list of {@link d.Vnode} objects and
@@ -531,21 +550,21 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
  * @param endIdx the index in the child virtual DOM nodes at which to stop
  * creating DOM nodes (inclusive)
  */
-const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => {
-    let containerElm = (parentElm);
-    let childNode;
-    if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
-        containerElm = containerElm.shadowRoot;
-    }
-    for (; startIdx <= endIdx; ++startIdx) {
-        if (vnodes[startIdx]) {
-            childNode = createElm(null, parentVNode, startIdx);
-            if (childNode) {
-                vnodes[startIdx].$elm$ = childNode;
-                containerElm.insertBefore(childNode, before);
-            }
-        }
+var addVnodes = function addVnodes(parentElm, before, parentVNode, vnodes, startIdx, endIdx) {
+  var containerElm = parentElm;
+  var childNode;
+  if (containerElm.shadowRoot && containerElm.tagName === hostTagName) {
+    containerElm = containerElm.shadowRoot;
+  }
+  for (; startIdx <= endIdx; ++startIdx) {
+    if (vnodes[startIdx]) {
+      childNode = _createElm(null, parentVNode, startIdx);
+      if (childNode) {
+        vnodes[startIdx].$elm$ = childNode;
+        containerElm.insertBefore(childNode, before);
+      }
     }
+  }
 };
 /**
  * Remove the DOM elements corresponding to a list of {@link d.VNode} objects.
@@ -558,18 +577,18 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
  * @param startIdx the index at which to start removing nodes (inclusive)
  * @param endIdx the index at which to stop removing nodes (inclusive)
  */
-const removeVnodes = (vnodes, startIdx, endIdx) => {
-    for (let index = startIdx; index <= endIdx; ++index) {
-        const vnode = vnodes[index];
-        if (vnode) {
-            const elm = vnode.$elm$;
-            nullifyVNodeRefs(vnode);
-            if (elm) {
-                // remove the vnode's element from the dom
-                elm.remove();
-            }
-        }
+var removeVnodes = function removeVnodes(vnodes, startIdx, endIdx) {
+  for (var index = startIdx; index <= endIdx; ++index) {
+    var vnode = vnodes[index];
+    if (vnode) {
+      var elm = vnode.$elm$;
+      _nullifyVNodeRefs(vnode);
+      if (elm) {
+        // remove the vnode's element from the dom
+        elm.remove();
+      }
     }
+  }
 };
 /**
  * Reconcile the children of a new VNode with the children of an old VNode by
@@ -639,108 +658,99 @@ const removeVnodes = (vnodes, startIdx, endIdx) => {
  * @param newVNode the new VNode which will replace the parent
  * @param newCh the new children of the parent node
  */
-const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
-    let oldStartIdx = 0;
-    let newStartIdx = 0;
-    let oldEndIdx = oldCh.length - 1;
-    let oldStartVnode = oldCh[0];
-    let oldEndVnode = oldCh[oldEndIdx];
-    let newEndIdx = newCh.length - 1;
-    let newStartVnode = newCh[0];
-    let newEndVnode = newCh[newEndIdx];
-    let node;
-    while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
-        if (oldStartVnode == null) {
-            // VNode might have been moved left
-            oldStartVnode = oldCh[++oldStartIdx];
-        }
-        else if (oldEndVnode == null) {
-            oldEndVnode = oldCh[--oldEndIdx];
-        }
-        else if (newStartVnode == null) {
-            newStartVnode = newCh[++newStartIdx];
-        }
-        else if (newEndVnode == null) {
-            newEndVnode = newCh[--newEndIdx];
-        }
-        else if (isSameVnode(oldStartVnode, newStartVnode)) {
-            // if the start nodes are the same then we should patch the new VNode
-            // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
-            // indices to reflect that. We don't need to move any DOM Nodes around
-            // since things are matched up in order.
-            patch(oldStartVnode, newStartVnode);
-            oldStartVnode = oldCh[++oldStartIdx];
-            newStartVnode = newCh[++newStartIdx];
-        }
-        else if (isSameVnode(oldEndVnode, newEndVnode)) {
-            // likewise, if the end nodes are the same we patch new onto old and
-            // decrement our end indices, and also likewise in this case we don't
-            // need to move any DOM Nodes.
-            patch(oldEndVnode, newEndVnode);
-            oldEndVnode = oldCh[--oldEndIdx];
-            newEndVnode = newCh[--newEndIdx];
-        }
-        else if (isSameVnode(oldStartVnode, newEndVnode)) {
-            patch(oldStartVnode, newEndVnode);
-            // We need to move the element for `oldStartVnode` into a position which
-            // will be appropriate for `newEndVnode`. For this we can use
-            // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
-            // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
-            // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
-            //
-            // <old-start-node />
-            // <some-intervening-node />
-            // <old-end-node />
-            // <!-- ->              <-- `oldStartVnode.$elm$` should be inserted here
-            // <next-sibling />
-            //
-            // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
-            // the node for `oldStartVnode` at the end of the children of
-            // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
-            // aren't any siblings, and passing `null` to `Node.insertBefore` will
-            // append it to the children of the parent element.
-            parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
-            oldStartVnode = oldCh[++oldStartIdx];
-            newEndVnode = newCh[--newEndIdx];
-        }
-        else if (isSameVnode(oldEndVnode, newStartVnode)) {
-            patch(oldEndVnode, newStartVnode);
-            // We've already checked above if `oldStartVnode` and `newStartVnode` are
-            // the same node, so since we're here we know that they are not. Thus we
-            // can move the element for `oldEndVnode` _before_ the element for
-            // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
-            // future.
-            parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
-            oldEndVnode = oldCh[--oldEndIdx];
-            newStartVnode = newCh[++newStartIdx];
-        }
-        else {
-            {
-                // We either didn't find an element in the old children that matches
-                // the key of the first new child OR the build is not using `key`
-                // attributes at all. In either case we need to create a new element
-                // for the new node.
-                node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
-                newStartVnode = newCh[++newStartIdx];
-            }
-            if (node) {
-                // if we created a new node then handle inserting it to the DOM
-                {
-                    oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
-                }
-            }
+var updateChildren = function updateChildren(parentElm, oldCh, newVNode, newCh) {
+  var oldStartIdx = 0;
+  var newStartIdx = 0;
+  var oldEndIdx = oldCh.length - 1;
+  var oldStartVnode = oldCh[0];
+  var oldEndVnode = oldCh[oldEndIdx];
+  var newEndIdx = newCh.length - 1;
+  var newStartVnode = newCh[0];
+  var newEndVnode = newCh[newEndIdx];
+  var node;
+  while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) {
+    if (oldStartVnode == null) {
+      // VNode might have been moved left
+      oldStartVnode = oldCh[++oldStartIdx];
+    } else if (oldEndVnode == null) {
+      oldEndVnode = oldCh[--oldEndIdx];
+    } else if (newStartVnode == null) {
+      newStartVnode = newCh[++newStartIdx];
+    } else if (newEndVnode == null) {
+      newEndVnode = newCh[--newEndIdx];
+    } else if (isSameVnode(oldStartVnode, newStartVnode)) {
+      // if the start nodes are the same then we should patch the new VNode
+      // onto the old one, and increment our `newStartIdx` and `oldStartIdx`
+      // indices to reflect that. We don't need to move any DOM Nodes around
+      // since things are matched up in order.
+      patch(oldStartVnode, newStartVnode);
+      oldStartVnode = oldCh[++oldStartIdx];
+      newStartVnode = newCh[++newStartIdx];
+    } else if (isSameVnode(oldEndVnode, newEndVnode)) {
+      // likewise, if the end nodes are the same we patch new onto old and
+      // decrement our end indices, and also likewise in this case we don't
+      // need to move any DOM Nodes.
+      patch(oldEndVnode, newEndVnode);
+      oldEndVnode = oldCh[--oldEndIdx];
+      newEndVnode = newCh[--newEndIdx];
+    } else if (isSameVnode(oldStartVnode, newEndVnode)) {
+      patch(oldStartVnode, newEndVnode);
+      // We need to move the element for `oldStartVnode` into a position which
+      // will be appropriate for `newEndVnode`. For this we can use
+      // `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
+      // sibling for `oldEndVnode.$elm$` then we want to move the DOM node for
+      // `oldStartVnode` between `oldEndVnode` and it's sibling, like so:
+      //
+      // <old-start-node />
+      // <some-intervening-node />
+      // <old-end-node />
+      // <!-- ->              <-- `oldStartVnode.$elm$` should be inserted here
+      // <next-sibling />
+      //
+      // If instead `oldEndVnode.$elm$` has no sibling then we just want to put
+      // the node for `oldStartVnode` at the end of the children of
+      // `parentElm`. Luckily, `Node.nextSibling` will return `null` if there
+      // aren't any siblings, and passing `null` to `Node.insertBefore` will
+      // append it to the children of the parent element.
+      parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling);
+      oldStartVnode = oldCh[++oldStartIdx];
+      newEndVnode = newCh[--newEndIdx];
+    } else if (isSameVnode(oldEndVnode, newStartVnode)) {
+      patch(oldEndVnode, newStartVnode);
+      // We've already checked above if `oldStartVnode` and `newStartVnode` are
+      // the same node, so since we're here we know that they are not. Thus we
+      // can move the element for `oldEndVnode` _before_ the element for
+      // `oldStartVnode`, leaving `oldStartVnode` to be reconciled in the
+      // future.
+      parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$);
+      oldEndVnode = oldCh[--oldEndIdx];
+      newStartVnode = newCh[++newStartIdx];
+    } else {
+      {
+        // We either didn't find an element in the old children that matches
+        // the key of the first new child OR the build is not using `key`
+        // attributes at all. In either case we need to create a new element
+        // for the new node.
+        node = _createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx);
+        newStartVnode = newCh[++newStartIdx];
+      }
+      if (node) {
+        // if we created a new node then handle inserting it to the DOM
+        {
+          oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$);
         }
+      }
     }
-    if (oldStartIdx > oldEndIdx) {
-        // we have some more new nodes to add which don't match up with old nodes
-        addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
-    }
-    else if (newStartIdx > newEndIdx) {
-        // there are nodes in the `oldCh` array which no longer correspond to nodes
-        // in the new array, so lets remove them (which entails cleaning up the
-        // relevant DOM nodes)
-        removeVnodes(oldCh, oldStartIdx, oldEndIdx);
-    }
+  }
+  if (oldStartIdx > oldEndIdx) {
+    // we have some more new nodes to add which don't match up with old nodes
+    addVnodes(parentElm, newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$, newVNode, newCh, newStartIdx, newEndIdx);
+  } else if (newStartIdx > newEndIdx) {
+    // there are nodes in the `oldCh` array which no longer correspond to nodes
+    // in the new array, so lets remove them (which entails cleaning up the
+    // relevant DOM nodes)
+    removeVnodes(oldCh, oldStartIdx, oldEndIdx);
+  }
 };
 /**
  * Compare two VNodes to determine if they are the same
@@ -760,13 +770,13 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
  * @param rightVNode the second VNode to check
  * @returns whether they're equal or not
  */
-const isSameVnode = (leftVNode, rightVNode) => {
-    // compare if two vnode to see if they're "technically" the same
-    // need to have the same element tag, and same key to be the same
-    if (leftVNode.$tag$ === rightVNode.$tag$) {
-        return true;
-    }
-    return false;
+var isSameVnode = function isSameVnode(leftVNode, rightVNode) {
+  // compare if two vnode to see if they're "technically" the same
+  // need to have the same element tag, and same key to be the same
+  if (leftVNode.$tag$ === rightVNode.$tag$) {
+    return true;
+  }
+  return false;
 };
 /**
  * Handle reconciling an outdated VNode with a new one which corresponds to
@@ -776,53 +786,50 @@ const isSameVnode = (leftVNode, rightVNode) => {
  * @param oldVNode an old VNode whose DOM element and children we want to update
  * @param newVNode a new VNode representing an updated version of the old one
  */
-const patch = (oldVNode, newVNode) => {
-    const elm = (newVNode.$elm$ = oldVNode.$elm$);
-    const oldChildren = oldVNode.$children$;
-    const newChildren = newVNode.$children$;
-    const tag = newVNode.$tag$;
-    const text = newVNode.$text$;
-    if (text === null) {
-        {
-            // test if we're rendering an svg element, or still rendering nodes inside of one
-            // only add this to the when the compiler sees we're using an svg somewhere
-            isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
-        }
-        {
-            {
-                // either this is the first render of an element OR it's an update
-                // AND we already know it's possible it could have changed
-                // this updates the element's css classes, attrs, props, listeners, etc.
-                updateElement(oldVNode, newVNode, isSvgMode);
-            }
-        }
-        if (oldChildren !== null && newChildren !== null) {
-            // looks like there's child vnodes for both the old and new vnodes
-            // so we need to call `updateChildren` to reconcile them
-            updateChildren(elm, oldChildren, newVNode, newChildren);
-        }
-        else if (newChildren !== null) {
-            // no old child vnodes, but there are new child vnodes to add
-            if (oldVNode.$text$ !== null) {
-                // the old vnode was text, so be sure to clear it out
-                elm.textContent = '';
-            }
-            // add the new vnode children
-            addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
-        }
-        else if (oldChildren !== null) {
-            // no new child vnodes, but there are old child vnodes to remove
-            removeVnodes(oldChildren, 0, oldChildren.length - 1);
-        }
-        if (isSvgMode && tag === 'svg') {
-            isSvgMode = false;
-        }
+var patch = function patch(oldVNode, newVNode) {
+  var elm = newVNode.$elm$ = oldVNode.$elm$;
+  var oldChildren = oldVNode.$children$;
+  var newChildren = newVNode.$children$;
+  var tag = newVNode.$tag$;
+  var text = newVNode.$text$;
+  if (text === null) {
+    {
+      // test if we're rendering an svg element, or still rendering nodes inside of one
+      // only add this to the when the compiler sees we're using an svg somewhere
+      isSvgMode = tag === 'svg' ? true : tag === 'foreignObject' ? false : isSvgMode;
     }
-    else if (oldVNode.$text$ !== text) {
-        // update the text content for the text only vnode
-        // and also only if the text is different than before
-        elm.data = text;
+    {
+      {
+        // either this is the first render of an element OR it's an update
+        // AND we already know it's possible it could have changed
+        // this updates the element's css classes, attrs, props, listeners, etc.
+        updateElement(oldVNode, newVNode, isSvgMode);
+      }
+    }
+    if (oldChildren !== null && newChildren !== null) {
+      // looks like there's child vnodes for both the old and new vnodes
+      // so we need to call `updateChildren` to reconcile them
+      updateChildren(elm, oldChildren, newVNode, newChildren);
+    } else if (newChildren !== null) {
+      // no old child vnodes, but there are new child vnodes to add
+      if (oldVNode.$text$ !== null) {
+        // the old vnode was text, so be sure to clear it out
+        elm.textContent = '';
+      }
+      // add the new vnode children
+      addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1);
+    } else if (oldChildren !== null) {
+      // no new child vnodes, but there are old child vnodes to remove
+      removeVnodes(oldChildren, 0, oldChildren.length - 1);
     }
+    if (isSvgMode && tag === 'svg') {
+      isSvgMode = false;
+    }
+  } else if (oldVNode.$text$ !== text) {
+    // update the text content for the text only vnode
+    // and also only if the text is different than before
+    elm.data = text;
+  }
 };
 /**
  * 'Nullify' any VDom `ref` callbacks on a VDom node or its children by
@@ -831,11 +838,11 @@ const patch = (oldVNode, newVNode) => {
  *
  * @param vNode a virtual DOM node
  */
-const nullifyVNodeRefs = (vNode) => {
-    {
-        vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
-        vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
-    }
+var _nullifyVNodeRefs = function nullifyVNodeRefs(vNode) {
+  {
+    vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
+    vNode.$children$ && vNode.$children$.map(_nullifyVNodeRefs);
+  }
 };
 /**
  * The main entry point for Stencil's virtual DOM-based rendering engine
@@ -849,40 +856,44 @@ const nullifyVNodeRefs = (vNode) => {
  * the DOM node into which it should be rendered.
  * @param renderFnResults the virtual DOM nodes to be rendered
  */
-const renderVdom = (hostRef, renderFnResults) => {
-    const hostElm = hostRef.$hostElement$;
-    const oldVNode = hostRef.$vnode$ || newVNode(null, null);
-    const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
-    hostTagName = hostElm.tagName;
-    rootVnode.$tag$ = null;
-    rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
-    hostRef.$vnode$ = rootVnode;
-    rootVnode.$elm$ = oldVNode.$elm$ = (hostElm.shadowRoot || hostElm );
-    {
-        scopeId = hostElm['s-sc'];
-    }
-    // synchronous patch
-    patch(oldVNode, rootVnode);
+var renderVdom = function renderVdom(hostRef, renderFnResults) {
+  var hostElm = hostRef.$hostElement$;
+  var oldVNode = hostRef.$vnode$ || newVNode(null, null);
+  var rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
+  hostTagName = hostElm.tagName;
+  rootVnode.$tag$ = null;
+  rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
+  hostRef.$vnode$ = rootVnode;
+  rootVnode.$elm$ = oldVNode.$elm$ = hostElm.shadowRoot || hostElm;
+  {
+    scopeId = hostElm['s-sc'];
+  }
+  // synchronous patch
+  patch(oldVNode, rootVnode);
 };
-const attachToAncestor = (hostRef, ancestorComponent) => {
-    if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
-        ancestorComponent['s-p'].push(new Promise((r) => (hostRef.$onRenderResolve$ = r)));
-    }
+var attachToAncestor = function attachToAncestor(hostRef, ancestorComponent) {
+  if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
+    ancestorComponent['s-p'].push(new Promise(function (r) {
+      return hostRef.$onRenderResolve$ = r;
+    }));
+  }
 };
-const scheduleUpdate = (hostRef, isInitialLoad) => {
-    {
-        hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
-    }
-    if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
-        hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
-        return;
-    }
-    attachToAncestor(hostRef, hostRef.$ancestorComponent$);
-    // there is no ancestor component or the ancestor component
-    // has already fired off its lifecycle update then
-    // fire off the initial update
-    const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
-    return writeTask(dispatch) ;
+var scheduleUpdate = function scheduleUpdate(hostRef, isInitialLoad) {
+  {
+    hostRef.$flags$ |= 16 /* HOST_FLAGS.isQueuedForUpdate */;
+  }
+  if (hostRef.$flags$ & 4 /* HOST_FLAGS.isWaitingForChildren */) {
+    hostRef.$flags$ |= 512 /* HOST_FLAGS.needsRerender */;
+    return;
+  }
+  attachToAncestor(hostRef, hostRef.$ancestorComponent$);
+  // there is no ancestor component or the ancestor component
+  // has already fired off its lifecycle update then
+  // fire off the initial update
+  var dispatch = function dispatch() {
+    return dispatchHooks(hostRef, isInitialLoad);
+  };
+  return writeTask(dispatch);
 };
 /**
  * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
@@ -894,33 +905,40 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
  * @returns an empty Promise which is used to enqueue a series of operations for
  * the component
  */
-const dispatchHooks = (hostRef, isInitialLoad) => {
-    const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
-    const instance = hostRef.$lazyInstance$ ;
-    // We're going to use this variable together with `enqueue` to implement a
-    // little promise-based queue. We start out with it `undefined`. When we add
-    // the first function to the queue we'll set this variable to be that
-    // function's return value. When we attempt to add subsequent values to the
-    // queue we'll check that value and, if it was a `Promise`, we'll then chain
-    // the new function off of that `Promise` using `.then()`. This will give our
-    // queue two nice properties:
-    //
-    // 1. If all functions added to the queue are synchronous they'll be called
-    //    synchronously right away.
-    // 2. If all functions added to the queue are asynchronous they'll all be
-    //    called in order after `dispatchHooks` exits.
-    let maybePromise;
-    if (isInitialLoad) {
-        {
-            hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
-            if (hostRef.$queuedListeners$) {
-                hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
-                hostRef.$queuedListeners$ = undefined;
-            }
-        }
+var dispatchHooks = function dispatchHooks(hostRef, isInitialLoad) {
+  var endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
+  var instance = hostRef.$lazyInstance$;
+  // We're going to use this variable together with `enqueue` to implement a
+  // little promise-based queue. We start out with it `undefined`. When we add
+  // the first function to the queue we'll set this variable to be that
+  // function's return value. When we attempt to add subsequent values to the
+  // queue we'll check that value and, if it was a `Promise`, we'll then chain
+  // the new function off of that `Promise` using `.then()`. This will give our
+  // queue two nice properties:
+  //
+  // 1. If all functions added to the queue are synchronous they'll be called
+  //    synchronously right away.
+  // 2. If all functions added to the queue are asynchronous they'll all be
+  //    called in order after `dispatchHooks` exits.
+  var maybePromise;
+  if (isInitialLoad) {
+    {
+      hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
+      if (hostRef.$queuedListeners$) {
+        hostRef.$queuedListeners$.map(function (_ref) {
+          var _ref2 = _slicedToArray(_ref, 2),
+            methodName = _ref2[0],
+            event = _ref2[1];
+          return safeCall(instance, methodName, event);
+        });
+        hostRef.$queuedListeners$ = undefined;
+      }
     }
-    endSchedule();
-    return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
+  }
+  endSchedule();
+  return enqueue(maybePromise, function () {
+    return updateComponent(hostRef, instance, isInitialLoad);
+  });
 };
 /**
  * This function uses a Promise to implement a simple first-in, first-out queue
@@ -938,7 +956,9 @@ const dispatchHooks = (hostRef, isInitialLoad) => {
  * @param fn a function to enqueue
  * @returns either a `Promise` or the return value of the provided function
  */
-const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
+var enqueue = function enqueue(maybePromise, fn) {
+  return isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
+};
 /**
  * Check that a value is a `Promise`. To check, we first see if the value is an
  * instance of the `Promise` global. In a few circumstances, in particular if
@@ -949,171 +969,191 @@ const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.th
  * @param maybePromise it might be a promise!
  * @returns whether it is or not
  */
-const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
-    (maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
-const updateComponent = async (hostRef, instance, isInitialLoad) => {
-    var _a;
-    const elm = hostRef.$hostElement$;
-    const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
-    const rc = elm['s-rc'];
-    if (isInitialLoad) {
-        // DOM WRITE!
-        attachStyles(hostRef);
-    }
-    const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
-    {
-        callRender(hostRef, instance);
-    }
-    if (rc) {
-        // ok, so turns out there are some child host elements
-        // waiting on this parent element to load
-        // let's fire off all update callbacks waiting
-        rc.map((cb) => cb());
-        elm['s-rc'] = undefined;
-    }
-    endRender();
-    endUpdate();
-    {
-        const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
-        const postUpdate = () => postUpdateComponent(hostRef);
-        if (childrenPromises.length === 0) {
+var isPromisey = function isPromisey(maybePromise) {
+  return maybePromise instanceof Promise || maybePromise && maybePromise.then && typeof maybePromise.then === 'function';
+};
+var updateComponent = /*#__PURE__*/function () {
+  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(hostRef, instance, isInitialLoad) {
+    var _a, elm, endUpdate, rc, endRender, childrenPromises, postUpdate;
+    return _regeneratorRuntime().wrap(function _callee$(_context) {
+      while (1) switch (_context.prev = _context.next) {
+        case 0:
+          elm = hostRef.$hostElement$;
+          endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
+          rc = elm['s-rc'];
+          if (isInitialLoad) {
+            // DOM WRITE!
+            attachStyles(hostRef);
+          }
+          endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
+          callRender(hostRef, instance);
+          if (rc) {
+            // ok, so turns out there are some child host elements
+            // waiting on this parent element to load
+            // let's fire off all update callbacks waiting
+            rc.map(function (cb) {
+              return cb();
+            });
+            elm['s-rc'] = undefined;
+          }
+          endRender();
+          endUpdate();
+          childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
+          postUpdate = function postUpdate() {
+            return postUpdateComponent(hostRef);
+          };
+          if (childrenPromises.length === 0) {
             postUpdate();
-        }
-        else {
+          } else {
             Promise.all(childrenPromises).then(postUpdate);
             hostRef.$flags$ |= 4 /* HOST_FLAGS.isWaitingForChildren */;
             childrenPromises.length = 0;
-        }
-    }
-};
-const callRender = (hostRef, instance, elm) => {
-    try {
-        instance = instance.render() ;
-        {
-            hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
-        }
-        {
-            hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
-        }
-        {
-            {
-                // looks like we've got child nodes to render into this host element
-                // or we need to update the css class/attrs on the host element
-                // DOM WRITE!
-                {
-                    renderVdom(hostRef, instance);
-                }
-            }
-        }
+          }
+        case 12:
+        case "end":
+          return _context.stop();
+      }
+    }, _callee);
+  }));
+  return function updateComponent(_x, _x2, _x3) {
+    return _ref3.apply(this, arguments);
+  };
+}();
+var callRender = function callRender(hostRef, instance, elm) {
+  try {
+    instance = instance.render();
+    {
+      hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
     }
-    catch (e) {
-        consoleError(e, hostRef.$hostElement$);
+    {
+      hostRef.$flags$ |= 2 /* HOST_FLAGS.hasRendered */;
     }
-    return null;
-};
-const postUpdateComponent = (hostRef) => {
-    const tagName = hostRef.$cmpMeta$.$tagName$;
-    const elm = hostRef.$hostElement$;
-    const endPostUpdate = createTime('postUpdate', tagName);
-    const instance = hostRef.$lazyInstance$ ;
-    const ancestorComponent = hostRef.$ancestorComponent$;
-    if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
-        hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
-        {
-            // DOM WRITE!
-            addHydratedFlag(elm);
-        }
-        {
-            safeCall(instance, 'componentDidLoad');
-        }
-        endPostUpdate();
+    {
+      {
+        // looks like we've got child nodes to render into this host element
+        // or we need to update the css class/attrs on the host element
+        // DOM WRITE!
         {
-            hostRef.$onReadyResolve$(elm);
-            if (!ancestorComponent) {
-                appDidLoad();
-            }
+          renderVdom(hostRef, instance);
         }
+      }
     }
-    else {
-        endPostUpdate();
-    }
+  } catch (e) {
+    consoleError(e, hostRef.$hostElement$);
+  }
+  return null;
+};
+var postUpdateComponent = function postUpdateComponent(hostRef) {
+  var tagName = hostRef.$cmpMeta$.$tagName$;
+  var elm = hostRef.$hostElement$;
+  var endPostUpdate = createTime('postUpdate', tagName);
+  var instance = hostRef.$lazyInstance$;
+  var ancestorComponent = hostRef.$ancestorComponent$;
+  if (!(hostRef.$flags$ & 64 /* HOST_FLAGS.hasLoadedComponent */)) {
+    hostRef.$flags$ |= 64 /* HOST_FLAGS.hasLoadedComponent */;
     {
-        hostRef.$onInstanceResolve$(elm);
+      // DOM WRITE!
+      addHydratedFlag(elm);
     }
-    // load events fire from bottom to top
-    // the deepest elements load first then bubbles up
     {
-        if (hostRef.$onRenderResolve$) {
-            hostRef.$onRenderResolve$();
-            hostRef.$onRenderResolve$ = undefined;
-        }
-        if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
-            nextTick(() => scheduleUpdate(hostRef, false));
-        }
-        hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
+      safeCall(instance, 'componentDidLoad');
     }
-    // ( •_•)
-    // ( •_•)>⌐■-■
-    // (⌐■_■)
-};
-const forceUpdate = (ref) => {
+    endPostUpdate();
     {
-        const hostRef = getHostRef(ref);
-        const isConnected = hostRef.$hostElement$.isConnected;
-        if (isConnected &&
-            (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
-            scheduleUpdate(hostRef, false);
-        }
-        // Returns "true" when the forced update was successfully scheduled
-        return isConnected;
+      hostRef.$onReadyResolve$(elm);
+      if (!ancestorComponent) {
+        appDidLoad();
+      }
+    }
+  } else {
+    endPostUpdate();
+  }
+  {
+    hostRef.$onInstanceResolve$(elm);
+  }
+  // load events fire from bottom to top
+  // the deepest elements load first then bubbles up
+  {
+    if (hostRef.$onRenderResolve$) {
+      hostRef.$onRenderResolve$();
+      hostRef.$onRenderResolve$ = undefined;
     }
+    if (hostRef.$flags$ & 512 /* HOST_FLAGS.needsRerender */) {
+      nextTick(function () {
+        return scheduleUpdate(hostRef, false);
+      });
+    }
+    hostRef.$flags$ &= ~(4 /* HOST_FLAGS.isWaitingForChildren */ | 512 /* HOST_FLAGS.needsRerender */);
+  }
+  // ( •_•)
+  // ( •_•)>⌐■-■
+  // (⌐■_■)
 };
-const appDidLoad = (who) => {
-    // on appload
-    // we have finish the first big initial render
-    {
-        addHydratedFlag(doc.documentElement);
+var forceUpdate = function forceUpdate(ref) {
+  {
+    var hostRef = getHostRef(ref);
+    var isConnected = hostRef.$hostElement$.isConnected;
+    if (isConnected && (hostRef.$flags$ & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
+      scheduleUpdate(hostRef, false);
     }
-    nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
+    // Returns "true" when the forced update was successfully scheduled
+    return isConnected;
+  }
 };
-const safeCall = (instance, method, arg) => {
-    if (instance && instance[method]) {
-        try {
-            return instance[method](arg);
-        }
-        catch (e) {
-            consoleError(e);
-        }
+var appDidLoad = function appDidLoad(who) {
+  // on appload
+  // we have finish the first big initial render
+  {
+    addHydratedFlag(doc.documentElement);
+  }
+  nextTick(function () {
+    return emitEvent(win, 'appload', {
+      detail: {
+        namespace: NAMESPACE
+      }
+    });
+  });
+};
+var safeCall = function safeCall(instance, method, arg) {
+  if (instance && instance[method]) {
+    try {
+      return instance[method](arg);
+    } catch (e) {
+      consoleError(e);
     }
-    return undefined;
+  }
+  return undefined;
 };
-const addHydratedFlag = (elm) => elm.classList.add('hydrated')
-    ;
-const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
-const setValue = (ref, propName, newVal, cmpMeta) => {
-    // check our new property value against our internal value
-    const hostRef = getHostRef(ref);
-    const oldVal = hostRef.$instanceValues$.get(propName);
-    const flags = hostRef.$flags$;
-    const instance = hostRef.$lazyInstance$ ;
-    newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
-    // explicitly check for NaN on both sides, as `NaN === NaN` is always false
-    const areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
-    const didValueChange = newVal !== oldVal && !areBothNaN;
-    if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
-        // gadzooks! the property's value has changed!!
-        // set our new value!
-        hostRef.$instanceValues$.set(propName, newVal);
-        if (instance) {
-            if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
-                // looks like this value actually changed, so we've got work to do!
-                // but only if we've already rendered, otherwise just chill out
-                // queue that we need to do an update, but don't worry about queuing
-                // up millions cuz this function ensures it only runs once
-                scheduleUpdate(hostRef, false);
-            }
-        }
+var addHydratedFlag = function addHydratedFlag(elm) {
+  return elm.classList.add('hydrated');
+};
+var getValue = function getValue(ref, propName) {
+  return getHostRef(ref).$instanceValues$.get(propName);
+};
+var setValue = function setValue(ref, propName, newVal, cmpMeta) {
+  // check our new property value against our internal value
+  var hostRef = getHostRef(ref);
+  var oldVal = hostRef.$instanceValues$.get(propName);
+  var flags = hostRef.$flags$;
+  var instance = hostRef.$lazyInstance$;
+  newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]);
+  // explicitly check for NaN on both sides, as `NaN === NaN` is always false
+  var areBothNaN = Number.isNaN(oldVal) && Number.isNaN(newVal);
+  var didValueChange = newVal !== oldVal && !areBothNaN;
+  if ((!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) || oldVal === undefined) && didValueChange) {
+    // gadzooks! the property's value has changed!!
+    // set our new value!
+    hostRef.$instanceValues$.set(propName, newVal);
+    if (instance) {
+      if ((flags & (2 /* HOST_FLAGS.hasRendered */ | 16 /* HOST_FLAGS.isQueuedForUpdate */)) === 2 /* HOST_FLAGS.hasRendered */) {
+        // looks like this value actually changed, so we've got work to do!
+        // but only if we've already rendered, otherwise just chill out
+        // queue that we need to do an update, but don't worry about queuing
+        // up millions cuz this function ensures it only runs once
+        scheduleUpdate(hostRef, false);
+      }
     }
+  }
 };
 /**
  * Attach a series of runtime constructs to a compiled Stencil component
@@ -1125,512 +1165,593 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
  * @param flags a number used to store a series of bit flags
  * @returns a reference to the same constructor passed in (but now mutated)
  */
-const proxyComponent = (Cstr, cmpMeta, flags) => {
-    if (cmpMeta.$members$) {
-        // It's better to have a const than two Object.entries()
-        const members = Object.entries(cmpMeta.$members$);
-        const prototype = Cstr.prototype;
-        members.map(([memberName, [memberFlags]]) => {
-            if ((memberFlags & 31 /* MEMBER_FLAGS.Prop */ ||
-                    ((flags & 2 /* PROXY_FLAGS.proxyState */) && memberFlags & 32 /* MEMBER_FLAGS.State */))) {
-                // proxyComponent - prop
-                Object.defineProperty(prototype, memberName, {
-                    get() {
-                        // proxyComponent, get value
-                        return getValue(this, memberName);
-                    },
-                    set(newValue) {
-                        // proxyComponent, set value
-                        setValue(this, memberName, newValue, cmpMeta);
-                    },
-                    configurable: true,
-                    enumerable: true,
-                });
-            }
-            else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ &&
-                memberFlags & 64 /* MEMBER_FLAGS.Method */) {
-                // proxyComponent - method
-                Object.defineProperty(prototype, memberName, {
-                    value(...args) {
-                        const ref = getHostRef(this);
-                        return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args));
-                    },
-                });
-            }
+var proxyComponent = function proxyComponent(Cstr, cmpMeta, flags) {
+  if (cmpMeta.$members$) {
+    // It's better to have a const than two Object.entries()
+    var members = Object.entries(cmpMeta.$members$);
+    var prototype = Cstr.prototype;
+    members.map(function (_ref4) {
+      var _ref5 = _slicedToArray(_ref4, 2),
+        memberName = _ref5[0],
+        _ref5$ = _slicedToArray(_ref5[1], 1),
+        memberFlags = _ref5$[0];
+      if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ || flags & 2 /* PROXY_FLAGS.proxyState */ && memberFlags & 32 /* MEMBER_FLAGS.State */) {
+        // proxyComponent - prop
+        Object.defineProperty(prototype, memberName, {
+          get: function get() {
+            // proxyComponent, get value
+            return getValue(this, memberName);
+          },
+          set: function set(newValue) {
+            // proxyComponent, set value
+            setValue(this, memberName, newValue, cmpMeta);
+          },
+          configurable: true,
+          enumerable: true
         });
-        if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
-            const attrNameToPropName = new Map();
-            prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
-                plt.jmp(() => {
-                    const propName = attrNameToPropName.get(attrName);
-                    //  In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
-                    //  in the case where an attribute was set inline.
-                    //  ```html
-                    //    <my-component some-attribute="some-value"></my-component>
-                    //  ```
-                    //
-                    //  There is an edge case where a developer sets the attribute inline on a custom element and then
-                    //  programmatically changes it before it has been upgraded as shown below:
-                    //
-                    //  ```html
-                    //    <!-- this component has _not_ been upgraded yet -->
-                    //    <my-component id="test" some-attribute="some-value"></my-component>
-                    //    <script>
-                    //      // grab non-upgraded component
-                    //      el = document.querySelector("#test");
-                    //      el.someAttribute = "another-value";
-                    //      // upgrade component
-                    //      customElements.define('my-component', MyComponent);
-                    //    </script>
-                    //  ```
-                    //  In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
-                    //  will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
-                    //  to the value that was set inline i.e. "some-value" from above example. When
-                    //  the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
-                    //
-                    //  The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
-                    //  by connectedCallback as this attributeChangedCallback will not fire.
-                    //
-                    //  https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
-                    //
-                    //  TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
-                    //  properties here given that this goes against best practices outlined here
-                    //  https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
-                    if (this.hasOwnProperty(propName)) {
-                        newValue = this[propName];
-                        delete this[propName];
-                    }
-                    else if (prototype.hasOwnProperty(propName) &&
-                        typeof this[propName] === 'number' &&
-                        this[propName] == newValue) {
-                        // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
-                        // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
-                        // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
-                        return;
-                    }
-                    this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
-                });
-            };
-            // create an array of attributes to observe
-            // and also create a map of html attribute name to js property name
-            Cstr.observedAttributes = members
-                .filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
-                .map(([propName, m]) => {
-                const attrName = m[1] || propName;
-                attrNameToPropName.set(attrName, propName);
-                return attrName;
+      } else if (flags & 1 /* PROXY_FLAGS.isElementConstructor */ && memberFlags & 64 /* MEMBER_FLAGS.Method */) {
+        // proxyComponent - method
+        Object.defineProperty(prototype, memberName, {
+          value: function value() {
+            for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+              args[_key2] = arguments[_key2];
+            }
+            var ref = getHostRef(this);
+            return ref.$onInstancePromise$.then(function () {
+              var _ref$$lazyInstance$;
+              return (_ref$$lazyInstance$ = ref.$lazyInstance$)[memberName].apply(_ref$$lazyInstance$, args);
             });
-        }
+          }
+        });
+      }
+    });
+    if (flags & 1 /* PROXY_FLAGS.isElementConstructor */) {
+      var attrNameToPropName = new Map();
+      prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) {
+        var _this = this;
+        plt.jmp(function () {
+          var propName = attrNameToPropName.get(attrName);
+          //  In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
+          //  in the case where an attribute was set inline.
+          //  ```html
+          //    <my-component some-attribute="some-value"></my-component>
+          //  ```
+          //
+          //  There is an edge case where a developer sets the attribute inline on a custom element and then
+          //  programmatically changes it before it has been upgraded as shown below:
+          //
+          //  ```html
+          //    <!-- this component has _not_ been upgraded yet -->
+          //    <my-component id="test" some-attribute="some-value"></my-component>
+          //    <script>
+          //      // grab non-upgraded component
+          //      el = document.querySelector("#test");
+          //      el.someAttribute = "another-value";
+          //      // upgrade component
+          //      customElements.define('my-component', MyComponent);
+          //    </script>
+          //  ```
+          //  In this case if we do not unshadow here and use the value of the shadowing property, attributeChangedCallback
+          //  will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
+          //  to the value that was set inline i.e. "some-value" from above example. When
+          //  the connectedCallback attempts to unshadow it will use "some-value" as the initial value rather than "another-value"
+          //
+          //  The case where the attribute was NOT set inline but was not set programmatically shall be handled/unshadowed
+          //  by connectedCallback as this attributeChangedCallback will not fire.
+          //
+          //  https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
+          //
+          //  TODO(STENCIL-16) we should think about whether or not we actually want to be reflecting the attributes to
+          //  properties here given that this goes against best practices outlined here
+          //  https://developers.google.com/web/fundamentals/web-components/best-practices#avoid-reentrancy
+          if (_this.hasOwnProperty(propName)) {
+            newValue = _this[propName];
+            delete _this[propName];
+          } else if (prototype.hasOwnProperty(propName) && typeof _this[propName] === 'number' && _this[propName] == newValue) {
+            // if the propName exists on the prototype of `Cstr`, this update may be a result of Stencil using native
+            // APIs to reflect props as attributes. Calls to `setAttribute(someElement, propName)` will result in
+            // `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
+            return;
+          }
+          _this[propName] = newValue === null && typeof _this[propName] === 'boolean' ? false : newValue;
+        });
+      };
+      // create an array of attributes to observe
+      // and also create a map of html attribute name to js property name
+      Cstr.observedAttributes = members.filter(function (_ref6) {
+        var _ref7 = _slicedToArray(_ref6, 2),
+          _ = _ref7[0],
+          m = _ref7[1];
+        return m[0] & 15;
+      } /* MEMBER_FLAGS.HasAttribute */) // filter to only keep props that should match attributes
+      .map(function (_ref8) {
+        var _ref9 = _slicedToArray(_ref8, 2),
+          propName = _ref9[0],
+          m = _ref9[1];
+        var attrName = m[1] || propName;
+        attrNameToPropName.set(attrName, propName);
+        return attrName;
+      });
     }
-    return Cstr;
+  }
+  return Cstr;
 };
-const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
-    // initializeComponent
-    if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
-        // Let the runtime know that the component has been initialized
-        hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
-        {
-            // lazy loaded components
-            // request the component's implementation to be
-            // wired up with the host element
-            Cstr = loadModule(cmpMeta);
-            if (Cstr.then) {
-                // Await creates a micro-task avoid if possible
-                const endLoad = uniqueTime();
-                Cstr = await Cstr;
-                endLoad();
-            }
-            if (!Cstr.isProxied) {
-                proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
-                Cstr.isProxied = true;
-            }
-            const endNewInstance = createTime('createInstance', cmpMeta.$tagName$);
-            // ok, time to construct the instance
-            // but let's keep track of when we start and stop
-            // so that the getters/setters don't incorrectly step on data
-            {
-                hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
-            }
-            // construct the lazy-loaded component implementation
-            // passing the hostRef is very important during
-            // construction in order to directly wire together the
-            // host element and the lazy-loaded instance
-            try {
-                new Cstr(hostRef);
-            }
-            catch (e) {
-                consoleError(e);
-            }
-            {
-                hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
-            }
-            endNewInstance();
-        }
-        if (Cstr.style) {
+var initializeComponent = /*#__PURE__*/function () {
+  var _ref10 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(elm, hostRef, cmpMeta, hmrVersionId, Cstr) {
+    var endLoad, endNewInstance, style, _scopeId, endRegisterStyles, ancestorComponent, schedule;
+    return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+      while (1) switch (_context2.prev = _context2.next) {
+        case 0:
+          if (!((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0)) {
+            _context2.next = 16;
+            break;
+          }
+          // Let the runtime know that the component has been initialized
+          hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
+          // lazy loaded components
+          // request the component's implementation to be
+          // wired up with the host element
+          Cstr = loadModule(cmpMeta);
+          if (!Cstr.then) {
+            _context2.next = 9;
+            break;
+          }
+          // Await creates a micro-task avoid if possible
+          endLoad = uniqueTime();
+          _context2.next = 7;
+          return Cstr;
+        case 7:
+          Cstr = _context2.sent;
+          endLoad();
+        case 9:
+          if (!Cstr.isProxied) {
+            proxyComponent(Cstr, cmpMeta, 2 /* PROXY_FLAGS.proxyState */);
+            Cstr.isProxied = true;
+          }
+          endNewInstance = createTime('createInstance', cmpMeta.$tagName$); // ok, time to construct the instance
+          // but let's keep track of when we start and stop
+          // so that the getters/setters don't incorrectly step on data
+          hostRef.$flags$ |= 8 /* HOST_FLAGS.isConstructingInstance */;
+          // construct the lazy-loaded component implementation
+          // passing the hostRef is very important during
+          // construction in order to directly wire together the
+          // host element and the lazy-loaded instance
+          try {
+            new Cstr(hostRef);
+          } catch (e) {
+            consoleError(e);
+          }
+          hostRef.$flags$ &= ~8 /* HOST_FLAGS.isConstructingInstance */;
+          endNewInstance();
+          if (Cstr.style) {
             // this component has styles but we haven't registered them yet
-            let style = Cstr.style;
-            const scopeId = getScopeId(cmpMeta);
-            if (!styles.has(scopeId)) {
-                const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
-                registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
-                endRegisterStyles();
+            style = Cstr.style;
+            _scopeId = getScopeId(cmpMeta);
+            if (!styles.has(_scopeId)) {
+              endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$);
+              registerStyle(_scopeId, style, !!(cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */));
+              endRegisterStyles();
             }
+          }
+        case 16:
+          // we've successfully created a lazy instance
+          ancestorComponent = hostRef.$ancestorComponent$;
+          schedule = function schedule() {
+            return scheduleUpdate(hostRef, true);
+          };
+          if (ancestorComponent && ancestorComponent['s-rc']) {
+            // this is the initial load and this component it has an ancestor component
+            // but the ancestor component has NOT fired its will update lifecycle yet
+            // so let's just cool our jets and wait for the ancestor to continue first
+            // this will get fired off when the ancestor component
+            // finally gets around to rendering its lazy self
+            // fire off the initial update
+            ancestorComponent['s-rc'].push(schedule);
+          } else {
+            schedule();
+          }
+        case 19:
+        case "end":
+          return _context2.stop();
+      }
+    }, _callee2);
+  }));
+  return function initializeComponent(_x4, _x5, _x6, _x7, _x8) {
+    return _ref10.apply(this, arguments);
+  };
+}();
+var _connectedCallback = function connectedCallback(elm) {
+  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
+    var hostRef = getHostRef(elm);
+    var cmpMeta = hostRef.$cmpMeta$;
+    var endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
+    if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
+      // first time this component has connected
+      hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
+      {
+        // find the first ancestor component (if there is one) and register
+        // this component as one of the actively loading child components for its ancestor
+        var ancestorComponent = elm;
+        while (ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host) {
+          // climb up the ancestors looking for the first
+          // component that hasn't finished its lifecycle update yet
+          if (ancestorComponent['s-p']) {
+            // we found this components first ancestor component
+            // keep a reference to this component's ancestor component
+            attachToAncestor(hostRef, hostRef.$ancestorComponent$ = ancestorComponent);
+            break;
+          }
         }
+      }
+      // Lazy properties
+      // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
+      if (cmpMeta.$members$) {
+        Object.entries(cmpMeta.$members$).map(function (_ref11) {
+          var _ref12 = _slicedToArray(_ref11, 2),
+            memberName = _ref12[0],
+            _ref12$ = _slicedToArray(_ref12[1], 1),
+            memberFlags = _ref12$[0];
+          if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
+            var value = elm[memberName];
+            delete elm[memberName];
+            elm[memberName] = value;
+          }
+        });
+      }
+      {
+        initializeComponent(elm, hostRef, cmpMeta);
+      }
+    } else {
+      // not the first time this has connected
+      // reattach any event listeners to the host
+      // since they would have been removed when disconnected
+      addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
     }
-    // we've successfully created a lazy instance
-    const ancestorComponent = hostRef.$ancestorComponent$;
-    const schedule = () => scheduleUpdate(hostRef, true);
-    if (ancestorComponent && ancestorComponent['s-rc']) {
-        // this is the initial load and this component it has an ancestor component
-        // but the ancestor component has NOT fired its will update lifecycle yet
-        // so let's just cool our jets and wait for the ancestor to continue first
-        // this will get fired off when the ancestor component
-        // finally gets around to rendering its lazy self
-        // fire off the initial update
-        ancestorComponent['s-rc'].push(schedule);
+    endConnected();
+  }
+};
+var _disconnectedCallback = function disconnectedCallback(elm) {
+  if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
+    var hostRef = getHostRef(elm);
+    var instance = hostRef.$lazyInstance$;
+    {
+      if (hostRef.$rmListeners$) {
+        hostRef.$rmListeners$.map(function (rmListener) {
+          return rmListener();
+        });
+        hostRef.$rmListeners$ = undefined;
+      }
     }
-    else {
-        schedule();
+    {
+      safeCall(instance, 'disconnectedCallback');
     }
+  }
 };
-const connectedCallback = (elm) => {
-    if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
-        const hostRef = getHostRef(elm);
-        const cmpMeta = hostRef.$cmpMeta$;
-        const endConnected = createTime('connectedCallback', cmpMeta.$tagName$);
-        if (!(hostRef.$flags$ & 1 /* HOST_FLAGS.hasConnected */)) {
-            // first time this component has connected
-            hostRef.$flags$ |= 1 /* HOST_FLAGS.hasConnected */;
+var bootstrapLazy = function bootstrapLazy(lazyBundles) {
+  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+  var _a;
+  var endBootstrap = createTime();
+  var cmpTags = [];
+  var exclude = options.exclude || [];
+  var customElements = win.customElements;
+  var head = doc.head;
+  var metaCharset = /*@__PURE__*/head.querySelector('meta[charset]');
+  var visibilityStyle = /*@__PURE__*/doc.createElement('style');
+  var deferredConnectedCallbacks = [];
+  var appLoadFallback;
+  var isBootstrapping = true;
+  Object.assign(plt, options);
+  plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
+  lazyBundles.map(function (lazyBundle) {
+    lazyBundle[1].map(function (compactMeta) {
+      var cmpMeta = {
+        $flags$: compactMeta[0],
+        $tagName$: compactMeta[1],
+        $members$: compactMeta[2],
+        $listeners$: compactMeta[3]
+      };
+      {
+        cmpMeta.$members$ = compactMeta[2];
+      }
+      {
+        cmpMeta.$listeners$ = compactMeta[3];
+      }
+      var tagName = cmpMeta.$tagName$;
+      var HostElement = /*#__PURE__*/function (_HTMLElement) {
+        // StencilLazyHost
+        function HostElement(self) {
+          var _this2;
+          _classCallCheck(this, HostElement);
+          // @ts-ignore
+          _this2 = _callSuper(this, HostElement, [self]);
+          self = _this2;
+          registerHost(self, cmpMeta);
+          if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
+            // this component is using shadow dom
+            // and this browser supports shadow dom
+            // add the read-only property "shadowRoot" to the host element
+            // adding the shadow root build conditionals to minimize runtime
             {
-                // find the first ancestor component (if there is one) and register
-                // this component as one of the actively loading child components for its ancestor
-                let ancestorComponent = elm;
-                while ((ancestorComponent = ancestorComponent.parentNode || ancestorComponent.host)) {
-                    // climb up the ancestors looking for the first
-                    // component that hasn't finished its lifecycle update yet
-                    if (ancestorComponent['s-p']) {
-                        // we found this components first ancestor component
-                        // keep a reference to this component's ancestor component
-                        attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent));
-                        break;
-                    }
-                }
-            }
-            // Lazy properties
-            // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
-            if (cmpMeta.$members$) {
-                Object.entries(cmpMeta.$members$).map(([memberName, [memberFlags]]) => {
-                    if (memberFlags & 31 /* MEMBER_FLAGS.Prop */ && elm.hasOwnProperty(memberName)) {
-                        const value = elm[memberName];
-                        delete elm[memberName];
-                        elm[memberName] = value;
-                    }
+              {
+                self.attachShadow({
+                  mode: 'open'
                 });
+              }
             }
-            {
-                initializeComponent(elm, hostRef, cmpMeta);
+          }
+          return _this2;
+        }
+        _inherits(HostElement, _HTMLElement);
+        return _createClass(HostElement, [{
+          key: "connectedCallback",
+          value: function connectedCallback() {
+            var _this3 = this;
+            if (appLoadFallback) {
+              clearTimeout(appLoadFallback);
+              appLoadFallback = null;
             }
-        }
-        else {
-            // not the first time this has connected
-            // reattach any event listeners to the host
-            // since they would have been removed when disconnected
-            addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
-        }
-        endConnected();
-    }
-};
-const disconnectedCallback = (elm) => {
-    if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
-        const hostRef = getHostRef(elm);
-        const instance = hostRef.$lazyInstance$ ;
-        {
-            if (hostRef.$rmListeners$) {
-                hostRef.$rmListeners$.map((rmListener) => rmListener());
-                hostRef.$rmListeners$ = undefined;
+            if (isBootstrapping) {
+              // connectedCallback will be processed once all components have been registered
+              deferredConnectedCallbacks.push(this);
+            } else {
+              plt.jmp(function () {
+                return _connectedCallback(_this3);
+              });
             }
-        }
-        {
-            safeCall(instance, 'disconnectedCallback');
-        }
+          }
+        }, {
+          key: "disconnectedCallback",
+          value: function disconnectedCallback() {
+            var _this4 = this;
+            plt.jmp(function () {
+              return _disconnectedCallback(_this4);
+            });
+          }
+        }, {
+          key: "componentOnReady",
+          value: function componentOnReady() {
+            return getHostRef(this).$onReadyPromise$;
+          }
+        }]);
+      }(/*#__PURE__*/_wrapNativeSuper(HTMLElement));
+      cmpMeta.$lazyBundleId$ = lazyBundle[0];
+      if (!exclude.includes(tagName) && !customElements.get(tagName)) {
+        cmpTags.push(tagName);
+        customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
+      }
+    });
+  });
+  {
+    visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
+    visibilityStyle.setAttribute('data-styles', '');
+    // Apply CSP nonce to the style tag if it exists
+    var nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
+    if (nonce != null) {
+      visibilityStyle.setAttribute('nonce', nonce);
     }
-};
-const bootstrapLazy = (lazyBundles, options = {}) => {
-    var _a;
-    const endBootstrap = createTime();
-    const cmpTags = [];
-    const exclude = options.exclude || [];
-    const customElements = win.customElements;
-    const head = doc.head;
-    const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
-    const visibilityStyle = /*@__PURE__*/ doc.createElement('style');
-    const deferredConnectedCallbacks = [];
-    let appLoadFallback;
-    let isBootstrapping = true;
-    Object.assign(plt, options);
-    plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href;
-    lazyBundles.map((lazyBundle) => {
-        lazyBundle[1].map((compactMeta) => {
-            const cmpMeta = {
-                $flags$: compactMeta[0],
-                $tagName$: compactMeta[1],
-                $members$: compactMeta[2],
-                $listeners$: compactMeta[3],
-            };
-            {
-                cmpMeta.$members$ = compactMeta[2];
-            }
-            {
-                cmpMeta.$listeners$ = compactMeta[3];
-            }
-            const tagName = cmpMeta.$tagName$;
-            const HostElement = class extends HTMLElement {
-                // StencilLazyHost
-                constructor(self) {
-                    // @ts-ignore
-                    super(self);
-                    self = this;
-                    registerHost(self, cmpMeta);
-                    if (cmpMeta.$flags$ & 1 /* CMP_FLAGS.shadowDomEncapsulation */) {
-                        // this component is using shadow dom
-                        // and this browser supports shadow dom
-                        // add the read-only property "shadowRoot" to the host element
-                        // adding the shadow root build conditionals to minimize runtime
-                        {
-                            {
-                                self.attachShadow({ mode: 'open' });
-                            }
-                        }
-                    }
-                }
-                connectedCallback() {
-                    if (appLoadFallback) {
-                        clearTimeout(appLoadFallback);
-                        appLoadFallback = null;
-                    }
-                    if (isBootstrapping) {
-                        // connectedCallback will be processed once all components have been registered
-                        deferredConnectedCallbacks.push(this);
-                    }
-                    else {
-                        plt.jmp(() => connectedCallback(this));
-                    }
-                }
-                disconnectedCallback() {
-                    plt.jmp(() => disconnectedCallback(this));
-                }
-                componentOnReady() {
-                    return getHostRef(this).$onReadyPromise$;
-                }
-            };
-            cmpMeta.$lazyBundleId$ = lazyBundle[0];
-            if (!exclude.includes(tagName) && !customElements.get(tagName)) {
-                cmpTags.push(tagName);
-                customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* PROXY_FLAGS.isElementConstructor */));
-            }
-        });
+    head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
+  }
+  // Process deferred connectedCallbacks now all components have been registered
+  isBootstrapping = false;
+  if (deferredConnectedCallbacks.length) {
+    deferredConnectedCallbacks.map(function (host) {
+      return host.connectedCallback();
     });
+  } else {
     {
-        visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
-        visibilityStyle.setAttribute('data-styles', '');
-        // Apply CSP nonce to the style tag if it exists
-        const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
-        if (nonce != null) {
-            visibilityStyle.setAttribute('nonce', nonce);
-        }
-        head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
-    }
-    // Process deferred connectedCallbacks now all components have been registered
-    isBootstrapping = false;
-    if (deferredConnectedCallbacks.length) {
-        deferredConnectedCallbacks.map((host) => host.connectedCallback());
+      plt.jmp(function () {
+        return appLoadFallback = setTimeout(appDidLoad, 30);
+      });
     }
-    else {
-        {
-            plt.jmp(() => (appLoadFallback = setTimeout(appDidLoad, 30)));
-        }
-    }
-    // Fallback appLoad event
-    endBootstrap();
+  }
+  // Fallback appLoad event
+  endBootstrap();
 };
-const addHostEventListeners = (elm, hostRef, listeners, attachParentListeners) => {
-    if (listeners) {
-        listeners.map(([flags, name, method]) => {
-            const target = getHostListenerTarget(elm, flags) ;
-            const handler = hostListenerProxy(hostRef, method);
-            const opts = hostListenerOpts(flags);
-            plt.ael(target, name, handler, opts);
-            (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(() => plt.rel(target, name, handler, opts));
-        });
-    }
+var addHostEventListeners = function addHostEventListeners(elm, hostRef, listeners, attachParentListeners) {
+  if (listeners) {
+    listeners.map(function (_ref13) {
+      var _ref14 = _slicedToArray(_ref13, 3),
+        flags = _ref14[0],
+        name = _ref14[1],
+        method = _ref14[2];
+      var target = getHostListenerTarget(elm, flags);
+      var handler = hostListenerProxy(hostRef, method);
+      var opts = hostListenerOpts(flags);
+      plt.ael(target, name, handler, opts);
+      (hostRef.$rmListeners$ = hostRef.$rmListeners$ || []).push(function () {
+        return plt.rel(target, name, handler, opts);
+      });
+    });
+  }
 };
-const hostListenerProxy = (hostRef, methodName) => (ev) => {
+var hostListenerProxy = function hostListenerProxy(hostRef, methodName) {
+  return function (ev) {
     try {
-        {
-            if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
-                // instance is ready, let's call it's member method for this event
-                hostRef.$lazyInstance$[methodName](ev);
-            }
-            else {
-                (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
-            }
+      {
+        if (hostRef.$flags$ & 256 /* HOST_FLAGS.isListenReady */) {
+          // instance is ready, let's call it's member method for this event
+          hostRef.$lazyInstance$[methodName](ev);
+        } else {
+          (hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []).push([methodName, ev]);
         }
+      }
+    } catch (e) {
+      consoleError(e);
     }
-    catch (e) {
-        consoleError(e);
-    }
+  };
 };
-const getHostListenerTarget = (elm, flags) => {
-    if (flags & 16 /* LISTENER_FLAGS.TargetBody */)
-        return doc.body;
-    return elm;
+var getHostListenerTarget = function getHostListenerTarget(elm, flags) {
+  if (flags & 16 /* LISTENER_FLAGS.TargetBody */) return doc.body;
+  return elm;
 };
 // prettier-ignore
-const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
+var hostListenerOpts = function hostListenerOpts(flags) {
+  return (flags & 2 /* LISTENER_FLAGS.Capture */) !== 0;
+};
 /**
  * Assigns the given value to the nonce property on the runtime platform object.
  * During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
  * @param nonce The value to be assigned to the platform nonce property.
  * @returns void
  */
-const setNonce = (nonce) => (plt.$nonce$ = nonce);
-const hostRefs = /*@__PURE__*/ new WeakMap();
-const getHostRef = (ref) => hostRefs.get(ref);
-const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
-const registerHost = (elm, cmpMeta) => {
-    const hostRef = {
-        $flags$: 0,
-        $hostElement$: elm,
-        $cmpMeta$: cmpMeta,
-        $instanceValues$: new Map(),
+var setNonce = function setNonce(nonce) {
+  return plt.$nonce$ = nonce;
+};
+var hostRefs = /*@__PURE__*/new WeakMap();
+var getHostRef = function getHostRef(ref) {
+  return hostRefs.get(ref);
+};
+var registerInstance = function registerInstance(lazyInstance, hostRef) {
+  return hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef);
+};
+var registerHost = function registerHost(elm, cmpMeta) {
+  var hostRef = {
+    $flags$: 0,
+    $hostElement$: elm,
+    $cmpMeta$: cmpMeta,
+    $instanceValues$: new Map()
+  };
+  {
+    hostRef.$onInstancePromise$ = new Promise(function (r) {
+      return hostRef.$onInstanceResolve$ = r;
+    });
+  }
+  {
+    hostRef.$onReadyPromise$ = new Promise(function (r) {
+      return hostRef.$onReadyResolve$ = r;
+    });
+    elm['s-p'] = [];
+    elm['s-rc'] = [];
+  }
+  addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
+  return hostRefs.set(elm, hostRef);
+};
+var isMemberInElement = function isMemberInElement(elm, memberName) {
+  return memberName in elm;
+};
+var consoleError = function consoleError(e, el) {
+  return (0, console.error)(e, el);
+};
+var cmpModules = /*@__PURE__*/new Map();
+var loadModule = function loadModule(cmpMeta, hostRef, hmrVersionId) {
+  // loadModuleImport
+  var exportName = cmpMeta.$tagName$.replace(/-/g, '_');
+  var bundleId = cmpMeta.$lazyBundleId$;
+  var module = cmpModules.get(bundleId);
+  if (module) {
+    return module[exportName];
+  }
+  if (!hmrVersionId || !BUILD.hotModuleReplacement) {
+    var processMod = function processMod(importedModule) {
+      cmpModules.set(bundleId, importedModule);
+      return importedModule[exportName];
     };
-    {
-        hostRef.$onInstancePromise$ = new Promise((r) => (hostRef.$onInstanceResolve$ = r));
+    switch (bundleId) {
+      case 'pwa-action-sheet':
+        return import(/* webpackMode: "lazy" */
+        './pwa-action-sheet.entry.js').then(processMod, consoleError);
+      case 'pwa-camera-modal':
+        return import(/* webpackMode: "lazy" */
+        './pwa-camera-modal.entry.js').then(processMod, consoleError);
+      case 'pwa-toast':
+        return import(/* webpackMode: "lazy" */
+        './pwa-toast.entry.js').then(processMod, consoleError);
+      case 'pwa-camera-modal-instance':
+        return import(/* webpackMode: "lazy" */
+        './pwa-camera-modal-instance.entry.js').then(processMod, consoleError);
+      case 'pwa-camera':
+        return import(/* webpackMode: "lazy" */
+        './pwa-camera.entry.js').then(processMod, consoleError);
     }
+  }
+  return import(
+  /* @vite-ignore */
+  /* webpackInclude: /\.entry\.js$/ */
+  /* webpackExclude: /\.system\.entry\.js$/ */
+  /* webpackMode: "lazy" */
+  "./".concat(bundleId, ".entry.js")).then(function (importedModule) {
     {
-        hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
-        elm['s-p'] = [];
-        elm['s-rc'] = [];
+      cmpModules.set(bundleId, importedModule);
     }
-    addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
-    return hostRefs.set(elm, hostRef);
+    return importedModule[exportName];
+  }, consoleError);
 };
-const isMemberInElement = (elm, memberName) => memberName in elm;
-const consoleError = (e, el) => (0, console.error)(e, el);
-const cmpModules = /*@__PURE__*/ new Map();
-const loadModule = (cmpMeta, hostRef, hmrVersionId) => {
-    // loadModuleImport
-    const exportName = cmpMeta.$tagName$.replace(/-/g, '_');
-    const bundleId = cmpMeta.$lazyBundleId$;
-    const module = cmpModules.get(bundleId) ;
-    if (module) {
-        return module[exportName];
-    }
-    
-    if (!hmrVersionId || !BUILD.hotModuleReplacement) {
-      const processMod = importedModule => {
-        cmpModules.set(bundleId, importedModule);
-        return importedModule[exportName];
-      }
-      switch(bundleId) {
-        
-        case 'pwa-action-sheet':
-          return import(
-            /* webpackMode: "lazy" */
-            './pwa-action-sheet.entry.js').then(processMod, consoleError);
-        case 'pwa-camera-modal':
-          return import(
-            /* webpackMode: "lazy" */
-            './pwa-camera-modal.entry.js').then(processMod, consoleError);
-        case 'pwa-toast':
-          return import(
-            /* webpackMode: "lazy" */
-            './pwa-toast.entry.js').then(processMod, consoleError);
-        case 'pwa-camera-modal-instance':
-          return import(
-            /* webpackMode: "lazy" */
-            './pwa-camera-modal-instance.entry.js').then(processMod, consoleError);
-        case 'pwa-camera':
-          return import(
-            /* webpackMode: "lazy" */
-            './pwa-camera.entry.js').then(processMod, consoleError);
-      }
-    }
-    return import(
-    /* @vite-ignore */
-    /* webpackInclude: /\.entry\.js$/ */
-    /* webpackExclude: /\.system\.entry\.js$/ */
-    /* webpackMode: "lazy" */
-    `./${bundleId}.entry.js${''}`).then((importedModule) => {
-        {
-            cmpModules.set(bundleId, importedModule);
-        }
-        return importedModule[exportName];
-    }, consoleError);
+var styles = /*@__PURE__*/new Map();
+var win = typeof window !== 'undefined' ? window : {};
+var doc = win.document || {
+  head: {}
 };
-const styles = /*@__PURE__*/ new Map();
-const win = typeof window !== 'undefined' ? window : {};
-const doc = win.document || { head: {} };
-const plt = {
-    $flags$: 0,
-    $resourcesUrl$: '',
-    jmp: (h) => h(),
-    raf: (h) => requestAnimationFrame(h),
-    ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts),
-    rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts),
-    ce: (eventName, opts) => new CustomEvent(eventName, opts),
+var plt = {
+  $flags$: 0,
+  $resourcesUrl$: '',
+  jmp: function jmp(h) {
+    return h();
+  },
+  raf: function raf(h) {
+    return requestAnimationFrame(h);
+  },
+  ael: function ael(el, eventName, listener, opts) {
+    return el.addEventListener(eventName, listener, opts);
+  },
+  rel: function rel(el, eventName, listener, opts) {
+    return el.removeEventListener(eventName, listener, opts);
+  },
+  ce: function ce(eventName, opts) {
+    return new CustomEvent(eventName, opts);
+  }
 };
-const promiseResolve = (v) => Promise.resolve(v);
-const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
-        try {
-            new CSSStyleSheet();
-            return typeof new CSSStyleSheet().replaceSync === 'function';
-        }
-        catch (e) { }
-        return false;
-    })()
-    ;
-const queueDomReads = [];
-const queueDomWrites = [];
-const queueTask = (queue, write) => (cb) => {
+var promiseResolve = function promiseResolve(v) {
+  return Promise.resolve(v);
+};
+var supportsConstructableStylesheets = /*@__PURE__*/function () {
+  try {
+    new CSSStyleSheet();
+    return typeof new CSSStyleSheet().replaceSync === 'function';
+  } catch (e) {}
+  return false;
+}();
+var queueDomReads = [];
+var queueDomWrites = [];
+var queueTask = function queueTask(queue, write) {
+  return function (cb) {
     queue.push(cb);
     if (!queuePending) {
-        queuePending = true;
-        if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
-            nextTick(flush);
-        }
-        else {
-            plt.raf(flush);
-        }
+      queuePending = true;
+      if (write && plt.$flags$ & 4 /* PLATFORM_FLAGS.queueSync */) {
+        nextTick(_flush);
+      } else {
+        plt.raf(_flush);
+      }
     }
+  };
 };
-const consume = (queue) => {
-    for (let i = 0; i < queue.length; i++) {
-        try {
-            queue[i](performance.now());
-        }
-        catch (e) {
-            consoleError(e);
-        }
+var consume = function consume(queue) {
+  for (var i = 0; i < queue.length; i++) {
+    try {
+      queue[i](performance.now());
+    } catch (e) {
+      consoleError(e);
     }
-    queue.length = 0;
+  }
+  queue.length = 0;
 };
-const flush = () => {
-    // always force a bunch of medium callbacks to run, but still have
-    // a throttle on how many can run in a certain time
-    // DOM READS!!!
-    consume(queueDomReads);
-    // DOM WRITES!!!
-    {
-        consume(queueDomWrites);
-        if ((queuePending = queueDomReads.length > 0)) {
-            // still more to do yet, but we've run out of time
-            // let's let this thing cool off and try again in the next tick
-            plt.raf(flush);
-        }
+var _flush = function flush() {
+  // always force a bunch of medium callbacks to run, but still have
+  // a throttle on how many can run in a certain time
+  // DOM READS!!!
+  consume(queueDomReads);
+  // DOM WRITES!!!
+  {
+    consume(queueDomWrites);
+    if (queuePending = queueDomReads.length > 0) {
+      // still more to do yet, but we've run out of time
+      // let's let this thing cool off and try again in the next tick
+      plt.raf(_flush);
     }
+  }
 };
-const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
-const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
-
-export { Host as H, bootstrapLazy as b, createEvent as c, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
+var nextTick = /*@__PURE__*/function nextTick(cb) {
+  return promiseResolve().then(cb);
+};
+var writeTask = /*@__PURE__*/queueTask(queueDomWrites, true);
+export { Host as H, bootstrapLazy as b, createEvent as c, forceUpdate as f, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/index.js b/src/public/js/pwa-elements/esm/index.js
index 8b13789..e69de29 100644
--- a/src/public/js/pwa-elements/esm/index.js
+++ b/src/public/js/pwa-elements/esm/index.js
@@ -1 +0,0 @@
-
diff --git a/src/public/js/pwa-elements/esm/ionicpwaelements.js b/src/public/js/pwa-elements/esm/ionicpwaelements.js
index e189a23..deec6d9 100644
--- a/src/public/js/pwa-elements/esm/ionicpwaelements.js
+++ b/src/public/js/pwa-elements/esm/ionicpwaelements.js
@@ -4,18 +4,50 @@ export { s as setNonce } from './index-1c5c47b4.js';
 /*
  Stencil Client Patch Browser v3.4.0 | MIT Licensed | https://stenciljs.com
  */
-const patchBrowser = () => {
-    const importMeta = import.meta.url;
-    const opts = {};
+var patchBrowser = function patchBrowser() {
+  var importMeta = import.meta.url;
+  var opts = {};
+  // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
+  if (importMeta !== '') {
+    opts.resourcesUrl = new URL('.', importMeta).href;
+    // TODO(STENCIL-661): Remove code related to the dynamic import shim
     // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
-    if (importMeta !== '') {
-        opts.resourcesUrl = new URL('.', importMeta).href;
-        // TODO(STENCIL-661): Remove code related to the dynamic import shim
-        // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
-    }
-    return promiseResolve(opts);
+  }
+  return promiseResolve(opts);
 };
-
-patchBrowser().then(options => {
-  return bootstrapLazy([["pwa-camera-modal",[[1,"pwa-camera-modal",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"present":[64],"dismiss":[64]}]]],["pwa-action-sheet",[[1,"pwa-action-sheet",{"header":[1],"cancelable":[4],"options":[16],"open":[32]}]]],["pwa-toast",[[1,"pwa-toast",{"message":[1],"duration":[2],"closing":[32]}]]],["pwa-camera",[[1,"pwa-camera",{"facingMode":[1,"facing-mode"],"handlePhoto":[16],"hidePicker":[4,"hide-picker"],"handleNoDeviceError":[16],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"],"photo":[32],"photoSrc":[32],"showShutterOverlay":[32],"flashIndex":[32],"hasCamera":[32],"rotation":[32],"deviceError":[32]}]]],["pwa-camera-modal-instance",[[1,"pwa-camera-modal-instance",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]], options);
-});
+patchBrowser().then(function (options) {
+  return bootstrapLazy([["pwa-camera-modal", [[1, "pwa-camera-modal", {
+    "facingMode": [1, "facing-mode"],
+    "hidePicker": [4, "hide-picker"],
+    "present": [64],
+    "dismiss": [64]
+  }]]], ["pwa-action-sheet", [[1, "pwa-action-sheet", {
+    "header": [1],
+    "cancelable": [4],
+    "options": [16],
+    "open": [32]
+  }]]], ["pwa-toast", [[1, "pwa-toast", {
+    "message": [1],
+    "duration": [2],
+    "closing": [32]
+  }]]], ["pwa-camera", [[1, "pwa-camera", {
+    "facingMode": [1, "facing-mode"],
+    "handlePhoto": [16],
+    "hidePicker": [4, "hide-picker"],
+    "handleNoDeviceError": [16],
+    "noDevicesText": [1, "no-devices-text"],
+    "noDevicesButtonText": [1, "no-devices-button-text"],
+    "photo": [32],
+    "photoSrc": [32],
+    "showShutterOverlay": [32],
+    "flashIndex": [32],
+    "hasCamera": [32],
+    "rotation": [32],
+    "deviceError": [32]
+  }]]], ["pwa-camera-modal-instance", [[1, "pwa-camera-modal-instance", {
+    "facingMode": [1, "facing-mode"],
+    "hidePicker": [4, "hide-picker"],
+    "noDevicesText": [1, "no-devices-text"],
+    "noDevicesButtonText": [1, "no-devices-button-text"]
+  }, [[16, "keyup", "handleBackdropKeyUp"]]]]]], options);
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/loader.js b/src/public/js/pwa-elements/esm/loader.js
index 608f50d..9fdcfae 100644
--- a/src/public/js/pwa-elements/esm/loader.js
+++ b/src/public/js/pwa-elements/esm/loader.js
@@ -4,15 +4,46 @@ export { s as setNonce } from './index-1c5c47b4.js';
 /*
  Stencil Client Patch Esm v3.4.0 | MIT Licensed | https://stenciljs.com
  */
-const patchEsm = () => {
-    return promiseResolve();
+var patchEsm = function patchEsm() {
+  return promiseResolve();
 };
-
-const defineCustomElements = (win, options) => {
+var defineCustomElements = function defineCustomElements(win, options) {
   if (typeof window === 'undefined') return Promise.resolve();
-  return patchEsm().then(() => {
-  return bootstrapLazy([["pwa-camera-modal",[[1,"pwa-camera-modal",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"present":[64],"dismiss":[64]}]]],["pwa-action-sheet",[[1,"pwa-action-sheet",{"header":[1],"cancelable":[4],"options":[16],"open":[32]}]]],["pwa-toast",[[1,"pwa-toast",{"message":[1],"duration":[2],"closing":[32]}]]],["pwa-camera",[[1,"pwa-camera",{"facingMode":[1,"facing-mode"],"handlePhoto":[16],"hidePicker":[4,"hide-picker"],"handleNoDeviceError":[16],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"],"photo":[32],"photoSrc":[32],"showShutterOverlay":[32],"flashIndex":[32],"hasCamera":[32],"rotation":[32],"deviceError":[32]}]]],["pwa-camera-modal-instance",[[1,"pwa-camera-modal-instance",{"facingMode":[1,"facing-mode"],"hidePicker":[4,"hide-picker"],"noDevicesText":[1,"no-devices-text"],"noDevicesButtonText":[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]], options);
+  return patchEsm().then(function () {
+    return bootstrapLazy([["pwa-camera-modal", [[1, "pwa-camera-modal", {
+      "facingMode": [1, "facing-mode"],
+      "hidePicker": [4, "hide-picker"],
+      "present": [64],
+      "dismiss": [64]
+    }]]], ["pwa-action-sheet", [[1, "pwa-action-sheet", {
+      "header": [1],
+      "cancelable": [4],
+      "options": [16],
+      "open": [32]
+    }]]], ["pwa-toast", [[1, "pwa-toast", {
+      "message": [1],
+      "duration": [2],
+      "closing": [32]
+    }]]], ["pwa-camera", [[1, "pwa-camera", {
+      "facingMode": [1, "facing-mode"],
+      "handlePhoto": [16],
+      "hidePicker": [4, "hide-picker"],
+      "handleNoDeviceError": [16],
+      "noDevicesText": [1, "no-devices-text"],
+      "noDevicesButtonText": [1, "no-devices-button-text"],
+      "photo": [32],
+      "photoSrc": [32],
+      "showShutterOverlay": [32],
+      "flashIndex": [32],
+      "hasCamera": [32],
+      "rotation": [32],
+      "deviceError": [32]
+    }]]], ["pwa-camera-modal-instance", [[1, "pwa-camera-modal-instance", {
+      "facingMode": [1, "facing-mode"],
+      "hidePicker": [4, "hide-picker"],
+      "noDevicesText": [1, "no-devices-text"],
+      "noDevicesButtonText": [1, "no-devices-button-text"]
+    }, [[16, "keyup", "handleBackdropKeyUp"]]]]]], options);
   });
 };
-
-export { defineCustomElements };
+export { defineCustomElements };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/polyfills/core-js.js b/src/public/js/pwa-elements/esm/polyfills/core-js.js
index 7bbc909..f96b1e6 100644
--- a/src/public/js/pwa-elements/esm/polyfills/core-js.js
+++ b/src/public/js/pwa-elements/esm/polyfills/core-js.js
@@ -4,8 +4,5390 @@
  * License: http://rock.mit-license.org
  * © 2019 Denis Pushkarev (zloirock.ru)
  */
-!function(t){"use strict";!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)}([function(t,n,e){e(1),e(55),e(62),e(68),e(70),e(71),e(72),e(73),e(75),e(76),e(78),e(87),e(88),e(89),e(98),e(99),e(101),e(102),e(103),e(105),e(106),e(107),e(108),e(110),e(111),e(112),e(113),e(114),e(115),e(116),e(117),e(118),e(127),e(130),e(131),e(133),e(135),e(136),e(137),e(138),e(139),e(141),e(143),e(146),e(148),e(150),e(151),e(153),e(154),e(155),e(156),e(157),e(159),e(160),e(162),e(163),e(164),e(165),e(166),e(167),e(168),e(169),e(170),e(172),e(173),e(183),e(184),e(185),e(189),e(191),e(192),e(193),e(194),e(195),e(196),e(198),e(201),e(202),e(203),e(204),e(208),e(209),e(212),e(213),e(214),e(215),e(216),e(217),e(218),e(219),e(221),e(222),e(223),e(226),e(227),e(228),e(229),e(230),e(231),e(232),e(233),e(234),e(235),e(236),e(237),e(238),e(240),e(241),e(243),e(248),t.exports=e(246)},function(t,n,e){var r=e(2),o=e(6),i=e(45),a=e(14),u=e(46),c=e(39),f=e(47),s=e(48),l=e(52),p=e(49),h=e(53),v=p("isConcatSpreadable"),g=h>=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),d=l("concat"),y=function(t){if(!a(t))return!1;var n=t[v];return void 0!==n?!!n:i(t)};r({target:"Array",proto:!0,forced:!g||!d},{concat:function(t){var n,e,r,o,i,a=u(this),l=s(a,0),p=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?a:arguments[n],y(i)){if(p+(o=c(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,p++)e in i&&f(l,p,i[e])}else{if(p>=9007199254740991)throw TypeError("Maximum allowed index exceeded");f(l,p++,i)}return l.length=p,l}})},function(t,n,e){var r=e(3),o=e(4).f,i=e(18),a=e(21),u=e(22),c=e(32),f=e(44);t.exports=function(t,n){var e,s,l,p,h,v=t.target,g=t.global,d=t.stat;if(e=g?r:d?r[v]||u(v,{}):(r[v]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(h=o(e,s))&&h.value:e[s],!f(g?s:v+(d?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;c(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(e,s,p,t)}}},function(t,n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof global&&global)||Function("return this")()},function(t,n,e){var r=e(5),o=e(7),i=e(8),a=e(9),u=e(13),c=e(15),f=e(16),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=a(t),n=u(n,!0),f)try{return s(t,n)}catch(t){}if(c(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n,e){var r=e(6);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(10),o=e(12);t.exports=function(t){return r(o(t))}},function(t,n,e){var r=e(6),o=e(11),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(14);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5),o=e(6),i=e(17);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(14),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,n,e){var r=e(5),o=e(19),i=e(8);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(5),o=e(16),i=e(20),a=e(13),u=Object.defineProperty;n.f=r?u:function(t,n,e){if(i(t),n=a(n,!0),i(e),o)try{return u(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(3),o=e(18),i=e(15),a=e(22),u=e(23),c=e(25),f=c.get,s=c.enforce,l=String(String).split("String");(t.exports=function(t,n,e,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof e&&("string"!=typeof n||i(e,"name")||o(e,"name",n),s(e).source=l.join("string"==typeof n?n:"")),t!==r?(c?!p&&t[n]&&(f=!0):delete t[n],f?t[n]=e:o(t,n,e)):f?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&f(this).source||u(this)}))},function(t,n,e){var r=e(3),o=e(18);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(24),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(3),o=e(22),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,e){var r,o,i,a=e(26),u=e(3),c=e(14),f=e(18),s=e(15),l=e(27),p=e(31),h=u.WeakMap;if(a){var v=new h,g=v.get,d=v.has,y=v.set;r=function(t,n){return y.call(v,t,n),n},o=function(t){return g.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var x=l("state");p[x]=!0,r=function(t,n){return f(t,x,n),n},o=function(t){return s(t,x)?t[x]:{}},i=function(t){return s(t,x)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!c(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(3),o=e(23),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},function(t,n,e){var r=e(28),o=e(30),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n,e){var r=e(29),o=e(24);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n){t.exports=!1},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n){t.exports={}},function(t,n,e){var r=e(15),o=e(33),i=e(4),a=e(19);t.exports=function(t,n){for(var e=o(n),u=a.f,c=i.f,f=0;f<e.length;f++){var s=e[f];r(t,s)||u(t,s,c(n,s))}}},function(t,n,e){var r=e(34),o=e(36),i=e(43),a=e(20);t.exports=r("Reflect","ownKeys")||function(t){var n=o.f(a(t)),e=i.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(35),o=e(3),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][n]||o[t]&&o[t][n]}},function(t,n,e){var r=e(3);t.exports=r},function(t,n,e){var r=e(37),o=e(42).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,n,e){var r=e(15),o=e(9),i=e(38).indexOf,a=e(31);t.exports=function(t,n){var e,u=o(t),c=0,f=[];for(e in u)!r(a,e)&&r(u,e)&&f.push(e);for(;n.length>c;)r(u,e=n[c++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(9),o=e(39),i=e(41),a=function(t){return function(n,e,a){var u,c=r(n),f=o(c.length),s=i(a,f);if(t&&e!=e){for(;f>s;)if((u=c[s++])!=u)return!0}else for(;f>s;s++)if((t||s in c)&&c[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){var r=e(40),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(40),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(6),o=/#|\.prototype\./,i=function(t,n){var e=u[a(t)];return e==f||e!=c&&("function"==typeof n?r(n):!!n)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){var r=e(11);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(12);t.exports=function(t){return Object(r(t))}},function(t,n,e){var r=e(13),o=e(19),i=e(8);t.exports=function(t,n,e){var a=r(n);a in t?o.f(t,a,i(0,e)):t[a]=e}},function(t,n,e){var r=e(14),o=e(45),i=e(49)("species");t.exports=function(t,n){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)?r(e)&&null===(e=e[i])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){var r=e(3),o=e(28),i=e(15),a=e(30),u=e(50),c=e(51),f=o("wks"),s=r.Symbol,l=c?s:s&&s.withoutSetter||a;t.exports=function(t){return i(f,t)||(u&&i(s,t)?f[t]=s[t]:f[t]=l("Symbol."+t)),f[t]}},function(t,n,e){var r=e(6);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(50);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(6),o=e(49),i=e(53),a=o("species");t.exports=function(t){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},function(t,n,e){var r,o,i=e(3),a=e(54),u=i.process,c=u&&u.versions,f=c&&c.v8;f?o=(r=f.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},function(t,n,e){var r=e(34);t.exports=r("navigator","userAgent")||""},function(t,n,e){var r=e(2),o=e(56),i=e(57);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(t,n,e){var r=e(46),o=e(41),i=e(39),a=Math.min;t.exports=[].copyWithin||function(t,n){var e=r(this),u=i(e.length),c=o(t,u),f=o(n,u),s=arguments.length>2?arguments[2]:void 0,l=a((void 0===s?u:o(s,u))-f,u-c),p=1;for(f<c&&c<f+l&&(p=-1,f+=l-1,c+=l-1);l-- >0;)f in e?e[c]=e[f]:delete e[c],c+=p,f+=p;return e}},function(t,n,e){var r=e(49),o=e(58),i=e(19),a=r("unscopables"),u=Array.prototype;null==u[a]&&i.f(u,a,{configurable:!0,value:o(null)}),t.exports=function(t){u[a][t]=!0}},function(t,n,e){var r,o=e(20),i=e(59),a=e(42),u=e(31),c=e(61),f=e(17),s=e(27),l=s("IE_PROTO"),p=function(){},h=function(t){return"<script>"+t+"<\/script>"},v=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;v=r?function(t){t.write(h("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=f("iframe")).style.display="none",c.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(h("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete v.prototype[a[e]];return v()};u[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=o(t),e=new p,p.prototype=null,e[l]=t):e=v(),void 0===n?e:i(e,n)}},function(t,n,e){var r=e(5),o=e(19),i=e(20),a=e(60);t.exports=r?Object.defineProperties:function(t,n){i(t);for(var e,r=a(n),u=r.length,c=0;u>c;)o.f(t,e=r[c++],n[e]);return t}},function(t,n,e){var r=e(37),o=e(42);t.exports=Object.keys||function(t){return r(t,o)}},function(t,n,e){var r=e(34);t.exports=r("document","documentElement")},function(t,n,e){var r=e(2),o=e(63).every,i=e(66),a=e(67),u=i("every"),c=a("every");r({target:"Array",proto:!0,forced:!u||!c},{every:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(64),o=e(10),i=e(46),a=e(39),u=e(48),c=[].push,f=function(t){var n=1==t,e=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l;return function(h,v,g,d){for(var y,x,m=i(h),b=o(m),S=r(v,g,3),E=a(b.length),w=0,O=d||u,R=n?O(h,E):e?O(h,0):void 0;E>w;w++)if((p||w in b)&&(x=S(y=b[w],w,m),t))if(n)R[w]=x;else if(x)switch(t){case 3:return!0;case 5:return y;case 6:return w;case 2:c.call(R,y)}else if(s)return!1;return l?-1:f||s?s:R}};t.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6)}},function(t,n,e){var r=e(65);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n,e){var r=e(6);t.exports=function(t,n){var e=[][t];return!!e&&r((function(){e.call(null,n||function(){throw 1},1)}))}},function(t,n,e){var r=e(5),o=e(6),i=e(15),a=Object.defineProperty,u={},c=function(t){throw t};t.exports=function(t,n){if(i(u,t))return u[t];n||(n={});var e=[][t],f=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:c,l=i(n,1)?n[1]:void 0;return u[t]=!!e&&!o((function(){if(f&&!r)return!0;var t={length:-1};f?a(t,1,{enumerable:!0,get:c}):t[1]=1,e.call(t,s,l)}))}},function(t,n,e){var r=e(2),o=e(69),i=e(57);r({target:"Array",proto:!0},{fill:o}),i("fill")},function(t,n,e){var r=e(46),o=e(41),i=e(39);t.exports=function(t){for(var n=r(this),e=i(n.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,e),c=a>2?arguments[2]:void 0,f=void 0===c?e:o(c,e);f>u;)n[u++]=t;return n}},function(t,n,e){var r=e(2),o=e(63).filter,i=e(52),a=e(67),u=i("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!u||!c},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(63).find,i=e(57),a=e(67),u=!0,c=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,e){var r=e(2),o=e(63).findIndex,i=e(57),a=e(67),u=!0,c=a("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("findIndex")},function(t,n,e){var r=e(2),o=e(74),i=e(46),a=e(39),u=e(40),c=e(48);r({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,n=i(this),e=a(n.length),r=c(n,0);return r.length=o(r,n,n,e,0,void 0===t?1:u(t)),r}})},function(t,n,e){var r=e(45),o=e(39),i=e(64),a=function(t,n,e,u,c,f,s,l){for(var p,h=c,v=0,g=!!s&&i(s,l,3);v<u;){if(v in e){if(p=g?g(e[v],v,n):e[v],f>0&&r(p))h=a(t,n,p,o(p.length),h,f-1)-1;else{if(h>=9007199254740991)throw TypeError("Exceed the acceptable array length");t[h]=p}h++}v++}return h};t.exports=a},function(t,n,e){var r=e(2),o=e(74),i=e(46),a=e(39),u=e(65),c=e(48);r({target:"Array",proto:!0},{flatMap:function(t){var n,e=i(this),r=a(e.length);return u(t),(n=c(e,0)).length=o(n,e,e,r,0,1,t,arguments.length>1?arguments[1]:void 0),n}})},function(t,n,e){var r=e(2),o=e(77);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(t,n,e){var r=e(63).forEach,o=e(66),i=e(67),a=o("forEach"),u=i("forEach");t.exports=a&&u?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},function(t,n,e){var r=e(2),o=e(79);r({target:"Array",stat:!0,forced:!e(86)((function(t){Array.from(t)}))},{from:o})},function(t,n,e){var r=e(64),o=e(46),i=e(80),a=e(81),u=e(39),c=e(47),f=e(83);t.exports=function(t){var n,e,s,l,p,h,v=o(t),g="function"==typeof this?this:Array,d=arguments.length,y=d>1?arguments[1]:void 0,x=void 0!==y,m=f(v),b=0;if(x&&(y=r(y,d>2?arguments[2]:void 0,2)),null==m||g==Array&&a(m))for(e=new g(n=u(v.length));n>b;b++)h=x?y(v[b],b):v[b],c(e,b,h);else for(p=(l=m.call(v)).next,e=new g;!(s=p.call(l)).done;b++)h=x?i(l,y,[s.value,b],!0):s.value,c(e,b,h);return e.length=b,e}},function(t,n,e){var r=e(20);t.exports=function(t,n,e,o){try{return o?n(r(e)[0],e[1]):n(e)}catch(n){var i=t.return;throw void 0!==i&&r(i.call(t)),n}}},function(t,n,e){var r=e(49),o=e(82),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},function(t,n){t.exports={}},function(t,n,e){var r=e(84),o=e(82),i=e(49)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,n,e){var r=e(85),o=e(11),i=e(49)("toStringTag"),a="Arguments"==o(function(){return arguments}());t.exports=r?o:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?e:a?o(n):"Object"==(r=o(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r={};r[e(49)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(49)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!o)return!1;var e=!1;try{var i={};i[r]=function(){return{next:function(){return{done:e=!0}}}},t(i)}catch(t){}return e}},function(t,n,e){var r=e(2),o=e(38).includes,i=e(57);r({target:"Array",proto:!0,forced:!e(67)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("includes")},function(t,n,e){var r=e(2),o=e(38).indexOf,i=e(66),a=e(67),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,f=i("indexOf"),s=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:c||!f||!s},{indexOf:function(t){return c?u.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(9),o=e(57),i=e(82),a=e(25),u=e(90),c=a.set,f=a.getterFor("Array Iterator");t.exports=u(Array,"Array",(function(t,n){c(this,{type:"Array Iterator",target:r(t),index:0,kind:n})}),(function(){var t=f(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(t,n,e){var r=e(2),o=e(91),i=e(93),a=e(96),u=e(95),c=e(18),f=e(21),s=e(49),l=e(29),p=e(82),h=e(92),v=h.IteratorPrototype,g=h.BUGGY_SAFARI_ITERATORS,d=s("iterator"),y=function(){return this};t.exports=function(t,n,e,s,h,x,m){o(e,n,s);var b,S,E,w=function(t){if(t===h&&I)return I;if(!g&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},O=n+" Iterator",R=!1,A=t.prototype,j=A[d]||A["@@iterator"]||h&&A[h],I=!g&&j||w(h),k="Array"==n&&A.entries||j;if(k&&(b=i(k.call(new t)),v!==Object.prototype&&b.next&&(l||i(b)===v||(a?a(b,v):"function"!=typeof b[d]&&c(b,d,y)),u(b,O,!0,!0),l&&(p[O]=y))),"values"==h&&j&&"values"!==j.name&&(R=!0,I=function(){return j.call(this)}),l&&!m||A[d]===I||c(A,d,I),p[n]=I,h)if(S={values:w("values"),keys:x?I:w("keys"),entries:w("entries")},m)for(E in S)(g||R||!(E in A))&&f(A,E,S[E]);else r({target:n,proto:!0,forced:g||R},S);return S}},function(t,n,e){var r=e(92).IteratorPrototype,o=e(58),i=e(8),a=e(95),u=e(82),c=function(){return this};t.exports=function(t,n,e){var f=n+" Iterator";return t.prototype=o(r,{next:i(1,e)}),a(t,f,!1,!0),u[f]=c,t}},function(t,n,e){var r,o,i,a=e(93),u=e(18),c=e(15),f=e(49),s=e(29),l=f("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):p=!0),null==r&&(r={}),s||c(r,l)||u(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},function(t,n,e){var r=e(15),o=e(46),i=e(27),a=e(94),u=i("IE_PROTO"),c=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),r(t,u)?t[u]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},function(t,n,e){var r=e(6);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,n,e){var r=e(19).f,o=e(15),i=e(49)("toStringTag");t.exports=function(t,n,e){t&&!o(t=e?t:t.prototype,i)&&r(t,i,{configurable:!0,value:n})}},function(t,n,e){var r=e(20),o=e(97);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,i){return r(e),o(i),n?t.call(e,i):e.__proto__=i,e}}():void 0)},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},function(t,n,e){var r=e(2),o=e(10),i=e(9),a=e(66),u=[].join,c=o!=Object,f=a("join",",");r({target:"Array",proto:!0,forced:c||!f},{join:function(t){return u.call(i(this),void 0===t?",":t)}})},function(t,n,e){var r=e(2),o=e(100);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(t,n,e){var r=e(9),o=e(40),i=e(39),a=e(66),u=e(67),c=Math.min,f=[].lastIndexOf,s=!!f&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),p=u("indexOf",{ACCESSORS:!0,1:0}),h=s||!l||!p;t.exports=h?function(t){if(s)return f.apply(this,arguments)||0;var n=r(this),e=i(n.length),a=e-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=e+a);a>=0;a--)if(a in n&&n[a]===t)return a||0;return-1}:f},function(t,n,e){var r=e(2),o=e(63).map,i=e(52),a=e(67),u=i("map"),c=a("map");r({target:"Array",proto:!0,forced:!u||!c},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(6),i=e(47);r({target:"Array",stat:!0,forced:o((function(){function t(){}return!(Array.of.call(t)instanceof t)}))},{of:function(){for(var t=0,n=arguments.length,e=new("function"==typeof this?this:Array)(n);n>t;)i(e,t,arguments[t++]);return e.length=n,e}})},function(t,n,e){var r=e(2),o=e(104).left,i=e(66),a=e(67),u=i("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduce:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(65),o=e(46),i=e(10),a=e(39),u=function(t){return function(n,e,u,c){r(e);var f=o(n),s=i(f),l=a(f.length),p=t?l-1:0,h=t?-1:1;if(u<2)for(;;){if(p in s){c=s[p],p+=h;break}if(p+=h,t?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;t?p>=0:l>p;p+=h)p in s&&(c=e(c,s[p],p,f));return c}};t.exports={left:u(!1),right:u(!0)}},function(t,n,e){var r=e(2),o=e(104).right,i=e(66),a=e(67),u=i("reduceRight"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduceRight:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(14),i=e(45),a=e(41),u=e(39),c=e(9),f=e(47),s=e(49),l=e(52),p=e(67),h=l("slice"),v=p("slice",{ACCESSORS:!0,0:0,1:2}),g=s("species"),d=[].slice,y=Math.max;r({target:"Array",proto:!0,forced:!h||!v},{slice:function(t,n){var e,r,s,l=c(this),p=u(l.length),h=a(t,p),v=a(void 0===n?p:n,p);if(i(l)&&("function"!=typeof(e=l.constructor)||e!==Array&&!i(e.prototype)?o(e)&&null===(e=e[g])&&(e=void 0):e=void 0,e===Array||void 0===e))return d.call(l,h,v);for(r=new(void 0===e?Array:e)(y(v-h,0)),s=0;h<v;h++,s++)h in l&&f(r,s,l[h]);return r.length=s,r}})},function(t,n,e){var r=e(2),o=e(63).some,i=e(66),a=e(67),u=i("some"),c=a("some");r({target:"Array",proto:!0,forced:!u||!c},{some:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){e(109)("Array")},function(t,n,e){var r=e(34),o=e(19),i=e(49),a=e(5),u=i("species");t.exports=function(t){var n=r(t),e=o.f;a&&n&&!n[u]&&e(n,u,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(2),o=e(41),i=e(40),a=e(39),u=e(46),c=e(48),f=e(47),s=e(52),l=e(67),p=s("splice"),h=l("splice",{ACCESSORS:!0,0:0,1:2}),v=Math.max,g=Math.min;r({target:"Array",proto:!0,forced:!p||!h},{splice:function(t,n){var e,r,s,l,p,h,d=u(this),y=a(d.length),x=o(t,y),m=arguments.length;if(0===m?e=r=0:1===m?(e=0,r=y-x):(e=m-2,r=g(v(i(n),0),y-x)),y+e-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(s=c(d,r),l=0;l<r;l++)(p=x+l)in d&&f(s,l,d[p]);if(s.length=r,e<r){for(l=x;l<y-r;l++)h=l+e,(p=l+r)in d?d[h]=d[p]:delete d[h];for(l=y;l>y-r+e;l--)delete d[l-1]}else if(e>r)for(l=y-r;l>x;l--)h=l+e-1,(p=l+r-1)in d?d[h]=d[p]:delete d[h];for(l=0;l<e;l++)d[l+x]=arguments[l+2];return d.length=y-r+e,s}})},function(t,n,e){e(57)("flat")},function(t,n,e){e(57)("flatMap")},function(t,n,e){var r=e(14),o=e(19),i=e(93),a=e(49)("hasInstance"),u=Function.prototype;a in u||o.f(u,a,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,e){var r=e(5),o=e(19).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/;r&&!("name"in i)&&o(i,"name",{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(t){return""}}})},function(t,n,e){e(2)({global:!0},{globalThis:e(3)})},function(t,n,e){var r=e(2),o=e(34),i=e(6),a=o("JSON","stringify"),u=/[\uD800-\uDFFF]/g,c=/^[\uD800-\uDBFF]$/,f=/^[\uDC00-\uDFFF]$/,s=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return c.test(t)&&!f.test(o)||f.test(t)&&!c.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},l=i((function(){return'"\\udf06\\ud834"'!==a("\udf06\ud834")||'"\\udead"'!==a("\udead")}));a&&r({target:"JSON",stat:!0,forced:l},{stringify:function(t,n,e){var r=a.apply(null,arguments);return"string"==typeof r?r.replace(u,s):r}})},function(t,n,e){var r=e(3);e(95)(r.JSON,"JSON",!0)},function(t,n,e){var r=e(119),o=e(125);t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},function(t,n,e){var r=e(2),o=e(3),i=e(44),a=e(21),u=e(120),c=e(122),f=e(123),s=e(14),l=e(6),p=e(86),h=e(95),v=e(124);t.exports=function(t,n,e){var g=-1!==t.indexOf("Map"),d=-1!==t.indexOf("Weak"),y=g?"set":"add",x=o[t],m=x&&x.prototype,b=x,S={},E=function(t){var n=m[t];a(m,t,"add"==t?function(t){return n.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return d&&!s(t)?void 0:n.call(this,0===t?0:t)}:"has"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:function(t,e){return n.call(this,0===t?0:t,e),this})};if(i(t,"function"!=typeof x||!(d||m.forEach&&!l((function(){(new x).entries().next()})))))b=e.getConstructor(n,t,g,y),u.REQUIRED=!0;else if(i(t,!0)){var w=new b,O=w[y](d?{}:-0,1)!=w,R=l((function(){w.has(1)})),A=p((function(t){new x(t)})),j=!d&&l((function(){for(var t=new x,n=5;n--;)t[y](n,n);return!t.has(-0)}));A||((b=n((function(n,e){f(n,b,t);var r=v(new x,n,b);return null!=e&&c(e,r[y],r,g),r}))).prototype=m,m.constructor=b),(R||j)&&(E("delete"),E("has"),g&&E("get")),(j||O)&&E(y),d&&m.clear&&delete m.clear}return S[t]=b,r({global:!0,forced:b!=x},S),h(b,t),d||e.setStrong(b,t,g),b}},function(t,n,e){var r=e(31),o=e(14),i=e(15),a=e(19).f,u=e(30),c=e(121),f=u("meta"),s=0,l=Object.isExtensible||function(){return!0},p=function(t){a(t,f,{value:{objectID:"O"+ ++s,weakData:{}}})},h=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,f)){if(!l(t))return"F";if(!n)return"E";p(t)}return t[f].objectID},getWeakData:function(t,n){if(!i(t,f)){if(!l(t))return!0;if(!n)return!1;p(t)}return t[f].weakData},onFreeze:function(t){return c&&h.REQUIRED&&l(t)&&!i(t,f)&&p(t),t}};r[f]=!0},function(t,n,e){var r=e(6);t.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(t,n,e){var r=e(20),o=e(81),i=e(39),a=e(64),u=e(83),c=e(80),f=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,n,e,s,l){var p,h,v,g,d,y,x,m=a(n,e,s?2:1);if(l)p=t;else{if("function"!=typeof(h=u(t)))throw TypeError("Target is not iterable");if(o(h)){for(v=0,g=i(t.length);g>v;v++)if((d=s?m(r(x=t[v])[0],x[1]):m(t[v]))&&d instanceof f)return d;return new f(!1)}p=h.call(t)}for(y=p.next;!(x=y.call(p)).done;)if("object"==typeof(d=c(p,m,x.value,s))&&d&&d instanceof f)return d;return new f(!1)}).stop=function(t){return new f(!0,t)}},function(t,n){t.exports=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t}},function(t,n,e){var r=e(14),o=e(96);t.exports=function(t,n,e){var i,a;return o&&"function"==typeof(i=n.constructor)&&i!==e&&r(a=i.prototype)&&a!==e.prototype&&o(t,a),t}},function(t,n,e){var r=e(19).f,o=e(58),i=e(126),a=e(64),u=e(123),c=e(122),f=e(90),s=e(109),l=e(5),p=e(120).fastKey,h=e(25),v=h.set,g=h.getterFor;t.exports={getConstructor:function(t,n,e,f){var s=t((function(t,r){u(t,s,n),v(t,{type:n,index:o(null),first:void 0,last:void 0,size:0}),l||(t.size=0),null!=r&&c(r,t[f],t,e)})),h=g(n),d=function(t,n,e){var r,o,i=h(t),a=y(t,n);return a?a.value=e:(i.last=a={index:o=p(n,!0),key:n,value:e,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),l?i.size++:t.size++,"F"!==o&&(i.index[o]=a)),t},y=function(t,n){var e,r=h(t),o=p(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return i(s.prototype,{clear:function(){for(var t=h(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,l?t.size=0:this.size=0},delete:function(t){var n=h(this),e=y(this,t);if(e){var r=e.next,o=e.previous;delete n.index[e.index],e.removed=!0,o&&(o.next=r),r&&(r.previous=o),n.first==e&&(n.first=r),n.last==e&&(n.last=o),l?n.size--:this.size--}return!!e},forEach:function(t){for(var n,e=h(this),r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!y(this,t)}}),i(s.prototype,e?{get:function(t){var n=y(this,t);return n&&n.value},set:function(t,n){return d(this,0===t?0:t,n)}}:{add:function(t){return d(this,t=0===t?0:t,t)}}),l&&r(s.prototype,"size",{get:function(){return h(this).size}}),s},setStrong:function(t,n,e){var r=n+" Iterator",o=g(n),i=g(r);f(t,n,(function(t,n){v(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),s(n)}}},function(t,n,e){var r=e(21);t.exports=function(t,n,e){for(var o in n)r(t,o,n[o],e);return t}},function(t,n,e){var r=e(5),o=e(3),i=e(44),a=e(21),u=e(15),c=e(11),f=e(124),s=e(13),l=e(6),p=e(58),h=e(36).f,v=e(4).f,g=e(19).f,d=e(128).trim,y=o.Number,x=y.prototype,m="Number"==c(p(x)),b=function(t){var n,e,r,o,i,a,u,c,f=s(t,!1);if("string"==typeof f&&f.length>2)if(43===(n=(f=d(f)).charCodeAt(0))||45===n){if(88===(e=f.charCodeAt(2))||120===e)return NaN}else if(48===n){switch(f.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+f}for(a=(i=f.slice(2)).length,u=0;u<a;u++)if((c=i.charCodeAt(u))<48||c>o)return NaN;return parseInt(i,r)}return+f};if(i("Number",!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var S,E=function(t){var n=arguments.length<1?0:t,e=this;return e instanceof E&&(m?l((function(){x.valueOf.call(e)})):"Number"!=c(e))?f(new y(b(n)),e,E):b(n)},w=r?h(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),O=0;w.length>O;O++)u(y,S=w[O])&&!u(E,S)&&g(E,S,v(y,S));E.prototype=x,x.constructor=E,a(o,"Number",E)}},function(t,n,e){var r=e(12),o="["+e(129)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),u=function(t){return function(n){var e=String(r(n));return 1&t&&(e=e.replace(i,"")),2&t&&(e=e.replace(a,"")),e}};t.exports={start:u(1),end:u(2),trim:u(3)}},function(t,n){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},function(t,n,e){e(2)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(t,n,e){e(2)({target:"Number",stat:!0},{isFinite:e(132)})},function(t,n,e){var r=e(3).isFinite;t.exports=Number.isFinite||function(t){return"number"==typeof t&&r(t)}},function(t,n,e){e(2)({target:"Number",stat:!0},{isInteger:e(134)})},function(t,n,e){var r=e(14),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,n,e){e(2)({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},function(t,n,e){var r=e(2),o=e(134),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,n,e){e(2)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,e){e(2)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,e){var r=e(2),o=e(140);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},function(t,n,e){var r=e(3),o=e(128).trim,i=e(129),a=r.parseFloat,u=1/a(i+"-0")!=-1/0;t.exports=u?function(t){var n=o(String(t)),e=a(n);return 0===e&&"-"==n.charAt(0)?-0:e}:a},function(t,n,e){var r=e(2),o=e(142);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},function(t,n,e){var r=e(3),o=e(128).trim,i=e(129),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");t.exports=c?function(t,n){var e=o(String(t));return a(e,n>>>0||(u.test(e)?16:10))}:a},function(t,n,e){var r=e(2),o=e(40),i=e(144),a=e(145),u=e(6),c=1..toFixed,f=Math.floor,s=function(t,n,e){return 0===n?e:n%2==1?s(t,n-1,e*t):s(t*t,n/2,e)};r({target:"Number",proto:!0,forced:c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u((function(){c.call({})}))},{toFixed:function(t){var n,e,r,u,c=i(this),l=o(t),p=[0,0,0,0,0,0],h="",v="0",g=function(t,n){for(var e=-1,r=n;++e<6;)r+=t*p[e],p[e]=r%1e7,r=f(r/1e7)},d=function(t){for(var n=6,e=0;--n>=0;)e+=p[n],p[n]=f(e/t),e=e%t*1e7},y=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==p[t]){var e=String(p[t]);n=""===n?e:n+a.call("0",7-e.length)+e}return n};if(l<0||l>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(h="-",c=-c),c>1e-21)if(e=(n=function(t){for(var n=0,e=t;e>=4096;)n+=12,e/=4096;for(;e>=2;)n+=1,e/=2;return n}(c*s(2,69,1))-69)<0?c*s(2,-n,1):c/s(2,n,1),e*=4503599627370496,(n=52-n)>0){for(g(0,e),r=l;r>=7;)g(1e7,0),r-=7;for(g(s(10,r,1),0),r=n-1;r>=23;)d(1<<23),r-=23;d(1<<r),g(1,1),d(2),v=y()}else g(0,e),g(1<<-n,0),v=y()+a.call("0",l);return v=l>0?h+((u=v.length)<=l?"0."+a.call("0",l-u)+v:v.slice(0,u-l)+"."+v.slice(u-l)):h+v}})},function(t,n,e){var r=e(11);t.exports=function(t){if("number"!=typeof t&&"Number"!=r(t))throw TypeError("Incorrect invocation");return+t}},function(t,n,e){var r=e(40),o=e(12);t.exports="".repeat||function(t){var n=String(o(this)),e="",i=r(t);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(n+=n))1&i&&(e+=n);return e}},function(t,n,e){var r=e(2),o=e(147);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(t,n,e){var r=e(5),o=e(6),i=e(60),a=e(43),u=e(7),c=e(46),f=e(10),s=Object.assign,l=Object.defineProperty;t.exports=!s||o((function(){if(r&&1!==s({b:1},s(l({},"a",{enumerable:!0,get:function(){l(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol();return t[e]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),7!=s({},t)[e]||"abcdefghijklmnopqrst"!=i(s({},n)).join("")}))?function(t,n){for(var e=c(t),o=arguments.length,s=1,l=a.f,p=u.f;o>s;)for(var h,v=f(arguments[s++]),g=l?i(v).concat(l(v)):i(v),d=g.length,y=0;d>y;)h=g[y++],r&&!p.call(v,h)||(e[h]=v[h]);return e}:s},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(65),c=e(19);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(t,n){c.f(a(this),t,{get:u(n),enumerable:!0,configurable:!0})}})},function(t,n,e){var r=e(29),o=e(3),i=e(6);t.exports=r||!i((function(){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete o[t]}))},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(65),c=e(19);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(t,n){c.f(a(this),t,{set:u(n),enumerable:!0,configurable:!0})}})},function(t,n,e){var r=e(2),o=e(152).entries;r({target:"Object",stat:!0},{entries:function(t){return o(t)}})},function(t,n,e){var r=e(5),o=e(60),i=e(9),a=e(7).f,u=function(t){return function(n){for(var e,u=i(n),c=o(u),f=c.length,s=0,l=[];f>s;)e=c[s++],r&&!a.call(u,e)||l.push(t?[e,u[e]]:u[e]);return l}};t.exports={entries:u(!0),values:u(!1)}},function(t,n,e){var r=e(2),o=e(121),i=e(6),a=e(14),u=e(120).onFreeze,c=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){c(1)})),sham:!o},{freeze:function(t){return c&&a(t)?c(u(t)):t}})},function(t,n,e){var r=e(2),o=e(122),i=e(47);r({target:"Object",stat:!0},{fromEntries:function(t){var n={};return o(t,(function(t,e){i(n,t,e)}),void 0,!0),n}})},function(t,n,e){var r=e(2),o=e(6),i=e(9),a=e(4).f,u=e(5),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(t,n){return a(i(t),n)}})},function(t,n,e){var r=e(2),o=e(5),i=e(33),a=e(9),u=e(4),c=e(47);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var n,e,r=a(t),o=u.f,f=i(r),s={},l=0;f.length>l;)void 0!==(e=o(r,n=f[l++]))&&c(s,n,e);return s}})},function(t,n,e){var r=e(2),o=e(6),i=e(158).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},function(t,n,e){var r=e(9),o=e(36).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(r(t))}},function(t,n,e){var r=e(2),o=e(6),i=e(46),a=e(93),u=e(94);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(t){return a(i(t))}})},function(t,n,e){e(2)({target:"Object",stat:!0},{is:e(161)})},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isExtensible;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isExtensible:function(t){return!!i(t)&&(!a||a(t))}})},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(t){return!i(t)||!!a&&a(t)}})},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isSealed:function(t){return!i(t)||!!a&&a(t)}})},function(t,n,e){var r=e(2),o=e(46),i=e(60);r({target:"Object",stat:!0,forced:e(6)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(13),c=e(93),f=e(4).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(t){var n,e=a(this),r=u(t,!0);do{if(n=f(e,r))return n.get}while(e=c(e))}})},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(13),c=e(93),f=e(4).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(t){var n,e=a(this),r=u(t,!0);do{if(n=f(e,r))return n.set}while(e=c(e))}})},function(t,n,e){var r=e(2),o=e(14),i=e(120).onFreeze,a=e(121),u=e(6),c=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{preventExtensions:function(t){return c&&o(t)?c(i(t)):t}})},function(t,n,e){var r=e(2),o=e(14),i=e(120).onFreeze,a=e(121),u=e(6),c=Object.seal;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{seal:function(t){return c&&o(t)?c(i(t)):t}})},function(t,n,e){var r=e(85),o=e(21),i=e(171);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(t,n,e){var r=e(85),o=e(84);t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(t,n,e){var r=e(2),o=e(152).values;r({target:"Object",stat:!0},{values:function(t){return o(t)}})},function(t,n,e){var r,o,i,a,u=e(2),c=e(29),f=e(3),s=e(34),l=e(174),p=e(21),h=e(126),v=e(95),g=e(109),d=e(14),y=e(65),x=e(123),m=e(11),b=e(23),S=e(122),E=e(86),w=e(175),O=e(176).set,R=e(178),A=e(179),j=e(181),I=e(180),k=e(182),P=e(25),L=e(44),T=e(49),_=e(53),U=T("species"),N="Promise",C=P.get,F=P.set,M=P.getterFor(N),z=l,D=f.TypeError,q=f.document,B=f.process,W=s("fetch"),$=I.f,G=$,V="process"==m(B),X=!!(q&&q.createEvent&&f.dispatchEvent),Y=L(N,(function(){if(!(b(z)!==String(z))){if(66===_)return!0;if(!V&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!z.prototype.finally)return!0;if(_>=51&&/native code/.test(z))return!1;var t=z.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[U]=n,!(t.then((function(){}))instanceof n)})),K=Y||!E((function(t){z.all(t).catch((function(){}))})),J=function(t){var n;return!(!d(t)||"function"!=typeof(n=t.then))&&n},H=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;R((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,p=s.resolve,h=s.reject,v=s.domain;try{l?(i||(2===n.rejection&&nt(t,n),n.rejection=1),!0===l?u=o:(v&&v.enter(),u=l(o),v&&(v.exit(),f=!0)),u===s.promise?h(D("Promise-chain cycle")):(c=J(u))?c.call(u,p,h):p(u)):h(o)}catch(t){v&&!f&&v.exit(),h(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Z(t,n)}))}},Q=function(t,n,e){var r,o;X?((r=q.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),f.dispatchEvent(r)):r={promise:n,reason:e},(o=f["on"+t])?o(r):"unhandledrejection"===t&&j("Unhandled promise rejection",e)},Z=function(t,n){O.call(f,(function(){var e,r=n.value;if(tt(n)&&(e=k((function(){V?B.emit("unhandledRejection",r,t):Q("unhandledrejection",t,r)})),n.rejection=V||tt(n)?2:1,e.error))throw e.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},nt=function(t,n){O.call(f,(function(){V?B.emit("rejectionHandled",t):Q("rejectionhandled",t,n.value)}))},et=function(t,n,e,r){return function(o){t(n,e,o,r)}},rt=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,H(t,n,!0))},ot=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw D("Promise can't be resolved itself");var o=J(e);o?R((function(){var r={done:!1};try{o.call(e,et(ot,t,r,n),et(rt,t,r,n))}catch(e){rt(t,r,e,n)}})):(n.value=e,n.state=1,H(t,n,!1))}catch(e){rt(t,{done:!1},e,n)}}};Y&&(z=function(t){x(this,z,N),y(t),r.call(this);var n=C(this);try{t(et(ot,this,n),et(rt,this,n))}catch(t){rt(this,n,t)}},(r=function(t){F(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=h(z.prototype,{then:function(t,n){var e=M(this),r=$(w(this,z));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=V?B.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&H(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,n=C(t);this.promise=t,this.resolve=et(ot,t,n),this.reject=et(rt,t,n)},I.f=$=function(t){return t===z||t===i?new o(t):G(t)},c||"function"!=typeof l||(a=l.prototype.then,p(l.prototype,"then",(function(t,n){var e=this;return new z((function(t,n){a.call(e,t,n)})).then(t,n)}),{unsafe:!0}),"function"==typeof W&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(z,W.apply(f,arguments))}}))),u({global:!0,wrap:!0,forced:Y},{Promise:z}),v(z,N,!1,!0),g(N),i=s(N),u({target:N,stat:!0,forced:Y},{reject:function(t){var n=$(this);return n.reject.call(void 0,t),n.promise}}),u({target:N,stat:!0,forced:c||Y},{resolve:function(t){return A(c&&this===i?z:this,t)}}),u({target:N,stat:!0,forced:K},{all:function(t){var n=this,e=$(n),r=e.resolve,o=e.reject,i=k((function(){var e=y(n.resolve),i=[],a=0,u=1;S(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=$(n),r=e.reject,o=k((function(){var o=y(n.resolve);S(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}})},function(t,n,e){var r=e(3);t.exports=r.Promise},function(t,n,e){var r=e(20),o=e(65),i=e(49)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[i])?n:o(e)}},function(t,n,e){var r,o,i,a=e(3),u=e(6),c=e(11),f=e(64),s=e(61),l=e(17),p=e(177),h=a.location,v=a.setImmediate,g=a.clearImmediate,d=a.process,y=a.MessageChannel,x=a.Dispatch,m=0,b={},S=function(t){if(b.hasOwnProperty(t)){var n=b[t];delete b[t],n()}},E=function(t){return function(){S(t)}},w=function(t){S(t.data)},O=function(t){a.postMessage(t+"",h.protocol+"//"+h.host)};v&&g||(v=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return b[++m]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},r(m),m},g=function(t){delete b[t]},"process"==c(d)?r=function(t){d.nextTick(E(t))}:x&&x.now?r=function(t){x.now(E(t))}:y&&!p?(i=(o=new y).port2,o.port1.onmessage=w,r=f(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(O)||"file:"===h.protocol?r="onreadystatechange"in l("script")?function(t){s.appendChild(l("script")).onreadystatechange=function(){s.removeChild(this),S(t)}}:function(t){setTimeout(E(t),0)}:(r=O,a.addEventListener("message",w,!1))),t.exports={set:v,clear:g}},function(t,n,e){var r=e(54);t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(t,n,e){var r,o,i,a,u,c,f,s,l=e(3),p=e(4).f,h=e(11),v=e(176).set,g=e(177),d=l.MutationObserver||l.WebKitMutationObserver,y=l.process,x=l.Promise,m="process"==h(y),b=p(l,"queueMicrotask"),S=b&&b.value;S||(r=function(){var t,n;for(m&&(t=y.domain)&&t.exit();o;){n=o.fn,o=o.next;try{n()}catch(t){throw o?a():i=void 0,t}}i=void 0,t&&t.enter()},m?a=function(){y.nextTick(r)}:d&&!g?(u=!0,c=document.createTextNode(""),new d(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):x&&x.resolve?(f=x.resolve(void 0),s=f.then,a=function(){s.call(f,r)}):a=function(){v.call(l,r)}),t.exports=S||function(t){var n={fn:t,next:void 0};i&&(i.next=n),o||(o=n,a()),i=n}},function(t,n,e){var r=e(20),o=e(14),i=e(180);t.exports=function(t,n){if(r(t),o(n)&&n.constructor===t)return n;var e=i.f(t);return(0,e.resolve)(n),e.promise}},function(t,n,e){var r=e(65),o=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=r(n),this.reject=r(e)};t.exports.f=function(t){return new o(t)}},function(t,n,e){var r=e(3);t.exports=function(t,n){var e=r.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}},function(t,n){t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},function(t,n,e){var r=e(2),o=e(65),i=e(180),a=e(182),u=e(122);r({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=i.f(n),r=e.resolve,c=e.reject,f=a((function(){var e=o(n.resolve),i=[],a=0,c=1;u(t,(function(t){var o=a++,u=!1;i.push(void 0),c++,e.call(n,t).then((function(t){u||(u=!0,i[o]={status:"fulfilled",value:t},--c||r(i))}),(function(t){u||(u=!0,i[o]={status:"rejected",reason:t},--c||r(i))}))})),--c||r(i)}));return f.error&&c(f.value),e.promise}})},function(t,n,e){var r=e(2),o=e(29),i=e(174),a=e(6),u=e(34),c=e(175),f=e(179),s=e(21);r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var n=c(this,u("Promise")),e="function"==typeof t;return this.then(e?function(e){return f(n,t()).then((function(){return e}))}:t,e?function(e){return f(n,t()).then((function(){throw e}))}:t)}}),o||"function"!=typeof i||i.prototype.finally||s(i.prototype,"finally",u("Promise").prototype.finally)},function(t,n,e){var r=e(5),o=e(3),i=e(44),a=e(124),u=e(19).f,c=e(36).f,f=e(186),s=e(187),l=e(188),p=e(21),h=e(6),v=e(25).set,g=e(109),d=e(49)("match"),y=o.RegExp,x=y.prototype,m=/a/g,b=/a/g,S=new y(m)!==m,E=l.UNSUPPORTED_Y;if(r&&i("RegExp",!S||E||h((function(){return b[d]=!1,y(m)!=m||y(b)==b||"/a/i"!=y(m,"i")})))){for(var w=function(t,n){var e,r=this instanceof w,o=f(t),i=void 0===n;if(!r&&o&&t.constructor===w&&i)return t;S?o&&!i&&(t=t.source):t instanceof w&&(i&&(n=s.call(t)),t=t.source),E&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var u=a(S?new y(t,n):y(t,n),r?this:x,w);return E&&e&&v(u,{sticky:e}),u},O=function(t){t in w||u(w,t,{configurable:!0,get:function(){return y[t]},set:function(n){y[t]=n}})},R=c(y),A=0;R.length>A;)O(R[A++]);x.constructor=w,w.prototype=x,p(o,"RegExp",w)}g("RegExp")},function(t,n,e){var r=e(14),o=e(11),i=e(49)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},function(t,n,e){var r=e(20);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){var r=e(6);function o(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(2),o=e(190);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(t,n,e){var r,o,i=e(187),a=e(188),u=RegExp.prototype.exec,c=String.prototype.replace,f=u,s=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(s||p||l)&&(f=function(t){var n,e,r,o,a=this,f=l&&a.sticky,h=i.call(a),v=a.source,g=0,d=t;return f&&(-1===(h=h.replace("y","")).indexOf("g")&&(h+="g"),d=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(v="(?: "+v+")",d=" "+d,g++),e=new RegExp("^(?:"+v+")",h)),p&&(e=new RegExp("^"+v+"$(?!\\s)",h)),s&&(n=a.lastIndex),r=u.call(f?e:a,d),f?r?(r.input=r.input.slice(g),r[0]=r[0].slice(g),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:s&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&c.call(r[0],e,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r}),t.exports=f},function(t,n,e){var r=e(5),o=e(19),i=e(187),a=e(188).UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&o.f(RegExp.prototype,"flags",{configurable:!0,get:i})},function(t,n,e){var r=e(5),o=e(188).UNSUPPORTED_Y,i=e(19).f,a=e(25).get,u=RegExp.prototype;r&&o&&i(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==u){if(this instanceof RegExp)return!!a(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}})},function(t,n,e){e(189);var r,o,i=e(2),a=e(14),u=(r=!1,(o=/[ac]/).exec=function(){return r=!0,/./.exec.apply(this,arguments)},!0===o.test("abc")&&r),c=/./.test;i({target:"RegExp",proto:!0,forced:!u},{test:function(t){if("function"!=typeof this.exec)return c.call(this,t);var n=this.exec(t);if(null!==n&&!a(n))throw new Error("RegExp exec method returned something other than an Object or null");return!!n}})},function(t,n,e){var r=e(21),o=e(20),i=e(6),a=e(187),u=RegExp.prototype,c=u.toString,f=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),s="toString"!=c.name;(f||s)&&r(RegExp.prototype,"toString",(function(){var t=o(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in u)?a.call(t):e)}),{unsafe:!0})},function(t,n,e){var r=e(119),o=e(125);t.exports=r("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},function(t,n,e){var r=e(2),o=e(197).codeAt;r({target:"String",proto:!0},{codePointAt:function(t){return o(this,t)}})},function(t,n,e){var r=e(40),o=e(12),i=function(t){return function(n,e){var i,a,u=String(o(n)),c=r(e),f=u.length;return c<0||c>=f?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===f||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},function(t,n,e){var r,o=e(2),i=e(4).f,a=e(39),u=e(199),c=e(12),f=e(200),s=e(29),l="".endsWith,p=Math.min,h=f("endsWith");o({target:"String",proto:!0,forced:!!(s||h||(r=i(String.prototype,"endsWith"),!r||r.writable))&&!h},{endsWith:function(t){var n=String(c(this));u(t);var e=arguments.length>1?arguments[1]:void 0,r=a(n.length),o=void 0===e?r:p(a(e),r),i=String(t);return l?l.call(n,i,o):n.slice(o-i.length,o)===i}})},function(t,n,e){var r=e(186);t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},function(t,n,e){var r=e(49)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[r]=!1,"/./"[t](n)}catch(t){}}return!1}},function(t,n,e){var r=e(2),o=e(41),i=String.fromCharCode,a=String.fromCodePoint;r({target:"String",stat:!0,forced:!!a&&1!=a.length},{fromCodePoint:function(t){for(var n,e=[],r=arguments.length,a=0;r>a;){if(n=+arguments[a++],o(n,1114111)!==n)throw RangeError(n+" is not a valid code point");e.push(n<65536?i(n):i(55296+((n-=65536)>>10),n%1024+56320))}return e.join("")}})},function(t,n,e){var r=e(2),o=e(199),i=e(12);r({target:"String",proto:!0,forced:!e(200)("includes")},{includes:function(t){return!!~String(i(this)).indexOf(o(t),arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(197).charAt,o=e(25),i=e(90),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=u(this),e=n.string,o=n.index;return o>=e.length?{value:void 0,done:!0}:(t=r(e,o),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(205),o=e(20),i=e(39),a=e(12),u=e(206),c=e(207);r("match",1,(function(t,n,e){return[function(n){var e=a(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var a=o(t),f=String(this);if(!a.global)return c(a,f);var s=a.unicode;a.lastIndex=0;for(var l,p=[],h=0;null!==(l=c(a,f));){var v=String(l[0]);p[h]=v,""===v&&(a.lastIndex=u(f,i(a.lastIndex),s)),h++}return 0===h?null:p}]}))},function(t,n,e){e(189);var r=e(21),o=e(6),i=e(49),a=e(190),u=e(18),c=i("species"),f=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),s="$0"==="a".replace(/./,"$0"),l=i("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),h=!o((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var v=i(t),g=!o((function(){var n={};return n[v]=function(){return 7},7!=""[t](n)})),d=g&&!o((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[c]=function(){return e},e.flags="",e[v]=/./[v]),e.exec=function(){return n=!0,null},e[v](""),!n}));if(!g||!d||"replace"===t&&(!f||!s||p)||"split"===t&&!h){var y=/./[v],x=e(v,""[t],(function(t,n,e,r,o){return n.exec===a?g&&!o?{done:!0,value:y.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:s,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),m=x[0],b=x[1];r(String.prototype,t,m),r(RegExp.prototype,v,2==n?function(t,n){return b.call(t,this,n)}:function(t){return b.call(t,this)})}l&&u(RegExp.prototype[v],"sham",!0)}},function(t,n,e){var r=e(197).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r=e(11),o=e(190);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var i=e.call(t,n);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,n)}},function(t,n,e){var r=e(2),o=e(91),i=e(12),a=e(39),u=e(65),c=e(20),f=e(11),s=e(186),l=e(187),p=e(18),h=e(6),v=e(49),g=e(175),d=e(206),y=e(25),x=e(29),m=v("matchAll"),b=y.set,S=y.getterFor("RegExp String Iterator"),E=RegExp.prototype,w=E.exec,O="".matchAll,R=!!O&&!h((function(){"a".matchAll(/./)})),A=o((function(t,n,e,r){b(this,{type:"RegExp String Iterator",regexp:t,string:n,global:e,unicode:r,done:!1})}),"RegExp String",(function(){var t=S(this);if(t.done)return{value:void 0,done:!0};var n=t.regexp,e=t.string,r=function(t,n){var e,r=t.exec;if("function"==typeof r){if("object"!=typeof(e=r.call(t,n)))throw TypeError("Incorrect exec result");return e}return w.call(t,n)}(n,e);return null===r?{value:void 0,done:t.done=!0}:t.global?(""==String(r[0])&&(n.lastIndex=d(e,a(n.lastIndex),t.unicode)),{value:r,done:!1}):(t.done=!0,{value:r,done:!1})})),j=function(t){var n,e,r,o,i,u,f=c(this),s=String(t);return n=g(f,RegExp),void 0===(e=f.flags)&&f instanceof RegExp&&!("flags"in E)&&(e=l.call(f)),r=void 0===e?"":String(e),o=new n(n===RegExp?f.source:f,r),i=!!~r.indexOf("g"),u=!!~r.indexOf("u"),o.lastIndex=a(f.lastIndex),new A(o,s,i,u)};r({target:"String",proto:!0,forced:R},{matchAll:function(t){var n,e,r,o=i(this);if(null!=t){if(s(t)&&!~String(i("flags"in E?t.flags:l.call(t))).indexOf("g"))throw TypeError("`.matchAll` does not allow non-global regexes");if(R)return O.apply(o,arguments);if(void 0===(e=t[m])&&x&&"RegExp"==f(t)&&(e=j),null!=e)return u(e).call(t,o)}else if(R)return O.apply(o,arguments);return n=String(o),r=new RegExp(t,"g"),x?j.call(r,n):r[m](n)}}),x||m in E||p(E,m,j)},function(t,n,e){var r=e(2),o=e(210).end;r({target:"String",proto:!0,forced:e(211)},{padEnd:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(39),o=e(145),i=e(12),a=Math.ceil,u=function(t){return function(n,e,u){var c,f,s=String(i(n)),l=s.length,p=void 0===u?" ":String(u),h=r(e);return h<=l||""==p?s:(c=h-l,(f=o.call(p,a(c/p.length))).length>c&&(f=f.slice(0,c)),t?s+f:f+s)}};t.exports={start:u(!1),end:u(!0)}},function(t,n,e){var r=e(54);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},function(t,n,e){var r=e(2),o=e(210).start;r({target:"String",proto:!0,forced:e(211)},{padStart:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(9),i=e(39);r({target:"String",stat:!0},{raw:function(t){for(var n=o(t.raw),e=i(n.length),r=arguments.length,a=[],u=0;e>u;)a.push(String(n[u++])),u<r&&a.push(String(arguments[u]));return a.join("")}})},function(t,n,e){e(2)({target:"String",proto:!0},{repeat:e(145)})},function(t,n,e){var r=e(205),o=e(20),i=e(46),a=e(39),u=e(40),c=e(12),f=e(206),s=e(207),l=Math.max,p=Math.min,h=Math.floor,v=/\$([$&'`]|\d\d?|<[^>]*>)/g,g=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var d=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=r.REPLACE_KEEPS_$0,x=d?"$":"$0";return[function(e,r){var o=c(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,r){if(!d&&y||"string"==typeof r&&-1===r.indexOf(x)){var i=e(n,t,this,r);if(i.done)return i.value}var c=o(t),h=String(this),v="function"==typeof r;v||(r=String(r));var g=c.global;if(g){var b=c.unicode;c.lastIndex=0}for(var S=[];;){var E=s(c,h);if(null===E)break;if(S.push(E),!g)break;""===String(E[0])&&(c.lastIndex=f(h,a(c.lastIndex),b))}for(var w,O="",R=0,A=0;A<S.length;A++){E=S[A];for(var j=String(E[0]),I=l(p(u(E.index),h.length),0),k=[],P=1;P<E.length;P++)k.push(void 0===(w=E[P])?w:String(w));var L=E.groups;if(v){var T=[j].concat(k,I,h);void 0!==L&&T.push(L);var _=String(r.apply(void 0,T))}else _=m(j,h,I,k,L,r);I>=R&&(O+=h.slice(R,I)+_,R=I+j.length)}return O+h.slice(R)}];function m(t,e,r,o,a,u){var c=r+t.length,f=o.length,s=g;return void 0!==a&&(a=i(a),s=v),n.call(u,s,(function(n,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[i.slice(1,-1)];break;default:var s=+i;if(0===s)return n;if(s>f){var l=h(s/10);return 0===l?n:l<=f?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):n}u=o[s-1]}return void 0===u?"":u}))}}))},function(t,n,e){var r=e(205),o=e(20),i=e(12),a=e(161),u=e(207);r("search",1,(function(t,n,e){return[function(n){var e=i(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var i=o(t),c=String(this),f=i.lastIndex;a(f,0)||(i.lastIndex=0);var s=u(i,c);return a(i.lastIndex,f)||(i.lastIndex=f),null===s?-1:s.index}]}))},function(t,n,e){var r=e(205),o=e(186),i=e(20),a=e(12),u=e(175),c=e(206),f=e(39),s=e(207),l=e(190),p=e(6),h=[].push,v=Math.min,g=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),i=void 0===e?4294967295:e>>>0;if(0===i)return[];if(void 0===t)return[r];if(!o(t))return n.call(r,t,i);for(var u,c,f,s=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,g=new RegExp(t.source,p+"g");(u=l.call(g,r))&&!((c=g.lastIndex)>v&&(s.push(r.slice(v,u.index)),u.length>1&&u.index<r.length&&h.apply(s,u.slice(1)),f=u[0].length,v=c,s.length>=i));)g.lastIndex===u.index&&g.lastIndex++;return v===r.length?!f&&g.test("")||s.push(""):s.push(r.slice(v)),s.length>i?s.slice(0,i):s}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var o=a(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,e):r.call(String(o),n,e)},function(t,o){var a=e(r,t,this,o,r!==n);if(a.done)return a.value;var l=i(t),p=String(this),h=u(l,RegExp),d=l.unicode,y=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(g?"y":"g"),x=new h(g?l:"^(?:"+l.source+")",y),m=void 0===o?4294967295:o>>>0;if(0===m)return[];if(0===p.length)return null===s(x,p)?[p]:[];for(var b=0,S=0,E=[];S<p.length;){x.lastIndex=g?S:0;var w,O=s(x,g?p:p.slice(S));if(null===O||(w=v(f(x.lastIndex+(g?0:S)),p.length))===b)S=c(p,S,d);else{if(E.push(p.slice(b,S)),E.length===m)return E;for(var R=1;R<=O.length-1;R++)if(E.push(O[R]),E.length===m)return E;S=b=w}}return E.push(p.slice(b)),E}]}),!g)},function(t,n,e){var r,o=e(2),i=e(4).f,a=e(39),u=e(199),c=e(12),f=e(200),s=e(29),l="".startsWith,p=Math.min,h=f("startsWith");o({target:"String",proto:!0,forced:!!(s||h||(r=i(String.prototype,"startsWith"),!r||r.writable))&&!h},{startsWith:function(t){var n=String(c(this));u(t);var e=a(p(arguments.length>1?arguments[1]:void 0,n.length)),r=String(t);return l?l.call(n,r,e):n.slice(e,e+r.length)===r}})},function(t,n,e){var r=e(2),o=e(128).trim;r({target:"String",proto:!0,forced:e(220)("trim")},{trim:function(){return o(this)}})},function(t,n,e){var r=e(6),o=e(129);t.exports=function(t){return r((function(){return!!o[t]()||"​…᠎"!="​…᠎"[t]()||o[t].name!==t}))}},function(t,n,e){var r=e(2),o=e(128).end,i=e(220)("trimEnd"),a=i?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:i},{trimEnd:a,trimRight:a})},function(t,n,e){var r=e(2),o=e(128).start,i=e(220)("trimStart"),a=i?function(){return o(this)}:"".trimStart;r({target:"String",proto:!0,forced:i},{trimStart:a,trimLeft:a})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("anchor")},{anchor:function(t){return o(this,"a","name",t)}})},function(t,n,e){var r=e(12),o=/"/g;t.exports=function(t,n,e,i){var a=String(r(t)),u="<"+n;return""!==e&&(u+=" "+e+'="'+String(i).replace(o,"&quot;")+'"'),u+">"+a+"</"+n+">"}},function(t,n,e){var r=e(6);t.exports=function(t){return r((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3}))}},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("big")},{big:function(){return o(this,"big","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("blink")},{blink:function(){return o(this,"blink","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("bold")},{bold:function(){return o(this,"b","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fixed")},{fixed:function(){return o(this,"tt","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fontcolor")},{fontcolor:function(t){return o(this,"font","color",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fontsize")},{fontsize:function(t){return o(this,"font","size",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("italics")},{italics:function(){return o(this,"i","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("link")},{link:function(t){return o(this,"a","href",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("small")},{small:function(){return o(this,"small","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("strike")},{strike:function(){return o(this,"strike","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("sub")},{sub:function(){return o(this,"sub","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("sup")},{sup:function(){return o(this,"sup","","")}})},function(t,n,e){var r,o=e(3),i=e(126),a=e(120),u=e(119),c=e(239),f=e(14),s=e(25).enforce,l=e(26),p=!o.ActiveXObject&&"ActiveXObject"in o,h=Object.isExtensible,v=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},g=t.exports=u("WeakMap",v,c);if(l&&p){r=c.getConstructor(v,"WeakMap",!0),a.REQUIRED=!0;var d=g.prototype,y=d.delete,x=d.has,m=d.get,b=d.set;i(d,{delete:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),y.call(this,t)||n.frozen.delete(t)}return y.call(this,t)},has:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),x.call(this,t)||n.frozen.has(t)}return x.call(this,t)},get:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),x.call(this,t)?m.call(this,t):n.frozen.get(t)}return m.call(this,t)},set:function(t,n){if(f(t)&&!h(t)){var e=s(this);e.frozen||(e.frozen=new r),x.call(this,t)?b.call(this,t,n):e.frozen.set(t,n)}else b.call(this,t,n);return this}})}},function(t,n,e){var r=e(126),o=e(120).getWeakData,i=e(20),a=e(14),u=e(123),c=e(122),f=e(63),s=e(15),l=e(25),p=l.set,h=l.getterFor,v=f.find,g=f.findIndex,d=0,y=function(t){return t.frozen||(t.frozen=new x)},x=function(){this.entries=[]},m=function(t,n){return v(t.entries,(function(t){return t[0]===n}))};x.prototype={get:function(t){var n=m(this,t);if(n)return n[1]},has:function(t){return!!m(this,t)},set:function(t,n){var e=m(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=g(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,e,f){var l=t((function(t,r){u(t,l,n),p(t,{type:n,id:d++,frozen:void 0}),null!=r&&c(r,t[f],t,e)})),v=h(n),g=function(t,n,e){var r=v(t),a=o(i(n),!0);return!0===a?y(r).set(n,e):a[r.id]=e,t};return r(l.prototype,{delete:function(t){var n=v(this);if(!a(t))return!1;var e=o(t);return!0===e?y(n).delete(t):e&&s(e,n.id)&&delete e[n.id]},has:function(t){var n=v(this);if(!a(t))return!1;var e=o(t);return!0===e?y(n).has(t):e&&s(e,n.id)}}),r(l.prototype,e?{get:function(t){var n=v(this);if(a(t)){var e=o(t);return!0===e?y(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return g(this,t,n)}}:{add:function(t){return g(this,t,!0)}}),l}}},function(t,n,e){e(119)("WeakSet",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),e(239))},function(t,n,e){var r=e(3),o=e(242),i=e(77),a=e(18);for(var u in o){var c=r[u],f=c&&c.prototype;if(f&&f.forEach!==i)try{a(f,"forEach",i)}catch(t){f.forEach=i}}},function(t,n){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,n,e){e(203);var r,o=e(2),i=e(5),a=e(244),u=e(3),c=e(59),f=e(21),s=e(123),l=e(15),p=e(147),h=e(79),v=e(197).codeAt,g=e(245),d=e(95),y=e(246),x=e(25),m=u.URL,b=y.URLSearchParams,S=y.getState,E=x.set,w=x.getterFor("URL"),O=Math.floor,R=Math.pow,A=/[A-Za-z]/,j=/[\d+-.A-Za-z]/,I=/\d/,k=/^(0x|0X)/,P=/^[0-7]+$/,L=/^\d+$/,T=/^[\dA-Fa-f]+$/,_=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,U=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,N=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,C=/[\u0009\u000A\u000D]/g,F=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return"Invalid host";if(!(e=z(n.slice(1,-1))))return"Invalid host";t.host=e}else if(X(t)){if(n=g(n),_.test(n))return"Invalid host";if(null===(e=M(n)))return"Invalid host";t.host=e}else{if(U.test(n))return"Invalid host";for(e="",r=h(n),o=0;o<r.length;o++)e+=G(r[o],q);t.host=e}},M=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=k.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?L:8==i?P:T).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=R(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*R(256,3-r);return u},z=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,p=function(){return t.charAt(l)};if(":"==p()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;p();){if(8==f)return;if(":"!=p()){for(n=e=0;e<4&&T.test(p());)n=16*n+parseInt(p(),16),l++,e++;if("."==p()){if(0==e)return;if(l-=e,f>6)return;for(r=0;p();){if(o=null,r>0){if(!("."==p()&&r<4))return;l++}if(!I.test(p()))return;for(;I.test(p());){if(i=parseInt(p(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==p()){if(l++,!p())return}else if(p())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},D=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=O(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},q={},B=p({},q,{" ":1,'"':1,"<":1,">":1,"`":1}),W=p({},B,{"#":1,"?":1,"{":1,"}":1}),$=p({},W,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),G=function(t,n){var e=v(t,0);return e>32&&e<127&&!l(n,t)?t:encodeURIComponent(t)},V={ftp:21,file:null,http:80,https:443,ws:80,wss:443},X=function(t){return l(V,t.scheme)},Y=function(t){return""!=t.username||""!=t.password},K=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},J=function(t,n){var e;return 2==t.length&&A.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},H=function(t){var n;return t.length>1&&J(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},Q=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&J(n[0],!0)||n.pop()},Z=function(t){return"."===t||"%2e"===t.toLowerCase()},tt={},nt={},et={},rt={},ot={},it={},at={},ut={},ct={},ft={},st={},lt={},pt={},ht={},vt={},gt={},dt={},yt={},xt={},mt={},bt={},St=function(t,n,e,o){var i,a,u,c,f,s=e||tt,p=0,v="",g=!1,d=!1,y=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(N,"")),n=n.replace(C,""),i=h(n);p<=i.length;){switch(a=i[p],s){case tt:if(!a||!A.test(a)){if(e)return"Invalid scheme";s=et;continue}v+=a.toLowerCase(),s=nt;break;case nt:if(a&&(j.test(a)||"+"==a||"-"==a||"."==a))v+=a.toLowerCase();else{if(":"!=a){if(e)return"Invalid scheme";v="",s=et,p=0;continue}if(e&&(X(t)!=l(V,v)||"file"==v&&(Y(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=v,e)return void(X(t)&&V[t.scheme]==t.port&&(t.port=null));v="","file"==t.scheme?s=ht:X(t)&&o&&o.scheme==t.scheme?s=rt:X(t)?s=ut:"/"==i[p+1]?(s=ot,p++):(t.cannotBeABaseURL=!0,t.path.push(""),s=xt)}break;case et:if(!o||o.cannotBeABaseURL&&"#"!=a)return"Invalid scheme";if(o.cannotBeABaseURL&&"#"==a){t.scheme=o.scheme,t.path=o.path.slice(),t.query=o.query,t.fragment="",t.cannotBeABaseURL=!0,s=bt;break}s="file"==o.scheme?ht:it;continue;case rt:if("/"!=a||"/"!=i[p+1]){s=it;continue}s=ct,p++;break;case ot:if("/"==a){s=ft;break}s=yt;continue;case it:if(t.scheme=o.scheme,a==r)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query;else if("/"==a||"\\"==a&&X(t))s=at;else if("?"==a)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query="",s=mt;else{if("#"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.path.pop(),s=yt;continue}t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query,t.fragment="",s=bt}break;case at:if(!X(t)||"/"!=a&&"\\"!=a){if("/"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,s=yt;continue}s=ft}else s=ct;break;case ut:if(s=ct,"/"!=a||"/"!=v.charAt(p+1))continue;p++;break;case ct:if("/"!=a&&"\\"!=a){s=ft;continue}break;case ft:if("@"==a){g&&(v="%40"+v),g=!0,u=h(v);for(var x=0;x<u.length;x++){var m=u[x];if(":"!=m||y){var b=G(m,$);y?t.password+=b:t.username+=b}else y=!0}v=""}else if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)){if(g&&""==v)return"Invalid authority";p-=h(v).length+1,v="",s=st}else v+=a;break;case st:case lt:if(e&&"file"==t.scheme){s=gt;continue}if(":"!=a||d){if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)){if(X(t)&&""==v)return"Invalid host";if(e&&""==v&&(Y(t)||null!==t.port))return;if(c=F(t,v))return c;if(v="",s=dt,e)return;continue}"["==a?d=!0:"]"==a&&(d=!1),v+=a}else{if(""==v)return"Invalid host";if(c=F(t,v))return c;if(v="",s=pt,e==lt)return}break;case pt:if(!I.test(a)){if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)||e){if(""!=v){var S=parseInt(v,10);if(S>65535)return"Invalid port";t.port=X(t)&&S===V[t.scheme]?null:S,v=""}if(e)return;s=dt;continue}return"Invalid port"}v+=a;break;case ht:if(t.scheme="file","/"==a||"\\"==a)s=vt;else{if(!o||"file"!=o.scheme){s=yt;continue}if(a==r)t.host=o.host,t.path=o.path.slice(),t.query=o.query;else if("?"==a)t.host=o.host,t.path=o.path.slice(),t.query="",s=mt;else{if("#"!=a){H(i.slice(p).join(""))||(t.host=o.host,t.path=o.path.slice(),Q(t)),s=yt;continue}t.host=o.host,t.path=o.path.slice(),t.query=o.query,t.fragment="",s=bt}}break;case vt:if("/"==a||"\\"==a){s=gt;break}o&&"file"==o.scheme&&!H(i.slice(p).join(""))&&(J(o.path[0],!0)?t.path.push(o.path[0]):t.host=o.host),s=yt;continue;case gt:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!e&&J(v))s=yt;else if(""==v){if(t.host="",e)return;s=dt}else{if(c=F(t,v))return c;if("localhost"==t.host&&(t.host=""),e)return;v="",s=dt}continue}v+=a;break;case dt:if(X(t)){if(s=yt,"/"!=a&&"\\"!=a)continue}else if(e||"?"!=a)if(e||"#"!=a){if(a!=r&&(s=yt,"/"!=a))continue}else t.fragment="",s=bt;else t.query="",s=mt;break;case yt:if(a==r||"/"==a||"\\"==a&&X(t)||!e&&("?"==a||"#"==a)){if(".."===(f=(f=v).toLowerCase())||"%2e."===f||".%2e"===f||"%2e%2e"===f?(Q(t),"/"==a||"\\"==a&&X(t)||t.path.push("")):Z(v)?"/"==a||"\\"==a&&X(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&J(v)&&(t.host&&(t.host=""),v=v.charAt(0)+":"),t.path.push(v)),v="","file"==t.scheme&&(a==r||"?"==a||"#"==a))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==a?(t.query="",s=mt):"#"==a&&(t.fragment="",s=bt)}else v+=G(a,W);break;case xt:"?"==a?(t.query="",s=mt):"#"==a?(t.fragment="",s=bt):a!=r&&(t.path[0]+=G(a,q));break;case mt:e||"#"!=a?a!=r&&("'"==a&&X(t)?t.query+="%27":t.query+="#"==a?"%23":G(a,q)):(t.fragment="",s=bt);break;case bt:a!=r&&(t.fragment+=G(a,B))}p++}},Et=function(t){var n,e,r=s(this,Et,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(t),u=E(r,{type:"URL"});if(void 0!==o)if(o instanceof Et)n=w(o);else if(e=St(n={},String(o)))throw TypeError(e);if(e=St(u,a,null,n))throw TypeError(e);var c=u.searchParams=new b,f=S(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},i||(r.href=Ot.call(r),r.origin=Rt.call(r),r.protocol=At.call(r),r.username=jt.call(r),r.password=It.call(r),r.host=kt.call(r),r.hostname=Pt.call(r),r.port=Lt.call(r),r.pathname=Tt.call(r),r.search=_t.call(r),r.searchParams=Ut.call(r),r.hash=Nt.call(r))},wt=Et.prototype,Ot=function(){var t=w(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Y(t)&&(f+=e+(r?":"+r:"")+"@"),f+=D(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},Rt=function(){var t=w(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&X(t)?n+"://"+D(t.host)+(null!==e?":"+e:""):"null"},At=function(){return w(this).scheme+":"},jt=function(){return w(this).username},It=function(){return w(this).password},kt=function(){var t=w(this),n=t.host,e=t.port;return null===n?"":null===e?D(n):D(n)+":"+e},Pt=function(){var t=w(this).host;return null===t?"":D(t)},Lt=function(){var t=w(this).port;return null===t?"":String(t)},Tt=function(){var t=w(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},_t=function(){var t=w(this).query;return t?"?"+t:""},Ut=function(){return w(this).searchParams},Nt=function(){var t=w(this).fragment;return t?"#"+t:""},Ct=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(i&&c(wt,{href:Ct(Ot,(function(t){var n=w(this),e=String(t),r=St(n,e);if(r)throw TypeError(r);S(n.searchParams).updateSearchParams(n.query)})),origin:Ct(Rt),protocol:Ct(At,(function(t){var n=w(this);St(n,String(t)+":",tt)})),username:Ct(jt,(function(t){var n=w(this),e=h(String(t));if(!K(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=G(e[r],$)}})),password:Ct(It,(function(t){var n=w(this),e=h(String(t));if(!K(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=G(e[r],$)}})),host:Ct(kt,(function(t){var n=w(this);n.cannotBeABaseURL||St(n,String(t),st)})),hostname:Ct(Pt,(function(t){var n=w(this);n.cannotBeABaseURL||St(n,String(t),lt)})),port:Ct(Lt,(function(t){var n=w(this);K(n)||(""==(t=String(t))?n.port=null:St(n,t,pt))})),pathname:Ct(Tt,(function(t){var n=w(this);n.cannotBeABaseURL||(n.path=[],St(n,t+"",dt))})),search:Ct(_t,(function(t){var n=w(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",St(n,t,mt)),S(n.searchParams).updateSearchParams(n.query)})),searchParams:Ct(Ut),hash:Ct(Nt,(function(t){var n=w(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",St(n,t,bt)):n.fragment=null}))}),f(wt,"toJSON",(function(){return Ot.call(this)}),{enumerable:!0}),f(wt,"toString",(function(){return Ot.call(this)}),{enumerable:!0}),m){var Ft=m.createObjectURL,Mt=m.revokeObjectURL;Ft&&f(Et,"createObjectURL",(function(t){return Ft.apply(m,arguments)})),Mt&&f(Et,"revokeObjectURL",(function(t){return Mt.apply(m,arguments)}))}d(Et,"URL"),o({global:!0,forced:!a,sham:!i},{URL:Et})},function(t,n,e){var r=e(6),o=e(49),i=e(29),a=o("iterator");t.exports=!r((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),i&&!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host}))},function(t,n,e){var r=/[^\0-\u007E]/,o=/[.\u3002\uFF0E\uFF61]/g,i="Overflow: input needs wider integers to process",a=Math.floor,u=String.fromCharCode,c=function(t){return t+22+75*(t<26)},f=function(t,n,e){var r=0;for(t=e?a(t/700):t>>1,t+=a(t/n);t>455;r+=36)t=a(t/35);return a(r+36*t/(t+38))},s=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,s=128,l=0,p=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(u(e));var h=r.length,v=h;for(h&&r.push("-");v<o;){var g=2147483647;for(n=0;n<t.length;n++)(e=t[n])>=s&&e<g&&(g=e);var d=v+1;if(g-s>a((2147483647-l)/d))throw RangeError(i);for(l+=(g-s)*d,s=g,n=0;n<t.length;n++){if((e=t[n])<s&&++l>2147483647)throw RangeError(i);if(e==s){for(var y=l,x=36;;x+=36){var m=x<=p?1:x>=p+26?26:x-p;if(y<m)break;var b=y-m,S=36-m;r.push(u(c(m+b%S))),y=a(b/S)}r.push(u(c(y))),p=f(l,d,v==h),l=0,++v}}++l,++s}return r.join("")};t.exports=function(t){var n,e,i=[],a=t.toLowerCase().replace(o,".").split(".");for(n=0;n<a.length;n++)e=a[n],i.push(r.test(e)?"xn--"+s(e):e);return i.join(".")}},function(t,n,e){e(89);var r=e(2),o=e(34),i=e(244),a=e(21),u=e(126),c=e(95),f=e(91),s=e(25),l=e(123),p=e(15),h=e(64),v=e(84),g=e(20),d=e(14),y=e(58),x=e(8),m=e(247),b=e(83),S=e(49),E=o("fetch"),w=o("Headers"),O=S("iterator"),R=s.set,A=s.getterFor("URLSearchParams"),j=s.getterFor("URLSearchParamsIterator"),I=/\+/g,k=Array(4),P=function(t){return k[t-1]||(k[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},L=function(t){try{return decodeURIComponent(t)}catch(n){return t}},T=function(t){var n=t.replace(I," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(P(e--),L);return n}},_=/[!'()~]|%20/g,U={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},N=function(t){return U[t]},C=function(t){return encodeURIComponent(t).replace(_,N)},F=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:T(r.shift()),value:T(r.join("="))}))},M=function(t){this.entries.length=0,F(this.entries,t)},z=function(t,n){if(t<n)throw TypeError("Not enough arguments")},D=f((function(t,n){R(this,{type:"URLSearchParamsIterator",iterator:m(A(t).entries),kind:n})}),"Iterator",(function(){var t=j(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),q=function(){l(this,q,"URLSearchParams");var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,h=[];if(R(s,{type:"URLSearchParams",entries:h,updateURL:function(){},updateSearchParams:M}),void 0!==f)if(d(f))if("function"==typeof(t=b(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=m(g(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");h.push({key:a.value+"",value:u.value+""})}else for(c in f)p(f,c)&&h.push({key:c,value:f[c]+""});else F(h,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},B=q.prototype;u(B,{append:function(t,n){z(arguments.length,2);var e=A(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){z(arguments.length,1);for(var n=A(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){z(arguments.length,1);for(var e,r=A(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=A(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=A(this).entries,r=h(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new D(this,"keys")},values:function(){return new D(this,"values")},entries:function(){return new D(this,"entries")}},{enumerable:!0}),a(B,O,B.entries),a(B,"toString",(function(){for(var t,n=A(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(C(t.key)+"="+C(t.value));return e.join("&")}),{enumerable:!0}),c(q,"URLSearchParams"),r({global:!0,forced:!i},{URLSearchParams:q}),i||"function"!=typeof E||"function"!=typeof w||r({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(n=arguments[1],d(n)&&(e=n.body,"URLSearchParams"===v(e)&&((r=n.headers?new w(n.headers):new w).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=y(n,{body:x(0,String(e)),headers:x(0,r)}))),o.push(n)),E.apply(this,o)}}),t.exports={URLSearchParams:q,getState:A}},function(t,n,e){var r=e(20),o=e(83);t.exports=function(t){var n=o(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return r(n.call(t))}},function(t,n,e){e(2)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})}])}();
+!function (t) {
+  "use strict";
+
+  !function (t) {
+    var n = {};
+    function e(r) {
+      if (n[r]) return n[r].exports;
+      var o = n[r] = {
+        i: r,
+        l: !1,
+        exports: {}
+      };
+      return t[r].call(o.exports, o, o.exports, e), o.l = !0, o.exports;
+    }
+    e.m = t, e.c = n, e.d = function (t, n, r) {
+      e.o(t, n) || Object.defineProperty(t, n, {
+        enumerable: !0,
+        get: r
+      });
+    }, e.r = function (t) {
+      "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {
+        value: "Module"
+      }), Object.defineProperty(t, "__esModule", {
+        value: !0
+      });
+    }, e.t = function (t, n) {
+      if (1 & n && (t = e(t)), 8 & n) return t;
+      if (4 & n && "object" == typeof t && t && t.__esModule) return t;
+      var r = Object.create(null);
+      if (e.r(r), Object.defineProperty(r, "default", {
+        enumerable: !0,
+        value: t
+      }), 2 & n && "string" != typeof t) for (var o in t) e.d(r, o, function (n) {
+        return t[n];
+      }.bind(null, o));
+      return r;
+    }, e.n = function (t) {
+      var n = t && t.__esModule ? function () {
+        return t.default;
+      } : function () {
+        return t;
+      };
+      return e.d(n, "a", n), n;
+    }, e.o = function (t, n) {
+      return Object.prototype.hasOwnProperty.call(t, n);
+    }, e.p = "", e(e.s = 0);
+  }([function (t, n, e) {
+    e(1), e(55), e(62), e(68), e(70), e(71), e(72), e(73), e(75), e(76), e(78), e(87), e(88), e(89), e(98), e(99), e(101), e(102), e(103), e(105), e(106), e(107), e(108), e(110), e(111), e(112), e(113), e(114), e(115), e(116), e(117), e(118), e(127), e(130), e(131), e(133), e(135), e(136), e(137), e(138), e(139), e(141), e(143), e(146), e(148), e(150), e(151), e(153), e(154), e(155), e(156), e(157), e(159), e(160), e(162), e(163), e(164), e(165), e(166), e(167), e(168), e(169), e(170), e(172), e(173), e(183), e(184), e(185), e(189), e(191), e(192), e(193), e(194), e(195), e(196), e(198), e(201), e(202), e(203), e(204), e(208), e(209), e(212), e(213), e(214), e(215), e(216), e(217), e(218), e(219), e(221), e(222), e(223), e(226), e(227), e(228), e(229), e(230), e(231), e(232), e(233), e(234), e(235), e(236), e(237), e(238), e(240), e(241), e(243), e(248), t.exports = e(246);
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(6),
+      i = e(45),
+      a = e(14),
+      u = e(46),
+      c = e(39),
+      f = e(47),
+      s = e(48),
+      l = e(52),
+      p = e(49),
+      h = e(53),
+      v = p("isConcatSpreadable"),
+      g = h >= 51 || !o(function () {
+        var t = [];
+        return t[v] = !1, t.concat()[0] !== t;
+      }),
+      d = l("concat"),
+      y = function y(t) {
+        if (!a(t)) return !1;
+        var n = t[v];
+        return void 0 !== n ? !!n : i(t);
+      };
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !g || !d
+    }, {
+      concat: function concat(t) {
+        var n,
+          e,
+          r,
+          o,
+          i,
+          a = u(this),
+          l = s(a, 0),
+          p = 0;
+        for (n = -1, r = arguments.length; n < r; n++) if (i = -1 === n ? a : arguments[n], y(i)) {
+          if (p + (o = c(i.length)) > 9007199254740991) throw TypeError("Maximum allowed index exceeded");
+          for (e = 0; e < o; e++, p++) e in i && f(l, p, i[e]);
+        } else {
+          if (p >= 9007199254740991) throw TypeError("Maximum allowed index exceeded");
+          f(l, p++, i);
+        }
+        return l.length = p, l;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(4).f,
+      i = e(18),
+      a = e(21),
+      u = e(22),
+      c = e(32),
+      f = e(44);
+    t.exports = function (t, n) {
+      var e,
+        s,
+        l,
+        p,
+        h,
+        v = t.target,
+        g = t.global,
+        d = t.stat;
+      if (e = g ? r : d ? r[v] || u(v, {}) : (r[v] || {}).prototype) for (s in n) {
+        if (p = n[s], l = t.noTargetGet ? (h = o(e, s)) && h.value : e[s], !f(g ? s : v + (d ? "." : "#") + s, t.forced) && void 0 !== l) {
+          if (typeof p == typeof l) continue;
+          c(p, l);
+        }
+        (t.sham || l && l.sham) && i(p, "sham", !0), a(e, s, p, t);
+      }
+    };
+  }, function (t, n) {
+    var e = function e(t) {
+      return t && t.Math == Math && t;
+    };
+    t.exports = e("object" == typeof globalThis && globalThis) || e("object" == typeof window && window) || e("object" == typeof self && self) || e("object" == typeof global && global) || Function("return this")();
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(7),
+      i = e(8),
+      a = e(9),
+      u = e(13),
+      c = e(15),
+      f = e(16),
+      s = Object.getOwnPropertyDescriptor;
+    n.f = r ? s : function (t, n) {
+      if (t = a(t), n = u(n, !0), f) try {
+        return s(t, n);
+      } catch (t) {}
+      if (c(t, n)) return i(!o.f.call(t, n), t[n]);
+    };
+  }, function (t, n, e) {
+    var r = e(6);
+    t.exports = !r(function () {
+      return 7 != Object.defineProperty({}, 1, {
+        get: function get() {
+          return 7;
+        }
+      })[1];
+    });
+  }, function (t, n) {
+    t.exports = function (t) {
+      try {
+        return !!t();
+      } catch (t) {
+        return !0;
+      }
+    };
+  }, function (t, n, e) {
+    var r = {}.propertyIsEnumerable,
+      o = Object.getOwnPropertyDescriptor,
+      i = o && !r.call({
+        1: 2
+      }, 1);
+    n.f = i ? function (t) {
+      var n = o(this, t);
+      return !!n && n.enumerable;
+    } : r;
+  }, function (t, n) {
+    t.exports = function (t, n) {
+      return {
+        enumerable: !(1 & t),
+        configurable: !(2 & t),
+        writable: !(4 & t),
+        value: n
+      };
+    };
+  }, function (t, n, e) {
+    var r = e(10),
+      o = e(12);
+    t.exports = function (t) {
+      return r(o(t));
+    };
+  }, function (t, n, e) {
+    var r = e(6),
+      o = e(11),
+      i = "".split;
+    t.exports = r(function () {
+      return !Object("z").propertyIsEnumerable(0);
+    }) ? function (t) {
+      return "String" == o(t) ? i.call(t, "") : Object(t);
+    } : Object;
+  }, function (t, n) {
+    var e = {}.toString;
+    t.exports = function (t) {
+      return e.call(t).slice(8, -1);
+    };
+  }, function (t, n) {
+    t.exports = function (t) {
+      if (null == t) throw TypeError("Can't call method on " + t);
+      return t;
+    };
+  }, function (t, n, e) {
+    var r = e(14);
+    t.exports = function (t, n) {
+      if (!r(t)) return t;
+      var e, o;
+      if (n && "function" == typeof (e = t.toString) && !r(o = e.call(t))) return o;
+      if ("function" == typeof (e = t.valueOf) && !r(o = e.call(t))) return o;
+      if (!n && "function" == typeof (e = t.toString) && !r(o = e.call(t))) return o;
+      throw TypeError("Can't convert object to primitive value");
+    };
+  }, function (t, n) {
+    t.exports = function (t) {
+      return "object" == typeof t ? null !== t : "function" == typeof t;
+    };
+  }, function (t, n) {
+    var e = {}.hasOwnProperty;
+    t.exports = function (t, n) {
+      return e.call(t, n);
+    };
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(6),
+      i = e(17);
+    t.exports = !r && !o(function () {
+      return 7 != Object.defineProperty(i("div"), "a", {
+        get: function get() {
+          return 7;
+        }
+      }).a;
+    });
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(14),
+      i = r.document,
+      a = o(i) && o(i.createElement);
+    t.exports = function (t) {
+      return a ? i.createElement(t) : {};
+    };
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(19),
+      i = e(8);
+    t.exports = r ? function (t, n, e) {
+      return o.f(t, n, i(1, e));
+    } : function (t, n, e) {
+      return t[n] = e, t;
+    };
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(16),
+      i = e(20),
+      a = e(13),
+      u = Object.defineProperty;
+    n.f = r ? u : function (t, n, e) {
+      if (i(t), n = a(n, !0), i(e), o) try {
+        return u(t, n, e);
+      } catch (t) {}
+      if ("get" in e || "set" in e) throw TypeError("Accessors not supported");
+      return "value" in e && (t[n] = e.value), t;
+    };
+  }, function (t, n, e) {
+    var r = e(14);
+    t.exports = function (t) {
+      if (!r(t)) throw TypeError(String(t) + " is not an object");
+      return t;
+    };
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(18),
+      i = e(15),
+      a = e(22),
+      u = e(23),
+      c = e(25),
+      f = c.get,
+      s = c.enforce,
+      l = String(String).split("String");
+    (t.exports = function (t, n, e, u) {
+      var c = !!u && !!u.unsafe,
+        f = !!u && !!u.enumerable,
+        p = !!u && !!u.noTargetGet;
+      "function" == typeof e && ("string" != typeof n || i(e, "name") || o(e, "name", n), s(e).source = l.join("string" == typeof n ? n : "")), t !== r ? (c ? !p && t[n] && (f = !0) : delete t[n], f ? t[n] = e : o(t, n, e)) : f ? t[n] = e : a(n, e);
+    })(Function.prototype, "toString", function () {
+      return "function" == typeof this && f(this).source || u(this);
+    });
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(18);
+    t.exports = function (t, n) {
+      try {
+        o(r, t, n);
+      } catch (e) {
+        r[t] = n;
+      }
+      return n;
+    };
+  }, function (t, n, e) {
+    var r = e(24),
+      o = Function.toString;
+    "function" != typeof r.inspectSource && (r.inspectSource = function (t) {
+      return o.call(t);
+    }), t.exports = r.inspectSource;
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(22),
+      i = r["__core-js_shared__"] || o("__core-js_shared__", {});
+    t.exports = i;
+  }, function (t, n, e) {
+    var r,
+      o,
+      i,
+      a = e(26),
+      u = e(3),
+      c = e(14),
+      f = e(18),
+      s = e(15),
+      l = e(27),
+      p = e(31),
+      h = u.WeakMap;
+    if (a) {
+      var v = new h(),
+        g = v.get,
+        d = v.has,
+        y = v.set;
+      r = function r(t, n) {
+        return y.call(v, t, n), n;
+      }, o = function o(t) {
+        return g.call(v, t) || {};
+      }, i = function i(t) {
+        return d.call(v, t);
+      };
+    } else {
+      var x = l("state");
+      p[x] = !0, r = function r(t, n) {
+        return f(t, x, n), n;
+      }, o = function o(t) {
+        return s(t, x) ? t[x] : {};
+      }, i = function i(t) {
+        return s(t, x);
+      };
+    }
+    t.exports = {
+      set: r,
+      get: o,
+      has: i,
+      enforce: function enforce(t) {
+        return i(t) ? o(t) : r(t, {});
+      },
+      getterFor: function getterFor(t) {
+        return function (n) {
+          var e;
+          if (!c(n) || (e = o(n)).type !== t) throw TypeError("Incompatible receiver, " + t + " required");
+          return e;
+        };
+      }
+    };
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(23),
+      i = r.WeakMap;
+    t.exports = "function" == typeof i && /native code/.test(o(i));
+  }, function (t, n, e) {
+    var r = e(28),
+      o = e(30),
+      i = r("keys");
+    t.exports = function (t) {
+      return i[t] || (i[t] = o(t));
+    };
+  }, function (t, n, e) {
+    var r = e(29),
+      o = e(24);
+    (t.exports = function (t, n) {
+      return o[t] || (o[t] = void 0 !== n ? n : {});
+    })("versions", []).push({
+      version: "3.6.5",
+      mode: r ? "pure" : "global",
+      copyright: "© 2020 Denis Pushkarev (zloirock.ru)"
+    });
+  }, function (t, n) {
+    t.exports = !1;
+  }, function (t, n) {
+    var e = 0,
+      r = Math.random();
+    t.exports = function (t) {
+      return "Symbol(" + String(void 0 === t ? "" : t) + ")_" + (++e + r).toString(36);
+    };
+  }, function (t, n) {
+    t.exports = {};
+  }, function (t, n, e) {
+    var r = e(15),
+      o = e(33),
+      i = e(4),
+      a = e(19);
+    t.exports = function (t, n) {
+      for (var e = o(n), u = a.f, c = i.f, f = 0; f < e.length; f++) {
+        var s = e[f];
+        r(t, s) || u(t, s, c(n, s));
+      }
+    };
+  }, function (t, n, e) {
+    var r = e(34),
+      o = e(36),
+      i = e(43),
+      a = e(20);
+    t.exports = r("Reflect", "ownKeys") || function (t) {
+      var n = o.f(a(t)),
+        e = i.f;
+      return e ? n.concat(e(t)) : n;
+    };
+  }, function (t, n, e) {
+    var r = e(35),
+      o = e(3),
+      i = function i(t) {
+        return "function" == typeof t ? t : void 0;
+      };
+    t.exports = function (t, n) {
+      return arguments.length < 2 ? i(r[t]) || i(o[t]) : r[t] && r[t][n] || o[t] && o[t][n];
+    };
+  }, function (t, n, e) {
+    var r = e(3);
+    t.exports = r;
+  }, function (t, n, e) {
+    var r = e(37),
+      o = e(42).concat("length", "prototype");
+    n.f = Object.getOwnPropertyNames || function (t) {
+      return r(t, o);
+    };
+  }, function (t, n, e) {
+    var r = e(15),
+      o = e(9),
+      i = e(38).indexOf,
+      a = e(31);
+    t.exports = function (t, n) {
+      var e,
+        u = o(t),
+        c = 0,
+        f = [];
+      for (e in u) !r(a, e) && r(u, e) && f.push(e);
+      for (; n.length > c;) r(u, e = n[c++]) && (~i(f, e) || f.push(e));
+      return f;
+    };
+  }, function (t, n, e) {
+    var r = e(9),
+      o = e(39),
+      i = e(41),
+      a = function a(t) {
+        return function (n, e, a) {
+          var u,
+            c = r(n),
+            f = o(c.length),
+            s = i(a, f);
+          if (t && e != e) {
+            for (; f > s;) if ((u = c[s++]) != u) return !0;
+          } else for (; f > s; s++) if ((t || s in c) && c[s] === e) return t || s || 0;
+          return !t && -1;
+        };
+      };
+    t.exports = {
+      includes: a(!0),
+      indexOf: a(!1)
+    };
+  }, function (t, n, e) {
+    var r = e(40),
+      o = Math.min;
+    t.exports = function (t) {
+      return t > 0 ? o(r(t), 9007199254740991) : 0;
+    };
+  }, function (t, n) {
+    var e = Math.ceil,
+      r = Math.floor;
+    t.exports = function (t) {
+      return isNaN(t = +t) ? 0 : (t > 0 ? r : e)(t);
+    };
+  }, function (t, n, e) {
+    var r = e(40),
+      o = Math.max,
+      i = Math.min;
+    t.exports = function (t, n) {
+      var e = r(t);
+      return e < 0 ? o(e + n, 0) : i(e, n);
+    };
+  }, function (t, n) {
+    t.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"];
+  }, function (t, n) {
+    n.f = Object.getOwnPropertySymbols;
+  }, function (t, n, e) {
+    var r = e(6),
+      o = /#|\.prototype\./,
+      i = function i(t, n) {
+        var e = u[a(t)];
+        return e == f || e != c && ("function" == typeof n ? r(n) : !!n);
+      },
+      a = i.normalize = function (t) {
+        return String(t).replace(o, ".").toLowerCase();
+      },
+      u = i.data = {},
+      c = i.NATIVE = "N",
+      f = i.POLYFILL = "P";
+    t.exports = i;
+  }, function (t, n, e) {
+    var r = e(11);
+    t.exports = Array.isArray || function (t) {
+      return "Array" == r(t);
+    };
+  }, function (t, n, e) {
+    var r = e(12);
+    t.exports = function (t) {
+      return Object(r(t));
+    };
+  }, function (t, n, e) {
+    var r = e(13),
+      o = e(19),
+      i = e(8);
+    t.exports = function (t, n, e) {
+      var a = r(n);
+      a in t ? o.f(t, a, i(0, e)) : t[a] = e;
+    };
+  }, function (t, n, e) {
+    var r = e(14),
+      o = e(45),
+      i = e(49)("species");
+    t.exports = function (t, n) {
+      var e;
+      return o(t) && ("function" != typeof (e = t.constructor) || e !== Array && !o(e.prototype) ? r(e) && null === (e = e[i]) && (e = void 0) : e = void 0), new (void 0 === e ? Array : e)(0 === n ? 0 : n);
+    };
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(28),
+      i = e(15),
+      a = e(30),
+      u = e(50),
+      c = e(51),
+      f = o("wks"),
+      s = r.Symbol,
+      l = c ? s : s && s.withoutSetter || a;
+    t.exports = function (t) {
+      return i(f, t) || (u && i(s, t) ? f[t] = s[t] : f[t] = l("Symbol." + t)), f[t];
+    };
+  }, function (t, n, e) {
+    var r = e(6);
+    t.exports = !!Object.getOwnPropertySymbols && !r(function () {
+      return !String(Symbol());
+    });
+  }, function (t, n, e) {
+    var r = e(50);
+    t.exports = r && !Symbol.sham && "symbol" == typeof Symbol.iterator;
+  }, function (t, n, e) {
+    var r = e(6),
+      o = e(49),
+      i = e(53),
+      a = o("species");
+    t.exports = function (t) {
+      return i >= 51 || !r(function () {
+        var n = [];
+        return (n.constructor = {})[a] = function () {
+          return {
+            foo: 1
+          };
+        }, 1 !== n[t](Boolean).foo;
+      });
+    };
+  }, function (t, n, e) {
+    var r,
+      o,
+      i = e(3),
+      a = e(54),
+      u = i.process,
+      c = u && u.versions,
+      f = c && c.v8;
+    f ? o = (r = f.split("."))[0] + r[1] : a && (!(r = a.match(/Edge\/(\d+)/)) || r[1] >= 74) && (r = a.match(/Chrome\/(\d+)/)) && (o = r[1]), t.exports = o && +o;
+  }, function (t, n, e) {
+    var r = e(34);
+    t.exports = r("navigator", "userAgent") || "";
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(56),
+      i = e(57);
+    r({
+      target: "Array",
+      proto: !0
+    }, {
+      copyWithin: o
+    }), i("copyWithin");
+  }, function (t, n, e) {
+    var r = e(46),
+      o = e(41),
+      i = e(39),
+      a = Math.min;
+    t.exports = [].copyWithin || function (t, n) {
+      var e = r(this),
+        u = i(e.length),
+        c = o(t, u),
+        f = o(n, u),
+        s = arguments.length > 2 ? arguments[2] : void 0,
+        l = a((void 0 === s ? u : o(s, u)) - f, u - c),
+        p = 1;
+      for (f < c && c < f + l && (p = -1, f += l - 1, c += l - 1); l-- > 0;) f in e ? e[c] = e[f] : delete e[c], c += p, f += p;
+      return e;
+    };
+  }, function (t, n, e) {
+    var r = e(49),
+      o = e(58),
+      i = e(19),
+      a = r("unscopables"),
+      u = Array.prototype;
+    null == u[a] && i.f(u, a, {
+      configurable: !0,
+      value: o(null)
+    }), t.exports = function (t) {
+      u[a][t] = !0;
+    };
+  }, function (t, n, e) {
+    var r,
+      o = e(20),
+      i = e(59),
+      a = e(42),
+      u = e(31),
+      c = e(61),
+      f = e(17),
+      s = e(27),
+      l = s("IE_PROTO"),
+      p = function p() {},
+      h = function h(t) {
+        return "<script>" + t + "<\/script>";
+      },
+      _v = function v() {
+        try {
+          r = document.domain && new ActiveXObject("htmlfile");
+        } catch (t) {}
+        var t, n;
+        _v = r ? function (t) {
+          t.write(h("")), t.close();
+          var n = t.parentWindow.Object;
+          return t = null, n;
+        }(r) : ((n = f("iframe")).style.display = "none", c.appendChild(n), n.src = String("javascript:"), (t = n.contentWindow.document).open(), t.write(h("document.F=Object")), t.close(), t.F);
+        for (var e = a.length; e--;) delete _v.prototype[a[e]];
+        return _v();
+      };
+    u[l] = !0, t.exports = Object.create || function (t, n) {
+      var e;
+      return null !== t ? (p.prototype = o(t), e = new p(), p.prototype = null, e[l] = t) : e = _v(), void 0 === n ? e : i(e, n);
+    };
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(19),
+      i = e(20),
+      a = e(60);
+    t.exports = r ? Object.defineProperties : function (t, n) {
+      i(t);
+      for (var e, r = a(n), u = r.length, c = 0; u > c;) o.f(t, e = r[c++], n[e]);
+      return t;
+    };
+  }, function (t, n, e) {
+    var r = e(37),
+      o = e(42);
+    t.exports = Object.keys || function (t) {
+      return r(t, o);
+    };
+  }, function (t, n, e) {
+    var r = e(34);
+    t.exports = r("document", "documentElement");
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(63).every,
+      i = e(66),
+      a = e(67),
+      u = i("every"),
+      c = a("every");
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !u || !c
+    }, {
+      every: function every(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(64),
+      o = e(10),
+      i = e(46),
+      a = e(39),
+      u = e(48),
+      c = [].push,
+      f = function f(t) {
+        var n = 1 == t,
+          e = 2 == t,
+          f = 3 == t,
+          s = 4 == t,
+          l = 6 == t,
+          p = 5 == t || l;
+        return function (h, v, g, d) {
+          for (var y, x, m = i(h), b = o(m), S = r(v, g, 3), E = a(b.length), w = 0, O = d || u, R = n ? O(h, E) : e ? O(h, 0) : void 0; E > w; w++) if ((p || w in b) && (x = S(y = b[w], w, m), t)) if (n) R[w] = x;else if (x) switch (t) {
+            case 3:
+              return !0;
+            case 5:
+              return y;
+            case 6:
+              return w;
+            case 2:
+              c.call(R, y);
+          } else if (s) return !1;
+          return l ? -1 : f || s ? s : R;
+        };
+      };
+    t.exports = {
+      forEach: f(0),
+      map: f(1),
+      filter: f(2),
+      some: f(3),
+      every: f(4),
+      find: f(5),
+      findIndex: f(6)
+    };
+  }, function (t, n, e) {
+    var r = e(65);
+    t.exports = function (t, n, e) {
+      if (r(t), void 0 === n) return t;
+      switch (e) {
+        case 0:
+          return function () {
+            return t.call(n);
+          };
+        case 1:
+          return function (e) {
+            return t.call(n, e);
+          };
+        case 2:
+          return function (e, r) {
+            return t.call(n, e, r);
+          };
+        case 3:
+          return function (e, r, o) {
+            return t.call(n, e, r, o);
+          };
+      }
+      return function () {
+        return t.apply(n, arguments);
+      };
+    };
+  }, function (t, n) {
+    t.exports = function (t) {
+      if ("function" != typeof t) throw TypeError(String(t) + " is not a function");
+      return t;
+    };
+  }, function (t, n, e) {
+    var r = e(6);
+    t.exports = function (t, n) {
+      var e = [][t];
+      return !!e && r(function () {
+        e.call(null, n || function () {
+          throw 1;
+        }, 1);
+      });
+    };
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(6),
+      i = e(15),
+      a = Object.defineProperty,
+      u = {},
+      c = function c(t) {
+        throw t;
+      };
+    t.exports = function (t, n) {
+      if (i(u, t)) return u[t];
+      n || (n = {});
+      var e = [][t],
+        f = !!i(n, "ACCESSORS") && n.ACCESSORS,
+        s = i(n, 0) ? n[0] : c,
+        l = i(n, 1) ? n[1] : void 0;
+      return u[t] = !!e && !o(function () {
+        if (f && !r) return !0;
+        var t = {
+          length: -1
+        };
+        f ? a(t, 1, {
+          enumerable: !0,
+          get: c
+        }) : t[1] = 1, e.call(t, s, l);
+      });
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(69),
+      i = e(57);
+    r({
+      target: "Array",
+      proto: !0
+    }, {
+      fill: o
+    }), i("fill");
+  }, function (t, n, e) {
+    var r = e(46),
+      o = e(41),
+      i = e(39);
+    t.exports = function (t) {
+      for (var n = r(this), e = i(n.length), a = arguments.length, u = o(a > 1 ? arguments[1] : void 0, e), c = a > 2 ? arguments[2] : void 0, f = void 0 === c ? e : o(c, e); f > u;) n[u++] = t;
+      return n;
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(63).filter,
+      i = e(52),
+      a = e(67),
+      u = i("filter"),
+      c = a("filter");
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !u || !c
+    }, {
+      filter: function filter(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(63).find,
+      i = e(57),
+      a = e(67),
+      u = !0,
+      c = a("find");
+    "find" in [] && Array(1).find(function () {
+      u = !1;
+    }), r({
+      target: "Array",
+      proto: !0,
+      forced: u || !c
+    }, {
+      find: function find(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    }), i("find");
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(63).findIndex,
+      i = e(57),
+      a = e(67),
+      u = !0,
+      c = a("findIndex");
+    "findIndex" in [] && Array(1).findIndex(function () {
+      u = !1;
+    }), r({
+      target: "Array",
+      proto: !0,
+      forced: u || !c
+    }, {
+      findIndex: function findIndex(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    }), i("findIndex");
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(74),
+      i = e(46),
+      a = e(39),
+      u = e(40),
+      c = e(48);
+    r({
+      target: "Array",
+      proto: !0
+    }, {
+      flat: function flat() {
+        var t = arguments.length ? arguments[0] : void 0,
+          n = i(this),
+          e = a(n.length),
+          r = c(n, 0);
+        return r.length = o(r, n, n, e, 0, void 0 === t ? 1 : u(t)), r;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(45),
+      o = e(39),
+      i = e(64),
+      _a = function a(t, n, e, u, c, f, s, l) {
+        for (var p, h = c, v = 0, g = !!s && i(s, l, 3); v < u;) {
+          if (v in e) {
+            if (p = g ? g(e[v], v, n) : e[v], f > 0 && r(p)) h = _a(t, n, p, o(p.length), h, f - 1) - 1;else {
+              if (h >= 9007199254740991) throw TypeError("Exceed the acceptable array length");
+              t[h] = p;
+            }
+            h++;
+          }
+          v++;
+        }
+        return h;
+      };
+    t.exports = _a;
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(74),
+      i = e(46),
+      a = e(39),
+      u = e(65),
+      c = e(48);
+    r({
+      target: "Array",
+      proto: !0
+    }, {
+      flatMap: function flatMap(t) {
+        var n,
+          e = i(this),
+          r = a(e.length);
+        return u(t), (n = c(e, 0)).length = o(n, e, e, r, 0, 1, t, arguments.length > 1 ? arguments[1] : void 0), n;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(77);
+    r({
+      target: "Array",
+      proto: !0,
+      forced: [].forEach != o
+    }, {
+      forEach: o
+    });
+  }, function (t, n, e) {
+    var r = e(63).forEach,
+      o = e(66),
+      i = e(67),
+      a = o("forEach"),
+      u = i("forEach");
+    t.exports = a && u ? [].forEach : function (t) {
+      return r(this, t, arguments.length > 1 ? arguments[1] : void 0);
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(79);
+    r({
+      target: "Array",
+      stat: !0,
+      forced: !e(86)(function (t) {
+        Array.from(t);
+      })
+    }, {
+      from: o
+    });
+  }, function (t, n, e) {
+    var r = e(64),
+      o = e(46),
+      i = e(80),
+      a = e(81),
+      u = e(39),
+      c = e(47),
+      f = e(83);
+    t.exports = function (t) {
+      var n,
+        e,
+        s,
+        l,
+        p,
+        h,
+        v = o(t),
+        g = "function" == typeof this ? this : Array,
+        d = arguments.length,
+        y = d > 1 ? arguments[1] : void 0,
+        x = void 0 !== y,
+        m = f(v),
+        b = 0;
+      if (x && (y = r(y, d > 2 ? arguments[2] : void 0, 2)), null == m || g == Array && a(m)) for (e = new g(n = u(v.length)); n > b; b++) h = x ? y(v[b], b) : v[b], c(e, b, h);else for (p = (l = m.call(v)).next, e = new g(); !(s = p.call(l)).done; b++) h = x ? i(l, y, [s.value, b], !0) : s.value, c(e, b, h);
+      return e.length = b, e;
+    };
+  }, function (t, n, e) {
+    var r = e(20);
+    t.exports = function (t, n, e, o) {
+      try {
+        return o ? n(r(e)[0], e[1]) : n(e);
+      } catch (n) {
+        var i = t.return;
+        throw void 0 !== i && r(i.call(t)), n;
+      }
+    };
+  }, function (t, n, e) {
+    var r = e(49),
+      o = e(82),
+      i = r("iterator"),
+      a = Array.prototype;
+    t.exports = function (t) {
+      return void 0 !== t && (o.Array === t || a[i] === t);
+    };
+  }, function (t, n) {
+    t.exports = {};
+  }, function (t, n, e) {
+    var r = e(84),
+      o = e(82),
+      i = e(49)("iterator");
+    t.exports = function (t) {
+      if (null != t) return t[i] || t["@@iterator"] || o[r(t)];
+    };
+  }, function (t, n, e) {
+    var r = e(85),
+      o = e(11),
+      i = e(49)("toStringTag"),
+      a = "Arguments" == o(function () {
+        return arguments;
+      }());
+    t.exports = r ? o : function (t) {
+      var n, e, r;
+      return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof (e = function (t, n) {
+        try {
+          return t[n];
+        } catch (t) {}
+      }(n = Object(t), i)) ? e : a ? o(n) : "Object" == (r = o(n)) && "function" == typeof n.callee ? "Arguments" : r;
+    };
+  }, function (t, n, e) {
+    var r = {};
+    r[e(49)("toStringTag")] = "z", t.exports = "[object z]" === String(r);
+  }, function (t, n, e) {
+    var r = e(49)("iterator"),
+      o = !1;
+    try {
+      var i = 0,
+        a = {
+          next: function next() {
+            return {
+              done: !!i++
+            };
+          },
+          return: function _return() {
+            o = !0;
+          }
+        };
+      a[r] = function () {
+        return this;
+      }, Array.from(a, function () {
+        throw 2;
+      });
+    } catch (t) {}
+    t.exports = function (t, n) {
+      if (!n && !o) return !1;
+      var e = !1;
+      try {
+        var i = {};
+        i[r] = function () {
+          return {
+            next: function next() {
+              return {
+                done: e = !0
+              };
+            }
+          };
+        }, t(i);
+      } catch (t) {}
+      return e;
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(38).includes,
+      i = e(57);
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !e(67)("indexOf", {
+        ACCESSORS: !0,
+        1: 0
+      })
+    }, {
+      includes: function includes(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    }), i("includes");
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(38).indexOf,
+      i = e(66),
+      a = e(67),
+      u = [].indexOf,
+      c = !!u && 1 / [1].indexOf(1, -0) < 0,
+      f = i("indexOf"),
+      s = a("indexOf", {
+        ACCESSORS: !0,
+        1: 0
+      });
+    r({
+      target: "Array",
+      proto: !0,
+      forced: c || !f || !s
+    }, {
+      indexOf: function indexOf(t) {
+        return c ? u.apply(this, arguments) || 0 : o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(9),
+      o = e(57),
+      i = e(82),
+      a = e(25),
+      u = e(90),
+      c = a.set,
+      f = a.getterFor("Array Iterator");
+    t.exports = u(Array, "Array", function (t, n) {
+      c(this, {
+        type: "Array Iterator",
+        target: r(t),
+        index: 0,
+        kind: n
+      });
+    }, function () {
+      var t = f(this),
+        n = t.target,
+        e = t.kind,
+        r = t.index++;
+      return !n || r >= n.length ? (t.target = void 0, {
+        value: void 0,
+        done: !0
+      }) : "keys" == e ? {
+        value: r,
+        done: !1
+      } : "values" == e ? {
+        value: n[r],
+        done: !1
+      } : {
+        value: [r, n[r]],
+        done: !1
+      };
+    }, "values"), i.Arguments = i.Array, o("keys"), o("values"), o("entries");
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(91),
+      i = e(93),
+      a = e(96),
+      u = e(95),
+      c = e(18),
+      f = e(21),
+      s = e(49),
+      l = e(29),
+      p = e(82),
+      h = e(92),
+      v = h.IteratorPrototype,
+      g = h.BUGGY_SAFARI_ITERATORS,
+      d = s("iterator"),
+      y = function y() {
+        return this;
+      };
+    t.exports = function (t, n, e, s, h, x, m) {
+      o(e, n, s);
+      var b,
+        S,
+        E,
+        w = function w(t) {
+          if (t === h && I) return I;
+          if (!g && t in A) return A[t];
+          switch (t) {
+            case "keys":
+            case "values":
+            case "entries":
+              return function () {
+                return new e(this, t);
+              };
+          }
+          return function () {
+            return new e(this);
+          };
+        },
+        O = n + " Iterator",
+        R = !1,
+        A = t.prototype,
+        j = A[d] || A["@@iterator"] || h && A[h],
+        I = !g && j || w(h),
+        k = "Array" == n && A.entries || j;
+      if (k && (b = i(k.call(new t())), v !== Object.prototype && b.next && (l || i(b) === v || (a ? a(b, v) : "function" != typeof b[d] && c(b, d, y)), u(b, O, !0, !0), l && (p[O] = y))), "values" == h && j && "values" !== j.name && (R = !0, I = function I() {
+        return j.call(this);
+      }), l && !m || A[d] === I || c(A, d, I), p[n] = I, h) if (S = {
+        values: w("values"),
+        keys: x ? I : w("keys"),
+        entries: w("entries")
+      }, m) for (E in S) (g || R || !(E in A)) && f(A, E, S[E]);else r({
+        target: n,
+        proto: !0,
+        forced: g || R
+      }, S);
+      return S;
+    };
+  }, function (t, n, e) {
+    var r = e(92).IteratorPrototype,
+      o = e(58),
+      i = e(8),
+      a = e(95),
+      u = e(82),
+      c = function c() {
+        return this;
+      };
+    t.exports = function (t, n, e) {
+      var f = n + " Iterator";
+      return t.prototype = o(r, {
+        next: i(1, e)
+      }), a(t, f, !1, !0), u[f] = c, t;
+    };
+  }, function (t, n, e) {
+    var r,
+      o,
+      i,
+      a = e(93),
+      u = e(18),
+      c = e(15),
+      f = e(49),
+      s = e(29),
+      l = f("iterator"),
+      p = !1;
+    [].keys && ("next" in (i = [].keys()) ? (o = a(a(i))) !== Object.prototype && (r = o) : p = !0), null == r && (r = {}), s || c(r, l) || u(r, l, function () {
+      return this;
+    }), t.exports = {
+      IteratorPrototype: r,
+      BUGGY_SAFARI_ITERATORS: p
+    };
+  }, function (t, n, e) {
+    var r = e(15),
+      o = e(46),
+      i = e(27),
+      a = e(94),
+      u = i("IE_PROTO"),
+      c = Object.prototype;
+    t.exports = a ? Object.getPrototypeOf : function (t) {
+      return t = o(t), r(t, u) ? t[u] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? c : null;
+    };
+  }, function (t, n, e) {
+    var r = e(6);
+    t.exports = !r(function () {
+      function t() {}
+      return t.prototype.constructor = null, Object.getPrototypeOf(new t()) !== t.prototype;
+    });
+  }, function (t, n, e) {
+    var r = e(19).f,
+      o = e(15),
+      i = e(49)("toStringTag");
+    t.exports = function (t, n, e) {
+      t && !o(t = e ? t : t.prototype, i) && r(t, i, {
+        configurable: !0,
+        value: n
+      });
+    };
+  }, function (t, n, e) {
+    var r = e(20),
+      o = e(97);
+    t.exports = Object.setPrototypeOf || ("__proto__" in {} ? function () {
+      var t,
+        n = !1,
+        e = {};
+      try {
+        (t = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(e, []), n = e instanceof Array;
+      } catch (t) {}
+      return function (e, i) {
+        return r(e), o(i), n ? t.call(e, i) : e.__proto__ = i, e;
+      };
+    }() : void 0);
+  }, function (t, n, e) {
+    var r = e(14);
+    t.exports = function (t) {
+      if (!r(t) && null !== t) throw TypeError("Can't set " + String(t) + " as a prototype");
+      return t;
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(10),
+      i = e(9),
+      a = e(66),
+      u = [].join,
+      c = o != Object,
+      f = a("join", ",");
+    r({
+      target: "Array",
+      proto: !0,
+      forced: c || !f
+    }, {
+      join: function join(t) {
+        return u.call(i(this), void 0 === t ? "," : t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(100);
+    r({
+      target: "Array",
+      proto: !0,
+      forced: o !== [].lastIndexOf
+    }, {
+      lastIndexOf: o
+    });
+  }, function (t, n, e) {
+    var r = e(9),
+      o = e(40),
+      i = e(39),
+      a = e(66),
+      u = e(67),
+      c = Math.min,
+      f = [].lastIndexOf,
+      s = !!f && 1 / [1].lastIndexOf(1, -0) < 0,
+      l = a("lastIndexOf"),
+      p = u("indexOf", {
+        ACCESSORS: !0,
+        1: 0
+      }),
+      h = s || !l || !p;
+    t.exports = h ? function (t) {
+      if (s) return f.apply(this, arguments) || 0;
+      var n = r(this),
+        e = i(n.length),
+        a = e - 1;
+      for (arguments.length > 1 && (a = c(a, o(arguments[1]))), a < 0 && (a = e + a); a >= 0; a--) if (a in n && n[a] === t) return a || 0;
+      return -1;
+    } : f;
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(63).map,
+      i = e(52),
+      a = e(67),
+      u = i("map"),
+      c = a("map");
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !u || !c
+    }, {
+      map: function map(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(6),
+      i = e(47);
+    r({
+      target: "Array",
+      stat: !0,
+      forced: o(function () {
+        function t() {}
+        return !(Array.of.call(t) instanceof t);
+      })
+    }, {
+      of: function of() {
+        for (var t = 0, n = arguments.length, e = new ("function" == typeof this ? this : Array)(n); n > t;) i(e, t, arguments[t++]);
+        return e.length = n, e;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(104).left,
+      i = e(66),
+      a = e(67),
+      u = i("reduce"),
+      c = a("reduce", {
+        1: 0
+      });
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !u || !c
+    }, {
+      reduce: function reduce(t) {
+        return o(this, t, arguments.length, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(65),
+      o = e(46),
+      i = e(10),
+      a = e(39),
+      u = function u(t) {
+        return function (n, e, u, c) {
+          r(e);
+          var f = o(n),
+            s = i(f),
+            l = a(f.length),
+            p = t ? l - 1 : 0,
+            h = t ? -1 : 1;
+          if (u < 2) for (;;) {
+            if (p in s) {
+              c = s[p], p += h;
+              break;
+            }
+            if (p += h, t ? p < 0 : l <= p) throw TypeError("Reduce of empty array with no initial value");
+          }
+          for (; t ? p >= 0 : l > p; p += h) p in s && (c = e(c, s[p], p, f));
+          return c;
+        };
+      };
+    t.exports = {
+      left: u(!1),
+      right: u(!0)
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(104).right,
+      i = e(66),
+      a = e(67),
+      u = i("reduceRight"),
+      c = a("reduce", {
+        1: 0
+      });
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !u || !c
+    }, {
+      reduceRight: function reduceRight(t) {
+        return o(this, t, arguments.length, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(14),
+      i = e(45),
+      a = e(41),
+      u = e(39),
+      c = e(9),
+      f = e(47),
+      s = e(49),
+      l = e(52),
+      p = e(67),
+      h = l("slice"),
+      v = p("slice", {
+        ACCESSORS: !0,
+        0: 0,
+        1: 2
+      }),
+      g = s("species"),
+      d = [].slice,
+      y = Math.max;
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !h || !v
+    }, {
+      slice: function slice(t, n) {
+        var e,
+          r,
+          s,
+          l = c(this),
+          p = u(l.length),
+          h = a(t, p),
+          v = a(void 0 === n ? p : n, p);
+        if (i(l) && ("function" != typeof (e = l.constructor) || e !== Array && !i(e.prototype) ? o(e) && null === (e = e[g]) && (e = void 0) : e = void 0, e === Array || void 0 === e)) return d.call(l, h, v);
+        for (r = new (void 0 === e ? Array : e)(y(v - h, 0)), s = 0; h < v; h++, s++) h in l && f(r, s, l[h]);
+        return r.length = s, r;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(63).some,
+      i = e(66),
+      a = e(67),
+      u = i("some"),
+      c = a("some");
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !u || !c
+    }, {
+      some: function some(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    e(109)("Array");
+  }, function (t, n, e) {
+    var r = e(34),
+      o = e(19),
+      i = e(49),
+      a = e(5),
+      u = i("species");
+    t.exports = function (t) {
+      var n = r(t),
+        e = o.f;
+      a && n && !n[u] && e(n, u, {
+        configurable: !0,
+        get: function get() {
+          return this;
+        }
+      });
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(41),
+      i = e(40),
+      a = e(39),
+      u = e(46),
+      c = e(48),
+      f = e(47),
+      s = e(52),
+      l = e(67),
+      p = s("splice"),
+      h = l("splice", {
+        ACCESSORS: !0,
+        0: 0,
+        1: 2
+      }),
+      v = Math.max,
+      g = Math.min;
+    r({
+      target: "Array",
+      proto: !0,
+      forced: !p || !h
+    }, {
+      splice: function splice(t, n) {
+        var e,
+          r,
+          s,
+          l,
+          p,
+          h,
+          d = u(this),
+          y = a(d.length),
+          x = o(t, y),
+          m = arguments.length;
+        if (0 === m ? e = r = 0 : 1 === m ? (e = 0, r = y - x) : (e = m - 2, r = g(v(i(n), 0), y - x)), y + e - r > 9007199254740991) throw TypeError("Maximum allowed length exceeded");
+        for (s = c(d, r), l = 0; l < r; l++) (p = x + l) in d && f(s, l, d[p]);
+        if (s.length = r, e < r) {
+          for (l = x; l < y - r; l++) h = l + e, (p = l + r) in d ? d[h] = d[p] : delete d[h];
+          for (l = y; l > y - r + e; l--) delete d[l - 1];
+        } else if (e > r) for (l = y - r; l > x; l--) h = l + e - 1, (p = l + r - 1) in d ? d[h] = d[p] : delete d[h];
+        for (l = 0; l < e; l++) d[l + x] = arguments[l + 2];
+        return d.length = y - r + e, s;
+      }
+    });
+  }, function (t, n, e) {
+    e(57)("flat");
+  }, function (t, n, e) {
+    e(57)("flatMap");
+  }, function (t, n, e) {
+    var r = e(14),
+      o = e(19),
+      i = e(93),
+      a = e(49)("hasInstance"),
+      u = Function.prototype;
+    a in u || o.f(u, a, {
+      value: function value(t) {
+        if ("function" != typeof this || !r(t)) return !1;
+        if (!r(this.prototype)) return t instanceof this;
+        for (; t = i(t);) if (this.prototype === t) return !0;
+        return !1;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(19).f,
+      i = Function.prototype,
+      a = i.toString,
+      u = /^\s*function ([^ (]*)/;
+    r && !("name" in i) && o(i, "name", {
+      configurable: !0,
+      get: function get() {
+        try {
+          return a.call(this).match(u)[1];
+        } catch (t) {
+          return "";
+        }
+      }
+    });
+  }, function (t, n, e) {
+    e(2)({
+      global: !0
+    }, {
+      globalThis: e(3)
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(34),
+      i = e(6),
+      a = o("JSON", "stringify"),
+      u = /[\uD800-\uDFFF]/g,
+      c = /^[\uD800-\uDBFF]$/,
+      f = /^[\uDC00-\uDFFF]$/,
+      s = function s(t, n, e) {
+        var r = e.charAt(n - 1),
+          o = e.charAt(n + 1);
+        return c.test(t) && !f.test(o) || f.test(t) && !c.test(r) ? "\\u" + t.charCodeAt(0).toString(16) : t;
+      },
+      l = i(function () {
+        return "\"\\udf06\\ud834\"" !== a("\uDF06\uD834") || "\"\\udead\"" !== a("\uDEAD");
+      });
+    a && r({
+      target: "JSON",
+      stat: !0,
+      forced: l
+    }, {
+      stringify: function stringify(t, n, e) {
+        var r = a.apply(null, arguments);
+        return "string" == typeof r ? r.replace(u, s) : r;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(3);
+    e(95)(r.JSON, "JSON", !0);
+  }, function (t, n, e) {
+    var r = e(119),
+      o = e(125);
+    t.exports = r("Map", function (t) {
+      return function () {
+        return t(this, arguments.length ? arguments[0] : void 0);
+      };
+    }, o);
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(3),
+      i = e(44),
+      a = e(21),
+      u = e(120),
+      c = e(122),
+      f = e(123),
+      s = e(14),
+      l = e(6),
+      p = e(86),
+      h = e(95),
+      v = e(124);
+    t.exports = function (t, n, e) {
+      var g = -1 !== t.indexOf("Map"),
+        d = -1 !== t.indexOf("Weak"),
+        y = g ? "set" : "add",
+        x = o[t],
+        m = x && x.prototype,
+        b = x,
+        S = {},
+        E = function E(t) {
+          var n = m[t];
+          a(m, t, "add" == t ? function (t) {
+            return n.call(this, 0 === t ? 0 : t), this;
+          } : "delete" == t ? function (t) {
+            return !(d && !s(t)) && n.call(this, 0 === t ? 0 : t);
+          } : "get" == t ? function (t) {
+            return d && !s(t) ? void 0 : n.call(this, 0 === t ? 0 : t);
+          } : "has" == t ? function (t) {
+            return !(d && !s(t)) && n.call(this, 0 === t ? 0 : t);
+          } : function (t, e) {
+            return n.call(this, 0 === t ? 0 : t, e), this;
+          });
+        };
+      if (i(t, "function" != typeof x || !(d || m.forEach && !l(function () {
+        new x().entries().next();
+      })))) b = e.getConstructor(n, t, g, y), u.REQUIRED = !0;else if (i(t, !0)) {
+        var w = new b(),
+          O = w[y](d ? {} : -0, 1) != w,
+          R = l(function () {
+            w.has(1);
+          }),
+          A = p(function (t) {
+            new x(t);
+          }),
+          j = !d && l(function () {
+            for (var t = new x(), n = 5; n--;) t[y](n, n);
+            return !t.has(-0);
+          });
+        A || ((b = n(function (n, e) {
+          f(n, b, t);
+          var r = v(new x(), n, b);
+          return null != e && c(e, r[y], r, g), r;
+        })).prototype = m, m.constructor = b), (R || j) && (E("delete"), E("has"), g && E("get")), (j || O) && E(y), d && m.clear && delete m.clear;
+      }
+      return S[t] = b, r({
+        global: !0,
+        forced: b != x
+      }, S), h(b, t), d || e.setStrong(b, t, g), b;
+    };
+  }, function (t, n, e) {
+    var r = e(31),
+      o = e(14),
+      i = e(15),
+      a = e(19).f,
+      u = e(30),
+      c = e(121),
+      f = u("meta"),
+      s = 0,
+      l = Object.isExtensible || function () {
+        return !0;
+      },
+      p = function p(t) {
+        a(t, f, {
+          value: {
+            objectID: "O" + ++s,
+            weakData: {}
+          }
+        });
+      },
+      h = t.exports = {
+        REQUIRED: !1,
+        fastKey: function fastKey(t, n) {
+          if (!o(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t;
+          if (!i(t, f)) {
+            if (!l(t)) return "F";
+            if (!n) return "E";
+            p(t);
+          }
+          return t[f].objectID;
+        },
+        getWeakData: function getWeakData(t, n) {
+          if (!i(t, f)) {
+            if (!l(t)) return !0;
+            if (!n) return !1;
+            p(t);
+          }
+          return t[f].weakData;
+        },
+        onFreeze: function onFreeze(t) {
+          return c && h.REQUIRED && l(t) && !i(t, f) && p(t), t;
+        }
+      };
+    r[f] = !0;
+  }, function (t, n, e) {
+    var r = e(6);
+    t.exports = !r(function () {
+      return Object.isExtensible(Object.preventExtensions({}));
+    });
+  }, function (t, n, e) {
+    var r = e(20),
+      o = e(81),
+      i = e(39),
+      a = e(64),
+      u = e(83),
+      c = e(80),
+      f = function f(t, n) {
+        this.stopped = t, this.result = n;
+      };
+    (t.exports = function (t, n, e, s, l) {
+      var p,
+        h,
+        v,
+        g,
+        d,
+        y,
+        x,
+        m = a(n, e, s ? 2 : 1);
+      if (l) p = t;else {
+        if ("function" != typeof (h = u(t))) throw TypeError("Target is not iterable");
+        if (o(h)) {
+          for (v = 0, g = i(t.length); g > v; v++) if ((d = s ? m(r(x = t[v])[0], x[1]) : m(t[v])) && d instanceof f) return d;
+          return new f(!1);
+        }
+        p = h.call(t);
+      }
+      for (y = p.next; !(x = y.call(p)).done;) if ("object" == typeof (d = c(p, m, x.value, s)) && d && d instanceof f) return d;
+      return new f(!1);
+    }).stop = function (t) {
+      return new f(!0, t);
+    };
+  }, function (t, n) {
+    t.exports = function (t, n, e) {
+      if (!(t instanceof n)) throw TypeError("Incorrect " + (e ? e + " " : "") + "invocation");
+      return t;
+    };
+  }, function (t, n, e) {
+    var r = e(14),
+      o = e(96);
+    t.exports = function (t, n, e) {
+      var i, a;
+      return o && "function" == typeof (i = n.constructor) && i !== e && r(a = i.prototype) && a !== e.prototype && o(t, a), t;
+    };
+  }, function (t, n, e) {
+    var r = e(19).f,
+      o = e(58),
+      i = e(126),
+      a = e(64),
+      u = e(123),
+      c = e(122),
+      f = e(90),
+      s = e(109),
+      l = e(5),
+      p = e(120).fastKey,
+      h = e(25),
+      v = h.set,
+      g = h.getterFor;
+    t.exports = {
+      getConstructor: function getConstructor(t, n, e, f) {
+        var s = t(function (t, r) {
+            u(t, s, n), v(t, {
+              type: n,
+              index: o(null),
+              first: void 0,
+              last: void 0,
+              size: 0
+            }), l || (t.size = 0), null != r && c(r, t[f], t, e);
+          }),
+          h = g(n),
+          d = function d(t, n, e) {
+            var r,
+              o,
+              i = h(t),
+              a = y(t, n);
+            return a ? a.value = e : (i.last = a = {
+              index: o = p(n, !0),
+              key: n,
+              value: e,
+              previous: r = i.last,
+              next: void 0,
+              removed: !1
+            }, i.first || (i.first = a), r && (r.next = a), l ? i.size++ : t.size++, "F" !== o && (i.index[o] = a)), t;
+          },
+          y = function y(t, n) {
+            var e,
+              r = h(t),
+              o = p(n);
+            if ("F" !== o) return r.index[o];
+            for (e = r.first; e; e = e.next) if (e.key == n) return e;
+          };
+        return i(s.prototype, {
+          clear: function clear() {
+            for (var t = h(this), n = t.index, e = t.first; e;) e.removed = !0, e.previous && (e.previous = e.previous.next = void 0), delete n[e.index], e = e.next;
+            t.first = t.last = void 0, l ? t.size = 0 : this.size = 0;
+          },
+          delete: function _delete(t) {
+            var n = h(this),
+              e = y(this, t);
+            if (e) {
+              var r = e.next,
+                o = e.previous;
+              delete n.index[e.index], e.removed = !0, o && (o.next = r), r && (r.previous = o), n.first == e && (n.first = r), n.last == e && (n.last = o), l ? n.size-- : this.size--;
+            }
+            return !!e;
+          },
+          forEach: function forEach(t) {
+            for (var n, e = h(this), r = a(t, arguments.length > 1 ? arguments[1] : void 0, 3); n = n ? n.next : e.first;) for (r(n.value, n.key, this); n && n.removed;) n = n.previous;
+          },
+          has: function has(t) {
+            return !!y(this, t);
+          }
+        }), i(s.prototype, e ? {
+          get: function get(t) {
+            var n = y(this, t);
+            return n && n.value;
+          },
+          set: function set(t, n) {
+            return d(this, 0 === t ? 0 : t, n);
+          }
+        } : {
+          add: function add(t) {
+            return d(this, t = 0 === t ? 0 : t, t);
+          }
+        }), l && r(s.prototype, "size", {
+          get: function get() {
+            return h(this).size;
+          }
+        }), s;
+      },
+      setStrong: function setStrong(t, n, e) {
+        var r = n + " Iterator",
+          o = g(n),
+          i = g(r);
+        f(t, n, function (t, n) {
+          v(this, {
+            type: r,
+            target: t,
+            state: o(t),
+            kind: n,
+            last: void 0
+          });
+        }, function () {
+          for (var t = i(this), n = t.kind, e = t.last; e && e.removed;) e = e.previous;
+          return t.target && (t.last = e = e ? e.next : t.state.first) ? "keys" == n ? {
+            value: e.key,
+            done: !1
+          } : "values" == n ? {
+            value: e.value,
+            done: !1
+          } : {
+            value: [e.key, e.value],
+            done: !1
+          } : (t.target = void 0, {
+            value: void 0,
+            done: !0
+          });
+        }, e ? "entries" : "values", !e, !0), s(n);
+      }
+    };
+  }, function (t, n, e) {
+    var r = e(21);
+    t.exports = function (t, n, e) {
+      for (var o in n) r(t, o, n[o], e);
+      return t;
+    };
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(3),
+      i = e(44),
+      a = e(21),
+      u = e(15),
+      c = e(11),
+      f = e(124),
+      s = e(13),
+      l = e(6),
+      p = e(58),
+      h = e(36).f,
+      v = e(4).f,
+      g = e(19).f,
+      d = e(128).trim,
+      y = o.Number,
+      x = y.prototype,
+      m = "Number" == c(p(x)),
+      b = function b(t) {
+        var n,
+          e,
+          r,
+          o,
+          i,
+          a,
+          u,
+          c,
+          f = s(t, !1);
+        if ("string" == typeof f && f.length > 2) if (43 === (n = (f = d(f)).charCodeAt(0)) || 45 === n) {
+          if (88 === (e = f.charCodeAt(2)) || 120 === e) return NaN;
+        } else if (48 === n) {
+          switch (f.charCodeAt(1)) {
+            case 66:
+            case 98:
+              r = 2, o = 49;
+              break;
+            case 79:
+            case 111:
+              r = 8, o = 55;
+              break;
+            default:
+              return +f;
+          }
+          for (a = (i = f.slice(2)).length, u = 0; u < a; u++) if ((c = i.charCodeAt(u)) < 48 || c > o) return NaN;
+          return parseInt(i, r);
+        }
+        return +f;
+      };
+    if (i("Number", !y(" 0o1") || !y("0b1") || y("+0x1"))) {
+      for (var S, _E = function E(t) {
+          var n = arguments.length < 1 ? 0 : t,
+            e = this;
+          return e instanceof _E && (m ? l(function () {
+            x.valueOf.call(e);
+          }) : "Number" != c(e)) ? f(new y(b(n)), e, _E) : b(n);
+        }, w = r ? h(y) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), O = 0; w.length > O; O++) u(y, S = w[O]) && !u(_E, S) && g(_E, S, v(y, S));
+      _E.prototype = x, x.constructor = _E, a(o, "Number", _E);
+    }
+  }, function (t, n, e) {
+    var r = e(12),
+      o = "[" + e(129) + "]",
+      i = RegExp("^" + o + o + "*"),
+      a = RegExp(o + o + "*$"),
+      u = function u(t) {
+        return function (n) {
+          var e = String(r(n));
+          return 1 & t && (e = e.replace(i, "")), 2 & t && (e = e.replace(a, "")), e;
+        };
+      };
+    t.exports = {
+      start: u(1),
+      end: u(2),
+      trim: u(3)
+    };
+  }, function (t, n) {
+    t.exports = "\t\n\x0B\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF";
+  }, function (t, n, e) {
+    e(2)({
+      target: "Number",
+      stat: !0
+    }, {
+      EPSILON: Math.pow(2, -52)
+    });
+  }, function (t, n, e) {
+    e(2)({
+      target: "Number",
+      stat: !0
+    }, {
+      isFinite: e(132)
+    });
+  }, function (t, n, e) {
+    var r = e(3).isFinite;
+    t.exports = Number.isFinite || function (t) {
+      return "number" == typeof t && r(t);
+    };
+  }, function (t, n, e) {
+    e(2)({
+      target: "Number",
+      stat: !0
+    }, {
+      isInteger: e(134)
+    });
+  }, function (t, n, e) {
+    var r = e(14),
+      o = Math.floor;
+    t.exports = function (t) {
+      return !r(t) && isFinite(t) && o(t) === t;
+    };
+  }, function (t, n, e) {
+    e(2)({
+      target: "Number",
+      stat: !0
+    }, {
+      isNaN: function isNaN(t) {
+        return t != t;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(134),
+      i = Math.abs;
+    r({
+      target: "Number",
+      stat: !0
+    }, {
+      isSafeInteger: function isSafeInteger(t) {
+        return o(t) && i(t) <= 9007199254740991;
+      }
+    });
+  }, function (t, n, e) {
+    e(2)({
+      target: "Number",
+      stat: !0
+    }, {
+      MAX_SAFE_INTEGER: 9007199254740991
+    });
+  }, function (t, n, e) {
+    e(2)({
+      target: "Number",
+      stat: !0
+    }, {
+      MIN_SAFE_INTEGER: -9007199254740991
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(140);
+    r({
+      target: "Number",
+      stat: !0,
+      forced: Number.parseFloat != o
+    }, {
+      parseFloat: o
+    });
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(128).trim,
+      i = e(129),
+      a = r.parseFloat,
+      u = 1 / a(i + "-0") != -1 / 0;
+    t.exports = u ? function (t) {
+      var n = o(String(t)),
+        e = a(n);
+      return 0 === e && "-" == n.charAt(0) ? -0 : e;
+    } : a;
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(142);
+    r({
+      target: "Number",
+      stat: !0,
+      forced: Number.parseInt != o
+    }, {
+      parseInt: o
+    });
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(128).trim,
+      i = e(129),
+      a = r.parseInt,
+      u = /^[+-]?0[Xx]/,
+      c = 8 !== a(i + "08") || 22 !== a(i + "0x16");
+    t.exports = c ? function (t, n) {
+      var e = o(String(t));
+      return a(e, n >>> 0 || (u.test(e) ? 16 : 10));
+    } : a;
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(40),
+      i = e(144),
+      a = e(145),
+      u = e(6),
+      c = 1..toFixed,
+      f = Math.floor,
+      _s = function s(t, n, e) {
+        return 0 === n ? e : n % 2 == 1 ? _s(t, n - 1, e * t) : _s(t * t, n / 2, e);
+      };
+    r({
+      target: "Number",
+      proto: !0,
+      forced: c && ("0.000" !== 8e-5.toFixed(3) || "1" !== .9.toFixed(0) || "1.25" !== 1.255.toFixed(2) || "1000000000000000128" !== 0xde0b6b3a7640080.toFixed(0)) || !u(function () {
+        c.call({});
+      })
+    }, {
+      toFixed: function toFixed(t) {
+        var n,
+          e,
+          r,
+          u,
+          c = i(this),
+          l = o(t),
+          p = [0, 0, 0, 0, 0, 0],
+          h = "",
+          v = "0",
+          g = function g(t, n) {
+            for (var e = -1, r = n; ++e < 6;) r += t * p[e], p[e] = r % 1e7, r = f(r / 1e7);
+          },
+          d = function d(t) {
+            for (var n = 6, e = 0; --n >= 0;) e += p[n], p[n] = f(e / t), e = e % t * 1e7;
+          },
+          y = function y() {
+            for (var t = 6, n = ""; --t >= 0;) if ("" !== n || 0 === t || 0 !== p[t]) {
+              var e = String(p[t]);
+              n = "" === n ? e : n + a.call("0", 7 - e.length) + e;
+            }
+            return n;
+          };
+        if (l < 0 || l > 20) throw RangeError("Incorrect fraction digits");
+        if (c != c) return "NaN";
+        if (c <= -1e21 || c >= 1e21) return String(c);
+        if (c < 0 && (h = "-", c = -c), c > 1e-21) if (e = (n = function (t) {
+          for (var n = 0, e = t; e >= 4096;) n += 12, e /= 4096;
+          for (; e >= 2;) n += 1, e /= 2;
+          return n;
+        }(c * _s(2, 69, 1)) - 69) < 0 ? c * _s(2, -n, 1) : c / _s(2, n, 1), e *= 4503599627370496, (n = 52 - n) > 0) {
+          for (g(0, e), r = l; r >= 7;) g(1e7, 0), r -= 7;
+          for (g(_s(10, r, 1), 0), r = n - 1; r >= 23;) d(1 << 23), r -= 23;
+          d(1 << r), g(1, 1), d(2), v = y();
+        } else g(0, e), g(1 << -n, 0), v = y() + a.call("0", l);
+        return v = l > 0 ? h + ((u = v.length) <= l ? "0." + a.call("0", l - u) + v : v.slice(0, u - l) + "." + v.slice(u - l)) : h + v;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(11);
+    t.exports = function (t) {
+      if ("number" != typeof t && "Number" != r(t)) throw TypeError("Incorrect invocation");
+      return +t;
+    };
+  }, function (t, n, e) {
+    var r = e(40),
+      o = e(12);
+    t.exports = "".repeat || function (t) {
+      var n = String(o(this)),
+        e = "",
+        i = r(t);
+      if (i < 0 || i == 1 / 0) throw RangeError("Wrong number of repetitions");
+      for (; i > 0; (i >>>= 1) && (n += n)) 1 & i && (e += n);
+      return e;
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(147);
+    r({
+      target: "Object",
+      stat: !0,
+      forced: Object.assign !== o
+    }, {
+      assign: o
+    });
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(6),
+      i = e(60),
+      a = e(43),
+      u = e(7),
+      c = e(46),
+      f = e(10),
+      s = Object.assign,
+      l = Object.defineProperty;
+    t.exports = !s || o(function () {
+      if (r && 1 !== s({
+        b: 1
+      }, s(l({}, "a", {
+        enumerable: !0,
+        get: function get() {
+          l(this, "b", {
+            value: 3,
+            enumerable: !1
+          });
+        }
+      }), {
+        b: 2
+      })).b) return !0;
+      var t = {},
+        n = {},
+        e = Symbol();
+      return t[e] = 7, "abcdefghijklmnopqrst".split("").forEach(function (t) {
+        n[t] = t;
+      }), 7 != s({}, t)[e] || "abcdefghijklmnopqrst" != i(s({}, n)).join("");
+    }) ? function (t, n) {
+      for (var e = c(t), o = arguments.length, s = 1, l = a.f, p = u.f; o > s;) for (var h, v = f(arguments[s++]), g = l ? i(v).concat(l(v)) : i(v), d = g.length, y = 0; d > y;) h = g[y++], r && !p.call(v, h) || (e[h] = v[h]);
+      return e;
+    } : s;
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(5),
+      i = e(149),
+      a = e(46),
+      u = e(65),
+      c = e(19);
+    o && r({
+      target: "Object",
+      proto: !0,
+      forced: i
+    }, {
+      __defineGetter__: function __defineGetter__(t, n) {
+        c.f(a(this), t, {
+          get: u(n),
+          enumerable: !0,
+          configurable: !0
+        });
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(29),
+      o = e(3),
+      i = e(6);
+    t.exports = r || !i(function () {
+      var t = Math.random();
+      __defineSetter__.call(null, t, function () {}), delete o[t];
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(5),
+      i = e(149),
+      a = e(46),
+      u = e(65),
+      c = e(19);
+    o && r({
+      target: "Object",
+      proto: !0,
+      forced: i
+    }, {
+      __defineSetter__: function __defineSetter__(t, n) {
+        c.f(a(this), t, {
+          set: u(n),
+          enumerable: !0,
+          configurable: !0
+        });
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(152).entries;
+    r({
+      target: "Object",
+      stat: !0
+    }, {
+      entries: function entries(t) {
+        return o(t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(60),
+      i = e(9),
+      a = e(7).f,
+      u = function u(t) {
+        return function (n) {
+          for (var e, u = i(n), c = o(u), f = c.length, s = 0, l = []; f > s;) e = c[s++], r && !a.call(u, e) || l.push(t ? [e, u[e]] : u[e]);
+          return l;
+        };
+      };
+    t.exports = {
+      entries: u(!0),
+      values: u(!1)
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(121),
+      i = e(6),
+      a = e(14),
+      u = e(120).onFreeze,
+      c = Object.freeze;
+    r({
+      target: "Object",
+      stat: !0,
+      forced: i(function () {
+        c(1);
+      }),
+      sham: !o
+    }, {
+      freeze: function freeze(t) {
+        return c && a(t) ? c(u(t)) : t;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(122),
+      i = e(47);
+    r({
+      target: "Object",
+      stat: !0
+    }, {
+      fromEntries: function fromEntries(t) {
+        var n = {};
+        return o(t, function (t, e) {
+          i(n, t, e);
+        }, void 0, !0), n;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(6),
+      i = e(9),
+      a = e(4).f,
+      u = e(5),
+      c = o(function () {
+        a(1);
+      });
+    r({
+      target: "Object",
+      stat: !0,
+      forced: !u || c,
+      sham: !u
+    }, {
+      getOwnPropertyDescriptor: function getOwnPropertyDescriptor(t, n) {
+        return a(i(t), n);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(5),
+      i = e(33),
+      a = e(9),
+      u = e(4),
+      c = e(47);
+    r({
+      target: "Object",
+      stat: !0,
+      sham: !o
+    }, {
+      getOwnPropertyDescriptors: function getOwnPropertyDescriptors(t) {
+        for (var n, e, r = a(t), o = u.f, f = i(r), s = {}, l = 0; f.length > l;) void 0 !== (e = o(r, n = f[l++])) && c(s, n, e);
+        return s;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(6),
+      i = e(158).f;
+    r({
+      target: "Object",
+      stat: !0,
+      forced: o(function () {
+        return !Object.getOwnPropertyNames(1);
+      })
+    }, {
+      getOwnPropertyNames: i
+    });
+  }, function (t, n, e) {
+    var r = e(9),
+      o = e(36).f,
+      i = {}.toString,
+      a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
+    t.exports.f = function (t) {
+      return a && "[object Window]" == i.call(t) ? function (t) {
+        try {
+          return o(t);
+        } catch (t) {
+          return a.slice();
+        }
+      }(t) : o(r(t));
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(6),
+      i = e(46),
+      a = e(93),
+      u = e(94);
+    r({
+      target: "Object",
+      stat: !0,
+      forced: o(function () {
+        a(1);
+      }),
+      sham: !u
+    }, {
+      getPrototypeOf: function getPrototypeOf(t) {
+        return a(i(t));
+      }
+    });
+  }, function (t, n, e) {
+    e(2)({
+      target: "Object",
+      stat: !0
+    }, {
+      is: e(161)
+    });
+  }, function (t, n) {
+    t.exports = Object.is || function (t, n) {
+      return t === n ? 0 !== t || 1 / t == 1 / n : t != t && n != n;
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(6),
+      i = e(14),
+      a = Object.isExtensible;
+    r({
+      target: "Object",
+      stat: !0,
+      forced: o(function () {
+        a(1);
+      })
+    }, {
+      isExtensible: function isExtensible(t) {
+        return !!i(t) && (!a || a(t));
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(6),
+      i = e(14),
+      a = Object.isFrozen;
+    r({
+      target: "Object",
+      stat: !0,
+      forced: o(function () {
+        a(1);
+      })
+    }, {
+      isFrozen: function isFrozen(t) {
+        return !i(t) || !!a && a(t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(6),
+      i = e(14),
+      a = Object.isSealed;
+    r({
+      target: "Object",
+      stat: !0,
+      forced: o(function () {
+        a(1);
+      })
+    }, {
+      isSealed: function isSealed(t) {
+        return !i(t) || !!a && a(t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(46),
+      i = e(60);
+    r({
+      target: "Object",
+      stat: !0,
+      forced: e(6)(function () {
+        i(1);
+      })
+    }, {
+      keys: function keys(t) {
+        return i(o(t));
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(5),
+      i = e(149),
+      a = e(46),
+      u = e(13),
+      c = e(93),
+      f = e(4).f;
+    o && r({
+      target: "Object",
+      proto: !0,
+      forced: i
+    }, {
+      __lookupGetter__: function __lookupGetter__(t) {
+        var n,
+          e = a(this),
+          r = u(t, !0);
+        do {
+          if (n = f(e, r)) return n.get;
+        } while (e = c(e));
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(5),
+      i = e(149),
+      a = e(46),
+      u = e(13),
+      c = e(93),
+      f = e(4).f;
+    o && r({
+      target: "Object",
+      proto: !0,
+      forced: i
+    }, {
+      __lookupSetter__: function __lookupSetter__(t) {
+        var n,
+          e = a(this),
+          r = u(t, !0);
+        do {
+          if (n = f(e, r)) return n.set;
+        } while (e = c(e));
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(14),
+      i = e(120).onFreeze,
+      a = e(121),
+      u = e(6),
+      c = Object.preventExtensions;
+    r({
+      target: "Object",
+      stat: !0,
+      forced: u(function () {
+        c(1);
+      }),
+      sham: !a
+    }, {
+      preventExtensions: function preventExtensions(t) {
+        return c && o(t) ? c(i(t)) : t;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(14),
+      i = e(120).onFreeze,
+      a = e(121),
+      u = e(6),
+      c = Object.seal;
+    r({
+      target: "Object",
+      stat: !0,
+      forced: u(function () {
+        c(1);
+      }),
+      sham: !a
+    }, {
+      seal: function seal(t) {
+        return c && o(t) ? c(i(t)) : t;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(85),
+      o = e(21),
+      i = e(171);
+    r || o(Object.prototype, "toString", i, {
+      unsafe: !0
+    });
+  }, function (t, n, e) {
+    var r = e(85),
+      o = e(84);
+    t.exports = r ? {}.toString : function () {
+      return "[object " + o(this) + "]";
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(152).values;
+    r({
+      target: "Object",
+      stat: !0
+    }, {
+      values: function values(t) {
+        return o(t);
+      }
+    });
+  }, function (t, n, e) {
+    var r,
+      o,
+      i,
+      a,
+      u = e(2),
+      c = e(29),
+      f = e(3),
+      s = e(34),
+      l = e(174),
+      p = e(21),
+      h = e(126),
+      v = e(95),
+      g = e(109),
+      d = e(14),
+      y = e(65),
+      x = e(123),
+      m = e(11),
+      b = e(23),
+      S = e(122),
+      E = e(86),
+      w = e(175),
+      O = e(176).set,
+      R = e(178),
+      A = e(179),
+      j = e(181),
+      I = e(180),
+      k = e(182),
+      P = e(25),
+      L = e(44),
+      T = e(49),
+      _ = e(53),
+      U = T("species"),
+      N = "Promise",
+      C = P.get,
+      F = P.set,
+      M = P.getterFor(N),
+      _z = l,
+      D = f.TypeError,
+      q = f.document,
+      B = f.process,
+      W = s("fetch"),
+      $ = I.f,
+      G = $,
+      V = "process" == m(B),
+      X = !!(q && q.createEvent && f.dispatchEvent),
+      Y = L(N, function () {
+        if (!(b(_z) !== String(_z))) {
+          if (66 === _) return !0;
+          if (!V && "function" != typeof PromiseRejectionEvent) return !0;
+        }
+        if (c && !_z.prototype.finally) return !0;
+        if (_ >= 51 && /native code/.test(_z)) return !1;
+        var t = _z.resolve(1),
+          n = function n(t) {
+            t(function () {}, function () {});
+          };
+        return (t.constructor = {})[U] = n, !(t.then(function () {}) instanceof n);
+      }),
+      K = Y || !E(function (t) {
+        _z.all(t).catch(function () {});
+      }),
+      J = function J(t) {
+        var n;
+        return !(!d(t) || "function" != typeof (n = t.then)) && n;
+      },
+      H = function H(t, n, e) {
+        if (!n.notified) {
+          n.notified = !0;
+          var r = n.reactions;
+          R(function () {
+            for (var o = n.value, i = 1 == n.state, a = 0; r.length > a;) {
+              var u,
+                c,
+                f,
+                s = r[a++],
+                l = i ? s.ok : s.fail,
+                p = s.resolve,
+                h = s.reject,
+                v = s.domain;
+              try {
+                l ? (i || (2 === n.rejection && nt(t, n), n.rejection = 1), !0 === l ? u = o : (v && v.enter(), u = l(o), v && (v.exit(), f = !0)), u === s.promise ? h(D("Promise-chain cycle")) : (c = J(u)) ? c.call(u, p, h) : p(u)) : h(o);
+              } catch (t) {
+                v && !f && v.exit(), h(t);
+              }
+            }
+            n.reactions = [], n.notified = !1, e && !n.rejection && Z(t, n);
+          });
+        }
+      },
+      Q = function Q(t, n, e) {
+        var r, o;
+        X ? ((r = q.createEvent("Event")).promise = n, r.reason = e, r.initEvent(t, !1, !0), f.dispatchEvent(r)) : r = {
+          promise: n,
+          reason: e
+        }, (o = f["on" + t]) ? o(r) : "unhandledrejection" === t && j("Unhandled promise rejection", e);
+      },
+      Z = function Z(t, n) {
+        O.call(f, function () {
+          var e,
+            r = n.value;
+          if (tt(n) && (e = k(function () {
+            V ? B.emit("unhandledRejection", r, t) : Q("unhandledrejection", t, r);
+          }), n.rejection = V || tt(n) ? 2 : 1, e.error)) throw e.value;
+        });
+      },
+      tt = function tt(t) {
+        return 1 !== t.rejection && !t.parent;
+      },
+      nt = function nt(t, n) {
+        O.call(f, function () {
+          V ? B.emit("rejectionHandled", t) : Q("rejectionhandled", t, n.value);
+        });
+      },
+      et = function et(t, n, e, r) {
+        return function (o) {
+          t(n, e, o, r);
+        };
+      },
+      rt = function rt(t, n, e, r) {
+        n.done || (n.done = !0, r && (n = r), n.value = e, n.state = 2, H(t, n, !0));
+      },
+      _ot = function ot(t, n, e, r) {
+        if (!n.done) {
+          n.done = !0, r && (n = r);
+          try {
+            if (t === e) throw D("Promise can't be resolved itself");
+            var o = J(e);
+            o ? R(function () {
+              var r = {
+                done: !1
+              };
+              try {
+                o.call(e, et(_ot, t, r, n), et(rt, t, r, n));
+              } catch (e) {
+                rt(t, r, e, n);
+              }
+            }) : (n.value = e, n.state = 1, H(t, n, !1));
+          } catch (e) {
+            rt(t, {
+              done: !1
+            }, e, n);
+          }
+        }
+      };
+    Y && (_z = function z(t) {
+      x(this, _z, N), y(t), r.call(this);
+      var n = C(this);
+      try {
+        t(et(_ot, this, n), et(rt, this, n));
+      } catch (t) {
+        rt(this, n, t);
+      }
+    }, (r = function r(t) {
+      F(this, {
+        type: N,
+        done: !1,
+        notified: !1,
+        parent: !1,
+        reactions: [],
+        rejection: !1,
+        state: 0,
+        value: void 0
+      });
+    }).prototype = h(_z.prototype, {
+      then: function then(t, n) {
+        var e = M(this),
+          r = $(w(this, _z));
+        return r.ok = "function" != typeof t || t, r.fail = "function" == typeof n && n, r.domain = V ? B.domain : void 0, e.parent = !0, e.reactions.push(r), 0 != e.state && H(this, e, !1), r.promise;
+      },
+      catch: function _catch(t) {
+        return this.then(void 0, t);
+      }
+    }), o = function o() {
+      var t = new r(),
+        n = C(t);
+      this.promise = t, this.resolve = et(_ot, t, n), this.reject = et(rt, t, n);
+    }, I.f = $ = function $(t) {
+      return t === _z || t === i ? new o(t) : G(t);
+    }, c || "function" != typeof l || (a = l.prototype.then, p(l.prototype, "then", function (t, n) {
+      var e = this;
+      return new _z(function (t, n) {
+        a.call(e, t, n);
+      }).then(t, n);
+    }, {
+      unsafe: !0
+    }), "function" == typeof W && u({
+      global: !0,
+      enumerable: !0,
+      forced: !0
+    }, {
+      fetch: function fetch(t) {
+        return A(_z, W.apply(f, arguments));
+      }
+    }))), u({
+      global: !0,
+      wrap: !0,
+      forced: Y
+    }, {
+      Promise: _z
+    }), v(_z, N, !1, !0), g(N), i = s(N), u({
+      target: N,
+      stat: !0,
+      forced: Y
+    }, {
+      reject: function reject(t) {
+        var n = $(this);
+        return n.reject.call(void 0, t), n.promise;
+      }
+    }), u({
+      target: N,
+      stat: !0,
+      forced: c || Y
+    }, {
+      resolve: function resolve(t) {
+        return A(c && this === i ? _z : this, t);
+      }
+    }), u({
+      target: N,
+      stat: !0,
+      forced: K
+    }, {
+      all: function all(t) {
+        var n = this,
+          e = $(n),
+          r = e.resolve,
+          o = e.reject,
+          i = k(function () {
+            var e = y(n.resolve),
+              i = [],
+              a = 0,
+              u = 1;
+            S(t, function (t) {
+              var c = a++,
+                f = !1;
+              i.push(void 0), u++, e.call(n, t).then(function (t) {
+                f || (f = !0, i[c] = t, --u || r(i));
+              }, o);
+            }), --u || r(i);
+          });
+        return i.error && o(i.value), e.promise;
+      },
+      race: function race(t) {
+        var n = this,
+          e = $(n),
+          r = e.reject,
+          o = k(function () {
+            var o = y(n.resolve);
+            S(t, function (t) {
+              o.call(n, t).then(e.resolve, r);
+            });
+          });
+        return o.error && r(o.value), e.promise;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(3);
+    t.exports = r.Promise;
+  }, function (t, n, e) {
+    var r = e(20),
+      o = e(65),
+      i = e(49)("species");
+    t.exports = function (t, n) {
+      var e,
+        a = r(t).constructor;
+      return void 0 === a || null == (e = r(a)[i]) ? n : o(e);
+    };
+  }, function (t, n, e) {
+    var r,
+      o,
+      i,
+      a = e(3),
+      u = e(6),
+      c = e(11),
+      f = e(64),
+      s = e(61),
+      l = e(17),
+      p = e(177),
+      h = a.location,
+      v = a.setImmediate,
+      g = a.clearImmediate,
+      d = a.process,
+      y = a.MessageChannel,
+      x = a.Dispatch,
+      m = 0,
+      b = {},
+      S = function S(t) {
+        if (b.hasOwnProperty(t)) {
+          var n = b[t];
+          delete b[t], n();
+        }
+      },
+      E = function E(t) {
+        return function () {
+          S(t);
+        };
+      },
+      w = function w(t) {
+        S(t.data);
+      },
+      O = function O(t) {
+        a.postMessage(t + "", h.protocol + "//" + h.host);
+      };
+    v && g || (v = function v(t) {
+      for (var n = [], e = 1; arguments.length > e;) n.push(arguments[e++]);
+      return b[++m] = function () {
+        ("function" == typeof t ? t : Function(t)).apply(void 0, n);
+      }, r(m), m;
+    }, g = function g(t) {
+      delete b[t];
+    }, "process" == c(d) ? r = function r(t) {
+      d.nextTick(E(t));
+    } : x && x.now ? r = function r(t) {
+      x.now(E(t));
+    } : y && !p ? (i = (o = new y()).port2, o.port1.onmessage = w, r = f(i.postMessage, i, 1)) : !a.addEventListener || "function" != typeof postMessage || a.importScripts || u(O) || "file:" === h.protocol ? r = "onreadystatechange" in l("script") ? function (t) {
+      s.appendChild(l("script")).onreadystatechange = function () {
+        s.removeChild(this), S(t);
+      };
+    } : function (t) {
+      setTimeout(E(t), 0);
+    } : (r = O, a.addEventListener("message", w, !1))), t.exports = {
+      set: v,
+      clear: g
+    };
+  }, function (t, n, e) {
+    var r = e(54);
+    t.exports = /(iphone|ipod|ipad).*applewebkit/i.test(r);
+  }, function (t, n, e) {
+    var r,
+      o,
+      i,
+      a,
+      u,
+      c,
+      f,
+      s,
+      l = e(3),
+      p = e(4).f,
+      h = e(11),
+      v = e(176).set,
+      g = e(177),
+      d = l.MutationObserver || l.WebKitMutationObserver,
+      y = l.process,
+      x = l.Promise,
+      m = "process" == h(y),
+      b = p(l, "queueMicrotask"),
+      S = b && b.value;
+    S || (r = function r() {
+      var t, n;
+      for (m && (t = y.domain) && t.exit(); o;) {
+        n = o.fn, o = o.next;
+        try {
+          n();
+        } catch (t) {
+          throw o ? a() : i = void 0, t;
+        }
+      }
+      i = void 0, t && t.enter();
+    }, m ? a = function a() {
+      y.nextTick(r);
+    } : d && !g ? (u = !0, c = document.createTextNode(""), new d(r).observe(c, {
+      characterData: !0
+    }), a = function a() {
+      c.data = u = !u;
+    }) : x && x.resolve ? (f = x.resolve(void 0), s = f.then, a = function a() {
+      s.call(f, r);
+    }) : a = function a() {
+      v.call(l, r);
+    }), t.exports = S || function (t) {
+      var n = {
+        fn: t,
+        next: void 0
+      };
+      i && (i.next = n), o || (o = n, a()), i = n;
+    };
+  }, function (t, n, e) {
+    var r = e(20),
+      o = e(14),
+      i = e(180);
+    t.exports = function (t, n) {
+      if (r(t), o(n) && n.constructor === t) return n;
+      var e = i.f(t);
+      return (0, e.resolve)(n), e.promise;
+    };
+  }, function (t, n, e) {
+    var r = e(65),
+      o = function o(t) {
+        var n, e;
+        this.promise = new t(function (t, r) {
+          if (void 0 !== n || void 0 !== e) throw TypeError("Bad Promise constructor");
+          n = t, e = r;
+        }), this.resolve = r(n), this.reject = r(e);
+      };
+    t.exports.f = function (t) {
+      return new o(t);
+    };
+  }, function (t, n, e) {
+    var r = e(3);
+    t.exports = function (t, n) {
+      var e = r.console;
+      e && e.error && (1 === arguments.length ? e.error(t) : e.error(t, n));
+    };
+  }, function (t, n) {
+    t.exports = function (t) {
+      try {
+        return {
+          error: !1,
+          value: t()
+        };
+      } catch (t) {
+        return {
+          error: !0,
+          value: t
+        };
+      }
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(65),
+      i = e(180),
+      a = e(182),
+      u = e(122);
+    r({
+      target: "Promise",
+      stat: !0
+    }, {
+      allSettled: function allSettled(t) {
+        var n = this,
+          e = i.f(n),
+          r = e.resolve,
+          c = e.reject,
+          f = a(function () {
+            var e = o(n.resolve),
+              i = [],
+              a = 0,
+              c = 1;
+            u(t, function (t) {
+              var o = a++,
+                u = !1;
+              i.push(void 0), c++, e.call(n, t).then(function (t) {
+                u || (u = !0, i[o] = {
+                  status: "fulfilled",
+                  value: t
+                }, --c || r(i));
+              }, function (t) {
+                u || (u = !0, i[o] = {
+                  status: "rejected",
+                  reason: t
+                }, --c || r(i));
+              });
+            }), --c || r(i);
+          });
+        return f.error && c(f.value), e.promise;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(29),
+      i = e(174),
+      a = e(6),
+      u = e(34),
+      c = e(175),
+      f = e(179),
+      s = e(21);
+    r({
+      target: "Promise",
+      proto: !0,
+      real: !0,
+      forced: !!i && a(function () {
+        i.prototype.finally.call({
+          then: function then() {}
+        }, function () {});
+      })
+    }, {
+      finally: function _finally(t) {
+        var n = c(this, u("Promise")),
+          e = "function" == typeof t;
+        return this.then(e ? function (e) {
+          return f(n, t()).then(function () {
+            return e;
+          });
+        } : t, e ? function (e) {
+          return f(n, t()).then(function () {
+            throw e;
+          });
+        } : t);
+      }
+    }), o || "function" != typeof i || i.prototype.finally || s(i.prototype, "finally", u("Promise").prototype.finally);
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(3),
+      i = e(44),
+      a = e(124),
+      u = e(19).f,
+      c = e(36).f,
+      f = e(186),
+      s = e(187),
+      l = e(188),
+      p = e(21),
+      h = e(6),
+      v = e(25).set,
+      g = e(109),
+      d = e(49)("match"),
+      y = o.RegExp,
+      x = y.prototype,
+      m = /a/g,
+      b = /a/g,
+      S = new y(m) !== m,
+      E = l.UNSUPPORTED_Y;
+    if (r && i("RegExp", !S || E || h(function () {
+      return b[d] = !1, y(m) != m || y(b) == b || "/a/i" != y(m, "i");
+    }))) {
+      for (var _w = function w(t, n) {
+          var e,
+            r = this instanceof _w,
+            o = f(t),
+            i = void 0 === n;
+          if (!r && o && t.constructor === _w && i) return t;
+          S ? o && !i && (t = t.source) : t instanceof _w && (i && (n = s.call(t)), t = t.source), E && (e = !!n && n.indexOf("y") > -1) && (n = n.replace(/y/g, ""));
+          var u = a(S ? new y(t, n) : y(t, n), r ? this : x, _w);
+          return E && e && v(u, {
+            sticky: e
+          }), u;
+        }, O = function O(t) {
+          t in _w || u(_w, t, {
+            configurable: !0,
+            get: function get() {
+              return y[t];
+            },
+            set: function set(n) {
+              y[t] = n;
+            }
+          });
+        }, R = c(y), A = 0; R.length > A;) O(R[A++]);
+      x.constructor = _w, _w.prototype = x, p(o, "RegExp", _w);
+    }
+    g("RegExp");
+  }, function (t, n, e) {
+    var r = e(14),
+      o = e(11),
+      i = e(49)("match");
+    t.exports = function (t) {
+      var n;
+      return r(t) && (void 0 !== (n = t[i]) ? !!n : "RegExp" == o(t));
+    };
+  }, function (t, n, e) {
+    var r = e(20);
+    t.exports = function () {
+      var t = r(this),
+        n = "";
+      return t.global && (n += "g"), t.ignoreCase && (n += "i"), t.multiline && (n += "m"), t.dotAll && (n += "s"), t.unicode && (n += "u"), t.sticky && (n += "y"), n;
+    };
+  }, function (t, n, e) {
+    var r = e(6);
+    function o(t, n) {
+      return RegExp(t, n);
+    }
+    n.UNSUPPORTED_Y = r(function () {
+      var t = o("a", "y");
+      return t.lastIndex = 2, null != t.exec("abcd");
+    }), n.BROKEN_CARET = r(function () {
+      var t = o("^r", "gy");
+      return t.lastIndex = 2, null != t.exec("str");
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(190);
+    r({
+      target: "RegExp",
+      proto: !0,
+      forced: /./.exec !== o
+    }, {
+      exec: o
+    });
+  }, function (t, n, e) {
+    var r,
+      o,
+      i = e(187),
+      a = e(188),
+      u = RegExp.prototype.exec,
+      c = String.prototype.replace,
+      f = u,
+      s = (r = /a/, o = /b*/g, u.call(r, "a"), u.call(o, "a"), 0 !== r.lastIndex || 0 !== o.lastIndex),
+      l = a.UNSUPPORTED_Y || a.BROKEN_CARET,
+      p = void 0 !== /()??/.exec("")[1];
+    (s || p || l) && (f = function f(t) {
+      var n,
+        e,
+        r,
+        o,
+        a = this,
+        f = l && a.sticky,
+        h = i.call(a),
+        v = a.source,
+        g = 0,
+        d = t;
+      return f && (-1 === (h = h.replace("y", "")).indexOf("g") && (h += "g"), d = String(t).slice(a.lastIndex), a.lastIndex > 0 && (!a.multiline || a.multiline && "\n" !== t[a.lastIndex - 1]) && (v = "(?: " + v + ")", d = " " + d, g++), e = new RegExp("^(?:" + v + ")", h)), p && (e = new RegExp("^" + v + "$(?!\\s)", h)), s && (n = a.lastIndex), r = u.call(f ? e : a, d), f ? r ? (r.input = r.input.slice(g), r[0] = r[0].slice(g), r.index = a.lastIndex, a.lastIndex += r[0].length) : a.lastIndex = 0 : s && r && (a.lastIndex = a.global ? r.index + r[0].length : n), p && r && r.length > 1 && c.call(r[0], e, function () {
+        for (o = 1; o < arguments.length - 2; o++) void 0 === arguments[o] && (r[o] = void 0);
+      }), r;
+    }), t.exports = f;
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(19),
+      i = e(187),
+      a = e(188).UNSUPPORTED_Y;
+    r && ("g" != /./g.flags || a) && o.f(RegExp.prototype, "flags", {
+      configurable: !0,
+      get: i
+    });
+  }, function (t, n, e) {
+    var r = e(5),
+      o = e(188).UNSUPPORTED_Y,
+      i = e(19).f,
+      a = e(25).get,
+      u = RegExp.prototype;
+    r && o && i(RegExp.prototype, "sticky", {
+      configurable: !0,
+      get: function get() {
+        if (this !== u) {
+          if (this instanceof RegExp) return !!a(this).sticky;
+          throw TypeError("Incompatible receiver, RegExp required");
+        }
+      }
+    });
+  }, function (t, n, e) {
+    e(189);
+    var r,
+      o,
+      i = e(2),
+      a = e(14),
+      u = (r = !1, (o = /[ac]/).exec = function () {
+        return r = !0, /./.exec.apply(this, arguments);
+      }, !0 === o.test("abc") && r),
+      c = /./.test;
+    i({
+      target: "RegExp",
+      proto: !0,
+      forced: !u
+    }, {
+      test: function test(t) {
+        if ("function" != typeof this.exec) return c.call(this, t);
+        var n = this.exec(t);
+        if (null !== n && !a(n)) throw new Error("RegExp exec method returned something other than an Object or null");
+        return !!n;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(21),
+      o = e(20),
+      i = e(6),
+      a = e(187),
+      u = RegExp.prototype,
+      c = u.toString,
+      f = i(function () {
+        return "/a/b" != c.call({
+          source: "a",
+          flags: "b"
+        });
+      }),
+      s = "toString" != c.name;
+    (f || s) && r(RegExp.prototype, "toString", function () {
+      var t = o(this),
+        n = String(t.source),
+        e = t.flags;
+      return "/" + n + "/" + String(void 0 === e && t instanceof RegExp && !("flags" in u) ? a.call(t) : e);
+    }, {
+      unsafe: !0
+    });
+  }, function (t, n, e) {
+    var r = e(119),
+      o = e(125);
+    t.exports = r("Set", function (t) {
+      return function () {
+        return t(this, arguments.length ? arguments[0] : void 0);
+      };
+    }, o);
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(197).codeAt;
+    r({
+      target: "String",
+      proto: !0
+    }, {
+      codePointAt: function codePointAt(t) {
+        return o(this, t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(40),
+      o = e(12),
+      i = function i(t) {
+        return function (n, e) {
+          var i,
+            a,
+            u = String(o(n)),
+            c = r(e),
+            f = u.length;
+          return c < 0 || c >= f ? t ? "" : void 0 : (i = u.charCodeAt(c)) < 55296 || i > 56319 || c + 1 === f || (a = u.charCodeAt(c + 1)) < 56320 || a > 57343 ? t ? u.charAt(c) : i : t ? u.slice(c, c + 2) : a - 56320 + (i - 55296 << 10) + 65536;
+        };
+      };
+    t.exports = {
+      codeAt: i(!1),
+      charAt: i(!0)
+    };
+  }, function (t, n, e) {
+    var r,
+      o = e(2),
+      i = e(4).f,
+      a = e(39),
+      u = e(199),
+      c = e(12),
+      f = e(200),
+      s = e(29),
+      l = "".endsWith,
+      p = Math.min,
+      h = f("endsWith");
+    o({
+      target: "String",
+      proto: !0,
+      forced: !!(s || h || (r = i(String.prototype, "endsWith"), !r || r.writable)) && !h
+    }, {
+      endsWith: function endsWith(t) {
+        var n = String(c(this));
+        u(t);
+        var e = arguments.length > 1 ? arguments[1] : void 0,
+          r = a(n.length),
+          o = void 0 === e ? r : p(a(e), r),
+          i = String(t);
+        return l ? l.call(n, i, o) : n.slice(o - i.length, o) === i;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(186);
+    t.exports = function (t) {
+      if (r(t)) throw TypeError("The method doesn't accept regular expressions");
+      return t;
+    };
+  }, function (t, n, e) {
+    var r = e(49)("match");
+    t.exports = function (t) {
+      var n = /./;
+      try {
+        "/./"[t](n);
+      } catch (e) {
+        try {
+          return n[r] = !1, "/./"[t](n);
+        } catch (t) {}
+      }
+      return !1;
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(41),
+      i = String.fromCharCode,
+      a = String.fromCodePoint;
+    r({
+      target: "String",
+      stat: !0,
+      forced: !!a && 1 != a.length
+    }, {
+      fromCodePoint: function fromCodePoint(t) {
+        for (var n, e = [], r = arguments.length, a = 0; r > a;) {
+          if (n = +arguments[a++], o(n, 1114111) !== n) throw RangeError(n + " is not a valid code point");
+          e.push(n < 65536 ? i(n) : i(55296 + ((n -= 65536) >> 10), n % 1024 + 56320));
+        }
+        return e.join("");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(199),
+      i = e(12);
+    r({
+      target: "String",
+      proto: !0,
+      forced: !e(200)("includes")
+    }, {
+      includes: function includes(t) {
+        return !!~String(i(this)).indexOf(o(t), arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(197).charAt,
+      o = e(25),
+      i = e(90),
+      a = o.set,
+      u = o.getterFor("String Iterator");
+    i(String, "String", function (t) {
+      a(this, {
+        type: "String Iterator",
+        string: String(t),
+        index: 0
+      });
+    }, function () {
+      var t,
+        n = u(this),
+        e = n.string,
+        o = n.index;
+      return o >= e.length ? {
+        value: void 0,
+        done: !0
+      } : (t = r(e, o), n.index += t.length, {
+        value: t,
+        done: !1
+      });
+    });
+  }, function (t, n, e) {
+    var r = e(205),
+      o = e(20),
+      i = e(39),
+      a = e(12),
+      u = e(206),
+      c = e(207);
+    r("match", 1, function (t, n, e) {
+      return [function (n) {
+        var e = a(this),
+          r = null == n ? void 0 : n[t];
+        return void 0 !== r ? r.call(n, e) : new RegExp(n)[t](String(e));
+      }, function (t) {
+        var r = e(n, t, this);
+        if (r.done) return r.value;
+        var a = o(t),
+          f = String(this);
+        if (!a.global) return c(a, f);
+        var s = a.unicode;
+        a.lastIndex = 0;
+        for (var l, p = [], h = 0; null !== (l = c(a, f));) {
+          var v = String(l[0]);
+          p[h] = v, "" === v && (a.lastIndex = u(f, i(a.lastIndex), s)), h++;
+        }
+        return 0 === h ? null : p;
+      }];
+    });
+  }, function (t, n, e) {
+    e(189);
+    var r = e(21),
+      o = e(6),
+      i = e(49),
+      a = e(190),
+      u = e(18),
+      c = i("species"),
+      f = !o(function () {
+        var t = /./;
+        return t.exec = function () {
+          var t = [];
+          return t.groups = {
+            a: "7"
+          }, t;
+        }, "7" !== "".replace(t, "$<a>");
+      }),
+      s = "$0" === "a".replace(/./, "$0"),
+      l = i("replace"),
+      p = !!/./[l] && "" === /./[l]("a", "$0"),
+      h = !o(function () {
+        var t = /(?:)/,
+          n = t.exec;
+        t.exec = function () {
+          return n.apply(this, arguments);
+        };
+        var e = "ab".split(t);
+        return 2 !== e.length || "a" !== e[0] || "b" !== e[1];
+      });
+    t.exports = function (t, n, e, l) {
+      var v = i(t),
+        g = !o(function () {
+          var n = {};
+          return n[v] = function () {
+            return 7;
+          }, 7 != ""[t](n);
+        }),
+        d = g && !o(function () {
+          var n = !1,
+            e = /a/;
+          return "split" === t && ((e = {}).constructor = {}, e.constructor[c] = function () {
+            return e;
+          }, e.flags = "", e[v] = /./[v]), e.exec = function () {
+            return n = !0, null;
+          }, e[v](""), !n;
+        });
+      if (!g || !d || "replace" === t && (!f || !s || p) || "split" === t && !h) {
+        var y = /./[v],
+          x = e(v, ""[t], function (t, n, e, r, o) {
+            return n.exec === a ? g && !o ? {
+              done: !0,
+              value: y.call(n, e, r)
+            } : {
+              done: !0,
+              value: t.call(e, n, r)
+            } : {
+              done: !1
+            };
+          }, {
+            REPLACE_KEEPS_$0: s,
+            REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: p
+          }),
+          m = x[0],
+          b = x[1];
+        r(String.prototype, t, m), r(RegExp.prototype, v, 2 == n ? function (t, n) {
+          return b.call(t, this, n);
+        } : function (t) {
+          return b.call(t, this);
+        });
+      }
+      l && u(RegExp.prototype[v], "sham", !0);
+    };
+  }, function (t, n, e) {
+    var r = e(197).charAt;
+    t.exports = function (t, n, e) {
+      return n + (e ? r(t, n).length : 1);
+    };
+  }, function (t, n, e) {
+    var r = e(11),
+      o = e(190);
+    t.exports = function (t, n) {
+      var e = t.exec;
+      if ("function" == typeof e) {
+        var i = e.call(t, n);
+        if ("object" != typeof i) throw TypeError("RegExp exec method returned something other than an Object or null");
+        return i;
+      }
+      if ("RegExp" !== r(t)) throw TypeError("RegExp#exec called on incompatible receiver");
+      return o.call(t, n);
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(91),
+      i = e(12),
+      a = e(39),
+      u = e(65),
+      c = e(20),
+      f = e(11),
+      s = e(186),
+      l = e(187),
+      p = e(18),
+      h = e(6),
+      v = e(49),
+      g = e(175),
+      d = e(206),
+      y = e(25),
+      x = e(29),
+      m = v("matchAll"),
+      b = y.set,
+      S = y.getterFor("RegExp String Iterator"),
+      E = RegExp.prototype,
+      w = E.exec,
+      O = "".matchAll,
+      R = !!O && !h(function () {
+        "a".matchAll(/./);
+      }),
+      A = o(function (t, n, e, r) {
+        b(this, {
+          type: "RegExp String Iterator",
+          regexp: t,
+          string: n,
+          global: e,
+          unicode: r,
+          done: !1
+        });
+      }, "RegExp String", function () {
+        var t = S(this);
+        if (t.done) return {
+          value: void 0,
+          done: !0
+        };
+        var n = t.regexp,
+          e = t.string,
+          r = function (t, n) {
+            var e,
+              r = t.exec;
+            if ("function" == typeof r) {
+              if ("object" != typeof (e = r.call(t, n))) throw TypeError("Incorrect exec result");
+              return e;
+            }
+            return w.call(t, n);
+          }(n, e);
+        return null === r ? {
+          value: void 0,
+          done: t.done = !0
+        } : t.global ? ("" == String(r[0]) && (n.lastIndex = d(e, a(n.lastIndex), t.unicode)), {
+          value: r,
+          done: !1
+        }) : (t.done = !0, {
+          value: r,
+          done: !1
+        });
+      }),
+      j = function j(t) {
+        var n,
+          e,
+          r,
+          o,
+          i,
+          u,
+          f = c(this),
+          s = String(t);
+        return n = g(f, RegExp), void 0 === (e = f.flags) && f instanceof RegExp && !("flags" in E) && (e = l.call(f)), r = void 0 === e ? "" : String(e), o = new n(n === RegExp ? f.source : f, r), i = !!~r.indexOf("g"), u = !!~r.indexOf("u"), o.lastIndex = a(f.lastIndex), new A(o, s, i, u);
+      };
+    r({
+      target: "String",
+      proto: !0,
+      forced: R
+    }, {
+      matchAll: function matchAll(t) {
+        var n,
+          e,
+          r,
+          o = i(this);
+        if (null != t) {
+          if (s(t) && !~String(i("flags" in E ? t.flags : l.call(t))).indexOf("g")) throw TypeError("`.matchAll` does not allow non-global regexes");
+          if (R) return O.apply(o, arguments);
+          if (void 0 === (e = t[m]) && x && "RegExp" == f(t) && (e = j), null != e) return u(e).call(t, o);
+        } else if (R) return O.apply(o, arguments);
+        return n = String(o), r = new RegExp(t, "g"), x ? j.call(r, n) : r[m](n);
+      }
+    }), x || m in E || p(E, m, j);
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(210).end;
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(211)
+    }, {
+      padEnd: function padEnd(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(39),
+      o = e(145),
+      i = e(12),
+      a = Math.ceil,
+      u = function u(t) {
+        return function (n, e, u) {
+          var c,
+            f,
+            s = String(i(n)),
+            l = s.length,
+            p = void 0 === u ? " " : String(u),
+            h = r(e);
+          return h <= l || "" == p ? s : (c = h - l, (f = o.call(p, a(c / p.length))).length > c && (f = f.slice(0, c)), t ? s + f : f + s);
+        };
+      };
+    t.exports = {
+      start: u(!1),
+      end: u(!0)
+    };
+  }, function (t, n, e) {
+    var r = e(54);
+    t.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r);
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(210).start;
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(211)
+    }, {
+      padStart: function padStart(t) {
+        return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(9),
+      i = e(39);
+    r({
+      target: "String",
+      stat: !0
+    }, {
+      raw: function raw(t) {
+        for (var n = o(t.raw), e = i(n.length), r = arguments.length, a = [], u = 0; e > u;) a.push(String(n[u++])), u < r && a.push(String(arguments[u]));
+        return a.join("");
+      }
+    });
+  }, function (t, n, e) {
+    e(2)({
+      target: "String",
+      proto: !0
+    }, {
+      repeat: e(145)
+    });
+  }, function (t, n, e) {
+    var r = e(205),
+      o = e(20),
+      i = e(46),
+      a = e(39),
+      u = e(40),
+      c = e(12),
+      f = e(206),
+      s = e(207),
+      l = Math.max,
+      p = Math.min,
+      h = Math.floor,
+      v = /\$([$&'`]|\d\d?|<[^>]*>)/g,
+      g = /\$([$&'`]|\d\d?)/g;
+    r("replace", 2, function (t, n, e, r) {
+      var d = r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,
+        y = r.REPLACE_KEEPS_$0,
+        x = d ? "$" : "$0";
+      return [function (e, r) {
+        var o = c(this),
+          i = null == e ? void 0 : e[t];
+        return void 0 !== i ? i.call(e, o, r) : n.call(String(o), e, r);
+      }, function (t, r) {
+        if (!d && y || "string" == typeof r && -1 === r.indexOf(x)) {
+          var i = e(n, t, this, r);
+          if (i.done) return i.value;
+        }
+        var c = o(t),
+          h = String(this),
+          v = "function" == typeof r;
+        v || (r = String(r));
+        var g = c.global;
+        if (g) {
+          var b = c.unicode;
+          c.lastIndex = 0;
+        }
+        for (var S = [];;) {
+          var E = s(c, h);
+          if (null === E) break;
+          if (S.push(E), !g) break;
+          "" === String(E[0]) && (c.lastIndex = f(h, a(c.lastIndex), b));
+        }
+        for (var w, O = "", R = 0, A = 0; A < S.length; A++) {
+          E = S[A];
+          for (var j = String(E[0]), I = l(p(u(E.index), h.length), 0), k = [], P = 1; P < E.length; P++) k.push(void 0 === (w = E[P]) ? w : String(w));
+          var L = E.groups;
+          if (v) {
+            var T = [j].concat(k, I, h);
+            void 0 !== L && T.push(L);
+            var _ = String(r.apply(void 0, T));
+          } else _ = m(j, h, I, k, L, r);
+          I >= R && (O += h.slice(R, I) + _, R = I + j.length);
+        }
+        return O + h.slice(R);
+      }];
+      function m(t, e, r, o, a, u) {
+        var c = r + t.length,
+          f = o.length,
+          s = g;
+        return void 0 !== a && (a = i(a), s = v), n.call(u, s, function (n, i) {
+          var u;
+          switch (i.charAt(0)) {
+            case "$":
+              return "$";
+            case "&":
+              return t;
+            case "`":
+              return e.slice(0, r);
+            case "'":
+              return e.slice(c);
+            case "<":
+              u = a[i.slice(1, -1)];
+              break;
+            default:
+              var s = +i;
+              if (0 === s) return n;
+              if (s > f) {
+                var l = h(s / 10);
+                return 0 === l ? n : l <= f ? void 0 === o[l - 1] ? i.charAt(1) : o[l - 1] + i.charAt(1) : n;
+              }
+              u = o[s - 1];
+          }
+          return void 0 === u ? "" : u;
+        });
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(205),
+      o = e(20),
+      i = e(12),
+      a = e(161),
+      u = e(207);
+    r("search", 1, function (t, n, e) {
+      return [function (n) {
+        var e = i(this),
+          r = null == n ? void 0 : n[t];
+        return void 0 !== r ? r.call(n, e) : new RegExp(n)[t](String(e));
+      }, function (t) {
+        var r = e(n, t, this);
+        if (r.done) return r.value;
+        var i = o(t),
+          c = String(this),
+          f = i.lastIndex;
+        a(f, 0) || (i.lastIndex = 0);
+        var s = u(i, c);
+        return a(i.lastIndex, f) || (i.lastIndex = f), null === s ? -1 : s.index;
+      }];
+    });
+  }, function (t, n, e) {
+    var r = e(205),
+      o = e(186),
+      i = e(20),
+      a = e(12),
+      u = e(175),
+      c = e(206),
+      f = e(39),
+      s = e(207),
+      l = e(190),
+      p = e(6),
+      h = [].push,
+      v = Math.min,
+      g = !p(function () {
+        return !RegExp(4294967295, "y");
+      });
+    r("split", 2, function (t, n, e) {
+      var r;
+      return r = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length ? function (t, e) {
+        var r = String(a(this)),
+          i = void 0 === e ? 4294967295 : e >>> 0;
+        if (0 === i) return [];
+        if (void 0 === t) return [r];
+        if (!o(t)) return n.call(r, t, i);
+        for (var u, c, f, s = [], p = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), v = 0, g = new RegExp(t.source, p + "g"); (u = l.call(g, r)) && !((c = g.lastIndex) > v && (s.push(r.slice(v, u.index)), u.length > 1 && u.index < r.length && h.apply(s, u.slice(1)), f = u[0].length, v = c, s.length >= i));) g.lastIndex === u.index && g.lastIndex++;
+        return v === r.length ? !f && g.test("") || s.push("") : s.push(r.slice(v)), s.length > i ? s.slice(0, i) : s;
+      } : "0".split(void 0, 0).length ? function (t, e) {
+        return void 0 === t && 0 === e ? [] : n.call(this, t, e);
+      } : n, [function (n, e) {
+        var o = a(this),
+          i = null == n ? void 0 : n[t];
+        return void 0 !== i ? i.call(n, o, e) : r.call(String(o), n, e);
+      }, function (t, o) {
+        var a = e(r, t, this, o, r !== n);
+        if (a.done) return a.value;
+        var l = i(t),
+          p = String(this),
+          h = u(l, RegExp),
+          d = l.unicode,
+          y = (l.ignoreCase ? "i" : "") + (l.multiline ? "m" : "") + (l.unicode ? "u" : "") + (g ? "y" : "g"),
+          x = new h(g ? l : "^(?:" + l.source + ")", y),
+          m = void 0 === o ? 4294967295 : o >>> 0;
+        if (0 === m) return [];
+        if (0 === p.length) return null === s(x, p) ? [p] : [];
+        for (var b = 0, S = 0, E = []; S < p.length;) {
+          x.lastIndex = g ? S : 0;
+          var w,
+            O = s(x, g ? p : p.slice(S));
+          if (null === O || (w = v(f(x.lastIndex + (g ? 0 : S)), p.length)) === b) S = c(p, S, d);else {
+            if (E.push(p.slice(b, S)), E.length === m) return E;
+            for (var R = 1; R <= O.length - 1; R++) if (E.push(O[R]), E.length === m) return E;
+            S = b = w;
+          }
+        }
+        return E.push(p.slice(b)), E;
+      }];
+    }, !g);
+  }, function (t, n, e) {
+    var r,
+      o = e(2),
+      i = e(4).f,
+      a = e(39),
+      u = e(199),
+      c = e(12),
+      f = e(200),
+      s = e(29),
+      l = "".startsWith,
+      p = Math.min,
+      h = f("startsWith");
+    o({
+      target: "String",
+      proto: !0,
+      forced: !!(s || h || (r = i(String.prototype, "startsWith"), !r || r.writable)) && !h
+    }, {
+      startsWith: function startsWith(t) {
+        var n = String(c(this));
+        u(t);
+        var e = a(p(arguments.length > 1 ? arguments[1] : void 0, n.length)),
+          r = String(t);
+        return l ? l.call(n, r, e) : n.slice(e, e + r.length) === r;
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(128).trim;
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(220)("trim")
+    }, {
+      trim: function trim() {
+        return o(this);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(6),
+      o = e(129);
+    t.exports = function (t) {
+      return r(function () {
+        return !!o[t]() || "​…᠎" != "​…᠎"[t]() || o[t].name !== t;
+      });
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(128).end,
+      i = e(220)("trimEnd"),
+      a = i ? function () {
+        return o(this);
+      } : "".trimEnd;
+    r({
+      target: "String",
+      proto: !0,
+      forced: i
+    }, {
+      trimEnd: a,
+      trimRight: a
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(128).start,
+      i = e(220)("trimStart"),
+      a = i ? function () {
+        return o(this);
+      } : "".trimStart;
+    r({
+      target: "String",
+      proto: !0,
+      forced: i
+    }, {
+      trimStart: a,
+      trimLeft: a
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("anchor")
+    }, {
+      anchor: function anchor(t) {
+        return o(this, "a", "name", t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(12),
+      o = /"/g;
+    t.exports = function (t, n, e, i) {
+      var a = String(r(t)),
+        u = "<" + n;
+      return "" !== e && (u += " " + e + '="' + String(i).replace(o, "&quot;") + '"'), u + ">" + a + "</" + n + ">";
+    };
+  }, function (t, n, e) {
+    var r = e(6);
+    t.exports = function (t) {
+      return r(function () {
+        var n = ""[t]('"');
+        return n !== n.toLowerCase() || n.split('"').length > 3;
+      });
+    };
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("big")
+    }, {
+      big: function big() {
+        return o(this, "big", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("blink")
+    }, {
+      blink: function blink() {
+        return o(this, "blink", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("bold")
+    }, {
+      bold: function bold() {
+        return o(this, "b", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("fixed")
+    }, {
+      fixed: function fixed() {
+        return o(this, "tt", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("fontcolor")
+    }, {
+      fontcolor: function fontcolor(t) {
+        return o(this, "font", "color", t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("fontsize")
+    }, {
+      fontsize: function fontsize(t) {
+        return o(this, "font", "size", t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("italics")
+    }, {
+      italics: function italics() {
+        return o(this, "i", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("link")
+    }, {
+      link: function link(t) {
+        return o(this, "a", "href", t);
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("small")
+    }, {
+      small: function small() {
+        return o(this, "small", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("strike")
+    }, {
+      strike: function strike() {
+        return o(this, "strike", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("sub")
+    }, {
+      sub: function sub() {
+        return o(this, "sub", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r = e(2),
+      o = e(224);
+    r({
+      target: "String",
+      proto: !0,
+      forced: e(225)("sup")
+    }, {
+      sup: function sup() {
+        return o(this, "sup", "", "");
+      }
+    });
+  }, function (t, n, e) {
+    var r,
+      o = e(3),
+      i = e(126),
+      a = e(120),
+      u = e(119),
+      c = e(239),
+      f = e(14),
+      s = e(25).enforce,
+      l = e(26),
+      p = !o.ActiveXObject && "ActiveXObject" in o,
+      h = Object.isExtensible,
+      v = function v(t) {
+        return function () {
+          return t(this, arguments.length ? arguments[0] : void 0);
+        };
+      },
+      g = t.exports = u("WeakMap", v, c);
+    if (l && p) {
+      r = c.getConstructor(v, "WeakMap", !0), a.REQUIRED = !0;
+      var d = g.prototype,
+        y = d.delete,
+        x = d.has,
+        m = d.get,
+        b = d.set;
+      i(d, {
+        delete: function _delete(t) {
+          if (f(t) && !h(t)) {
+            var n = s(this);
+            return n.frozen || (n.frozen = new r()), y.call(this, t) || n.frozen.delete(t);
+          }
+          return y.call(this, t);
+        },
+        has: function has(t) {
+          if (f(t) && !h(t)) {
+            var n = s(this);
+            return n.frozen || (n.frozen = new r()), x.call(this, t) || n.frozen.has(t);
+          }
+          return x.call(this, t);
+        },
+        get: function get(t) {
+          if (f(t) && !h(t)) {
+            var n = s(this);
+            return n.frozen || (n.frozen = new r()), x.call(this, t) ? m.call(this, t) : n.frozen.get(t);
+          }
+          return m.call(this, t);
+        },
+        set: function set(t, n) {
+          if (f(t) && !h(t)) {
+            var e = s(this);
+            e.frozen || (e.frozen = new r()), x.call(this, t) ? b.call(this, t, n) : e.frozen.set(t, n);
+          } else b.call(this, t, n);
+          return this;
+        }
+      });
+    }
+  }, function (t, n, e) {
+    var r = e(126),
+      o = e(120).getWeakData,
+      i = e(20),
+      a = e(14),
+      u = e(123),
+      c = e(122),
+      f = e(63),
+      s = e(15),
+      l = e(25),
+      p = l.set,
+      h = l.getterFor,
+      v = f.find,
+      g = f.findIndex,
+      d = 0,
+      y = function y(t) {
+        return t.frozen || (t.frozen = new x());
+      },
+      x = function x() {
+        this.entries = [];
+      },
+      m = function m(t, n) {
+        return v(t.entries, function (t) {
+          return t[0] === n;
+        });
+      };
+    x.prototype = {
+      get: function get(t) {
+        var n = m(this, t);
+        if (n) return n[1];
+      },
+      has: function has(t) {
+        return !!m(this, t);
+      },
+      set: function set(t, n) {
+        var e = m(this, t);
+        e ? e[1] = n : this.entries.push([t, n]);
+      },
+      delete: function _delete(t) {
+        var n = g(this.entries, function (n) {
+          return n[0] === t;
+        });
+        return ~n && this.entries.splice(n, 1), !!~n;
+      }
+    }, t.exports = {
+      getConstructor: function getConstructor(t, n, e, f) {
+        var l = t(function (t, r) {
+            u(t, l, n), p(t, {
+              type: n,
+              id: d++,
+              frozen: void 0
+            }), null != r && c(r, t[f], t, e);
+          }),
+          v = h(n),
+          g = function g(t, n, e) {
+            var r = v(t),
+              a = o(i(n), !0);
+            return !0 === a ? y(r).set(n, e) : a[r.id] = e, t;
+          };
+        return r(l.prototype, {
+          delete: function _delete(t) {
+            var n = v(this);
+            if (!a(t)) return !1;
+            var e = o(t);
+            return !0 === e ? y(n).delete(t) : e && s(e, n.id) && delete e[n.id];
+          },
+          has: function has(t) {
+            var n = v(this);
+            if (!a(t)) return !1;
+            var e = o(t);
+            return !0 === e ? y(n).has(t) : e && s(e, n.id);
+          }
+        }), r(l.prototype, e ? {
+          get: function get(t) {
+            var n = v(this);
+            if (a(t)) {
+              var e = o(t);
+              return !0 === e ? y(n).get(t) : e ? e[n.id] : void 0;
+            }
+          },
+          set: function set(t, n) {
+            return g(this, t, n);
+          }
+        } : {
+          add: function add(t) {
+            return g(this, t, !0);
+          }
+        }), l;
+      }
+    };
+  }, function (t, n, e) {
+    e(119)("WeakSet", function (t) {
+      return function () {
+        return t(this, arguments.length ? arguments[0] : void 0);
+      };
+    }, e(239));
+  }, function (t, n, e) {
+    var r = e(3),
+      o = e(242),
+      i = e(77),
+      a = e(18);
+    for (var u in o) {
+      var c = r[u],
+        f = c && c.prototype;
+      if (f && f.forEach !== i) try {
+        a(f, "forEach", i);
+      } catch (t) {
+        f.forEach = i;
+      }
+    }
+  }, function (t, n) {
+    t.exports = {
+      CSSRuleList: 0,
+      CSSStyleDeclaration: 0,
+      CSSValueList: 0,
+      ClientRectList: 0,
+      DOMRectList: 0,
+      DOMStringList: 0,
+      DOMTokenList: 1,
+      DataTransferItemList: 0,
+      FileList: 0,
+      HTMLAllCollection: 0,
+      HTMLCollection: 0,
+      HTMLFormElement: 0,
+      HTMLSelectElement: 0,
+      MediaList: 0,
+      MimeTypeArray: 0,
+      NamedNodeMap: 0,
+      NodeList: 1,
+      PaintRequestList: 0,
+      Plugin: 0,
+      PluginArray: 0,
+      SVGLengthList: 0,
+      SVGNumberList: 0,
+      SVGPathSegList: 0,
+      SVGPointList: 0,
+      SVGStringList: 0,
+      SVGTransformList: 0,
+      SourceBufferList: 0,
+      StyleSheetList: 0,
+      TextTrackCueList: 0,
+      TextTrackList: 0,
+      TouchList: 0
+    };
+  }, function (t, n, e) {
+    e(203);
+    var r,
+      o = e(2),
+      i = e(5),
+      a = e(244),
+      u = e(3),
+      c = e(59),
+      f = e(21),
+      s = e(123),
+      l = e(15),
+      p = e(147),
+      h = e(79),
+      v = e(197).codeAt,
+      g = e(245),
+      d = e(95),
+      y = e(246),
+      x = e(25),
+      m = u.URL,
+      b = y.URLSearchParams,
+      S = y.getState,
+      E = x.set,
+      w = x.getterFor("URL"),
+      O = Math.floor,
+      R = Math.pow,
+      A = /[A-Za-z]/,
+      j = /[\d+-.A-Za-z]/,
+      I = /\d/,
+      k = /^(0x|0X)/,
+      P = /^[0-7]+$/,
+      L = /^\d+$/,
+      T = /^[\dA-Fa-f]+$/,
+      _ = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,
+      U = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/,
+      N = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,
+      C = /[\u0009\u000A\u000D]/g,
+      F = function F(t, n) {
+        var e, r, o;
+        if ("[" == n.charAt(0)) {
+          if ("]" != n.charAt(n.length - 1)) return "Invalid host";
+          if (!(e = z(n.slice(1, -1)))) return "Invalid host";
+          t.host = e;
+        } else if (X(t)) {
+          if (n = g(n), _.test(n)) return "Invalid host";
+          if (null === (e = M(n))) return "Invalid host";
+          t.host = e;
+        } else {
+          if (U.test(n)) return "Invalid host";
+          for (e = "", r = h(n), o = 0; o < r.length; o++) e += G(r[o], q);
+          t.host = e;
+        }
+      },
+      M = function M(t) {
+        var n,
+          e,
+          r,
+          o,
+          i,
+          a,
+          u,
+          c = t.split(".");
+        if (c.length && "" == c[c.length - 1] && c.pop(), (n = c.length) > 4) return t;
+        for (e = [], r = 0; r < n; r++) {
+          if ("" == (o = c[r])) return t;
+          if (i = 10, o.length > 1 && "0" == o.charAt(0) && (i = k.test(o) ? 16 : 8, o = o.slice(8 == i ? 1 : 2)), "" === o) a = 0;else {
+            if (!(10 == i ? L : 8 == i ? P : T).test(o)) return t;
+            a = parseInt(o, i);
+          }
+          e.push(a);
+        }
+        for (r = 0; r < n; r++) if (a = e[r], r == n - 1) {
+          if (a >= R(256, 5 - n)) return null;
+        } else if (a > 255) return null;
+        for (u = e.pop(), r = 0; r < e.length; r++) u += e[r] * R(256, 3 - r);
+        return u;
+      },
+      z = function z(t) {
+        var n,
+          e,
+          r,
+          o,
+          i,
+          a,
+          u,
+          c = [0, 0, 0, 0, 0, 0, 0, 0],
+          f = 0,
+          s = null,
+          l = 0,
+          p = function p() {
+            return t.charAt(l);
+          };
+        if (":" == p()) {
+          if (":" != t.charAt(1)) return;
+          l += 2, s = ++f;
+        }
+        for (; p();) {
+          if (8 == f) return;
+          if (":" != p()) {
+            for (n = e = 0; e < 4 && T.test(p());) n = 16 * n + parseInt(p(), 16), l++, e++;
+            if ("." == p()) {
+              if (0 == e) return;
+              if (l -= e, f > 6) return;
+              for (r = 0; p();) {
+                if (o = null, r > 0) {
+                  if (!("." == p() && r < 4)) return;
+                  l++;
+                }
+                if (!I.test(p())) return;
+                for (; I.test(p());) {
+                  if (i = parseInt(p(), 10), null === o) o = i;else {
+                    if (0 == o) return;
+                    o = 10 * o + i;
+                  }
+                  if (o > 255) return;
+                  l++;
+                }
+                c[f] = 256 * c[f] + o, 2 != ++r && 4 != r || f++;
+              }
+              if (4 != r) return;
+              break;
+            }
+            if (":" == p()) {
+              if (l++, !p()) return;
+            } else if (p()) return;
+            c[f++] = n;
+          } else {
+            if (null !== s) return;
+            l++, s = ++f;
+          }
+        }
+        if (null !== s) for (a = f - s, f = 7; 0 != f && a > 0;) u = c[f], c[f--] = c[s + a - 1], c[s + --a] = u;else if (8 != f) return;
+        return c;
+      },
+      D = function D(t) {
+        var n, e, r, o;
+        if ("number" == typeof t) {
+          for (n = [], e = 0; e < 4; e++) n.unshift(t % 256), t = O(t / 256);
+          return n.join(".");
+        }
+        if ("object" == typeof t) {
+          for (n = "", r = function (t) {
+            for (var n = null, e = 1, r = null, o = 0, i = 0; i < 8; i++) 0 !== t[i] ? (o > e && (n = r, e = o), r = null, o = 0) : (null === r && (r = i), ++o);
+            return o > e && (n = r, e = o), n;
+          }(t), e = 0; e < 8; e++) o && 0 === t[e] || (o && (o = !1), r === e ? (n += e ? ":" : "::", o = !0) : (n += t[e].toString(16), e < 7 && (n += ":")));
+          return "[" + n + "]";
+        }
+        return t;
+      },
+      q = {},
+      B = p({}, q, {
+        " ": 1,
+        '"': 1,
+        "<": 1,
+        ">": 1,
+        "`": 1
+      }),
+      W = p({}, B, {
+        "#": 1,
+        "?": 1,
+        "{": 1,
+        "}": 1
+      }),
+      $ = p({}, W, {
+        "/": 1,
+        ":": 1,
+        ";": 1,
+        "=": 1,
+        "@": 1,
+        "[": 1,
+        "\\": 1,
+        "]": 1,
+        "^": 1,
+        "|": 1
+      }),
+      G = function G(t, n) {
+        var e = v(t, 0);
+        return e > 32 && e < 127 && !l(n, t) ? t : encodeURIComponent(t);
+      },
+      V = {
+        ftp: 21,
+        file: null,
+        http: 80,
+        https: 443,
+        ws: 80,
+        wss: 443
+      },
+      X = function X(t) {
+        return l(V, t.scheme);
+      },
+      Y = function Y(t) {
+        return "" != t.username || "" != t.password;
+      },
+      K = function K(t) {
+        return !t.host || t.cannotBeABaseURL || "file" == t.scheme;
+      },
+      J = function J(t, n) {
+        var e;
+        return 2 == t.length && A.test(t.charAt(0)) && (":" == (e = t.charAt(1)) || !n && "|" == e);
+      },
+      H = function H(t) {
+        var n;
+        return t.length > 1 && J(t.slice(0, 2)) && (2 == t.length || "/" === (n = t.charAt(2)) || "\\" === n || "?" === n || "#" === n);
+      },
+      Q = function Q(t) {
+        var n = t.path,
+          e = n.length;
+        !e || "file" == t.scheme && 1 == e && J(n[0], !0) || n.pop();
+      },
+      Z = function Z(t) {
+        return "." === t || "%2e" === t.toLowerCase();
+      },
+      tt = {},
+      nt = {},
+      et = {},
+      rt = {},
+      ot = {},
+      it = {},
+      at = {},
+      ut = {},
+      ct = {},
+      ft = {},
+      st = {},
+      lt = {},
+      pt = {},
+      ht = {},
+      vt = {},
+      gt = {},
+      dt = {},
+      yt = {},
+      xt = {},
+      mt = {},
+      bt = {},
+      St = function St(t, n, e, o) {
+        var i,
+          a,
+          u,
+          c,
+          f,
+          s = e || tt,
+          p = 0,
+          v = "",
+          g = !1,
+          d = !1,
+          y = !1;
+        for (e || (t.scheme = "", t.username = "", t.password = "", t.host = null, t.port = null, t.path = [], t.query = null, t.fragment = null, t.cannotBeABaseURL = !1, n = n.replace(N, "")), n = n.replace(C, ""), i = h(n); p <= i.length;) {
+          switch (a = i[p], s) {
+            case tt:
+              if (!a || !A.test(a)) {
+                if (e) return "Invalid scheme";
+                s = et;
+                continue;
+              }
+              v += a.toLowerCase(), s = nt;
+              break;
+            case nt:
+              if (a && (j.test(a) || "+" == a || "-" == a || "." == a)) v += a.toLowerCase();else {
+                if (":" != a) {
+                  if (e) return "Invalid scheme";
+                  v = "", s = et, p = 0;
+                  continue;
+                }
+                if (e && (X(t) != l(V, v) || "file" == v && (Y(t) || null !== t.port) || "file" == t.scheme && !t.host)) return;
+                if (t.scheme = v, e) return void (X(t) && V[t.scheme] == t.port && (t.port = null));
+                v = "", "file" == t.scheme ? s = ht : X(t) && o && o.scheme == t.scheme ? s = rt : X(t) ? s = ut : "/" == i[p + 1] ? (s = ot, p++) : (t.cannotBeABaseURL = !0, t.path.push(""), s = xt);
+              }
+              break;
+            case et:
+              if (!o || o.cannotBeABaseURL && "#" != a) return "Invalid scheme";
+              if (o.cannotBeABaseURL && "#" == a) {
+                t.scheme = o.scheme, t.path = o.path.slice(), t.query = o.query, t.fragment = "", t.cannotBeABaseURL = !0, s = bt;
+                break;
+              }
+              s = "file" == o.scheme ? ht : it;
+              continue;
+            case rt:
+              if ("/" != a || "/" != i[p + 1]) {
+                s = it;
+                continue;
+              }
+              s = ct, p++;
+              break;
+            case ot:
+              if ("/" == a) {
+                s = ft;
+                break;
+              }
+              s = yt;
+              continue;
+            case it:
+              if (t.scheme = o.scheme, a == r) t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, t.path = o.path.slice(), t.query = o.query;else if ("/" == a || "\\" == a && X(t)) s = at;else if ("?" == a) t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, t.path = o.path.slice(), t.query = "", s = mt;else {
+                if ("#" != a) {
+                  t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, t.path = o.path.slice(), t.path.pop(), s = yt;
+                  continue;
+                }
+                t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, t.path = o.path.slice(), t.query = o.query, t.fragment = "", s = bt;
+              }
+              break;
+            case at:
+              if (!X(t) || "/" != a && "\\" != a) {
+                if ("/" != a) {
+                  t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, s = yt;
+                  continue;
+                }
+                s = ft;
+              } else s = ct;
+              break;
+            case ut:
+              if (s = ct, "/" != a || "/" != v.charAt(p + 1)) continue;
+              p++;
+              break;
+            case ct:
+              if ("/" != a && "\\" != a) {
+                s = ft;
+                continue;
+              }
+              break;
+            case ft:
+              if ("@" == a) {
+                g && (v = "%40" + v), g = !0, u = h(v);
+                for (var x = 0; x < u.length; x++) {
+                  var m = u[x];
+                  if (":" != m || y) {
+                    var b = G(m, $);
+                    y ? t.password += b : t.username += b;
+                  } else y = !0;
+                }
+                v = "";
+              } else if (a == r || "/" == a || "?" == a || "#" == a || "\\" == a && X(t)) {
+                if (g && "" == v) return "Invalid authority";
+                p -= h(v).length + 1, v = "", s = st;
+              } else v += a;
+              break;
+            case st:
+            case lt:
+              if (e && "file" == t.scheme) {
+                s = gt;
+                continue;
+              }
+              if (":" != a || d) {
+                if (a == r || "/" == a || "?" == a || "#" == a || "\\" == a && X(t)) {
+                  if (X(t) && "" == v) return "Invalid host";
+                  if (e && "" == v && (Y(t) || null !== t.port)) return;
+                  if (c = F(t, v)) return c;
+                  if (v = "", s = dt, e) return;
+                  continue;
+                }
+                "[" == a ? d = !0 : "]" == a && (d = !1), v += a;
+              } else {
+                if ("" == v) return "Invalid host";
+                if (c = F(t, v)) return c;
+                if (v = "", s = pt, e == lt) return;
+              }
+              break;
+            case pt:
+              if (!I.test(a)) {
+                if (a == r || "/" == a || "?" == a || "#" == a || "\\" == a && X(t) || e) {
+                  if ("" != v) {
+                    var S = parseInt(v, 10);
+                    if (S > 65535) return "Invalid port";
+                    t.port = X(t) && S === V[t.scheme] ? null : S, v = "";
+                  }
+                  if (e) return;
+                  s = dt;
+                  continue;
+                }
+                return "Invalid port";
+              }
+              v += a;
+              break;
+            case ht:
+              if (t.scheme = "file", "/" == a || "\\" == a) s = vt;else {
+                if (!o || "file" != o.scheme) {
+                  s = yt;
+                  continue;
+                }
+                if (a == r) t.host = o.host, t.path = o.path.slice(), t.query = o.query;else if ("?" == a) t.host = o.host, t.path = o.path.slice(), t.query = "", s = mt;else {
+                  if ("#" != a) {
+                    H(i.slice(p).join("")) || (t.host = o.host, t.path = o.path.slice(), Q(t)), s = yt;
+                    continue;
+                  }
+                  t.host = o.host, t.path = o.path.slice(), t.query = o.query, t.fragment = "", s = bt;
+                }
+              }
+              break;
+            case vt:
+              if ("/" == a || "\\" == a) {
+                s = gt;
+                break;
+              }
+              o && "file" == o.scheme && !H(i.slice(p).join("")) && (J(o.path[0], !0) ? t.path.push(o.path[0]) : t.host = o.host), s = yt;
+              continue;
+            case gt:
+              if (a == r || "/" == a || "\\" == a || "?" == a || "#" == a) {
+                if (!e && J(v)) s = yt;else if ("" == v) {
+                  if (t.host = "", e) return;
+                  s = dt;
+                } else {
+                  if (c = F(t, v)) return c;
+                  if ("localhost" == t.host && (t.host = ""), e) return;
+                  v = "", s = dt;
+                }
+                continue;
+              }
+              v += a;
+              break;
+            case dt:
+              if (X(t)) {
+                if (s = yt, "/" != a && "\\" != a) continue;
+              } else if (e || "?" != a) {
+                if (e || "#" != a) {
+                  if (a != r && (s = yt, "/" != a)) continue;
+                } else t.fragment = "", s = bt;
+              } else t.query = "", s = mt;
+              break;
+            case yt:
+              if (a == r || "/" == a || "\\" == a && X(t) || !e && ("?" == a || "#" == a)) {
+                if (".." === (f = (f = v).toLowerCase()) || "%2e." === f || ".%2e" === f || "%2e%2e" === f ? (Q(t), "/" == a || "\\" == a && X(t) || t.path.push("")) : Z(v) ? "/" == a || "\\" == a && X(t) || t.path.push("") : ("file" == t.scheme && !t.path.length && J(v) && (t.host && (t.host = ""), v = v.charAt(0) + ":"), t.path.push(v)), v = "", "file" == t.scheme && (a == r || "?" == a || "#" == a)) for (; t.path.length > 1 && "" === t.path[0];) t.path.shift();
+                "?" == a ? (t.query = "", s = mt) : "#" == a && (t.fragment = "", s = bt);
+              } else v += G(a, W);
+              break;
+            case xt:
+              "?" == a ? (t.query = "", s = mt) : "#" == a ? (t.fragment = "", s = bt) : a != r && (t.path[0] += G(a, q));
+              break;
+            case mt:
+              e || "#" != a ? a != r && ("'" == a && X(t) ? t.query += "%27" : t.query += "#" == a ? "%23" : G(a, q)) : (t.fragment = "", s = bt);
+              break;
+            case bt:
+              a != r && (t.fragment += G(a, B));
+          }
+          p++;
+        }
+      },
+      _Et = function Et(t) {
+        var n,
+          e,
+          r = s(this, _Et, "URL"),
+          o = arguments.length > 1 ? arguments[1] : void 0,
+          a = String(t),
+          u = E(r, {
+            type: "URL"
+          });
+        if (void 0 !== o) if (o instanceof _Et) n = w(o);else if (e = St(n = {}, String(o))) throw TypeError(e);
+        if (e = St(u, a, null, n)) throw TypeError(e);
+        var c = u.searchParams = new b(),
+          f = S(c);
+        f.updateSearchParams(u.query), f.updateURL = function () {
+          u.query = String(c) || null;
+        }, i || (r.href = Ot.call(r), r.origin = Rt.call(r), r.protocol = At.call(r), r.username = jt.call(r), r.password = It.call(r), r.host = kt.call(r), r.hostname = Pt.call(r), r.port = Lt.call(r), r.pathname = Tt.call(r), r.search = _t.call(r), r.searchParams = Ut.call(r), r.hash = Nt.call(r));
+      },
+      wt = _Et.prototype,
+      Ot = function Ot() {
+        var t = w(this),
+          n = t.scheme,
+          e = t.username,
+          r = t.password,
+          o = t.host,
+          i = t.port,
+          a = t.path,
+          u = t.query,
+          c = t.fragment,
+          f = n + ":";
+        return null !== o ? (f += "//", Y(t) && (f += e + (r ? ":" + r : "") + "@"), f += D(o), null !== i && (f += ":" + i)) : "file" == n && (f += "//"), f += t.cannotBeABaseURL ? a[0] : a.length ? "/" + a.join("/") : "", null !== u && (f += "?" + u), null !== c && (f += "#" + c), f;
+      },
+      Rt = function Rt() {
+        var t = w(this),
+          n = t.scheme,
+          e = t.port;
+        if ("blob" == n) try {
+          return new URL(n.path[0]).origin;
+        } catch (t) {
+          return "null";
+        }
+        return "file" != n && X(t) ? n + "://" + D(t.host) + (null !== e ? ":" + e : "") : "null";
+      },
+      At = function At() {
+        return w(this).scheme + ":";
+      },
+      jt = function jt() {
+        return w(this).username;
+      },
+      It = function It() {
+        return w(this).password;
+      },
+      kt = function kt() {
+        var t = w(this),
+          n = t.host,
+          e = t.port;
+        return null === n ? "" : null === e ? D(n) : D(n) + ":" + e;
+      },
+      Pt = function Pt() {
+        var t = w(this).host;
+        return null === t ? "" : D(t);
+      },
+      Lt = function Lt() {
+        var t = w(this).port;
+        return null === t ? "" : String(t);
+      },
+      Tt = function Tt() {
+        var t = w(this),
+          n = t.path;
+        return t.cannotBeABaseURL ? n[0] : n.length ? "/" + n.join("/") : "";
+      },
+      _t = function _t() {
+        var t = w(this).query;
+        return t ? "?" + t : "";
+      },
+      Ut = function Ut() {
+        return w(this).searchParams;
+      },
+      Nt = function Nt() {
+        var t = w(this).fragment;
+        return t ? "#" + t : "";
+      },
+      Ct = function Ct(t, n) {
+        return {
+          get: t,
+          set: n,
+          configurable: !0,
+          enumerable: !0
+        };
+      };
+    if (i && c(wt, {
+      href: Ct(Ot, function (t) {
+        var n = w(this),
+          e = String(t),
+          r = St(n, e);
+        if (r) throw TypeError(r);
+        S(n.searchParams).updateSearchParams(n.query);
+      }),
+      origin: Ct(Rt),
+      protocol: Ct(At, function (t) {
+        var n = w(this);
+        St(n, String(t) + ":", tt);
+      }),
+      username: Ct(jt, function (t) {
+        var n = w(this),
+          e = h(String(t));
+        if (!K(n)) {
+          n.username = "";
+          for (var r = 0; r < e.length; r++) n.username += G(e[r], $);
+        }
+      }),
+      password: Ct(It, function (t) {
+        var n = w(this),
+          e = h(String(t));
+        if (!K(n)) {
+          n.password = "";
+          for (var r = 0; r < e.length; r++) n.password += G(e[r], $);
+        }
+      }),
+      host: Ct(kt, function (t) {
+        var n = w(this);
+        n.cannotBeABaseURL || St(n, String(t), st);
+      }),
+      hostname: Ct(Pt, function (t) {
+        var n = w(this);
+        n.cannotBeABaseURL || St(n, String(t), lt);
+      }),
+      port: Ct(Lt, function (t) {
+        var n = w(this);
+        K(n) || ("" == (t = String(t)) ? n.port = null : St(n, t, pt));
+      }),
+      pathname: Ct(Tt, function (t) {
+        var n = w(this);
+        n.cannotBeABaseURL || (n.path = [], St(n, t + "", dt));
+      }),
+      search: Ct(_t, function (t) {
+        var n = w(this);
+        "" == (t = String(t)) ? n.query = null : ("?" == t.charAt(0) && (t = t.slice(1)), n.query = "", St(n, t, mt)), S(n.searchParams).updateSearchParams(n.query);
+      }),
+      searchParams: Ct(Ut),
+      hash: Ct(Nt, function (t) {
+        var n = w(this);
+        "" != (t = String(t)) ? ("#" == t.charAt(0) && (t = t.slice(1)), n.fragment = "", St(n, t, bt)) : n.fragment = null;
+      })
+    }), f(wt, "toJSON", function () {
+      return Ot.call(this);
+    }, {
+      enumerable: !0
+    }), f(wt, "toString", function () {
+      return Ot.call(this);
+    }, {
+      enumerable: !0
+    }), m) {
+      var Ft = m.createObjectURL,
+        Mt = m.revokeObjectURL;
+      Ft && f(_Et, "createObjectURL", function (t) {
+        return Ft.apply(m, arguments);
+      }), Mt && f(_Et, "revokeObjectURL", function (t) {
+        return Mt.apply(m, arguments);
+      });
+    }
+    d(_Et, "URL"), o({
+      global: !0,
+      forced: !a,
+      sham: !i
+    }, {
+      URL: _Et
+    });
+  }, function (t, n, e) {
+    var r = e(6),
+      o = e(49),
+      i = e(29),
+      a = o("iterator");
+    t.exports = !r(function () {
+      var t = new URL("b?a=1&b=2&c=3", "http://a"),
+        n = t.searchParams,
+        e = "";
+      return t.pathname = "c%20d", n.forEach(function (t, r) {
+        n.delete("b"), e += r + t;
+      }), i && !t.toJSON || !n.sort || "http://a/c%20d?a=1&c=3" !== t.href || "3" !== n.get("c") || "a=1" !== String(new URLSearchParams("?a=1")) || !n[a] || "a" !== new URL("https://a@b").username || "b" !== new URLSearchParams(new URLSearchParams("a=b")).get("a") || "xn--e1aybc" !== new URL("http://тест").host || "#%D0%B1" !== new URL("http://a#б").hash || "a1c3" !== e || "x" !== new URL("http://x", void 0).host;
+    });
+  }, function (t, n, e) {
+    var r = /[^\0-\u007E]/,
+      o = /[.\u3002\uFF0E\uFF61]/g,
+      i = "Overflow: input needs wider integers to process",
+      a = Math.floor,
+      u = String.fromCharCode,
+      c = function c(t) {
+        return t + 22 + 75 * (t < 26);
+      },
+      f = function f(t, n, e) {
+        var r = 0;
+        for (t = e ? a(t / 700) : t >> 1, t += a(t / n); t > 455; r += 36) t = a(t / 35);
+        return a(r + 36 * t / (t + 38));
+      },
+      s = function s(t) {
+        var n,
+          e,
+          r = [],
+          o = (t = function (t) {
+            for (var n = [], e = 0, r = t.length; e < r;) {
+              var o = t.charCodeAt(e++);
+              if (o >= 55296 && o <= 56319 && e < r) {
+                var i = t.charCodeAt(e++);
+                56320 == (64512 & i) ? n.push(((1023 & o) << 10) + (1023 & i) + 65536) : (n.push(o), e--);
+              } else n.push(o);
+            }
+            return n;
+          }(t)).length,
+          s = 128,
+          l = 0,
+          p = 72;
+        for (n = 0; n < t.length; n++) (e = t[n]) < 128 && r.push(u(e));
+        var h = r.length,
+          v = h;
+        for (h && r.push("-"); v < o;) {
+          var g = 2147483647;
+          for (n = 0; n < t.length; n++) (e = t[n]) >= s && e < g && (g = e);
+          var d = v + 1;
+          if (g - s > a((2147483647 - l) / d)) throw RangeError(i);
+          for (l += (g - s) * d, s = g, n = 0; n < t.length; n++) {
+            if ((e = t[n]) < s && ++l > 2147483647) throw RangeError(i);
+            if (e == s) {
+              for (var y = l, x = 36;; x += 36) {
+                var m = x <= p ? 1 : x >= p + 26 ? 26 : x - p;
+                if (y < m) break;
+                var b = y - m,
+                  S = 36 - m;
+                r.push(u(c(m + b % S))), y = a(b / S);
+              }
+              r.push(u(c(y))), p = f(l, d, v == h), l = 0, ++v;
+            }
+          }
+          ++l, ++s;
+        }
+        return r.join("");
+      };
+    t.exports = function (t) {
+      var n,
+        e,
+        i = [],
+        a = t.toLowerCase().replace(o, ".").split(".");
+      for (n = 0; n < a.length; n++) e = a[n], i.push(r.test(e) ? "xn--" + s(e) : e);
+      return i.join(".");
+    };
+  }, function (t, n, e) {
+    e(89);
+    var r = e(2),
+      o = e(34),
+      i = e(244),
+      a = e(21),
+      u = e(126),
+      c = e(95),
+      f = e(91),
+      s = e(25),
+      l = e(123),
+      p = e(15),
+      h = e(64),
+      v = e(84),
+      g = e(20),
+      d = e(14),
+      y = e(58),
+      x = e(8),
+      m = e(247),
+      b = e(83),
+      S = e(49),
+      E = o("fetch"),
+      w = o("Headers"),
+      O = S("iterator"),
+      R = s.set,
+      A = s.getterFor("URLSearchParams"),
+      j = s.getterFor("URLSearchParamsIterator"),
+      I = /\+/g,
+      k = Array(4),
+      P = function P(t) {
+        return k[t - 1] || (k[t - 1] = RegExp("((?:%[\\da-f]{2}){" + t + "})", "gi"));
+      },
+      L = function L(t) {
+        try {
+          return decodeURIComponent(t);
+        } catch (n) {
+          return t;
+        }
+      },
+      T = function T(t) {
+        var n = t.replace(I, " "),
+          e = 4;
+        try {
+          return decodeURIComponent(n);
+        } catch (t) {
+          for (; e;) n = n.replace(P(e--), L);
+          return n;
+        }
+      },
+      _ = /[!'()~]|%20/g,
+      U = {
+        "!": "%21",
+        "'": "%27",
+        "(": "%28",
+        ")": "%29",
+        "~": "%7E",
+        "%20": "+"
+      },
+      N = function N(t) {
+        return U[t];
+      },
+      C = function C(t) {
+        return encodeURIComponent(t).replace(_, N);
+      },
+      F = function F(t, n) {
+        if (n) for (var e, r, o = n.split("&"), i = 0; i < o.length;) (e = o[i++]).length && (r = e.split("="), t.push({
+          key: T(r.shift()),
+          value: T(r.join("="))
+        }));
+      },
+      M = function M(t) {
+        this.entries.length = 0, F(this.entries, t);
+      },
+      z = function z(t, n) {
+        if (t < n) throw TypeError("Not enough arguments");
+      },
+      D = f(function (t, n) {
+        R(this, {
+          type: "URLSearchParamsIterator",
+          iterator: m(A(t).entries),
+          kind: n
+        });
+      }, "Iterator", function () {
+        var t = j(this),
+          n = t.kind,
+          e = t.iterator.next(),
+          r = e.value;
+        return e.done || (e.value = "keys" === n ? r.key : "values" === n ? r.value : [r.key, r.value]), e;
+      }),
+      _q = function q() {
+        l(this, _q, "URLSearchParams");
+        var t,
+          n,
+          e,
+          r,
+          o,
+          i,
+          a,
+          u,
+          c,
+          f = arguments.length > 0 ? arguments[0] : void 0,
+          s = this,
+          h = [];
+        if (R(s, {
+          type: "URLSearchParams",
+          entries: h,
+          updateURL: function updateURL() {},
+          updateSearchParams: M
+        }), void 0 !== f) if (d(f)) {
+          if ("function" == typeof (t = b(f))) for (e = (n = t.call(f)).next; !(r = e.call(n)).done;) {
+            if ((a = (i = (o = m(g(r.value))).next).call(o)).done || (u = i.call(o)).done || !i.call(o).done) throw TypeError("Expected sequence with length 2");
+            h.push({
+              key: a.value + "",
+              value: u.value + ""
+            });
+          } else for (c in f) p(f, c) && h.push({
+            key: c,
+            value: f[c] + ""
+          });
+        } else F(h, "string" == typeof f ? "?" === f.charAt(0) ? f.slice(1) : f : f + "");
+      },
+      B = _q.prototype;
+    u(B, {
+      append: function append(t, n) {
+        z(arguments.length, 2);
+        var e = A(this);
+        e.entries.push({
+          key: t + "",
+          value: n + ""
+        }), e.updateURL();
+      },
+      delete: function _delete(t) {
+        z(arguments.length, 1);
+        for (var n = A(this), e = n.entries, r = t + "", o = 0; o < e.length;) e[o].key === r ? e.splice(o, 1) : o++;
+        n.updateURL();
+      },
+      get: function get(t) {
+        z(arguments.length, 1);
+        for (var n = A(this).entries, e = t + "", r = 0; r < n.length; r++) if (n[r].key === e) return n[r].value;
+        return null;
+      },
+      getAll: function getAll(t) {
+        z(arguments.length, 1);
+        for (var n = A(this).entries, e = t + "", r = [], o = 0; o < n.length; o++) n[o].key === e && r.push(n[o].value);
+        return r;
+      },
+      has: function has(t) {
+        z(arguments.length, 1);
+        for (var n = A(this).entries, e = t + "", r = 0; r < n.length;) if (n[r++].key === e) return !0;
+        return !1;
+      },
+      set: function set(t, n) {
+        z(arguments.length, 1);
+        for (var e, r = A(this), o = r.entries, i = !1, a = t + "", u = n + "", c = 0; c < o.length; c++) (e = o[c]).key === a && (i ? o.splice(c--, 1) : (i = !0, e.value = u));
+        i || o.push({
+          key: a,
+          value: u
+        }), r.updateURL();
+      },
+      sort: function sort() {
+        var t,
+          n,
+          e,
+          r = A(this),
+          o = r.entries,
+          i = o.slice();
+        for (o.length = 0, e = 0; e < i.length; e++) {
+          for (t = i[e], n = 0; n < e; n++) if (o[n].key > t.key) {
+            o.splice(n, 0, t);
+            break;
+          }
+          n === e && o.push(t);
+        }
+        r.updateURL();
+      },
+      forEach: function forEach(t) {
+        for (var n, e = A(this).entries, r = h(t, arguments.length > 1 ? arguments[1] : void 0, 3), o = 0; o < e.length;) r((n = e[o++]).value, n.key, this);
+      },
+      keys: function keys() {
+        return new D(this, "keys");
+      },
+      values: function values() {
+        return new D(this, "values");
+      },
+      entries: function entries() {
+        return new D(this, "entries");
+      }
+    }, {
+      enumerable: !0
+    }), a(B, O, B.entries), a(B, "toString", function () {
+      for (var t, n = A(this).entries, e = [], r = 0; r < n.length;) t = n[r++], e.push(C(t.key) + "=" + C(t.value));
+      return e.join("&");
+    }, {
+      enumerable: !0
+    }), c(_q, "URLSearchParams"), r({
+      global: !0,
+      forced: !i
+    }, {
+      URLSearchParams: _q
+    }), i || "function" != typeof E || "function" != typeof w || r({
+      global: !0,
+      enumerable: !0,
+      forced: !0
+    }, {
+      fetch: function fetch(t) {
+        var n,
+          e,
+          r,
+          o = [t];
+        return arguments.length > 1 && (n = arguments[1], d(n) && (e = n.body, "URLSearchParams" === v(e) && ((r = n.headers ? new w(n.headers) : new w()).has("content-type") || r.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"), n = y(n, {
+          body: x(0, String(e)),
+          headers: x(0, r)
+        }))), o.push(n)), E.apply(this, o);
+      }
+    }), t.exports = {
+      URLSearchParams: _q,
+      getState: A
+    };
+  }, function (t, n, e) {
+    var r = e(20),
+      o = e(83);
+    t.exports = function (t) {
+      var n = o(t);
+      if ("function" != typeof n) throw TypeError(String(t) + " is not iterable");
+      return r(n.call(t));
+    };
+  }, function (t, n, e) {
+    e(2)({
+      target: "URL",
+      proto: !0,
+      enumerable: !0
+    }, {
+      toJSON: function toJSON() {
+        return URL.prototype.toString.call(this);
+      }
+    });
+  }]);
+}();
 
 //!fetch 3.0.0, global "this" must be replaced with "window"
 // IIFE version
-!function(t){"use strict";var e="URLSearchParams"in self,r="Symbol"in self&&"iterator"in Symbol,o="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),n="FormData"in self,i="ArrayBuffer"in self;if(i)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function h(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function d(t){this.map={},t instanceof d?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function c(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function p(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function y(t){var e=new FileReader,r=p(e);return e.readAsArrayBuffer(t),r}function l(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(t){var r;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:n&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():i&&o&&((r=t)&&DataView.prototype.isPrototypeOf(r))?(this._bodyArrayBuffer=l(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=l(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=c(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?c(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var t,e,r,o=c(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=p(e),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),o=0;o<e.length;o++)r[o]=String.fromCharCode(e[o]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},n&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}d.prototype.append=function(t,e){t=h(t),e=u(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},d.prototype.delete=function(t){delete this.map[h(t)]},d.prototype.get=function(t){return t=h(t),this.has(t)?this.map[t]:null},d.prototype.has=function(t){return this.map.hasOwnProperty(h(t))},d.prototype.set=function(t,e){this.map[h(t)]=u(e)},d.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},d.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),f(t)},d.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),f(t)},d.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),f(t)},r&&(d.prototype[Symbol.iterator]=d.prototype.entries);var m=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(t,e){var r,o,n=(e=e||{}).body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new d(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new d(e.headers)),this.method=(r=e.method||this.method||"GET",o=r.toUpperCase(),m.indexOf(o)>-1?o:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function v(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),o=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(n))}})),e}function E(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new d(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},b.call(w.prototype),b.call(E.prototype),E.prototype.clone=function(){return new E(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},E.error=function(){var t=new E(null,{status:0,statusText:""});return t.type="error",t};var A=[301,302,303,307,308];E.redirect=function(t,e){if(-1===A.indexOf(e))throw new RangeError("Invalid status code");return new E(null,{status:e,headers:{location:t}})},t.DOMException=self.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function _(e,r){return new Promise((function(n,i){var s=new w(e,r);if(s.signal&&s.signal.aborted)return i(new t.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function h(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new d,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),o=r.shift().trim();if(o){var n=r.join(":").trim();e.append(o,n)}})),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new E(o,r))},a.onerror=function(){i(new TypeError("Network request failed"))},a.ontimeout=function(){i(new TypeError("Network request failed"))},a.onabort=function(){i(new t.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&o&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",h),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",h)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}_.polyfill=!0,self.fetch||(self.fetch=_,self.Headers=d,self.Request=w,self.Response=E),t.Headers=d,t.Request=w,t.Response=E,t.fetch=_}({});
+!function (t) {
+  "use strict";
+
+  var e = "URLSearchParams" in self,
+    r = "Symbol" in self && "iterator" in Symbol,
+    o = "FileReader" in self && "Blob" in self && function () {
+      try {
+        return new Blob(), !0;
+      } catch (t) {
+        return !1;
+      }
+    }(),
+    n = "FormData" in self,
+    i = "ArrayBuffer" in self;
+  if (i) var s = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"],
+    a = ArrayBuffer.isView || function (t) {
+      return t && s.indexOf(Object.prototype.toString.call(t)) > -1;
+    };
+  function h(t) {
+    if ("string" != typeof t && (t = String(t)), /[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t)) throw new TypeError("Invalid character in header field name");
+    return t.toLowerCase();
+  }
+  function u(t) {
+    return "string" != typeof t && (t = String(t)), t;
+  }
+  function f(t) {
+    var e = {
+      next: function next() {
+        var e = t.shift();
+        return {
+          done: void 0 === e,
+          value: e
+        };
+      }
+    };
+    return r && (e[Symbol.iterator] = function () {
+      return e;
+    }), e;
+  }
+  function d(t) {
+    this.map = {}, t instanceof d ? t.forEach(function (t, e) {
+      this.append(e, t);
+    }, this) : Array.isArray(t) ? t.forEach(function (t) {
+      this.append(t[0], t[1]);
+    }, this) : t && Object.getOwnPropertyNames(t).forEach(function (e) {
+      this.append(e, t[e]);
+    }, this);
+  }
+  function c(t) {
+    if (t.bodyUsed) return Promise.reject(new TypeError("Already read"));
+    t.bodyUsed = !0;
+  }
+  function p(t) {
+    return new Promise(function (e, r) {
+      t.onload = function () {
+        e(t.result);
+      }, t.onerror = function () {
+        r(t.error);
+      };
+    });
+  }
+  function y(t) {
+    var e = new FileReader(),
+      r = p(e);
+    return e.readAsArrayBuffer(t), r;
+  }
+  function l(t) {
+    if (t.slice) return t.slice(0);
+    var e = new Uint8Array(t.byteLength);
+    return e.set(new Uint8Array(t)), e.buffer;
+  }
+  function b() {
+    return this.bodyUsed = !1, this._initBody = function (t) {
+      var r;
+      this._bodyInit = t, t ? "string" == typeof t ? this._bodyText = t : o && Blob.prototype.isPrototypeOf(t) ? this._bodyBlob = t : n && FormData.prototype.isPrototypeOf(t) ? this._bodyFormData = t : e && URLSearchParams.prototype.isPrototypeOf(t) ? this._bodyText = t.toString() : i && o && (r = t) && DataView.prototype.isPrototypeOf(r) ? (this._bodyArrayBuffer = l(t.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : i && (ArrayBuffer.prototype.isPrototypeOf(t) || a(t)) ? this._bodyArrayBuffer = l(t) : this._bodyText = t = Object.prototype.toString.call(t) : this._bodyText = "", this.headers.get("content-type") || ("string" == typeof t ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : e && URLSearchParams.prototype.isPrototypeOf(t) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
+    }, o && (this.blob = function () {
+      var t = c(this);
+      if (t) return t;
+      if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
+      if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer]));
+      if (this._bodyFormData) throw new Error("could not read FormData body as blob");
+      return Promise.resolve(new Blob([this._bodyText]));
+    }, this.arrayBuffer = function () {
+      return this._bodyArrayBuffer ? c(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(y);
+    }), this.text = function () {
+      var t,
+        e,
+        r,
+        o = c(this);
+      if (o) return o;
+      if (this._bodyBlob) return t = this._bodyBlob, e = new FileReader(), r = p(e), e.readAsText(t), r;
+      if (this._bodyArrayBuffer) return Promise.resolve(function (t) {
+        for (var e = new Uint8Array(t), r = new Array(e.length), o = 0; o < e.length; o++) r[o] = String.fromCharCode(e[o]);
+        return r.join("");
+      }(this._bodyArrayBuffer));
+      if (this._bodyFormData) throw new Error("could not read FormData body as text");
+      return Promise.resolve(this._bodyText);
+    }, n && (this.formData = function () {
+      return this.text().then(v);
+    }), this.json = function () {
+      return this.text().then(JSON.parse);
+    }, this;
+  }
+  d.prototype.append = function (t, e) {
+    t = h(t), e = u(e);
+    var r = this.map[t];
+    this.map[t] = r ? r + ", " + e : e;
+  }, d.prototype.delete = function (t) {
+    delete this.map[h(t)];
+  }, d.prototype.get = function (t) {
+    return t = h(t), this.has(t) ? this.map[t] : null;
+  }, d.prototype.has = function (t) {
+    return this.map.hasOwnProperty(h(t));
+  }, d.prototype.set = function (t, e) {
+    this.map[h(t)] = u(e);
+  }, d.prototype.forEach = function (t, e) {
+    for (var r in this.map) this.map.hasOwnProperty(r) && t.call(e, this.map[r], r, this);
+  }, d.prototype.keys = function () {
+    var t = [];
+    return this.forEach(function (e, r) {
+      t.push(r);
+    }), f(t);
+  }, d.prototype.values = function () {
+    var t = [];
+    return this.forEach(function (e) {
+      t.push(e);
+    }), f(t);
+  }, d.prototype.entries = function () {
+    var t = [];
+    return this.forEach(function (e, r) {
+      t.push([r, e]);
+    }), f(t);
+  }, r && (d.prototype[Symbol.iterator] = d.prototype.entries);
+  var m = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
+  function w(t, e) {
+    var r,
+      o,
+      n = (e = e || {}).body;
+    if (t instanceof w) {
+      if (t.bodyUsed) throw new TypeError("Already read");
+      this.url = t.url, this.credentials = t.credentials, e.headers || (this.headers = new d(t.headers)), this.method = t.method, this.mode = t.mode, this.signal = t.signal, n || null == t._bodyInit || (n = t._bodyInit, t.bodyUsed = !0);
+    } else this.url = String(t);
+    if (this.credentials = e.credentials || this.credentials || "same-origin", !e.headers && this.headers || (this.headers = new d(e.headers)), this.method = (r = e.method || this.method || "GET", o = r.toUpperCase(), m.indexOf(o) > -1 ? o : r), this.mode = e.mode || this.mode || null, this.signal = e.signal || this.signal, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && n) throw new TypeError("Body not allowed for GET or HEAD requests");
+    this._initBody(n);
+  }
+  function v(t) {
+    var e = new FormData();
+    return t.trim().split("&").forEach(function (t) {
+      if (t) {
+        var r = t.split("="),
+          o = r.shift().replace(/\+/g, " "),
+          n = r.join("=").replace(/\+/g, " ");
+        e.append(decodeURIComponent(o), decodeURIComponent(n));
+      }
+    }), e;
+  }
+  function E(t, e) {
+    e || (e = {}), this.type = "default", this.status = void 0 === e.status ? 200 : e.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in e ? e.statusText : "OK", this.headers = new d(e.headers), this.url = e.url || "", this._initBody(t);
+  }
+  w.prototype.clone = function () {
+    return new w(this, {
+      body: this._bodyInit
+    });
+  }, b.call(w.prototype), b.call(E.prototype), E.prototype.clone = function () {
+    return new E(this._bodyInit, {
+      status: this.status,
+      statusText: this.statusText,
+      headers: new d(this.headers),
+      url: this.url
+    });
+  }, E.error = function () {
+    var t = new E(null, {
+      status: 0,
+      statusText: ""
+    });
+    return t.type = "error", t;
+  };
+  var A = [301, 302, 303, 307, 308];
+  E.redirect = function (t, e) {
+    if (-1 === A.indexOf(e)) throw new RangeError("Invalid status code");
+    return new E(null, {
+      status: e,
+      headers: {
+        location: t
+      }
+    });
+  }, t.DOMException = self.DOMException;
+  try {
+    new t.DOMException();
+  } catch (e) {
+    t.DOMException = function (t, e) {
+      this.message = t, this.name = e;
+      var r = Error(t);
+      this.stack = r.stack;
+    }, t.DOMException.prototype = Object.create(Error.prototype), t.DOMException.prototype.constructor = t.DOMException;
+  }
+  function _(e, r) {
+    return new Promise(function (n, i) {
+      var s = new w(e, r);
+      if (s.signal && s.signal.aborted) return i(new t.DOMException("Aborted", "AbortError"));
+      var a = new XMLHttpRequest();
+      function h() {
+        a.abort();
+      }
+      a.onload = function () {
+        var t,
+          e,
+          r = {
+            status: a.status,
+            statusText: a.statusText,
+            headers: (t = a.getAllResponseHeaders() || "", e = new d(), t.replace(/\r?\n[\t ]+/g, " ").split(/\r?\n/).forEach(function (t) {
+              var r = t.split(":"),
+                o = r.shift().trim();
+              if (o) {
+                var n = r.join(":").trim();
+                e.append(o, n);
+              }
+            }), e)
+          };
+        r.url = "responseURL" in a ? a.responseURL : r.headers.get("X-Request-URL");
+        var o = "response" in a ? a.response : a.responseText;
+        n(new E(o, r));
+      }, a.onerror = function () {
+        i(new TypeError("Network request failed"));
+      }, a.ontimeout = function () {
+        i(new TypeError("Network request failed"));
+      }, a.onabort = function () {
+        i(new t.DOMException("Aborted", "AbortError"));
+      }, a.open(s.method, s.url, !0), "include" === s.credentials ? a.withCredentials = !0 : "omit" === s.credentials && (a.withCredentials = !1), "responseType" in a && o && (a.responseType = "blob"), s.headers.forEach(function (t, e) {
+        a.setRequestHeader(e, t);
+      }), s.signal && (s.signal.addEventListener("abort", h), a.onreadystatechange = function () {
+        4 === a.readyState && s.signal.removeEventListener("abort", h);
+      }), a.send(void 0 === s._bodyInit ? null : s._bodyInit);
+    });
+  }
+  _.polyfill = !0, self.fetch || (self.fetch = _, self.Headers = d, self.Request = w, self.Response = E), t.Headers = d, t.Request = w, t.Response = E, t.fetch = _;
+}({});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/polyfills/css-shim.js b/src/public/js/pwa-elements/esm/polyfills/css-shim.js
index e951e2d..2ec828f 100644
--- a/src/public/js/pwa-elements/esm/polyfills/css-shim.js
+++ b/src/public/js/pwa-elements/esm/polyfills/css-shim.js
@@ -1 +1,380 @@
-var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var s in t=arguments[r])Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s]);return e},__assign.apply(this,arguments)},StyleNode=function(){this.start=0,this.end=0,this.previous=null,this.parent=null,this.rules=null,this.parsedCssText="",this.cssText="",this.atRule=!1,this.type=0,this.keyframesName="",this.selector="",this.parsedSelector=""};function parse(e){return parseCss(lex(e=clean(e)),e)}function clean(e){return e.replace(RX.comments,"").replace(RX.port,"")}function lex(e){var t=new StyleNode;t.start=0,t.end=e.length;for(var r=t,n=0,s=e.length;n<s;n++)if(e[n]===OPEN_BRACE){r.rules||(r.rules=[]);var o=r,a=o.rules[o.rules.length-1]||null;(r=new StyleNode).start=n+1,r.parent=o,r.previous=a,o.rules.push(r)}else e[n]===CLOSE_BRACE&&(r.end=n+1,r=r.parent||t);return t}function parseCss(e,t){var r=t.substring(e.start,e.end-1);if(e.parsedCssText=e.cssText=r.trim(),e.parent){var n=e.previous?e.previous.end:e.parent.start;r=(r=(r=_expandUnicodeEscapes(r=t.substring(n,e.start-1))).replace(RX.multipleSpaces," ")).substring(r.lastIndexOf(";")+1);var s=e.parsedSelector=e.selector=r.trim();e.atRule=0===s.indexOf(AT_START),e.atRule?0===s.indexOf(MEDIA_START)?e.type=types.MEDIA_RULE:s.match(RX.keyframesRule)&&(e.type=types.KEYFRAMES_RULE,e.keyframesName=e.selector.split(RX.multipleSpaces).pop()):0===s.indexOf(VAR_START)?e.type=types.MIXIN_RULE:e.type=types.STYLE_RULE}var o=e.rules;if(o)for(var a=0,i=o.length,l=void 0;a<i&&(l=o[a]);a++)parseCss(l,t);return e}function _expandUnicodeEscapes(e){return e.replace(/\\([0-9a-f]{1,6})\s/gi,(function(){for(var e=arguments[1],t=6-e.length;t--;)e="0"+e;return"\\"+e}))}var types={STYLE_RULE:1,KEYFRAMES_RULE:7,MEDIA_RULE:4,MIXIN_RULE:1e3},OPEN_BRACE="{",CLOSE_BRACE="}",RX={comments:/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,port:/@import[^;]*;/gim,customProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,mixinProp:/(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,mixinApply:/@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,varApply:/[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,keyframesRule:/^@[^\s]*keyframes/,multipleSpaces:/\s+/g},VAR_START="--",MEDIA_START="@media",AT_START="@",VAR_USAGE_START=/\bvar\(/,VAR_ASSIGN_START=/\B--[\w-]+\s*:/,COMMENTS=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,TRAILING_LINES=/^[\t ]+\n/gm;function findRegex(e,t,r){e.lastIndex=0;var n=t.substring(r).match(e);if(n){var s=r+n.index;return{start:s,end:s+n[0].length}}return null}function resolveVar(e,t,r){return e[t]?e[t]:r?executeTemplate(r,e):""}function findVarEndIndex(e,t){for(var r=0,n=t;n<e.length;n++){var s=e[n];if("("===s)r++;else if(")"===s&&--r<=0)return n+1}return n}function parseVar(e,t){var r=findRegex(VAR_USAGE_START,e,t);if(!r)return null;var n=findVarEndIndex(e,r.start),s=e.substring(r.end,n-1).split(","),o=s[0],a=s.slice(1);return{start:r.start,end:n,propName:o.trim(),fallback:a.length>0?a.join(",").trim():void 0}}function compileVar(e,t,r){var n=parseVar(e,r);if(!n)return t.push(e.substring(r,e.length)),e.length;var s=n.propName,o=null!=n.fallback?compileTemplate(n.fallback):void 0;return t.push(e.substring(r,n.start),(function(e){return resolveVar(e,s,o)})),n.end}function executeTemplate(e,t){for(var r="",n=0;n<e.length;n++){var s=e[n];r+="string"==typeof s?s:s(t)}return r}function findEndValue(e,t){for(var r=!1,n=!1,s=t;s<e.length;s++){var o=e[s];if(r)n&&'"'===o&&(r=!1),n||"'"!==o||(r=!1);else if('"'===o)r=!0,n=!0;else if("'"===o)r=!0,n=!1;else{if(";"===o)return s+1;if("}"===o)return s}}return s}function removeCustomAssigns(e){for(var t="",r=0;;){var n=findRegex(VAR_ASSIGN_START,e,r),s=n?n.start:e.length;if(t+=e.substring(r,s),!n)break;r=findEndValue(e,s)}return t}function compileTemplate(e){var t=0;e=removeCustomAssigns(e=e.replace(COMMENTS,"")).replace(TRAILING_LINES,"");for(var r=[];t<e.length;)t=compileVar(e,r,t);return r}function resolveValues(e){var t={};e.forEach((function(e){e.declarations.forEach((function(e){t[e.prop]=e.value}))}));for(var r={},n=Object.entries(t),s=function(e){var t=!1;if(n.forEach((function(e){var n=e[0],s=executeTemplate(e[1],r);s!==r[n]&&(r[n]=s,t=!0)})),!t)return"break"},o=0;o<10;o++){if("break"===s())break}return r}function getSelectors(e,t){if(void 0===t&&(t=0),!e.rules)return[];var r=[];return e.rules.filter((function(e){return e.type===types.STYLE_RULE})).forEach((function(e){var n=getDeclarations(e.cssText);n.length>0&&e.parsedSelector.split(",").forEach((function(e){e=e.trim(),r.push({selector:e,declarations:n,specificity:computeSpecificity(),nu:t})})),t++})),r}function computeSpecificity(e){return 1}var IMPORTANT="!important",FIND_DECLARATIONS=/(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gm;function getDeclarations(e){for(var t,r=[];t=FIND_DECLARATIONS.exec(e.trim());){var n=normalizeValue(t[2]),s=n.value,o=n.important;r.push({prop:t[1].trim(),value:compileTemplate(s),important:o})}return r}function normalizeValue(e){var t=(e=e.replace(/\s+/gim," ").trim()).endsWith(IMPORTANT);return t&&(e=e.slice(0,e.length-IMPORTANT.length).trim()),{value:e,important:t}}function getActiveSelectors(e,t,r){var n=[],s=getScopesForElement(t,e);return r.forEach((function(e){return n.push(e)})),s.forEach((function(e){return n.push(e)})),sortSelectors(getSelectorsForScopes(n).filter((function(t){return matches(e,t.selector)})))}function getScopesForElement(e,t){for(var r=[];t;){var n=e.get(t);n&&r.push(n),t=t.parentElement}return r}function getSelectorsForScopes(e){var t=[];return e.forEach((function(e){t.push.apply(t,e.selectors)})),t}function sortSelectors(e){return e.sort((function(e,t){return e.specificity===t.specificity?e.nu-t.nu:e.specificity-t.specificity})),e}function matches(e,t){return":root"===t||"html"===t||e.matches(t)}function parseCSS(e){var t=parse(e),r=compileTemplate(e);return{original:e,template:r,selectors:getSelectors(t),usesCssVars:r.length>1}}function addGlobalStyle(e,t){if(e.some((function(e){return e.styleEl===t})))return!1;var r=parseCSS(t.textContent);return r.styleEl=t,e.push(r),!0}function updateGlobalScopes(e){var t=resolveValues(getSelectorsForScopes(e));e.forEach((function(e){e.usesCssVars&&(e.styleEl.textContent=executeTemplate(e.template,t))}))}function reScope(e,t){var r=e.template.map((function(r){return"string"==typeof r?replaceScope(r,e.scopeId,t):r})),n=e.selectors.map((function(r){return __assign(__assign({},r),{selector:replaceScope(r.selector,e.scopeId,t)})}));return __assign(__assign({},e),{template:r,selectors:n,scopeId:t})}function replaceScope(e,t,r){return e=replaceAll(e,"\\.".concat(t),".".concat(r))}function replaceAll(e,t,r){return e.replace(new RegExp(t,"g"),r)}function loadDocument(e,t){return loadDocumentStyles(e,t),loadDocumentLinks(e,t).then((function(){updateGlobalScopes(t)}))}function startWatcher(e,t){"undefined"!=typeof MutationObserver&&new MutationObserver((function(){loadDocumentStyles(e,t)&&updateGlobalScopes(t)})).observe(document.head,{childList:!0})}function loadDocumentLinks(e,t){for(var r=[],n=e.querySelectorAll('link[rel="stylesheet"][href]:not([data-no-shim])'),s=0;s<n.length;s++)r.push(addGlobalLink(e,t,n[s]));return Promise.all(r)}function loadDocumentStyles(e,t){return Array.from(e.querySelectorAll("style:not([data-styles]):not([data-no-shim])")).map((function(e){return addGlobalStyle(t,e)})).some(Boolean)}function addGlobalLink(e,t,r){var n=r.href;return fetch(n).then((function(e){return e.text()})).then((function(s){if(hasCssVariables(s)&&r.parentNode){hasRelativeUrls(s)&&(s=fixRelativeUrls(s,n));var o=e.createElement("style");o.setAttribute("data-styles",""),o.textContent=s,addGlobalStyle(t,o),r.parentNode.insertBefore(o,r),r.remove()}})).catch((function(e){console.error(e)}))}var CSS_VARIABLE_REGEXP=/[\s;{]--[-a-zA-Z0-9]+\s*:/m;function hasCssVariables(e){return e.indexOf("var(")>-1||CSS_VARIABLE_REGEXP.test(e)}var CSS_URL_REGEXP=/url[\s]*\([\s]*['"]?(?!(?:https?|data)\:|\/)([^\'\"\)]*)[\s]*['"]?\)[\s]*/gim;function hasRelativeUrls(e){return CSS_URL_REGEXP.lastIndex=0,CSS_URL_REGEXP.test(e)}function fixRelativeUrls(e,t){var r=t.replace(/[^/]*$/,"");return e.replace(CSS_URL_REGEXP,(function(e,t){var n=r+t;return e.replace(t,n)}))}var CustomStyle=function(){function e(e,t){this.win=e,this.doc=t,this.count=0,this.hostStyleMap=new WeakMap,this.hostScopeMap=new WeakMap,this.globalScopes=[],this.scopesMap=new Map,this.didInit=!1}return e.prototype.i=function(){var e=this;return this.didInit||!this.win.requestAnimationFrame?Promise.resolve():(this.didInit=!0,new Promise((function(t){e.win.requestAnimationFrame((function(){startWatcher(e.doc,e.globalScopes),loadDocument(e.doc,e.globalScopes).then((function(){return t()}))}))})))},e.prototype.addLink=function(e){var t=this;return addGlobalLink(this.doc,this.globalScopes,e).then((function(){t.updateGlobal()}))},e.prototype.addGlobalStyle=function(e){addGlobalStyle(this.globalScopes,e)&&this.updateGlobal()},e.prototype.createHostStyle=function(e,t,r,n){if(this.hostScopeMap.has(e))throw new Error("host style already created");var s=this.registerHostTemplate(r,t,n),o=this.doc.createElement("style");return o.setAttribute("data-no-shim",""),s.usesCssVars?n?(o["s-sc"]=t="".concat(s.scopeId,"-").concat(this.count),o.textContent="/*needs update*/",this.hostStyleMap.set(e,o),this.hostScopeMap.set(e,reScope(s,t)),this.count++):(s.styleEl=o,s.usesCssVars||(o.textContent=executeTemplate(s.template,{})),this.globalScopes.push(s),this.updateGlobal(),this.hostScopeMap.set(e,s)):o.textContent=r,o},e.prototype.removeHost=function(e){var t=this.hostStyleMap.get(e);t&&t.remove(),this.hostStyleMap.delete(e),this.hostScopeMap.delete(e)},e.prototype.updateHost=function(e){var t=this.hostScopeMap.get(e);if(t&&t.usesCssVars&&t.isScoped){var r=this.hostStyleMap.get(e);if(r){var n=resolveValues(getActiveSelectors(e,this.hostScopeMap,this.globalScopes));r.textContent=executeTemplate(t.template,n)}}},e.prototype.updateGlobal=function(){updateGlobalScopes(this.globalScopes)},e.prototype.registerHostTemplate=function(e,t,r){var n=this.scopesMap.get(t);return n||((n=parseCSS(e)).scopeId=t,n.isScoped=r,this.scopesMap.set(t,n)),n},e}();!function(e){!e||e.__cssshim||e.CSS&&e.CSS.supports&&e.CSS.supports("color","var(--c)")||(e.__cssshim=new CustomStyle(e,e.document))}("undefined"!=typeof window&&window);
\ No newline at end of file
+var __assign = this && this.__assign || function () {
+    return __assign = Object.assign || function (e) {
+      for (var t, r = 1, n = arguments.length; r < n; r++) for (var s in t = arguments[r]) Object.prototype.hasOwnProperty.call(t, s) && (e[s] = t[s]);
+      return e;
+    }, __assign.apply(this, arguments);
+  },
+  StyleNode = function StyleNode() {
+    this.start = 0, this.end = 0, this.previous = null, this.parent = null, this.rules = null, this.parsedCssText = "", this.cssText = "", this.atRule = !1, this.type = 0, this.keyframesName = "", this.selector = "", this.parsedSelector = "";
+  };
+function parse(e) {
+  return parseCss(lex(e = clean(e)), e);
+}
+function clean(e) {
+  return e.replace(RX.comments, "").replace(RX.port, "");
+}
+function lex(e) {
+  var t = new StyleNode();
+  t.start = 0, t.end = e.length;
+  for (var r = t, n = 0, s = e.length; n < s; n++) if (e[n] === OPEN_BRACE) {
+    r.rules || (r.rules = []);
+    var o = r,
+      a = o.rules[o.rules.length - 1] || null;
+    (r = new StyleNode()).start = n + 1, r.parent = o, r.previous = a, o.rules.push(r);
+  } else e[n] === CLOSE_BRACE && (r.end = n + 1, r = r.parent || t);
+  return t;
+}
+function parseCss(e, t) {
+  var r = t.substring(e.start, e.end - 1);
+  if (e.parsedCssText = e.cssText = r.trim(), e.parent) {
+    var n = e.previous ? e.previous.end : e.parent.start;
+    r = (r = (r = _expandUnicodeEscapes(r = t.substring(n, e.start - 1))).replace(RX.multipleSpaces, " ")).substring(r.lastIndexOf(";") + 1);
+    var s = e.parsedSelector = e.selector = r.trim();
+    e.atRule = 0 === s.indexOf(AT_START), e.atRule ? 0 === s.indexOf(MEDIA_START) ? e.type = types.MEDIA_RULE : s.match(RX.keyframesRule) && (e.type = types.KEYFRAMES_RULE, e.keyframesName = e.selector.split(RX.multipleSpaces).pop()) : 0 === s.indexOf(VAR_START) ? e.type = types.MIXIN_RULE : e.type = types.STYLE_RULE;
+  }
+  var o = e.rules;
+  if (o) for (var a = 0, i = o.length, l = void 0; a < i && (l = o[a]); a++) parseCss(l, t);
+  return e;
+}
+function _expandUnicodeEscapes(e) {
+  return e.replace(/\\([0-9a-f]{1,6})\s/gi, function () {
+    for (var e = arguments[1], t = 6 - e.length; t--;) e = "0" + e;
+    return "\\" + e;
+  });
+}
+var types = {
+    STYLE_RULE: 1,
+    KEYFRAMES_RULE: 7,
+    MEDIA_RULE: 4,
+    MIXIN_RULE: 1e3
+  },
+  OPEN_BRACE = "{",
+  CLOSE_BRACE = "}",
+  RX = {
+    comments: /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,
+    port: /@import[^;]*;/gim,
+    customProp: /(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?(?:[;\n]|$)/gim,
+    mixinProp: /(?:^[^;\-\s}]+)?--[^;{}]*?:[^{};]*?{[^}]*?}(?:[;\n]|$)?/gim,
+    mixinApply: /@apply\s*\(?[^);]*\)?\s*(?:[;\n]|$)?/gim,
+    varApply: /[^;:]*?:[^;]*?var\([^;]*\)(?:[;\n]|$)?/gim,
+    keyframesRule: /^@[^\s]*keyframes/,
+    multipleSpaces: /\s+/g
+  },
+  VAR_START = "--",
+  MEDIA_START = "@media",
+  AT_START = "@",
+  VAR_USAGE_START = /\bvar\(/,
+  VAR_ASSIGN_START = /\B--[\w-]+\s*:/,
+  COMMENTS = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//gim,
+  TRAILING_LINES = /^[\t ]+\n/gm;
+function findRegex(e, t, r) {
+  e.lastIndex = 0;
+  var n = t.substring(r).match(e);
+  if (n) {
+    var s = r + n.index;
+    return {
+      start: s,
+      end: s + n[0].length
+    };
+  }
+  return null;
+}
+function resolveVar(e, t, r) {
+  return e[t] ? e[t] : r ? executeTemplate(r, e) : "";
+}
+function findVarEndIndex(e, t) {
+  for (var r = 0, n = t; n < e.length; n++) {
+    var s = e[n];
+    if ("(" === s) r++;else if (")" === s && --r <= 0) return n + 1;
+  }
+  return n;
+}
+function parseVar(e, t) {
+  var r = findRegex(VAR_USAGE_START, e, t);
+  if (!r) return null;
+  var n = findVarEndIndex(e, r.start),
+    s = e.substring(r.end, n - 1).split(","),
+    o = s[0],
+    a = s.slice(1);
+  return {
+    start: r.start,
+    end: n,
+    propName: o.trim(),
+    fallback: a.length > 0 ? a.join(",").trim() : void 0
+  };
+}
+function compileVar(e, t, r) {
+  var n = parseVar(e, r);
+  if (!n) return t.push(e.substring(r, e.length)), e.length;
+  var s = n.propName,
+    o = null != n.fallback ? compileTemplate(n.fallback) : void 0;
+  return t.push(e.substring(r, n.start), function (e) {
+    return resolveVar(e, s, o);
+  }), n.end;
+}
+function executeTemplate(e, t) {
+  for (var r = "", n = 0; n < e.length; n++) {
+    var s = e[n];
+    r += "string" == typeof s ? s : s(t);
+  }
+  return r;
+}
+function findEndValue(e, t) {
+  for (var r = !1, n = !1, s = t; s < e.length; s++) {
+    var o = e[s];
+    if (r) n && '"' === o && (r = !1), n || "'" !== o || (r = !1);else if ('"' === o) r = !0, n = !0;else if ("'" === o) r = !0, n = !1;else {
+      if (";" === o) return s + 1;
+      if ("}" === o) return s;
+    }
+  }
+  return s;
+}
+function removeCustomAssigns(e) {
+  for (var t = "", r = 0;;) {
+    var n = findRegex(VAR_ASSIGN_START, e, r),
+      s = n ? n.start : e.length;
+    if (t += e.substring(r, s), !n) break;
+    r = findEndValue(e, s);
+  }
+  return t;
+}
+function compileTemplate(e) {
+  var t = 0;
+  e = removeCustomAssigns(e = e.replace(COMMENTS, "")).replace(TRAILING_LINES, "");
+  for (var r = []; t < e.length;) t = compileVar(e, r, t);
+  return r;
+}
+function resolveValues(e) {
+  var t = {};
+  e.forEach(function (e) {
+    e.declarations.forEach(function (e) {
+      t[e.prop] = e.value;
+    });
+  });
+  for (var r = {}, n = Object.entries(t), s = function s(e) {
+      var t = !1;
+      if (n.forEach(function (e) {
+        var n = e[0],
+          s = executeTemplate(e[1], r);
+        s !== r[n] && (r[n] = s, t = !0);
+      }), !t) return "break";
+    }, o = 0; o < 10; o++) {
+    if ("break" === s()) break;
+  }
+  return r;
+}
+function getSelectors(e, t) {
+  if (void 0 === t && (t = 0), !e.rules) return [];
+  var r = [];
+  return e.rules.filter(function (e) {
+    return e.type === types.STYLE_RULE;
+  }).forEach(function (e) {
+    var n = getDeclarations(e.cssText);
+    n.length > 0 && e.parsedSelector.split(",").forEach(function (e) {
+      e = e.trim(), r.push({
+        selector: e,
+        declarations: n,
+        specificity: computeSpecificity(),
+        nu: t
+      });
+    }), t++;
+  }), r;
+}
+function computeSpecificity(e) {
+  return 1;
+}
+var IMPORTANT = "!important",
+  FIND_DECLARATIONS = /(?:^|[;\s{]\s*)(--[\w-]*?)\s*:\s*(?:((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};{])+)|\{([^}]*)\}(?:(?=[;\s}])|$))/gm;
+function getDeclarations(e) {
+  for (var t, r = []; t = FIND_DECLARATIONS.exec(e.trim());) {
+    var n = normalizeValue(t[2]),
+      s = n.value,
+      o = n.important;
+    r.push({
+      prop: t[1].trim(),
+      value: compileTemplate(s),
+      important: o
+    });
+  }
+  return r;
+}
+function normalizeValue(e) {
+  var t = (e = e.replace(/\s+/gim, " ").trim()).endsWith(IMPORTANT);
+  return t && (e = e.slice(0, e.length - IMPORTANT.length).trim()), {
+    value: e,
+    important: t
+  };
+}
+function getActiveSelectors(e, t, r) {
+  var n = [],
+    s = getScopesForElement(t, e);
+  return r.forEach(function (e) {
+    return n.push(e);
+  }), s.forEach(function (e) {
+    return n.push(e);
+  }), sortSelectors(getSelectorsForScopes(n).filter(function (t) {
+    return matches(e, t.selector);
+  }));
+}
+function getScopesForElement(e, t) {
+  for (var r = []; t;) {
+    var n = e.get(t);
+    n && r.push(n), t = t.parentElement;
+  }
+  return r;
+}
+function getSelectorsForScopes(e) {
+  var t = [];
+  return e.forEach(function (e) {
+    t.push.apply(t, e.selectors);
+  }), t;
+}
+function sortSelectors(e) {
+  return e.sort(function (e, t) {
+    return e.specificity === t.specificity ? e.nu - t.nu : e.specificity - t.specificity;
+  }), e;
+}
+function matches(e, t) {
+  return ":root" === t || "html" === t || e.matches(t);
+}
+function parseCSS(e) {
+  var t = parse(e),
+    r = compileTemplate(e);
+  return {
+    original: e,
+    template: r,
+    selectors: getSelectors(t),
+    usesCssVars: r.length > 1
+  };
+}
+function addGlobalStyle(e, t) {
+  if (e.some(function (e) {
+    return e.styleEl === t;
+  })) return !1;
+  var r = parseCSS(t.textContent);
+  return r.styleEl = t, e.push(r), !0;
+}
+function updateGlobalScopes(e) {
+  var t = resolveValues(getSelectorsForScopes(e));
+  e.forEach(function (e) {
+    e.usesCssVars && (e.styleEl.textContent = executeTemplate(e.template, t));
+  });
+}
+function reScope(e, t) {
+  var r = e.template.map(function (r) {
+      return "string" == typeof r ? replaceScope(r, e.scopeId, t) : r;
+    }),
+    n = e.selectors.map(function (r) {
+      return __assign(__assign({}, r), {
+        selector: replaceScope(r.selector, e.scopeId, t)
+      });
+    });
+  return __assign(__assign({}, e), {
+    template: r,
+    selectors: n,
+    scopeId: t
+  });
+}
+function replaceScope(e, t, r) {
+  return e = replaceAll(e, "\\.".concat(t), ".".concat(r));
+}
+function replaceAll(e, t, r) {
+  return e.replace(new RegExp(t, "g"), r);
+}
+function loadDocument(e, t) {
+  return loadDocumentStyles(e, t), loadDocumentLinks(e, t).then(function () {
+    updateGlobalScopes(t);
+  });
+}
+function startWatcher(e, t) {
+  "undefined" != typeof MutationObserver && new MutationObserver(function () {
+    loadDocumentStyles(e, t) && updateGlobalScopes(t);
+  }).observe(document.head, {
+    childList: !0
+  });
+}
+function loadDocumentLinks(e, t) {
+  for (var r = [], n = e.querySelectorAll('link[rel="stylesheet"][href]:not([data-no-shim])'), s = 0; s < n.length; s++) r.push(addGlobalLink(e, t, n[s]));
+  return Promise.all(r);
+}
+function loadDocumentStyles(e, t) {
+  return Array.from(e.querySelectorAll("style:not([data-styles]):not([data-no-shim])")).map(function (e) {
+    return addGlobalStyle(t, e);
+  }).some(Boolean);
+}
+function addGlobalLink(e, t, r) {
+  var n = r.href;
+  return fetch(n).then(function (e) {
+    return e.text();
+  }).then(function (s) {
+    if (hasCssVariables(s) && r.parentNode) {
+      hasRelativeUrls(s) && (s = fixRelativeUrls(s, n));
+      var o = e.createElement("style");
+      o.setAttribute("data-styles", ""), o.textContent = s, addGlobalStyle(t, o), r.parentNode.insertBefore(o, r), r.remove();
+    }
+  }).catch(function (e) {
+    console.error(e);
+  });
+}
+var CSS_VARIABLE_REGEXP = /[\s;{]--[-a-zA-Z0-9]+\s*:/m;
+function hasCssVariables(e) {
+  return e.indexOf("var(") > -1 || CSS_VARIABLE_REGEXP.test(e);
+}
+var CSS_URL_REGEXP = /url[\s]*\([\s]*['"]?(?!(?:https?|data)\:|\/)([^\'\"\)]*)[\s]*['"]?\)[\s]*/gim;
+function hasRelativeUrls(e) {
+  return CSS_URL_REGEXP.lastIndex = 0, CSS_URL_REGEXP.test(e);
+}
+function fixRelativeUrls(e, t) {
+  var r = t.replace(/[^/]*$/, "");
+  return e.replace(CSS_URL_REGEXP, function (e, t) {
+    var n = r + t;
+    return e.replace(t, n);
+  });
+}
+var CustomStyle = function () {
+  function e(e, t) {
+    this.win = e, this.doc = t, this.count = 0, this.hostStyleMap = new WeakMap(), this.hostScopeMap = new WeakMap(), this.globalScopes = [], this.scopesMap = new Map(), this.didInit = !1;
+  }
+  return e.prototype.i = function () {
+    var e = this;
+    return this.didInit || !this.win.requestAnimationFrame ? Promise.resolve() : (this.didInit = !0, new Promise(function (t) {
+      e.win.requestAnimationFrame(function () {
+        startWatcher(e.doc, e.globalScopes), loadDocument(e.doc, e.globalScopes).then(function () {
+          return t();
+        });
+      });
+    }));
+  }, e.prototype.addLink = function (e) {
+    var t = this;
+    return addGlobalLink(this.doc, this.globalScopes, e).then(function () {
+      t.updateGlobal();
+    });
+  }, e.prototype.addGlobalStyle = function (e) {
+    addGlobalStyle(this.globalScopes, e) && this.updateGlobal();
+  }, e.prototype.createHostStyle = function (e, t, r, n) {
+    if (this.hostScopeMap.has(e)) throw new Error("host style already created");
+    var s = this.registerHostTemplate(r, t, n),
+      o = this.doc.createElement("style");
+    return o.setAttribute("data-no-shim", ""), s.usesCssVars ? n ? (o["s-sc"] = t = "".concat(s.scopeId, "-").concat(this.count), o.textContent = "/*needs update*/", this.hostStyleMap.set(e, o), this.hostScopeMap.set(e, reScope(s, t)), this.count++) : (s.styleEl = o, s.usesCssVars || (o.textContent = executeTemplate(s.template, {})), this.globalScopes.push(s), this.updateGlobal(), this.hostScopeMap.set(e, s)) : o.textContent = r, o;
+  }, e.prototype.removeHost = function (e) {
+    var t = this.hostStyleMap.get(e);
+    t && t.remove(), this.hostStyleMap.delete(e), this.hostScopeMap.delete(e);
+  }, e.prototype.updateHost = function (e) {
+    var t = this.hostScopeMap.get(e);
+    if (t && t.usesCssVars && t.isScoped) {
+      var r = this.hostStyleMap.get(e);
+      if (r) {
+        var n = resolveValues(getActiveSelectors(e, this.hostScopeMap, this.globalScopes));
+        r.textContent = executeTemplate(t.template, n);
+      }
+    }
+  }, e.prototype.updateGlobal = function () {
+    updateGlobalScopes(this.globalScopes);
+  }, e.prototype.registerHostTemplate = function (e, t, r) {
+    var n = this.scopesMap.get(t);
+    return n || ((n = parseCSS(e)).scopeId = t, n.isScoped = r, this.scopesMap.set(t, n)), n;
+  }, e;
+}();
+!function (e) {
+  !e || e.__cssshim || e.CSS && e.CSS.supports && e.CSS.supports("color", "var(--c)") || (e.__cssshim = new CustomStyle(e, e.document));
+}("undefined" != typeof window && window);
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/polyfills/dom.js b/src/public/js/pwa-elements/esm/polyfills/dom.js
index e5b2981..828611a 100644
--- a/src/public/js/pwa-elements/esm/polyfills/dom.js
+++ b/src/public/js/pwa-elements/esm/polyfills/dom.js
@@ -1,4 +1,4 @@
-(function(){
+(function () {
   /*
     Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
     This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
@@ -7,73 +7,825 @@
     Code distributed by Google as part of the polymer project is also
     subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
   */
-  'use strict';var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function g(a){var b=aa.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function l(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))}
-  function n(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}
-  function p(a,b,d){d=void 0===d?new Set:d;for(var c=a;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)p(c,b,d);c=n(a,e);continue}else if("template"===f){c=n(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)p(e,b,d)}c=c.firstChild?c.firstChild:n(a,c)}}function r(a,b,d){a[b]=d};function u(){this.a=new Map;this.g=new Map;this.c=[];this.f=[];this.b=!1}function ba(a,b,d){a.a.set(b,d);a.g.set(d.constructorFunction,d)}function ca(a,b){a.b=!0;a.c.push(b)}function da(a,b){a.b=!0;a.f.push(b)}function v(a,b){a.b&&p(b,function(b){return w(a,b)})}function w(a,b){if(a.b&&!b.__CE_patched){b.__CE_patched=!0;for(var d=0;d<a.c.length;d++)a.c[d](b);for(d=0;d<a.f.length;d++)a.f[d](b)}}
-  function x(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state?a.connectedCallback(c):y(a,c)}}function z(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state&&a.disconnectedCallback(c)}}
-  function A(a,b,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.i||function(b){return y(a,b)},f=[];p(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var d=b.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&"complete"===d.readyState?d.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var d=b.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);A(a,d,{u:f,i:e})}})}else f.push(b)},c);if(a.b)for(b=
-  0;b<f.length;b++)w(a,f[b]);for(b=0;b<f.length;b++)e(f[b])}
-  function y(a,b){if(void 0===b.__CE_state){var d=b.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=a.a.get(b.localName)){d.constructionStack.push(b);var c=d.constructorFunction;try{try{if(new c!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{d.constructionStack.pop()}}catch(t){throw b.__CE_state=2,t;}b.__CE_state=1;b.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c<d.length;c++){var e=
-  d[c],f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}l(b)&&a.connectedCallback(b)}}}u.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};u.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)};
-  u.prototype.attributeChangedCallback=function(a,b,d,c,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,d,c,e)};function B(a){var b=document;this.c=a;this.a=b;this.b=void 0;A(this.c,this.a);"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function C(a){a.b&&a.b.disconnect()}B.prototype.f=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||C(this);for(b=0;b<a.length;b++)for(var d=a[b].addedNodes,c=0;c<d.length;c++)A(this.c,d[c])};function ea(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}function D(a){if(a.a)throw Error("Already resolved.");a.a=void 0;a.b&&a.b(void 0)};function E(a){this.c=!1;this.a=a;this.j=new Map;this.f=function(b){return b()};this.b=!1;this.g=[];this.o=new B(a)}
-  E.prototype.l=function(a,b){var d=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!g(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.a.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var c=function(b){var a=e[b];if(void 0!==a&&!(a instanceof Function))throw Error("The '"+b+"' callback must be a function.");
-  return a},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=c("connectedCallback");var t=c("disconnectedCallback");var k=c("adoptedCallback");var h=c("attributeChangedCallback");var m=b.observedAttributes||[]}catch(q){return}finally{this.c=!1}b={localName:a,constructorFunction:b,connectedCallback:f,disconnectedCallback:t,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:m,constructionStack:[]};ba(this.a,
-  a,b);this.g.push(b);this.b||(this.b=!0,this.f(function(){return fa(d)}))};E.prototype.i=function(a){A(this.a,a)};
-  function fa(a){if(!1!==a.b){a.b=!1;for(var b=a.g,d=[],c=new Map,e=0;e<b.length;e++)c.set(b[e].localName,[]);A(a.a,document,{i:function(b){if(void 0===b.__CE_state){var e=b.localName,f=c.get(e);f?f.push(b):a.a.a.get(e)&&d.push(b)}}});for(e=0;e<d.length;e++)y(a.a,d[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=c.get(f.localName);for(var t=0;t<f.length;t++)y(a.a,f[t]);(e=a.j.get(e))&&D(e)}}}E.prototype.get=function(a){if(a=this.a.a.get(a))return a.constructorFunction};
-  E.prototype.m=function(a){if(!g(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.j.get(a);if(b)return b.c;b=new ea;this.j.set(a,b);this.a.a.get(a)&&!this.g.some(function(b){return b.localName===a})&&D(b);return b.c};E.prototype.s=function(a){C(this.o);var b=this.f;this.f=function(d){return a(function(){return b(d)})}};window.CustomElementRegistry=E;E.prototype.define=E.prototype.l;E.prototype.upgrade=E.prototype.i;E.prototype.get=E.prototype.get;
-  E.prototype.whenDefined=E.prototype.m;E.prototype.polyfillWrapFlushCallback=E.prototype.s;var F=window.Document.prototype.createElement,G=window.Document.prototype.createElementNS,ha=window.Document.prototype.importNode,ia=window.Document.prototype.prepend,ja=window.Document.prototype.append,ka=window.DocumentFragment.prototype.prepend,la=window.DocumentFragment.prototype.append,H=window.Node.prototype.cloneNode,I=window.Node.prototype.appendChild,J=window.Node.prototype.insertBefore,K=window.Node.prototype.removeChild,L=window.Node.prototype.replaceChild,M=Object.getOwnPropertyDescriptor(window.Node.prototype,
-  "textContent"),N=window.Element.prototype.attachShadow,O=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),P=window.Element.prototype.getAttribute,Q=window.Element.prototype.setAttribute,R=window.Element.prototype.removeAttribute,S=window.Element.prototype.getAttributeNS,T=window.Element.prototype.setAttributeNS,U=window.Element.prototype.removeAttributeNS,ma=window.Element.prototype.insertAdjacentElement,na=window.Element.prototype.insertAdjacentHTML,oa=window.Element.prototype.prepend,
-  pa=window.Element.prototype.append,V=window.Element.prototype.before,qa=window.Element.prototype.after,ra=window.Element.prototype.replaceWith,sa=window.Element.prototype.remove,ta=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),ua=window.HTMLElement.prototype.insertAdjacentElement,va=window.HTMLElement.prototype.insertAdjacentHTML;var wa=new function(){};function xa(){var a=X;window.HTMLElement=function(){function b(){var b=this.constructor,c=a.g.get(b);if(!c)throw Error("The custom element being constructed was not registered with `customElements`.");var e=c.constructionStack;if(0===e.length)return e=F.call(document,c.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=c,w(a,e),e;c=e.length-1;var f=e[c];if(f===wa)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
-  e[c]=wa;Object.setPrototypeOf(f,b.prototype);w(a,f);return f}b.prototype=ta.prototype;Object.defineProperty(b.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:b});return b}()};function Y(a,b,d){function c(b){return function(d){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],m=0;m<e.length;m++){var q=e[m];q instanceof Element&&l(q)&&f.push(q);if(q instanceof DocumentFragment)for(q=q.firstChild;q;q=q.nextSibling)c.push(q);else c.push(q)}b.apply(this,e);for(e=0;e<f.length;e++)z(a,f[e]);if(l(this))for(e=0;e<c.length;e++)f=c[e],f instanceof Element&&x(a,f)}}void 0!==d.h&&(b.prepend=c(d.h));void 0!==d.append&&(b.append=c(d.append))};function ya(){var a=X;r(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var d=a.a.get(b);if(d)return new d.constructorFunction}b=F.call(this,b);w(a,b);return b});r(Document.prototype,"importNode",function(b,d){b=ha.call(this,b,!!d);this.__CE_hasRegistry?A(a,b):v(a,b);return b});r(Document.prototype,"createElementNS",function(b,d){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var c=a.a.get(d);if(c)return new c.constructorFunction}b=G.call(this,b,
-  d);w(a,b);return b});Y(a,Document.prototype,{h:ia,append:ja})};function za(){function a(a,c){Object.defineProperty(a,"textContent",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(a){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,a);else{var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0<k&&l(this)){d=Array(k);for(var h=0;h<k;h++)d[h]=e[h]}}c.set.call(this,a);if(d)for(a=0;a<d.length;a++)z(b,d[a])}}})}var b=X;r(Node.prototype,"insertBefore",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);
-  a=J.call(this,a,c);if(l(this))for(c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);c=J.call(this,a,c);e&&z(b,a);l(this)&&x(b,a);return c});r(Node.prototype,"appendChild",function(a){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);a=I.call(this,a);if(l(this))for(var e=0;e<c.length;e++)x(b,c[e]);return a}c=l(a);e=I.call(this,a);c&&z(b,a);l(this)&&x(b,a);return e});r(Node.prototype,"cloneNode",function(a){a=H.call(this,!!a);this.ownerDocument.__CE_hasRegistry?A(b,a):v(b,
-  a);return a});r(Node.prototype,"removeChild",function(a){var c=l(a),e=K.call(this,a);c&&z(b,a);return e});r(Node.prototype,"replaceChild",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);a=L.call(this,a,c);if(l(this))for(z(b,c),c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);var f=L.call(this,a,c),d=l(this);d&&z(b,c);e&&z(b,a);d&&x(b,a);return f});M&&M.get?a(Node.prototype,M):ca(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){for(var a=[],
-  b=0;b<this.childNodes.length;b++){var f=this.childNodes[b];f.nodeType!==Node.COMMENT_NODE&&a.push(f.textContent)}return a.join("")},set:function(a){for(;this.firstChild;)K.call(this,this.firstChild);null!=a&&""!==a&&I.call(this,document.createTextNode(a))}})})};function Aa(a){function b(b){return function(e){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h<c.length;h++){var m=c[h];m instanceof Element&&l(m)&&k.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)d.push(m);else d.push(m)}b.apply(this,c);for(c=0;c<k.length;c++)z(a,k[c]);if(l(this))for(c=0;c<d.length;c++)k=d[c],k instanceof Element&&x(a,k)}}var d=Element.prototype;void 0!==V&&(d.before=b(V));void 0!==V&&(d.after=b(qa));void 0!==ra&&
-  r(d,"replaceWith",function(b){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var d=[],k=0;k<e.length;k++){var h=e[k];h instanceof Element&&l(h)&&d.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)c.push(h);else c.push(h)}k=l(this);ra.apply(this,e);for(e=0;e<d.length;e++)z(a,d[e]);if(k)for(z(a,this),e=0;e<c.length;e++)d=c[e],d instanceof Element&&x(a,d)});void 0!==sa&&r(d,"remove",function(){var b=l(this);sa.call(this);b&&z(a,this)})};function Ba(){function a(a,b){Object.defineProperty(a,"innerHTML",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var e=this,d=void 0;l(this)&&(d=[],p(this,function(a){a!==e&&d.push(a)}));b.set.call(this,a);if(d)for(var f=0;f<d.length;f++){var t=d[f];1===t.__CE_state&&c.disconnectedCallback(t)}this.ownerDocument.__CE_hasRegistry?A(c,this):v(c,this);return a}})}function b(a,b){r(a,"insertAdjacentElement",function(a,e){var d=l(e);a=b.call(this,a,e);d&&z(c,e);l(a)&&x(c,e);return a})}
-  function d(a,b){function e(a,b){for(var e=[];a!==b;a=a.nextSibling)e.push(a);for(b=0;b<e.length;b++)A(c,e[b])}r(a,"insertAdjacentHTML",function(a,c){a=a.toLowerCase();if("beforebegin"===a){var d=this.previousSibling;b.call(this,a,c);e(d||this.parentNode.firstChild,this)}else if("afterbegin"===a)d=this.firstChild,b.call(this,a,c),e(this.firstChild,d);else if("beforeend"===a)d=this.lastChild,b.call(this,a,c),e(d||this.firstChild,null);else if("afterend"===a)d=this.nextSibling,b.call(this,a,c),e(this.nextSibling,
-  d);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}var c=X;N&&r(Element.prototype,"attachShadow",function(a){a=N.call(this,a);var b=c;if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var e=0;e<b.c.length;e++)b.c[e](a)}return this.__CE_shadowRoot=a});O&&O.get?a(Element.prototype,O):W&&W.get?a(HTMLElement.prototype,W):da(c,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){return H.call(this,!0).innerHTML},
-  set:function(a){var b="template"===this.localName,c=b?this.content:this,e=G.call(document,this.namespaceURI,this.localName);for(e.innerHTML=a;0<c.childNodes.length;)K.call(c,c.childNodes[0]);for(a=b?e.content:e;0<a.childNodes.length;)I.call(c,a.childNodes[0])}})});r(Element.prototype,"setAttribute",function(a,b){if(1!==this.__CE_state)return Q.call(this,a,b);var e=P.call(this,a);Q.call(this,a,b);b=P.call(this,a);c.attributeChangedCallback(this,a,e,b,null)});r(Element.prototype,"setAttributeNS",function(a,
-  b,d){if(1!==this.__CE_state)return T.call(this,a,b,d);var e=S.call(this,a,b);T.call(this,a,b,d);d=S.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a)});r(Element.prototype,"removeAttribute",function(a){if(1!==this.__CE_state)return R.call(this,a);var b=P.call(this,a);R.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null)});r(Element.prototype,"removeAttributeNS",function(a,b){if(1!==this.__CE_state)return U.call(this,a,b);var d=S.call(this,a,b);U.call(this,a,b);var e=S.call(this,
-  a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a)});ua?b(HTMLElement.prototype,ua):ma?b(Element.prototype,ma):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");va?d(HTMLElement.prototype,va):na?d(Element.prototype,na):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Y(c,Element.prototype,{h:oa,append:pa});Aa(c)};var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var X=new u;xa();ya();Y(X,DocumentFragment.prototype,{h:ka,append:la});za();Ba();document.__CE_hasRegistry=!0;var customElements=new E(X);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};
+  'use strict';
+
+  var aa = new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));
+  function g(a) {
+    var b = aa.has(a);
+    a = /^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);
+    return !b && a;
+  }
+  function l(a) {
+    var b = a.isConnected;
+    if (void 0 !== b) return b;
+    for (; a && !(a.__CE_isImportDocument || a instanceof Document);) a = a.parentNode || (window.ShadowRoot && a instanceof ShadowRoot ? a.host : void 0);
+    return !(!a || !(a.__CE_isImportDocument || a instanceof Document));
+  }
+  function n(a, b) {
+    for (; b && b !== a && !b.nextSibling;) b = b.parentNode;
+    return b && b !== a ? b.nextSibling : null;
+  }
+  function p(a, b, d) {
+    d = void 0 === d ? new Set() : d;
+    for (var c = a; c;) {
+      if (c.nodeType === Node.ELEMENT_NODE) {
+        var e = c;
+        b(e);
+        var f = e.localName;
+        if ("link" === f && "import" === e.getAttribute("rel")) {
+          c = e.import;
+          if (c instanceof Node && !d.has(c)) for (d.add(c), c = c.firstChild; c; c = c.nextSibling) p(c, b, d);
+          c = n(a, e);
+          continue;
+        } else if ("template" === f) {
+          c = n(a, e);
+          continue;
+        }
+        if (e = e.__CE_shadowRoot) for (e = e.firstChild; e; e = e.nextSibling) p(e, b, d);
+      }
+      c = c.firstChild ? c.firstChild : n(a, c);
+    }
+  }
+  function r(a, b, d) {
+    a[b] = d;
+  }
+  ;
+  function u() {
+    this.a = new Map();
+    this.g = new Map();
+    this.c = [];
+    this.f = [];
+    this.b = !1;
+  }
+  function ba(a, b, d) {
+    a.a.set(b, d);
+    a.g.set(d.constructorFunction, d);
+  }
+  function ca(a, b) {
+    a.b = !0;
+    a.c.push(b);
+  }
+  function da(a, b) {
+    a.b = !0;
+    a.f.push(b);
+  }
+  function v(a, b) {
+    a.b && p(b, function (b) {
+      return w(a, b);
+    });
+  }
+  function w(a, b) {
+    if (a.b && !b.__CE_patched) {
+      b.__CE_patched = !0;
+      for (var d = 0; d < a.c.length; d++) a.c[d](b);
+      for (d = 0; d < a.f.length; d++) a.f[d](b);
+    }
+  }
+  function x(a, b) {
+    var d = [];
+    p(b, function (b) {
+      return d.push(b);
+    });
+    for (b = 0; b < d.length; b++) {
+      var c = d[b];
+      1 === c.__CE_state ? a.connectedCallback(c) : y(a, c);
+    }
+  }
+  function z(a, b) {
+    var d = [];
+    p(b, function (b) {
+      return d.push(b);
+    });
+    for (b = 0; b < d.length; b++) {
+      var c = d[b];
+      1 === c.__CE_state && a.disconnectedCallback(c);
+    }
+  }
+  function A(a, b, d) {
+    d = void 0 === d ? {} : d;
+    var c = d.u || new Set(),
+      e = d.i || function (b) {
+        return y(a, b);
+      },
+      f = [];
+    p(b, function (b) {
+      if ("link" === b.localName && "import" === b.getAttribute("rel")) {
+        var d = b.import;
+        d instanceof Node && (d.__CE_isImportDocument = !0, d.__CE_hasRegistry = !0);
+        d && "complete" === d.readyState ? d.__CE_documentLoadHandled = !0 : b.addEventListener("load", function () {
+          var d = b.import;
+          if (!d.__CE_documentLoadHandled) {
+            d.__CE_documentLoadHandled = !0;
+            var f = new Set(c);
+            f.delete(d);
+            A(a, d, {
+              u: f,
+              i: e
+            });
+          }
+        });
+      } else f.push(b);
+    }, c);
+    if (a.b) for (b = 0; b < f.length; b++) w(a, f[b]);
+    for (b = 0; b < f.length; b++) e(f[b]);
+  }
+  function y(a, b) {
+    if (void 0 === b.__CE_state) {
+      var d = b.ownerDocument;
+      if (d.defaultView || d.__CE_isImportDocument && d.__CE_hasRegistry) if (d = a.a.get(b.localName)) {
+        d.constructionStack.push(b);
+        var c = d.constructorFunction;
+        try {
+          try {
+            if (new c() !== b) throw Error("The custom element constructor did not produce the element being upgraded.");
+          } finally {
+            d.constructionStack.pop();
+          }
+        } catch (t) {
+          throw b.__CE_state = 2, t;
+        }
+        b.__CE_state = 1;
+        b.__CE_definition = d;
+        if (d.attributeChangedCallback) for (d = d.observedAttributes, c = 0; c < d.length; c++) {
+          var e = d[c],
+            f = b.getAttribute(e);
+          null !== f && a.attributeChangedCallback(b, e, null, f, null);
+        }
+        l(b) && a.connectedCallback(b);
+      }
+    }
+  }
+  u.prototype.connectedCallback = function (a) {
+    var b = a.__CE_definition;
+    b.connectedCallback && b.connectedCallback.call(a);
+  };
+  u.prototype.disconnectedCallback = function (a) {
+    var b = a.__CE_definition;
+    b.disconnectedCallback && b.disconnectedCallback.call(a);
+  };
+  u.prototype.attributeChangedCallback = function (a, b, d, c, e) {
+    var f = a.__CE_definition;
+    f.attributeChangedCallback && -1 < f.observedAttributes.indexOf(b) && f.attributeChangedCallback.call(a, b, d, c, e);
+  };
+  function B(a) {
+    var b = document;
+    this.c = a;
+    this.a = b;
+    this.b = void 0;
+    A(this.c, this.a);
+    "loading" === this.a.readyState && (this.b = new MutationObserver(this.f.bind(this)), this.b.observe(this.a, {
+      childList: !0,
+      subtree: !0
+    }));
+  }
+  function C(a) {
+    a.b && a.b.disconnect();
+  }
+  B.prototype.f = function (a) {
+    var b = this.a.readyState;
+    "interactive" !== b && "complete" !== b || C(this);
+    for (b = 0; b < a.length; b++) for (var d = a[b].addedNodes, c = 0; c < d.length; c++) A(this.c, d[c]);
+  };
+  function ea() {
+    var a = this;
+    this.b = this.a = void 0;
+    this.c = new Promise(function (b) {
+      a.b = b;
+      a.a && b(a.a);
+    });
+  }
+  function D(a) {
+    if (a.a) throw Error("Already resolved.");
+    a.a = void 0;
+    a.b && a.b(void 0);
+  }
+  ;
+  function E(a) {
+    this.c = !1;
+    this.a = a;
+    this.j = new Map();
+    this.f = function (b) {
+      return b();
+    };
+    this.b = !1;
+    this.g = [];
+    this.o = new B(a);
+  }
+  E.prototype.l = function (a, b) {
+    var d = this;
+    if (!(b instanceof Function)) throw new TypeError("Custom element constructors must be functions.");
+    if (!g(a)) throw new SyntaxError("The element name '" + a + "' is not valid.");
+    if (this.a.a.get(a)) throw Error("A custom element with name '" + a + "' has already been defined.");
+    if (this.c) throw Error("A custom element is already being defined.");
+    this.c = !0;
+    try {
+      var c = function c(b) {
+          var a = e[b];
+          if (void 0 !== a && !(a instanceof Function)) throw Error("The '" + b + "' callback must be a function.");
+          return a;
+        },
+        e = b.prototype;
+      if (!(e instanceof Object)) throw new TypeError("The custom element constructor's prototype is not an object.");
+      var f = c("connectedCallback");
+      var t = c("disconnectedCallback");
+      var k = c("adoptedCallback");
+      var h = c("attributeChangedCallback");
+      var m = b.observedAttributes || [];
+    } catch (q) {
+      return;
+    } finally {
+      this.c = !1;
+    }
+    b = {
+      localName: a,
+      constructorFunction: b,
+      connectedCallback: f,
+      disconnectedCallback: t,
+      adoptedCallback: k,
+      attributeChangedCallback: h,
+      observedAttributes: m,
+      constructionStack: []
+    };
+    ba(this.a, a, b);
+    this.g.push(b);
+    this.b || (this.b = !0, this.f(function () {
+      return fa(d);
+    }));
+  };
+  E.prototype.i = function (a) {
+    A(this.a, a);
+  };
+  function fa(a) {
+    if (!1 !== a.b) {
+      a.b = !1;
+      for (var b = a.g, d = [], c = new Map(), e = 0; e < b.length; e++) c.set(b[e].localName, []);
+      A(a.a, document, {
+        i: function i(b) {
+          if (void 0 === b.__CE_state) {
+            var e = b.localName,
+              f = c.get(e);
+            f ? f.push(b) : a.a.a.get(e) && d.push(b);
+          }
+        }
+      });
+      for (e = 0; e < d.length; e++) y(a.a, d[e]);
+      for (; 0 < b.length;) {
+        var f = b.shift();
+        e = f.localName;
+        f = c.get(f.localName);
+        for (var t = 0; t < f.length; t++) y(a.a, f[t]);
+        (e = a.j.get(e)) && D(e);
+      }
+    }
+  }
+  E.prototype.get = function (a) {
+    if (a = this.a.a.get(a)) return a.constructorFunction;
+  };
+  E.prototype.m = function (a) {
+    if (!g(a)) return Promise.reject(new SyntaxError("'" + a + "' is not a valid custom element name."));
+    var b = this.j.get(a);
+    if (b) return b.c;
+    b = new ea();
+    this.j.set(a, b);
+    this.a.a.get(a) && !this.g.some(function (b) {
+      return b.localName === a;
+    }) && D(b);
+    return b.c;
+  };
+  E.prototype.s = function (a) {
+    C(this.o);
+    var b = this.f;
+    this.f = function (d) {
+      return a(function () {
+        return b(d);
+      });
+    };
+  };
+  window.CustomElementRegistry = E;
+  E.prototype.define = E.prototype.l;
+  E.prototype.upgrade = E.prototype.i;
+  E.prototype.get = E.prototype.get;
+  E.prototype.whenDefined = E.prototype.m;
+  E.prototype.polyfillWrapFlushCallback = E.prototype.s;
+  var F = window.Document.prototype.createElement,
+    G = window.Document.prototype.createElementNS,
+    ha = window.Document.prototype.importNode,
+    ia = window.Document.prototype.prepend,
+    ja = window.Document.prototype.append,
+    ka = window.DocumentFragment.prototype.prepend,
+    la = window.DocumentFragment.prototype.append,
+    H = window.Node.prototype.cloneNode,
+    I = window.Node.prototype.appendChild,
+    J = window.Node.prototype.insertBefore,
+    K = window.Node.prototype.removeChild,
+    L = window.Node.prototype.replaceChild,
+    M = Object.getOwnPropertyDescriptor(window.Node.prototype, "textContent"),
+    N = window.Element.prototype.attachShadow,
+    O = Object.getOwnPropertyDescriptor(window.Element.prototype, "innerHTML"),
+    P = window.Element.prototype.getAttribute,
+    Q = window.Element.prototype.setAttribute,
+    R = window.Element.prototype.removeAttribute,
+    S = window.Element.prototype.getAttributeNS,
+    T = window.Element.prototype.setAttributeNS,
+    U = window.Element.prototype.removeAttributeNS,
+    ma = window.Element.prototype.insertAdjacentElement,
+    na = window.Element.prototype.insertAdjacentHTML,
+    oa = window.Element.prototype.prepend,
+    pa = window.Element.prototype.append,
+    V = window.Element.prototype.before,
+    qa = window.Element.prototype.after,
+    ra = window.Element.prototype.replaceWith,
+    sa = window.Element.prototype.remove,
+    ta = window.HTMLElement,
+    W = Object.getOwnPropertyDescriptor(window.HTMLElement.prototype, "innerHTML"),
+    ua = window.HTMLElement.prototype.insertAdjacentElement,
+    va = window.HTMLElement.prototype.insertAdjacentHTML;
+  var wa = new function () {}();
+  function xa() {
+    var a = X;
+    window.HTMLElement = function () {
+      function b() {
+        var b = this.constructor,
+          c = a.g.get(b);
+        if (!c) throw Error("The custom element being constructed was not registered with `customElements`.");
+        var e = c.constructionStack;
+        if (0 === e.length) return e = F.call(document, c.localName), Object.setPrototypeOf(e, b.prototype), e.__CE_state = 1, e.__CE_definition = c, w(a, e), e;
+        c = e.length - 1;
+        var f = e[c];
+        if (f === wa) throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
+        e[c] = wa;
+        Object.setPrototypeOf(f, b.prototype);
+        w(a, f);
+        return f;
+      }
+      b.prototype = ta.prototype;
+      Object.defineProperty(b.prototype, "constructor", {
+        writable: !0,
+        configurable: !0,
+        enumerable: !1,
+        value: b
+      });
+      return b;
+    }();
+  }
+  ;
+  function Y(a, b, d) {
+    function c(b) {
+      return function (d) {
+        for (var e = [], c = 0; c < arguments.length; ++c) e[c] = arguments[c];
+        c = [];
+        for (var f = [], m = 0; m < e.length; m++) {
+          var q = e[m];
+          q instanceof Element && l(q) && f.push(q);
+          if (q instanceof DocumentFragment) for (q = q.firstChild; q; q = q.nextSibling) c.push(q);else c.push(q);
+        }
+        b.apply(this, e);
+        for (e = 0; e < f.length; e++) z(a, f[e]);
+        if (l(this)) for (e = 0; e < c.length; e++) f = c[e], f instanceof Element && x(a, f);
+      };
+    }
+    void 0 !== d.h && (b.prepend = c(d.h));
+    void 0 !== d.append && (b.append = c(d.append));
+  }
+  ;
+  function ya() {
+    var a = X;
+    r(Document.prototype, "createElement", function (b) {
+      if (this.__CE_hasRegistry) {
+        var d = a.a.get(b);
+        if (d) return new d.constructorFunction();
+      }
+      b = F.call(this, b);
+      w(a, b);
+      return b;
+    });
+    r(Document.prototype, "importNode", function (b, d) {
+      b = ha.call(this, b, !!d);
+      this.__CE_hasRegistry ? A(a, b) : v(a, b);
+      return b;
+    });
+    r(Document.prototype, "createElementNS", function (b, d) {
+      if (this.__CE_hasRegistry && (null === b || "http://www.w3.org/1999/xhtml" === b)) {
+        var c = a.a.get(d);
+        if (c) return new c.constructorFunction();
+      }
+      b = G.call(this, b, d);
+      w(a, b);
+      return b;
+    });
+    Y(a, Document.prototype, {
+      h: ia,
+      append: ja
+    });
+  }
+  ;
+  function za() {
+    function a(a, c) {
+      Object.defineProperty(a, "textContent", {
+        enumerable: c.enumerable,
+        configurable: !0,
+        get: c.get,
+        set: function set(a) {
+          if (this.nodeType === Node.TEXT_NODE) c.set.call(this, a);else {
+            var d = void 0;
+            if (this.firstChild) {
+              var e = this.childNodes,
+                k = e.length;
+              if (0 < k && l(this)) {
+                d = Array(k);
+                for (var h = 0; h < k; h++) d[h] = e[h];
+              }
+            }
+            c.set.call(this, a);
+            if (d) for (a = 0; a < d.length; a++) z(b, d[a]);
+          }
+        }
+      });
+    }
+    var b = X;
+    r(Node.prototype, "insertBefore", function (a, c) {
+      if (a instanceof DocumentFragment) {
+        var e = Array.prototype.slice.apply(a.childNodes);
+        a = J.call(this, a, c);
+        if (l(this)) for (c = 0; c < e.length; c++) x(b, e[c]);
+        return a;
+      }
+      e = l(a);
+      c = J.call(this, a, c);
+      e && z(b, a);
+      l(this) && x(b, a);
+      return c;
+    });
+    r(Node.prototype, "appendChild", function (a) {
+      if (a instanceof DocumentFragment) {
+        var c = Array.prototype.slice.apply(a.childNodes);
+        a = I.call(this, a);
+        if (l(this)) for (var e = 0; e < c.length; e++) x(b, c[e]);
+        return a;
+      }
+      c = l(a);
+      e = I.call(this, a);
+      c && z(b, a);
+      l(this) && x(b, a);
+      return e;
+    });
+    r(Node.prototype, "cloneNode", function (a) {
+      a = H.call(this, !!a);
+      this.ownerDocument.__CE_hasRegistry ? A(b, a) : v(b, a);
+      return a;
+    });
+    r(Node.prototype, "removeChild", function (a) {
+      var c = l(a),
+        e = K.call(this, a);
+      c && z(b, a);
+      return e;
+    });
+    r(Node.prototype, "replaceChild", function (a, c) {
+      if (a instanceof DocumentFragment) {
+        var e = Array.prototype.slice.apply(a.childNodes);
+        a = L.call(this, a, c);
+        if (l(this)) for (z(b, c), c = 0; c < e.length; c++) x(b, e[c]);
+        return a;
+      }
+      e = l(a);
+      var f = L.call(this, a, c),
+        d = l(this);
+      d && z(b, c);
+      e && z(b, a);
+      d && x(b, a);
+      return f;
+    });
+    M && M.get ? a(Node.prototype, M) : ca(b, function (b) {
+      a(b, {
+        enumerable: !0,
+        configurable: !0,
+        get: function get() {
+          for (var a = [], b = 0; b < this.childNodes.length; b++) {
+            var f = this.childNodes[b];
+            f.nodeType !== Node.COMMENT_NODE && a.push(f.textContent);
+          }
+          return a.join("");
+        },
+        set: function set(a) {
+          for (; this.firstChild;) K.call(this, this.firstChild);
+          null != a && "" !== a && I.call(this, document.createTextNode(a));
+        }
+      });
+    });
+  }
+  ;
+  function Aa(a) {
+    function b(b) {
+      return function (e) {
+        for (var c = [], d = 0; d < arguments.length; ++d) c[d] = arguments[d];
+        d = [];
+        for (var k = [], h = 0; h < c.length; h++) {
+          var m = c[h];
+          m instanceof Element && l(m) && k.push(m);
+          if (m instanceof DocumentFragment) for (m = m.firstChild; m; m = m.nextSibling) d.push(m);else d.push(m);
+        }
+        b.apply(this, c);
+        for (c = 0; c < k.length; c++) z(a, k[c]);
+        if (l(this)) for (c = 0; c < d.length; c++) k = d[c], k instanceof Element && x(a, k);
+      };
+    }
+    var d = Element.prototype;
+    void 0 !== V && (d.before = b(V));
+    void 0 !== V && (d.after = b(qa));
+    void 0 !== ra && r(d, "replaceWith", function (b) {
+      for (var e = [], c = 0; c < arguments.length; ++c) e[c] = arguments[c];
+      c = [];
+      for (var d = [], k = 0; k < e.length; k++) {
+        var h = e[k];
+        h instanceof Element && l(h) && d.push(h);
+        if (h instanceof DocumentFragment) for (h = h.firstChild; h; h = h.nextSibling) c.push(h);else c.push(h);
+      }
+      k = l(this);
+      ra.apply(this, e);
+      for (e = 0; e < d.length; e++) z(a, d[e]);
+      if (k) for (z(a, this), e = 0; e < c.length; e++) d = c[e], d instanceof Element && x(a, d);
+    });
+    void 0 !== sa && r(d, "remove", function () {
+      var b = l(this);
+      sa.call(this);
+      b && z(a, this);
+    });
+  }
+  ;
+  function Ba() {
+    function a(a, b) {
+      Object.defineProperty(a, "innerHTML", {
+        enumerable: b.enumerable,
+        configurable: !0,
+        get: b.get,
+        set: function set(a) {
+          var e = this,
+            d = void 0;
+          l(this) && (d = [], p(this, function (a) {
+            a !== e && d.push(a);
+          }));
+          b.set.call(this, a);
+          if (d) for (var f = 0; f < d.length; f++) {
+            var t = d[f];
+            1 === t.__CE_state && c.disconnectedCallback(t);
+          }
+          this.ownerDocument.__CE_hasRegistry ? A(c, this) : v(c, this);
+          return a;
+        }
+      });
+    }
+    function b(a, b) {
+      r(a, "insertAdjacentElement", function (a, e) {
+        var d = l(e);
+        a = b.call(this, a, e);
+        d && z(c, e);
+        l(a) && x(c, e);
+        return a;
+      });
+    }
+    function d(a, b) {
+      function e(a, b) {
+        for (var e = []; a !== b; a = a.nextSibling) e.push(a);
+        for (b = 0; b < e.length; b++) A(c, e[b]);
+      }
+      r(a, "insertAdjacentHTML", function (a, c) {
+        a = a.toLowerCase();
+        if ("beforebegin" === a) {
+          var d = this.previousSibling;
+          b.call(this, a, c);
+          e(d || this.parentNode.firstChild, this);
+        } else if ("afterbegin" === a) d = this.firstChild, b.call(this, a, c), e(this.firstChild, d);else if ("beforeend" === a) d = this.lastChild, b.call(this, a, c), e(d || this.firstChild, null);else if ("afterend" === a) d = this.nextSibling, b.call(this, a, c), e(this.nextSibling, d);else throw new SyntaxError("The value provided (" + String(a) + ") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");
+      });
+    }
+    var c = X;
+    N && r(Element.prototype, "attachShadow", function (a) {
+      a = N.call(this, a);
+      var b = c;
+      if (b.b && !a.__CE_patched) {
+        a.__CE_patched = !0;
+        for (var e = 0; e < b.c.length; e++) b.c[e](a);
+      }
+      return this.__CE_shadowRoot = a;
+    });
+    O && O.get ? a(Element.prototype, O) : W && W.get ? a(HTMLElement.prototype, W) : da(c, function (b) {
+      a(b, {
+        enumerable: !0,
+        configurable: !0,
+        get: function get() {
+          return H.call(this, !0).innerHTML;
+        },
+        set: function set(a) {
+          var b = "template" === this.localName,
+            c = b ? this.content : this,
+            e = G.call(document, this.namespaceURI, this.localName);
+          for (e.innerHTML = a; 0 < c.childNodes.length;) K.call(c, c.childNodes[0]);
+          for (a = b ? e.content : e; 0 < a.childNodes.length;) I.call(c, a.childNodes[0]);
+        }
+      });
+    });
+    r(Element.prototype, "setAttribute", function (a, b) {
+      if (1 !== this.__CE_state) return Q.call(this, a, b);
+      var e = P.call(this, a);
+      Q.call(this, a, b);
+      b = P.call(this, a);
+      c.attributeChangedCallback(this, a, e, b, null);
+    });
+    r(Element.prototype, "setAttributeNS", function (a, b, d) {
+      if (1 !== this.__CE_state) return T.call(this, a, b, d);
+      var e = S.call(this, a, b);
+      T.call(this, a, b, d);
+      d = S.call(this, a, b);
+      c.attributeChangedCallback(this, b, e, d, a);
+    });
+    r(Element.prototype, "removeAttribute", function (a) {
+      if (1 !== this.__CE_state) return R.call(this, a);
+      var b = P.call(this, a);
+      R.call(this, a);
+      null !== b && c.attributeChangedCallback(this, a, b, null, null);
+    });
+    r(Element.prototype, "removeAttributeNS", function (a, b) {
+      if (1 !== this.__CE_state) return U.call(this, a, b);
+      var d = S.call(this, a, b);
+      U.call(this, a, b);
+      var e = S.call(this, a, b);
+      d !== e && c.attributeChangedCallback(this, b, d, e, a);
+    });
+    ua ? b(HTMLElement.prototype, ua) : ma ? b(Element.prototype, ma) : console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");
+    va ? d(HTMLElement.prototype, va) : na ? d(Element.prototype, na) : console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");
+    Y(c, Element.prototype, {
+      h: oa,
+      append: pa
+    });
+    Aa(c);
+  }
+  ;
+  var Z = window.customElements;
+  if (!Z || Z.forcePolyfill || "function" != typeof Z.define || "function" != typeof Z.get) {
+    var X = new u();
+    xa();
+    ya();
+    Y(X, DocumentFragment.prototype, {
+      h: ka,
+      append: la
+    });
+    za();
+    Ba();
+    document.__CE_hasRegistry = !0;
+    var customElements = new E(X);
+    Object.defineProperty(window, "customElements", {
+      configurable: !0,
+      enumerable: !0,
+      value: customElements
+    });
+  }
+  ;
 }).call(self);
 
 // Polyfill document.baseURI
-"string"!==typeof document.baseURI&&Object.defineProperty(Document.prototype,"baseURI",{enumerable:!0,configurable:!0,get:function(){var a=document.querySelector("base");return a&&a.href?a.href:document.URL}});
+"string" !== typeof document.baseURI && Object.defineProperty(Document.prototype, "baseURI", {
+  enumerable: !0,
+  configurable: !0,
+  get: function get() {
+    var a = document.querySelector("base");
+    return a && a.href ? a.href : document.URL;
+  }
+});
 
 // Polyfill CustomEvent
-"function"!==typeof window.CustomEvent&&(window.CustomEvent=function(c,a){a=a||{bubbles:!1,cancelable:!1,detail:void 0};var b=document.createEvent("CustomEvent");b.initCustomEvent(c,a.bubbles,a.cancelable,a.detail);return b},window.CustomEvent.prototype=window.Event.prototype);
+"function" !== typeof window.CustomEvent && (window.CustomEvent = function (c, a) {
+  a = a || {
+    bubbles: !1,
+    cancelable: !1,
+    detail: void 0
+  };
+  var b = document.createEvent("CustomEvent");
+  b.initCustomEvent(c, a.bubbles, a.cancelable, a.detail);
+  return b;
+}, window.CustomEvent.prototype = window.Event.prototype);
 
 // Event.composedPath
-(function(b,c,d){b.composedPath||(b.composedPath=function(){if(this.path)return this.path;var a=this.target;for(this.path=[];null!==a.parentNode;)this.path.push(a),a=a.parentNode;this.path.push(c,d);return this.path})})(Event.prototype,document,window);
+(function (b, c, d) {
+  b.composedPath || (b.composedPath = function () {
+    if (this.path) return this.path;
+    var a = this.target;
+    for (this.path = []; null !== a.parentNode;) this.path.push(a), a = a.parentNode;
+    this.path.push(c, d);
+    return this.path;
+  });
+})(Event.prototype, document, window);
 
 /*!
 Element.closest and Element.matches
 https://github.com/jonathantneal/closest
 Creative Commons Zero v1.0 Universal
 */
-(function(a){"function"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return!!a[b]});"function"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode}return null})})(window.Element.prototype);
+(function (a) {
+  "function" !== typeof a.matches && (a.matches = a.msMatchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || function (a) {
+    a = (this.document || this.ownerDocument).querySelectorAll(a);
+    for (var b = 0; a[b] && a[b] !== this;) ++b;
+    return !!a[b];
+  });
+  "function" !== typeof a.closest && (a.closest = function (a) {
+    for (var b = this; b && 1 === b.nodeType;) {
+      if (b.matches(a)) return b;
+      b = b.parentNode;
+    }
+    return null;
+  });
+})(window.Element.prototype);
 
 /*!
 Element.getRootNode()
 */
-(function(c){function d(a){a=b(a);return a&&11===a.nodeType?d(a.host):a}function b(a){return a&&a.parentNode?b(a.parentNode):a}"function"!==typeof c.getRootNode&&(c.getRootNode=function(a){return a&&a.composed?d(this):b(this)})})(Element.prototype);
+(function (c) {
+  function d(a) {
+    a = b(a);
+    return a && 11 === a.nodeType ? d(a.host) : a;
+  }
+  function b(a) {
+    return a && a.parentNode ? b(a.parentNode) : a;
+  }
+  "function" !== typeof c.getRootNode && (c.getRootNode = function (a) {
+    return a && a.composed ? d(this) : b(this);
+  });
+})(Element.prototype);
 
 /*!
 Element.isConnected()
 */
-(function(a){"isConnected"in a||Object.defineProperty(a,"isConnected",{configurable:!0,enumerable:!0,get:function(){var a=this.getRootNode({composed:!0});return a&&9===a.nodeType}})})(Element.prototype);
+(function (a) {
+  "isConnected" in a || Object.defineProperty(a, "isConnected", {
+    configurable: !0,
+    enumerable: !0,
+    get: function get() {
+      var a = this.getRootNode({
+        composed: !0
+      });
+      return a && 9 === a.nodeType;
+    }
+  });
+})(Element.prototype);
 
 /*!
 Element.remove()
 */
-(function(b){b.forEach(function(a){a.hasOwnProperty("remove")||Object.defineProperty(a,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})})})([Element.prototype,CharacterData.prototype,DocumentType.prototype]);
+(function (b) {
+  b.forEach(function (a) {
+    a.hasOwnProperty("remove") || Object.defineProperty(a, "remove", {
+      configurable: !0,
+      enumerable: !0,
+      writable: !0,
+      value: function value() {
+        null !== this.parentNode && this.parentNode.removeChild(this);
+      }
+    });
+  });
+})([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
 
 /*!
 Element.classList
 */
-!function(e){'classList'in e||Object.defineProperty(e,"classList",{get:function(){var e=this,t=(e.getAttribute("class")||"").replace(/^\s+|\s$/g,"").split(/\s+/g);function n(){t.length>0?e.setAttribute("class",t.join(" ")):e.removeAttribute("class")}return""===t[0]&&t.splice(0,1),t.toggle=function(e,i){void 0!==i?i?t.add(e):t.remove(e):-1!==t.indexOf(e)?t.splice(t.indexOf(e),1):t.push(e),n()},t.add=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1===t.indexOf(e[i])&&t.push(e[i]);n()},t.remove=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1!==t.indexOf(e[i])&&t.splice(t.indexOf(e[i]),1);n()},t.item=function(e){return t[e]},t.contains=function(e){return-1!==t.indexOf(e)},t.replace=function(e,i){-1!==t.indexOf(e)&&t.splice(t.indexOf(e),1,i),n()},t.value=e.getAttribute("class")||"",t}})}(Element.prototype);
+!function (e) {
+  'classList' in e || Object.defineProperty(e, "classList", {
+    get: function get() {
+      var e = this,
+        t = (e.getAttribute("class") || "").replace(/^\s+|\s$/g, "").split(/\s+/g);
+      function n() {
+        t.length > 0 ? e.setAttribute("class", t.join(" ")) : e.removeAttribute("class");
+      }
+      return "" === t[0] && t.splice(0, 1), t.toggle = function (e, i) {
+        void 0 !== i ? i ? t.add(e) : t.remove(e) : -1 !== t.indexOf(e) ? t.splice(t.indexOf(e), 1) : t.push(e), n();
+      }, t.add = function () {
+        for (var e = [].slice.call(arguments), i = 0, s = e.length; i < s; i++) -1 === t.indexOf(e[i]) && t.push(e[i]);
+        n();
+      }, t.remove = function () {
+        for (var e = [].slice.call(arguments), i = 0, s = e.length; i < s; i++) -1 !== t.indexOf(e[i]) && t.splice(t.indexOf(e[i]), 1);
+        n();
+      }, t.item = function (e) {
+        return t[e];
+      }, t.contains = function (e) {
+        return -1 !== t.indexOf(e);
+      }, t.replace = function (e, i) {
+        -1 !== t.indexOf(e) && t.splice(t.indexOf(e), 1, i), n();
+      }, t.value = e.getAttribute("class") || "", t;
+    }
+  });
+}(Element.prototype);
 
 /*!
 DOMTokenList
 */
-(function(b){try{document.body.classList.add()}catch(e){var c=b.add,d=b.remove;b.add=function(){for(var a=0;a<arguments.length;a++)c.call(this,arguments[a])};b.remove=function(){for(var a=0;a<arguments.length;a++)d.call(this,arguments[a])}}})(DOMTokenList.prototype);
+(function (b) {
+  try {
+    document.body.classList.add();
+  } catch (e) {
+    var c = b.add,
+      d = b.remove;
+    b.add = function () {
+      for (var a = 0; a < arguments.length; a++) c.call(this, arguments[a]);
+    };
+    b.remove = function () {
+      for (var a = 0; a < arguments.length; a++) d.call(this, arguments[a]);
+    };
+  }
+})(DOMTokenList.prototype);
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/polyfills/es5-html-element.js b/src/public/js/pwa-elements/esm/polyfills/es5-html-element.js
index 2943b42..336acc0 100644
--- a/src/public/js/pwa-elements/esm/polyfills/es5-html-element.js
+++ b/src/public/js/pwa-elements/esm/polyfills/es5-html-element.js
@@ -1 +1,11 @@
-(function(){if("undefined"!==typeof window&&void 0!==window.Reflect&&void 0!==window.customElements){var a=HTMLElement;window.HTMLElement=function(){return Reflect.construct(a,[],this.constructor)};HTMLElement.prototype=a.prototype;HTMLElement.prototype.constructor=HTMLElement;Object.setPrototypeOf(HTMLElement,a)}})();
\ No newline at end of file
+(function () {
+  if ("undefined" !== typeof window && void 0 !== window.Reflect && void 0 !== window.customElements) {
+    var a = HTMLElement;
+    window.HTMLElement = function () {
+      return Reflect.construct(a, [], this.constructor);
+    };
+    HTMLElement.prototype = a.prototype;
+    HTMLElement.prototype.constructor = HTMLElement;
+    Object.setPrototypeOf(HTMLElement, a);
+  }
+})();
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/polyfills/index.js b/src/public/js/pwa-elements/esm/polyfills/index.js
index 36c32de..50824e1 100644
--- a/src/public/js/pwa-elements/esm/polyfills/index.js
+++ b/src/public/js/pwa-elements/esm/polyfills/index.js
@@ -2,33 +2,21 @@ export function applyPolyfills() {
   var promises = [];
   if (typeof window !== 'undefined') {
     var win = window;
-
-    if (!win.customElements ||
-      (win.Element && (!win.Element.prototype.closest || !win.Element.prototype.matches || !win.Element.prototype.remove || !win.Element.prototype.getRootNode))) {
-      promises.push(import(/* webpackChunkName: "polyfills-dom" */ './dom.js'));
+    if (!win.customElements || win.Element && (!win.Element.prototype.closest || !win.Element.prototype.matches || !win.Element.prototype.remove || !win.Element.prototype.getRootNode)) {
+      promises.push(import(/* webpackChunkName: "polyfills-dom" */'./dom.js'));
     }
-
-    var checkIfURLIsSupported = function() {
+    var checkIfURLIsSupported = function checkIfURLIsSupported() {
       try {
         var u = new URL('b', 'http://a');
         u.pathname = 'c%20d';
-        return (u.href === 'http://a/c%20d') && u.searchParams;
+        return u.href === 'http://a/c%20d' && u.searchParams;
       } catch (e) {
         return false;
       }
     };
-
-    if (
-      'function' !== typeof Object.assign || !Object.entries ||
-      !Array.prototype.find || !Array.prototype.includes ||
-      !String.prototype.startsWith || !String.prototype.endsWith ||
-      (win.NodeList && !win.NodeList.prototype.forEach) ||
-      !win.fetch ||
-      !checkIfURLIsSupported() ||
-      typeof WeakMap == 'undefined'
-    ) {
-      promises.push(import(/* webpackChunkName: "polyfills-core-js" */ './core-js.js'));
+    if ('function' !== typeof Object.assign || !Object.entries || !Array.prototype.find || !Array.prototype.includes || !String.prototype.startsWith || !String.prototype.endsWith || win.NodeList && !win.NodeList.prototype.forEach || !win.fetch || !checkIfURLIsSupported() || typeof WeakMap == 'undefined') {
+      promises.push(import(/* webpackChunkName: "polyfills-core-js" */'./core-js.js'));
     }
   }
   return Promise.all(promises);
-}
+}
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/polyfills/system.js b/src/public/js/pwa-elements/esm/polyfills/system.js
index dc6f9af..cc38eb0 100644
--- a/src/public/js/pwa-elements/esm/polyfills/system.js
+++ b/src/public/js/pwa-elements/esm/polyfills/system.js
@@ -3,4 +3,196 @@
  * MANUAL PATCH: remove script.crossOrigin = "anonymous"
  * MANUAL PATCH: add conditionally apply, n.System=n.System||new u
  */
-!function(){var e="undefined"!=typeof self,n=e?self:global;var t;if("undefined"!=typeof document){var e=document.querySelector("base[href]");e&&(t=e.href)}if(!t&&"undefined"!=typeof location){var e=(t=location.href.split("#")[0].split("?")[0]).lastIndexOf("/");-1!==e&&(t=t.slice(0,e+1))}var r=/\\/g,o="undefined"!=typeof Symbol,i=o&&Symbol.toStringTag,c=o?Symbol():"@";function u(){this[c]={}}var s=u.prototype;var l;s.import=function(e,n){var t=this;return Promise.resolve(t.resolve(e,n)).then(function(e){var n=function e(n,t,r){var o=n[c][t];if(o)return o;var u=[],s=Object.create(null);i&&Object.defineProperty(s,i,{value:"Module"});var l=Promise.resolve().then(function(){return n.instantiate(t,r)}).then(function(e){if(!e)throw Error("Module "+t+" did not instantiate");var r=e[1](function(e,n){o.h=!0;var t=!1;if("object"!=typeof e)e in s&&s[e]===n||(s[e]=n,t=!0);else for(var n in e){var r=e[n];n in s&&s[n]===r||(s[n]=r,t=!0)}if(t)for(var e=0;e<u.length;e++)u[e](s);return n},2===e[1].length?{import:function(e){return n.import(e,t)},meta:n.createContext(t)}:void 0);return o.e=r.execute||function(){},[e[0],r.setters||[]]});var f=l.then(function(r){return Promise.all(r[0].map(function(o,i){var c=r[1][i];return Promise.resolve(n.resolve(o,t)).then(function(r){var o=e(n,r,t);return Promise.resolve(o.I).then(function(){return c&&(o.i.push(c),!o.h&&o.I||c(o.n)),o})})})).then(function(e){o.d=e})});return f.catch(function(e){o.e=null,o.er=e}),o=n[c][t]={id:t,i:u,n:s,I:l,L:f,h:!1,d:void 0,e:void 0,er:void 0,E:void 0,C:void 0}}(t,e);return n.C||function(e,n){return n.C=function e(n,t,r){if(!r[t.id])return r[t.id]=!0,Promise.resolve(t.L).then(function(){return Promise.all(t.d.map(function(t){return e(n,t,r)}))})}(e,n,{}).then(function(){return function e(n,t,r){if(r[t.id])return;if(r[t.id]=!0,!t.e){if(t.er)throw t.er;return t.E?t.E:void 0}var o;return t.d.forEach(function(t){{var i=e(n,t,r);i&&(o=o||[]).push(i)}}),o?Promise.all(o).then(i):i();function i(){try{var e=t.e.call(f);if(e)return e=e.then(function(){t.C=t.n,t.E=null}),t.E=t.E||e;t.C=t.n}catch(e){throw t.er=e,e}finally{t.L=t.I=void 0,t.e=null}}}(e,n,{})}).then(function(){return n.n})}(t,n)})},s.createContext=function(e){return{url:e}},s.register=function(e,n){l=[e,n]},s.getRegister=function(){var e=l;return l=void 0,e};var f=Object.freeze(Object.create(null));n.System=n.System||new u;var d=s.register;s.register=function(e,n){d.call(this,e,n)},s.instantiate=function(e,n){var t=this;return".json"===e.substr(-5)?fetch(e).then(function(e){return e.text()}).then(function(e){return[[],function(n){return{execute:function(){n("default",JSON.parse(e))}}}]}):new Promise(function(r,o){var i;function c(n){n.filename===e&&(i=n.error)}window.addEventListener("error",c);var u=document.createElement("script");u.charset="utf-8",u.async=!0,u.addEventListener("error",function(){window.removeEventListener("error",c),o(Error("Error loading "+e+(n?" from "+n:"")))}),u.addEventListener("load",function(){window.removeEventListener("error",c),document.head.removeChild(u),i?o(i):r(t.getRegister())}),u.src=e,document.head.appendChild(u)})},e&&"function"==typeof importScripts&&(s.instantiate=function(e){var n=this;return new Promise(function(t,r){try{importScripts(e)}catch(e){r(e)}t(n.getRegister())})}),s.resolve=function(e,n){var o=function(e,n){if(-1!==e.indexOf("\\")&&(e=e.replace(r,"/")),"/"===e[0]&&"/"===e[1])return n.slice(0,n.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){var t=n.slice(0,n.indexOf(":")+1);var r;if(r="/"===n[t.length+1]?"file:"!==t?(r=n.slice(t.length+2)).slice(r.indexOf("/")+1):n.slice(8):n.slice(t.length+("/"===n[t.length])),"/"===e[0])return n.slice(0,n.length-r.length-1)+e;var o=r.slice(0,r.lastIndexOf("/")+1)+e,i=[];var c=-1;for(var e=0;e<o.length;e++)-1!==c?"/"===o[e]&&(i.push(o.slice(c,e+1)),c=-1):"."===o[e]?"."!==o[e+1]||"/"!==o[e+2]&&e+2!==o.length?"/"===o[e+1]||e+1===o.length?e+=1:c=e:(i.pop(),e+=2):c=e;return-1!==c&&i.push(o.slice(c)),n.slice(0,n.length-r.length)+i.join("")}}(e,n||t);if(!o){if(-1!==e.indexOf(":"))return Promise.resolve(e);throw Error('Cannot resolve "'+e+(n?'" from '+n:'"'))}return Promise.resolve(o)}}();
+!function () {
+  var e = "undefined" != typeof self,
+    n = e ? self : global;
+  var t;
+  if ("undefined" != typeof document) {
+    var e = document.querySelector("base[href]");
+    e && (t = e.href);
+  }
+  if (!t && "undefined" != typeof location) {
+    var e = (t = location.href.split("#")[0].split("?")[0]).lastIndexOf("/");
+    -1 !== e && (t = t.slice(0, e + 1));
+  }
+  var r = /\\/g,
+    o = "undefined" != typeof Symbol,
+    i = o && Symbol.toStringTag,
+    c = o ? Symbol() : "@";
+  function u() {
+    this[c] = {};
+  }
+  var s = u.prototype;
+  var l;
+  s.import = function (e, n) {
+    var t = this;
+    return Promise.resolve(t.resolve(e, n)).then(function (e) {
+      var n = function e(n, t, r) {
+        var o = n[c][t];
+        if (o) return o;
+        var u = [],
+          s = Object.create(null);
+        i && Object.defineProperty(s, i, {
+          value: "Module"
+        });
+        var l = Promise.resolve().then(function () {
+          return n.instantiate(t, r);
+        }).then(function (e) {
+          if (!e) throw Error("Module " + t + " did not instantiate");
+          var r = e[1](function (e, n) {
+            o.h = !0;
+            var t = !1;
+            if ("object" != typeof e) e in s && s[e] === n || (s[e] = n, t = !0);else for (var n in e) {
+              var r = e[n];
+              n in s && s[n] === r || (s[n] = r, t = !0);
+            }
+            if (t) for (var e = 0; e < u.length; e++) u[e](s);
+            return n;
+          }, 2 === e[1].length ? {
+            import: function _import(e) {
+              return n.import(e, t);
+            },
+            meta: n.createContext(t)
+          } : void 0);
+          return o.e = r.execute || function () {}, [e[0], r.setters || []];
+        });
+        var f = l.then(function (r) {
+          return Promise.all(r[0].map(function (o, i) {
+            var c = r[1][i];
+            return Promise.resolve(n.resolve(o, t)).then(function (r) {
+              var o = e(n, r, t);
+              return Promise.resolve(o.I).then(function () {
+                return c && (o.i.push(c), !o.h && o.I || c(o.n)), o;
+              });
+            });
+          })).then(function (e) {
+            o.d = e;
+          });
+        });
+        return f.catch(function (e) {
+          o.e = null, o.er = e;
+        }), o = n[c][t] = {
+          id: t,
+          i: u,
+          n: s,
+          I: l,
+          L: f,
+          h: !1,
+          d: void 0,
+          e: void 0,
+          er: void 0,
+          E: void 0,
+          C: void 0
+        };
+      }(t, e);
+      return n.C || function (e, n) {
+        return n.C = function e(n, t, r) {
+          if (!r[t.id]) return r[t.id] = !0, Promise.resolve(t.L).then(function () {
+            return Promise.all(t.d.map(function (t) {
+              return e(n, t, r);
+            }));
+          });
+        }(e, n, {}).then(function () {
+          return function e(n, t, r) {
+            if (r[t.id]) return;
+            if (r[t.id] = !0, !t.e) {
+              if (t.er) throw t.er;
+              return t.E ? t.E : void 0;
+            }
+            var o;
+            return t.d.forEach(function (t) {
+              {
+                var i = e(n, t, r);
+                i && (o = o || []).push(i);
+              }
+            }), o ? Promise.all(o).then(i) : i();
+            function i() {
+              try {
+                var e = t.e.call(f);
+                if (e) return e = e.then(function () {
+                  t.C = t.n, t.E = null;
+                }), t.E = t.E || e;
+                t.C = t.n;
+              } catch (e) {
+                throw t.er = e, e;
+              } finally {
+                t.L = t.I = void 0, t.e = null;
+              }
+            }
+          }(e, n, {});
+        }).then(function () {
+          return n.n;
+        });
+      }(t, n);
+    });
+  }, s.createContext = function (e) {
+    return {
+      url: e
+    };
+  }, s.register = function (e, n) {
+    l = [e, n];
+  }, s.getRegister = function () {
+    var e = l;
+    return l = void 0, e;
+  };
+  var f = Object.freeze(Object.create(null));
+  n.System = n.System || new u();
+  var d = s.register;
+  s.register = function (e, n) {
+    d.call(this, e, n);
+  }, s.instantiate = function (e, n) {
+    var t = this;
+    return ".json" === e.substr(-5) ? fetch(e).then(function (e) {
+      return e.text();
+    }).then(function (e) {
+      return [[], function (n) {
+        return {
+          execute: function execute() {
+            n("default", JSON.parse(e));
+          }
+        };
+      }];
+    }) : new Promise(function (r, o) {
+      var i;
+      function c(n) {
+        n.filename === e && (i = n.error);
+      }
+      window.addEventListener("error", c);
+      var u = document.createElement("script");
+      u.charset = "utf-8", u.async = !0, u.addEventListener("error", function () {
+        window.removeEventListener("error", c), o(Error("Error loading " + e + (n ? " from " + n : "")));
+      }), u.addEventListener("load", function () {
+        window.removeEventListener("error", c), document.head.removeChild(u), i ? o(i) : r(t.getRegister());
+      }), u.src = e, document.head.appendChild(u);
+    });
+  }, e && "function" == typeof importScripts && (s.instantiate = function (e) {
+    var n = this;
+    return new Promise(function (t, r) {
+      try {
+        importScripts(e);
+      } catch (e) {
+        r(e);
+      }
+      t(n.getRegister());
+    });
+  }), s.resolve = function (e, n) {
+    var o = function (e, n) {
+      if (-1 !== e.indexOf("\\") && (e = e.replace(r, "/")), "/" === e[0] && "/" === e[1]) return n.slice(0, n.indexOf(":") + 1) + e;
+      if ("." === e[0] && ("/" === e[1] || "." === e[1] && ("/" === e[2] || 2 === e.length && (e += "/")) || 1 === e.length && (e += "/")) || "/" === e[0]) {
+        var t = n.slice(0, n.indexOf(":") + 1);
+        var r;
+        if (r = "/" === n[t.length + 1] ? "file:" !== t ? (r = n.slice(t.length + 2)).slice(r.indexOf("/") + 1) : n.slice(8) : n.slice(t.length + ("/" === n[t.length])), "/" === e[0]) return n.slice(0, n.length - r.length - 1) + e;
+        var o = r.slice(0, r.lastIndexOf("/") + 1) + e,
+          i = [];
+        var c = -1;
+        for (var e = 0; e < o.length; e++) -1 !== c ? "/" === o[e] && (i.push(o.slice(c, e + 1)), c = -1) : "." === o[e] ? "." !== o[e + 1] || "/" !== o[e + 2] && e + 2 !== o.length ? "/" === o[e + 1] || e + 1 === o.length ? e += 1 : c = e : (i.pop(), e += 2) : c = e;
+        return -1 !== c && i.push(o.slice(c)), n.slice(0, n.length - r.length) + i.join("");
+      }
+    }(e, n || t);
+    if (!o) {
+      if (-1 !== e.indexOf(":")) return Promise.resolve(e);
+      throw Error('Cannot resolve "' + e + (n ? '" from ' + n : '"'));
+    }
+    return Promise.resolve(o);
+  };
+}();
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/pwa-action-sheet.entry.js b/src/public/js/pwa-elements/esm/pwa-action-sheet.entry.js
index fc5d68b..e8711cc 100644
--- a/src/public/js/pwa-elements/esm/pwa-action-sheet.entry.js
+++ b/src/public/js/pwa-elements/esm/pwa-action-sheet.entry.js
@@ -1,9 +1,13 @@
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { r as registerInstance, c as createEvent, h, g as getElement } from './index-1c5c47b4.js';
-
-const actionSheetCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}";
-
-const PWAActionSheet = class {
-  constructor(hostRef) {
+var actionSheetCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, \"Helvetica Neue\", \"Roboto\", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}";
+var PWAActionSheet = /*#__PURE__*/function () {
+  function PWAActionSheet(hostRef) {
+    _classCallCheck(this, PWAActionSheet);
     registerInstance(this, hostRef);
     this.onSelection = createEvent(this, "onSelection", 7);
     this.header = undefined;
@@ -11,32 +15,67 @@ const PWAActionSheet = class {
     this.options = [];
     this.open = false;
   }
-  componentDidLoad() {
-    requestAnimationFrame(() => {
-      this.open = true;
-    });
-  }
-  dismiss() {
-    if (this.cancelable) {
+  return _createClass(PWAActionSheet, [{
+    key: "componentDidLoad",
+    value: function componentDidLoad() {
+      var _this = this;
+      requestAnimationFrame(function () {
+        _this.open = true;
+      });
+    }
+  }, {
+    key: "dismiss",
+    value: function dismiss() {
+      if (this.cancelable) {
+        this.close();
+      }
+    }
+  }, {
+    key: "close",
+    value: function close() {
+      var _this2 = this;
+      this.open = false;
+      setTimeout(function () {
+        _this2.el.parentNode.removeChild(_this2.el);
+      }, 500);
+    }
+  }, {
+    key: "handleOptionClick",
+    value: function handleOptionClick(e, i) {
+      e.stopPropagation();
+      this.onSelection.emit(i);
       this.close();
     }
-  }
-  close() {
-    this.open = false;
-    setTimeout(() => {
-      this.el.parentNode.removeChild(this.el);
-    }, 500);
-  }
-  handleOptionClick(e, i) {
-    e.stopPropagation();
-    this.onSelection.emit(i);
-    this.close();
-  }
-  render() {
-    return (h("div", { class: `wrapper${this.open ? ' open' : ''}`, onClick: () => this.dismiss() }, h("div", { class: "content" }, h("div", { class: "title" }, this.header), this.options.map((option, i) => h("div", { class: "action-sheet-option", onClick: (e) => this.handleOptionClick(e, i) }, h("div", { class: "action-sheet-button" }, option.title))))));
-  }
-  get el() { return getElement(this); }
-};
+  }, {
+    key: "render",
+    value: function render() {
+      var _this3 = this;
+      return h("div", {
+        class: "wrapper".concat(this.open ? ' open' : ''),
+        onClick: function onClick() {
+          return _this3.dismiss();
+        }
+      }, h("div", {
+        class: "content"
+      }, h("div", {
+        class: "title"
+      }, this.header), this.options.map(function (option, i) {
+        return h("div", {
+          class: "action-sheet-option",
+          onClick: function onClick(e) {
+            return _this3.handleOptionClick(e, i);
+          }
+        }, h("div", {
+          class: "action-sheet-button"
+        }, option.title));
+      })));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return getElement(this);
+    }
+  }]);
+}();
 PWAActionSheet.style = actionSheetCss;
-
-export { PWAActionSheet as pwa_action_sheet };
+export { PWAActionSheet as pwa_action_sheet };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/pwa-camera-modal-instance.entry.js b/src/public/js/pwa-elements/esm/pwa-camera-modal-instance.entry.js
index eb58c62..e00a817 100644
--- a/src/public/js/pwa-elements/esm/pwa-camera-modal-instance.entry.js
+++ b/src/public/js/pwa-elements/esm/pwa-camera-modal-instance.entry.js
@@ -1,41 +1,105 @@
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { r as registerInstance, c as createEvent, h, g as getElement } from './index-1c5c47b4.js';
-
-const cameraModalInstanceCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
-
-const PWACameraModal = class {
-  constructor(hostRef) {
+var cameraModalInstanceCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
+var PWACameraModal = /*#__PURE__*/function () {
+  function PWACameraModal(hostRef) {
+    var _this = this;
+    _classCallCheck(this, PWACameraModal);
     registerInstance(this, hostRef);
     this.onPhoto = createEvent(this, "onPhoto", 7);
     this.noDeviceError = createEvent(this, "noDeviceError", 7);
-    this.handlePhoto = async (photo) => {
-      this.onPhoto.emit(photo);
-    };
-    this.handleNoDeviceError = async (photo) => {
-      this.noDeviceError.emit(photo);
-    };
+    this.handlePhoto = /*#__PURE__*/function () {
+      var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(photo) {
+        return _regeneratorRuntime().wrap(function _callee$(_context) {
+          while (1) switch (_context.prev = _context.next) {
+            case 0:
+              _this.onPhoto.emit(photo);
+            case 1:
+            case "end":
+              return _context.stop();
+          }
+        }, _callee);
+      }));
+      return function (_x) {
+        return _ref.apply(this, arguments);
+      };
+    }();
+    this.handleNoDeviceError = /*#__PURE__*/function () {
+      var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(photo) {
+        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+          while (1) switch (_context2.prev = _context2.next) {
+            case 0:
+              _this.noDeviceError.emit(photo);
+            case 1:
+            case "end":
+              return _context2.stop();
+          }
+        }, _callee2);
+      }));
+      return function (_x2) {
+        return _ref2.apply(this, arguments);
+      };
+    }();
     this.facingMode = 'user';
     this.hidePicker = false;
     this.noDevicesText = 'No camera found';
     this.noDevicesButtonText = 'Choose image';
   }
-  handleBackdropClick(e) {
-    if (e.target !== this.el) {
-      this.onPhoto.emit(null);
+  return _createClass(PWACameraModal, [{
+    key: "handleBackdropClick",
+    value: function handleBackdropClick(e) {
+      if (e.target !== this.el) {
+        this.onPhoto.emit(null);
+      }
     }
-  }
-  handleComponentClick(e) {
-    e.stopPropagation();
-  }
-  handleBackdropKeyUp(e) {
-    if (e.key === "Escape") {
-      this.onPhoto.emit(null);
+  }, {
+    key: "handleComponentClick",
+    value: function handleComponentClick(e) {
+      e.stopPropagation();
     }
-  }
-  render() {
-    return (h("div", { class: "wrapper", onClick: e => this.handleBackdropClick(e) }, h("div", { class: "content" }, h("pwa-camera", { onClick: e => this.handleComponentClick(e), facingMode: this.facingMode, hidePicker: this.hidePicker, handlePhoto: this.handlePhoto, handleNoDeviceError: this.handleNoDeviceError, noDevicesButtonText: this.noDevicesButtonText, noDevicesText: this.noDevicesText }))));
-  }
-  get el() { return getElement(this); }
-};
+  }, {
+    key: "handleBackdropKeyUp",
+    value: function handleBackdropKeyUp(e) {
+      if (e.key === "Escape") {
+        this.onPhoto.emit(null);
+      }
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this2 = this;
+      return h("div", {
+        class: "wrapper",
+        onClick: function onClick(e) {
+          return _this2.handleBackdropClick(e);
+        }
+      }, h("div", {
+        class: "content"
+      }, h("pwa-camera", {
+        onClick: function onClick(e) {
+          return _this2.handleComponentClick(e);
+        },
+        facingMode: this.facingMode,
+        hidePicker: this.hidePicker,
+        handlePhoto: this.handlePhoto,
+        handleNoDeviceError: this.handleNoDeviceError,
+        noDevicesButtonText: this.noDevicesButtonText,
+        noDevicesText: this.noDevicesText
+      })));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return getElement(this);
+    }
+  }]);
+}();
 PWACameraModal.style = cameraModalInstanceCss;
-
-export { PWACameraModal as pwa_camera_modal_instance };
+export { PWACameraModal as pwa_camera_modal_instance };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/pwa-camera-modal.entry.js b/src/public/js/pwa-elements/esm/pwa-camera-modal.entry.js
index 7467fe2..da35bd2 100644
--- a/src/public/js/pwa-elements/esm/pwa-camera-modal.entry.js
+++ b/src/public/js/pwa-elements/esm/pwa-camera-modal.entry.js
@@ -1,43 +1,119 @@
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { r as registerInstance, c as createEvent, h } from './index-1c5c47b4.js';
-
-const cameraModalCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
-
-const PWACameraModal = class {
-  constructor(hostRef) {
+var cameraModalCss = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
+var PWACameraModal = /*#__PURE__*/function () {
+  function PWACameraModal(hostRef) {
+    _classCallCheck(this, PWACameraModal);
     registerInstance(this, hostRef);
     this.onPhoto = createEvent(this, "onPhoto", 7);
     this.noDeviceError = createEvent(this, "noDeviceError", 7);
     this.facingMode = 'user';
     this.hidePicker = false;
   }
-  async present() {
-    const camera = document.createElement('pwa-camera-modal-instance');
-    camera.facingMode = this.facingMode;
-    camera.hidePicker = this.hidePicker;
-    camera.addEventListener('onPhoto', async (e) => {
-      if (!this._modal) {
-        return;
+  return _createClass(PWACameraModal, [{
+    key: "present",
+    value: function () {
+      var _present = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
+        var _this = this;
+        var camera;
+        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
+          while (1) switch (_context3.prev = _context3.next) {
+            case 0:
+              camera = document.createElement('pwa-camera-modal-instance');
+              camera.facingMode = this.facingMode;
+              camera.hidePicker = this.hidePicker;
+              camera.addEventListener('onPhoto', /*#__PURE__*/function () {
+                var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
+                  var photo;
+                  return _regeneratorRuntime().wrap(function _callee$(_context) {
+                    while (1) switch (_context.prev = _context.next) {
+                      case 0:
+                        if (_this._modal) {
+                          _context.next = 2;
+                          break;
+                        }
+                        return _context.abrupt("return");
+                      case 2:
+                        photo = e.detail;
+                        _this.onPhoto.emit(photo);
+                      case 4:
+                      case "end":
+                        return _context.stop();
+                    }
+                  }, _callee);
+                }));
+                return function (_x) {
+                  return _ref.apply(this, arguments);
+                };
+              }());
+              camera.addEventListener('noDeviceError', /*#__PURE__*/function () {
+                var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e) {
+                  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+                    while (1) switch (_context2.prev = _context2.next) {
+                      case 0:
+                        _this.noDeviceError.emit(e);
+                      case 1:
+                      case "end":
+                        return _context2.stop();
+                    }
+                  }, _callee2);
+                }));
+                return function (_x2) {
+                  return _ref2.apply(this, arguments);
+                };
+              }());
+              document.body.append(camera);
+              this._modal = camera;
+            case 7:
+            case "end":
+              return _context3.stop();
+          }
+        }, _callee3, this);
+      }));
+      function present() {
+        return _present.apply(this, arguments);
       }
-      const photo = e.detail;
-      this.onPhoto.emit(photo);
-    });
-    camera.addEventListener('noDeviceError', async (e) => {
-      this.noDeviceError.emit(e);
-    });
-    document.body.append(camera);
-    this._modal = camera;
-  }
-  async dismiss() {
-    if (!this._modal) {
-      return;
+      return present;
+    }()
+  }, {
+    key: "dismiss",
+    value: function () {
+      var _dismiss = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
+        return _regeneratorRuntime().wrap(function _callee4$(_context4) {
+          while (1) switch (_context4.prev = _context4.next) {
+            case 0:
+              if (this._modal) {
+                _context4.next = 2;
+                break;
+              }
+              return _context4.abrupt("return");
+            case 2:
+              this._modal && this._modal.parentNode.removeChild(this._modal);
+              this._modal = null;
+            case 4:
+            case "end":
+              return _context4.stop();
+          }
+        }, _callee4, this);
+      }));
+      function dismiss() {
+        return _dismiss.apply(this, arguments);
+      }
+      return dismiss;
+    }()
+  }, {
+    key: "render",
+    value: function render() {
+      return h("div", null);
     }
-    this._modal && this._modal.parentNode.removeChild(this._modal);
-    this._modal = null;
-  }
-  render() {
-    return (h("div", null));
-  }
-};
+  }]);
+}();
 PWACameraModal.style = cameraModalCss;
-
-export { PWACameraModal as pwa_camera_modal };
+export { PWACameraModal as pwa_camera_modal };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/pwa-camera.entry.js b/src/public/js/pwa-elements/esm/pwa-camera.entry.js
index 43b8c21..bdc71ff 100644
--- a/src/public/js/pwa-elements/esm/pwa-camera.entry.js
+++ b/src/public/js/pwa-elements/esm/pwa-camera.entry.js
@@ -1,3 +1,11 @@
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { r as registerInstance, f as forceUpdate, h, g as getElement } from './index-1c5c47b4.js';
 
 /**
@@ -18,17 +26,18 @@ import { r as registerInstance, f as forceUpdate, h, g as getElement } from './i
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-let ImageCapture = window.ImageCapture;
+var ImageCapture = window.ImageCapture;
 if (typeof ImageCapture === 'undefined') {
-  ImageCapture = class {
+  ImageCapture = /*#__PURE__*/function () {
     /**
      * TODO https://www.w3.org/TR/image-capture/#constructors
      *
      * @param {MediaStreamTrack} videoStreamTrack - A MediaStreamTrack of the 'video' kind
      */
-    constructor(videoStreamTrack) {
-      if (videoStreamTrack.kind !== 'video')
-        throw new DOMException('NotSupportedError');
+    function ImageCapture(videoStreamTrack) {
+      var _this = this;
+      _classCallCheck(this, ImageCapture);
+      if (videoStreamTrack.kind !== 'video') throw new DOMException('NotSupportedError');
       this._videoStreamTrack = videoStreamTrack;
       if (!('readyState' in this._videoStreamTrack)) {
         // Polyfill for Firefox
@@ -37,13 +46,12 @@ if (typeof ImageCapture === 'undefined') {
       // MediaStream constructor not available until Chrome 55 - https://www.chromestatus.com/feature/5912172546752512
       this._previewStream = new MediaStream([videoStreamTrack]);
       this.videoElement = document.createElement('video');
-      this.videoElementPlaying = new Promise(resolve => {
-        this.videoElement.addEventListener('playing', resolve);
+      this.videoElementPlaying = new Promise(function (resolve) {
+        _this.videoElement.addEventListener('playing', resolve);
       });
       if (HTMLMediaElement) {
         this.videoElement.srcObject = this._previewStream; // Safari 11 doesn't allow use of createObjectURL for MediaStream
-      }
-      else {
+      } else {
         this.videoElement.src = URL.createObjectURL(this._previewStream);
       }
       this.videoElement.muted = true;
@@ -57,109 +65,121 @@ if (typeof ImageCapture === 'undefined') {
      * https://w3c.github.io/mediacapture-image/index.html#dom-imagecapture-videostreamtrack
      * @return {MediaStreamTrack} The MediaStreamTrack passed into the constructor
      */
-    get videoStreamTrack() {
-      return this._videoStreamTrack;
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
-     * @return {Promise<PhotoCapabilities>} Fulfilled promise with
-     * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
-     * object on success, rejected promise on failure
-     */
-    getPhotoCapabilities() {
-      return new Promise(function executorGPC(resolve, reject) {
-        // TODO see https://github.com/w3c/mediacapture-image/issues/97
-        const MediaSettingsRange = {
-          current: 0, min: 0, max: 0,
-        };
-        resolve({
-          exposureCompensation: MediaSettingsRange,
-          exposureMode: 'none',
-          fillLightMode: ['none'],
-          focusMode: 'none',
-          imageHeight: MediaSettingsRange,
-          imageWidth: MediaSettingsRange,
-          iso: MediaSettingsRange,
-          redEyeReduction: false,
-          whiteBalanceMode: 'none',
-          zoom: MediaSettingsRange,
+    return _createClass(ImageCapture, [{
+      key: "videoStreamTrack",
+      get: function get() {
+        return this._videoStreamTrack;
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-getphotocapabilities
+       * @return {Promise<PhotoCapabilities>} Fulfilled promise with
+       * [PhotoCapabilities](https://www.w3.org/TR/image-capture/#idl-def-photocapabilities)
+       * object on success, rejected promise on failure
+       */
+    }, {
+      key: "getPhotoCapabilities",
+      value: function getPhotoCapabilities() {
+        return new Promise(function executorGPC(resolve, reject) {
+          // TODO see https://github.com/w3c/mediacapture-image/issues/97
+          var MediaSettingsRange = {
+            current: 0,
+            min: 0,
+            max: 0
+          };
+          resolve({
+            exposureCompensation: MediaSettingsRange,
+            exposureMode: 'none',
+            fillLightMode: ['none'],
+            focusMode: 'none',
+            imageHeight: MediaSettingsRange,
+            imageWidth: MediaSettingsRange,
+            iso: MediaSettingsRange,
+            redEyeReduction: false,
+            whiteBalanceMode: 'none',
+            zoom: MediaSettingsRange
+          });
+          reject(new DOMException('OperationError'));
         });
-        reject(new DOMException('OperationError'));
-      });
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
-     * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
-     * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
-     */
-    setOptions(_photoSettings = {}) {
-      return new Promise(function executorSO(_resolve, _reject) {
-        // TODO
-      });
-    }
-    /**
-     * TODO
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
-     * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
-     * argument on success; rejected promise on failure
-     */
-    takePhoto() {
-      const self = this;
-      return new Promise(function executorTP(resolve, reject) {
-        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
-        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
-        if (self._videoStreamTrack.readyState !== 'live') {
-          return reject(new DOMException('InvalidStateError'));
-        }
-        self.videoElementPlaying.then(() => {
-          try {
-            self.canvasElement.width = self.videoElement.videoWidth;
-            self.canvasElement.height = self.videoElement.videoHeight;
-            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
-            self.canvasElement.toBlob(resolve);
-          }
-          catch (error) {
-            reject(new DOMException('UnknownError'));
-          }
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-setoptions
+       * @param {Object} photoSettings - Photo settings dictionary, https://www.w3.org/TR/image-capture/#idl-def-photosettings
+       * @return {Promise<void>} Fulfilled promise on success, rejected promise on failure
+       */
+    }, {
+      key: "setOptions",
+      value: function setOptions() {
+        var _photoSettings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+        return new Promise(function executorSO(_resolve, _reject) {
+          // TODO
         });
-      });
-    }
-    /**
-     * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
-     * @return {Promise<ImageBitmap>} Fulfilled promise with
-     * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
-     * argument on success; rejected promise on failure
-     */
-    grabFrame() {
-      const self = this;
-      return new Promise(function executorGF(resolve, reject) {
-        // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
-        // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
-        if (self._videoStreamTrack.readyState !== 'live') {
-          return reject(new DOMException('InvalidStateError'));
-        }
-        self.videoElementPlaying.then(() => {
-          try {
-            self.canvasElement.width = self.videoElement.videoWidth;
-            self.canvasElement.height = self.videoElement.videoHeight;
-            self.canvas2dContext.drawImage(self.videoElement, 0, 0);
-            // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
-            resolve(window.createImageBitmap(self.canvasElement));
+      }
+      /**
+       * TODO
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-takephoto
+       * @return {Promise<Blob>} Fulfilled promise with [Blob](https://www.w3.org/TR/FileAPI/#blob)
+       * argument on success; rejected promise on failure
+       */
+    }, {
+      key: "takePhoto",
+      value: function takePhoto() {
+        var self = this;
+        return new Promise(function executorTP(resolve, reject) {
+          // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+          // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+          if (self._videoStreamTrack.readyState !== 'live') {
+            return reject(new DOMException('InvalidStateError'));
           }
-          catch (error) {
-            reject(new DOMException('UnknownError'));
+          self.videoElementPlaying.then(function () {
+            try {
+              self.canvasElement.width = self.videoElement.videoWidth;
+              self.canvasElement.height = self.videoElement.videoHeight;
+              self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+              self.canvasElement.toBlob(resolve);
+            } catch (error) {
+              reject(new DOMException('UnknownError'));
+            }
+          });
+        });
+      }
+      /**
+       * Implements https://www.w3.org/TR/image-capture/#dom-imagecapture-grabframe
+       * @return {Promise<ImageBitmap>} Fulfilled promise with
+       * [ImageBitmap](https://www.w3.org/TR/html51/webappapis.html#webappapis-images)
+       * argument on success; rejected promise on failure
+       */
+    }, {
+      key: "grabFrame",
+      value: function grabFrame() {
+        var self = this;
+        return new Promise(function executorGF(resolve, reject) {
+          // `If the readyState of the MediaStreamTrack provided in the constructor is not live,
+          // return a promise rejected with a new DOMException whose name is "InvalidStateError".`
+          if (self._videoStreamTrack.readyState !== 'live') {
+            return reject(new DOMException('InvalidStateError'));
           }
+          self.videoElementPlaying.then(function () {
+            try {
+              self.canvasElement.width = self.videoElement.videoWidth;
+              self.canvasElement.height = self.videoElement.videoHeight;
+              self.canvas2dContext.drawImage(self.videoElement, 0, 0);
+              // TODO polyfill https://developer.mozilla.org/en-US/docs/Web/API/ImageBitmapFactories/createImageBitmap for IE
+              resolve(window.createImageBitmap(self.canvasElement));
+            } catch (error) {
+              reject(new DOMException('UnknownError'));
+            }
+          });
         });
-      });
-    }
-  };
+      }
+    }]);
+  }();
 }
 window.ImageCapture = ImageCapture;
-
-const cameraCss = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
-
-const CameraPWA = class {
-  constructor(hostRef) {
+var cameraCss = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
+var CameraPWA = /*#__PURE__*/function () {
+  function CameraPWA(hostRef) {
+    var _this2 = this;
+    _classCallCheck(this, CameraPWA);
     registerInstance(this, hostRef);
     // Whether the device has multiple cameras (front/back)
     this.hasMultipleCameras = false;
@@ -169,53 +189,71 @@ const CameraPWA = class {
     this.flashModes = [];
     // Current flash mode
     this.flashMode = 'off';
-    this.handlePickFile = (_e) => {
-    };
-    this.handleShutterClick = (_e) => {
+    this.handlePickFile = function (_e) {};
+    this.handleShutterClick = function (_e) {
       console.debug('shutter click');
-      this.capture();
+      _this2.capture();
     };
-    this.handleRotateClick = (_e) => {
-      this.rotate();
+    this.handleRotateClick = function (_e) {
+      _this2.rotate();
     };
-    this.handleClose = (_e) => {
-      this.handlePhoto && this.handlePhoto(null);
+    this.handleClose = function (_e) {
+      _this2.handlePhoto && _this2.handlePhoto(null);
     };
-    this.handleFlashClick = (_e) => {
-      this.cycleFlash();
+    this.handleFlashClick = function (_e) {
+      _this2.cycleFlash();
     };
-    this.handleCancelPhoto = (_e) => {
-      const track = this.stream && this.stream.getTracks()[0];
-      let c = track && track.getConstraints();
-      this.photo = null;
-      this.photoSrc = null;
+    this.handleCancelPhoto = function (_e) {
+      var track = _this2.stream && _this2.stream.getTracks()[0];
+      var c = track && track.getConstraints();
+      _this2.photo = null;
+      _this2.photoSrc = null;
       if (c) {
-        this.initCamera({
+        _this2.initCamera({
           video: {
             facingMode: c.facingMode
           }
         });
+      } else {
+        _this2.initCamera();
       }
-      else {
-        this.initCamera();
-      }
-    };
-    this.handleAcceptPhoto = (_e) => {
-      this.handlePhoto && this.handlePhoto(this.photo);
     };
-    this.handleFileInputChange = async (e) => {
-      const input = e.target;
-      const file = input.files[0];
-      try {
-        const orientation = await this.getOrientation(file);
-        console.debug('Got orientation', orientation);
-        this.photoOrientation = orientation;
-      }
-      catch (e) {
-      }
-      this.handlePhoto && this.handlePhoto(file);
+    this.handleAcceptPhoto = function (_e) {
+      _this2.handlePhoto && _this2.handlePhoto(_this2.photo);
     };
-    this.handleVideoMetadata = (e) => {
+    this.handleFileInputChange = /*#__PURE__*/function () {
+      var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
+        var input, file, orientation;
+        return _regeneratorRuntime().wrap(function _callee$(_context) {
+          while (1) switch (_context.prev = _context.next) {
+            case 0:
+              input = e.target;
+              file = input.files[0];
+              _context.prev = 2;
+              _context.next = 5;
+              return _this2.getOrientation(file);
+            case 5:
+              orientation = _context.sent;
+              console.debug('Got orientation', orientation);
+              _this2.photoOrientation = orientation;
+              _context.next = 12;
+              break;
+            case 10:
+              _context.prev = 10;
+              _context.t0 = _context["catch"](2);
+            case 12:
+              _this2.handlePhoto && _this2.handlePhoto(file);
+            case 13:
+            case "end":
+              return _context.stop();
+          }
+        }, _callee, null, [[2, 10]]);
+      }));
+      return function (_x) {
+        return _ref.apply(this, arguments);
+      };
+    }();
+    this.handleVideoMetadata = function (e) {
       console.debug('Video metadata', e);
     };
     this.facingMode = 'user';
@@ -232,250 +270,573 @@ const CameraPWA = class {
     this.rotation = 0;
     this.deviceError = null;
   }
-  async componentDidLoad() {
-    this.defaultConstraints = {
-      video: {
-        facingMode: this.facingMode
+  return _createClass(CameraPWA, [{
+    key: "componentDidLoad",
+    value: function () {
+      var _componentDidLoad = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
+        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+          while (1) switch (_context2.prev = _context2.next) {
+            case 0:
+              this.defaultConstraints = {
+                video: {
+                  facingMode: this.facingMode
+                }
+              };
+              // Figure out how many cameras we have
+              _context2.next = 3;
+              return this.queryDevices();
+            case 3:
+              _context2.next = 5;
+              return this.initCamera();
+            case 5:
+            case "end":
+              return _context2.stop();
+          }
+        }, _callee2, this);
+      }));
+      function componentDidLoad() {
+        return _componentDidLoad.apply(this, arguments);
       }
-    };
-    // Figure out how many cameras we have
-    await this.queryDevices();
-    // Initialize the camera
-    await this.initCamera();
-  }
-  disconnectedCallback() {
-    this.stopStream();
-    this.photoSrc && URL.revokeObjectURL(this.photoSrc);
-  }
-  hasImageCapture() {
-    return 'ImageCapture' in window;
-  }
-  /**
-   * Query the list of connected devices and figure out how many video inputs we have.
-   */
-  async queryDevices() {
-    try {
-      const devices = await navigator.mediaDevices.enumerateDevices();
-      const videoDevices = devices.filter(d => d.kind == 'videoinput');
-      this.hasCamera = !!videoDevices.length;
-      this.hasMultipleCameras = videoDevices.length > 1;
-    }
-    catch (e) {
-      this.deviceError = e;
-    }
-  }
-  async initCamera(constraints) {
-    if (!constraints) {
-      constraints = this.defaultConstraints;
+      return componentDidLoad;
+    }()
+  }, {
+    key: "disconnectedCallback",
+    value: function disconnectedCallback() {
+      this.stopStream();
+      this.photoSrc && URL.revokeObjectURL(this.photoSrc);
     }
-    try {
-      const stream = await navigator.mediaDevices.getUserMedia(Object.assign({ video: true, audio: false }, constraints));
-      this.initStream(stream);
+  }, {
+    key: "hasImageCapture",
+    value: function hasImageCapture() {
+      return 'ImageCapture' in window;
     }
-    catch (e) {
-      this.deviceError = e;
-      this.handleNoDeviceError && this.handleNoDeviceError(e);
-    }
-  }
-  async initStream(stream) {
-    this.stream = stream;
-    this.videoElement.srcObject = stream;
-    if (this.hasImageCapture()) {
-      this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
-      await this.initPhotoCapabilities(this.imageCapture);
-    }
-    else {
-      this.deviceError = 'No image capture';
-      this.handleNoDeviceError && this.handleNoDeviceError();
-    }
-    // Always re-render
-    forceUpdate(this.el);
-  }
-  async initPhotoCapabilities(imageCapture) {
-    const c = await imageCapture.getPhotoCapabilities();
-    if (c.fillLightMode && c.fillLightMode.length > 1) {
-      this.flashModes = c.fillLightMode.map(m => m);
-      // Try to recall the current flash mode
-      if (this.flashMode) {
-        this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
-        this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+    /**
+     * Query the list of connected devices and figure out how many video inputs we have.
+     */
+  }, {
+    key: "queryDevices",
+    value: (function () {
+      var _queryDevices = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
+        var devices, videoDevices;
+        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
+          while (1) switch (_context3.prev = _context3.next) {
+            case 0:
+              _context3.prev = 0;
+              _context3.next = 3;
+              return navigator.mediaDevices.enumerateDevices();
+            case 3:
+              devices = _context3.sent;
+              videoDevices = devices.filter(function (d) {
+                return d.kind == 'videoinput';
+              });
+              this.hasCamera = !!videoDevices.length;
+              this.hasMultipleCameras = videoDevices.length > 1;
+              _context3.next = 12;
+              break;
+            case 9:
+              _context3.prev = 9;
+              _context3.t0 = _context3["catch"](0);
+              this.deviceError = _context3.t0;
+            case 12:
+            case "end":
+              return _context3.stop();
+          }
+        }, _callee3, this, [[0, 9]]);
+      }));
+      function queryDevices() {
+        return _queryDevices.apply(this, arguments);
       }
-      else {
-        this.flashIndex = 0;
+      return queryDevices;
+    }())
+  }, {
+    key: "initCamera",
+    value: function () {
+      var _initCamera = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(constraints) {
+        var stream;
+        return _regeneratorRuntime().wrap(function _callee4$(_context4) {
+          while (1) switch (_context4.prev = _context4.next) {
+            case 0:
+              if (!constraints) {
+                constraints = this.defaultConstraints;
+              }
+              _context4.prev = 1;
+              _context4.next = 4;
+              return navigator.mediaDevices.getUserMedia(Object.assign({
+                video: true,
+                audio: false
+              }, constraints));
+            case 4:
+              stream = _context4.sent;
+              this.initStream(stream);
+              _context4.next = 12;
+              break;
+            case 8:
+              _context4.prev = 8;
+              _context4.t0 = _context4["catch"](1);
+              this.deviceError = _context4.t0;
+              this.handleNoDeviceError && this.handleNoDeviceError(_context4.t0);
+            case 12:
+            case "end":
+              return _context4.stop();
+          }
+        }, _callee4, this, [[1, 8]]);
+      }));
+      function initCamera(_x2) {
+        return _initCamera.apply(this, arguments);
       }
-    }
-  }
-  stopStream() {
-    if (this.videoElement) {
-      this.videoElement.srcObject = null;
-    }
-    this.stream && this.stream.getTracks().forEach(track => track.stop());
-  }
-  async capture() {
-    if (this.hasImageCapture()) {
-      try {
-        const photo = await this.imageCapture.takePhoto({
-          fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
-        });
-        await this.flashScreen();
-        this.promptAccept(photo);
+      return initCamera;
+    }()
+  }, {
+    key: "initStream",
+    value: function () {
+      var _initStream = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(stream) {
+        return _regeneratorRuntime().wrap(function _callee5$(_context5) {
+          while (1) switch (_context5.prev = _context5.next) {
+            case 0:
+              this.stream = stream;
+              this.videoElement.srcObject = stream;
+              if (!this.hasImageCapture()) {
+                _context5.next = 8;
+                break;
+              }
+              this.imageCapture = new window.ImageCapture(stream.getVideoTracks()[0]);
+              _context5.next = 6;
+              return this.initPhotoCapabilities(this.imageCapture);
+            case 6:
+              _context5.next = 10;
+              break;
+            case 8:
+              this.deviceError = 'No image capture';
+              this.handleNoDeviceError && this.handleNoDeviceError();
+            case 10:
+              // Always re-render
+              forceUpdate(this.el);
+            case 11:
+            case "end":
+              return _context5.stop();
+          }
+        }, _callee5, this);
+      }));
+      function initStream(_x3) {
+        return _initStream.apply(this, arguments);
       }
-      catch (e) {
-        console.error('Unable to take photo!', e);
+      return initStream;
+    }()
+  }, {
+    key: "initPhotoCapabilities",
+    value: function () {
+      var _initPhotoCapabilities = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(imageCapture) {
+        var c;
+        return _regeneratorRuntime().wrap(function _callee6$(_context6) {
+          while (1) switch (_context6.prev = _context6.next) {
+            case 0:
+              _context6.next = 2;
+              return imageCapture.getPhotoCapabilities();
+            case 2:
+              c = _context6.sent;
+              if (c.fillLightMode && c.fillLightMode.length > 1) {
+                this.flashModes = c.fillLightMode.map(function (m) {
+                  return m;
+                });
+                // Try to recall the current flash mode
+                if (this.flashMode) {
+                  this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || 'off';
+                  this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+                } else {
+                  this.flashIndex = 0;
+                }
+              }
+            case 4:
+            case "end":
+              return _context6.stop();
+          }
+        }, _callee6, this);
+      }));
+      function initPhotoCapabilities(_x4) {
+        return _initPhotoCapabilities.apply(this, arguments);
       }
-    }
-    this.stopStream();
-  }
-  async promptAccept(photo) {
-    this.photo = photo;
-    const orientation = await this.getOrientation(photo);
-    console.debug('Got orientation', orientation);
-    this.photoOrientation = orientation;
-    if (orientation) {
-      switch (orientation) {
-        case 1:
-        case 2:
-          this.rotation = 0;
-          break;
-        case 3:
-        case 4:
-          this.rotation = 180;
-          break;
-        case 5:
-        case 6:
-          this.rotation = 90;
-          break;
-        case 7:
-        case 8:
-          this.rotation = 270;
-          break;
+      return initPhotoCapabilities;
+    }()
+  }, {
+    key: "stopStream",
+    value: function stopStream() {
+      if (this.videoElement) {
+        this.videoElement.srcObject = null;
       }
+      this.stream && this.stream.getTracks().forEach(function (track) {
+        return track.stop();
+      });
     }
-    this.photoSrc = URL.createObjectURL(photo);
-  }
-  getOrientation(file) {
-    return new Promise(resolve => {
-      const reader = new FileReader();
-      reader.onload = (event) => {
-        const view = new DataView(event.target.result);
-        if (view.getUint16(0, false) !== 0xFFD8) {
-          return resolve(-2);
-        }
-        const length = view.byteLength;
-        let offset = 2;
-        while (offset < length) {
-          const marker = view.getUint16(offset, false);
-          offset += 2;
-          if (marker === 0xFFE1) {
-            if (view.getUint32(offset += 2, false) !== 0x45786966) {
-              return resolve(-1);
-            }
-            const little = view.getUint16(offset += 6, false) === 0x4949;
-            offset += view.getUint32(offset + 4, little);
-            const tags = view.getUint16(offset, little);
+  }, {
+    key: "capture",
+    value: function () {
+      var _capture = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
+        var photo;
+        return _regeneratorRuntime().wrap(function _callee7$(_context7) {
+          while (1) switch (_context7.prev = _context7.next) {
+            case 0:
+              if (!this.hasImageCapture()) {
+                _context7.next = 13;
+                break;
+              }
+              _context7.prev = 1;
+              _context7.next = 4;
+              return this.imageCapture.takePhoto({
+                fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
+              });
+            case 4:
+              photo = _context7.sent;
+              _context7.next = 7;
+              return this.flashScreen();
+            case 7:
+              this.promptAccept(photo);
+              _context7.next = 13;
+              break;
+            case 10:
+              _context7.prev = 10;
+              _context7.t0 = _context7["catch"](1);
+              console.error('Unable to take photo!', _context7.t0);
+            case 13:
+              this.stopStream();
+            case 14:
+            case "end":
+              return _context7.stop();
+          }
+        }, _callee7, this, [[1, 10]]);
+      }));
+      function capture() {
+        return _capture.apply(this, arguments);
+      }
+      return capture;
+    }()
+  }, {
+    key: "promptAccept",
+    value: function () {
+      var _promptAccept = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(photo) {
+        var orientation;
+        return _regeneratorRuntime().wrap(function _callee8$(_context8) {
+          while (1) switch (_context8.prev = _context8.next) {
+            case 0:
+              this.photo = photo;
+              _context8.next = 3;
+              return this.getOrientation(photo);
+            case 3:
+              orientation = _context8.sent;
+              console.debug('Got orientation', orientation);
+              this.photoOrientation = orientation;
+              if (!orientation) {
+                _context8.next = 18;
+                break;
+              }
+              _context8.t0 = orientation;
+              _context8.next = _context8.t0 === 1 ? 10 : _context8.t0 === 2 ? 10 : _context8.t0 === 3 ? 12 : _context8.t0 === 4 ? 12 : _context8.t0 === 5 ? 14 : _context8.t0 === 6 ? 14 : _context8.t0 === 7 ? 16 : _context8.t0 === 8 ? 16 : 18;
+              break;
+            case 10:
+              this.rotation = 0;
+              return _context8.abrupt("break", 18);
+            case 12:
+              this.rotation = 180;
+              return _context8.abrupt("break", 18);
+            case 14:
+              this.rotation = 90;
+              return _context8.abrupt("break", 18);
+            case 16:
+              this.rotation = 270;
+              return _context8.abrupt("break", 18);
+            case 18:
+              this.photoSrc = URL.createObjectURL(photo);
+            case 19:
+            case "end":
+              return _context8.stop();
+          }
+        }, _callee8, this);
+      }));
+      function promptAccept(_x5) {
+        return _promptAccept.apply(this, arguments);
+      }
+      return promptAccept;
+    }()
+  }, {
+    key: "getOrientation",
+    value: function getOrientation(file) {
+      return new Promise(function (resolve) {
+        var reader = new FileReader();
+        reader.onload = function (event) {
+          var view = new DataView(event.target.result);
+          if (view.getUint16(0, false) !== 0xFFD8) {
+            return resolve(-2);
+          }
+          var length = view.byteLength;
+          var offset = 2;
+          while (offset < length) {
+            var marker = view.getUint16(offset, false);
             offset += 2;
-            for (let i = 0; i < tags; i++) {
-              if (view.getUint16(offset + (i * 12), little) === 0x0112) {
-                return resolve(view.getUint16(offset + (i * 12) + 8, little));
+            if (marker === 0xFFE1) {
+              if (view.getUint32(offset += 2, false) !== 0x45786966) {
+                return resolve(-1);
               }
+              var little = view.getUint16(offset += 6, false) === 0x4949;
+              offset += view.getUint32(offset + 4, little);
+              var tags = view.getUint16(offset, little);
+              offset += 2;
+              for (var i = 0; i < tags; i++) {
+                if (view.getUint16(offset + i * 12, little) === 0x0112) {
+                  return resolve(view.getUint16(offset + i * 12 + 8, little));
+                }
+              }
+            } else if ((marker & 0xFF00) !== 0xFF00) {
+              break;
+            } else {
+              offset += view.getUint16(offset, false);
             }
           }
-          else if ((marker & 0xFF00) !== 0xFF00) {
-            break;
+          return resolve(-1);
+        };
+        reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
+      });
+    }
+  }, {
+    key: "rotate",
+    value: function rotate() {
+      this.stopStream();
+      var track = this.stream && this.stream.getTracks()[0];
+      if (!track) {
+        return;
+      }
+      var c = track.getConstraints();
+      var facingMode = c.facingMode;
+      if (!facingMode) {
+        var _c = track.getCapabilities();
+        if (_c.facingMode) {
+          facingMode = _c.facingMode[0];
+        }
+      }
+      if (facingMode === 'environment') {
+        this.initCamera({
+          video: {
+            facingMode: 'user'
           }
-          else {
-            offset += view.getUint16(offset, false);
+        });
+      } else {
+        this.initCamera({
+          video: {
+            facingMode: 'environment'
           }
-        }
-        return resolve(-1);
-      };
-      reader.readAsArrayBuffer(file.slice(0, 64 * 1024));
-    });
-  }
-  rotate() {
-    this.stopStream();
-    const track = this.stream && this.stream.getTracks()[0];
-    if (!track) {
-      return;
+        });
+      }
+    }
+  }, {
+    key: "setFlashMode",
+    value: function setFlashMode(mode) {
+      console.debug('New flash mode: ', mode);
+      this.flashMode = mode;
     }
-    let c = track.getConstraints();
-    let facingMode = c.facingMode;
-    if (!facingMode) {
-      let c = track.getCapabilities();
-      if (c.facingMode) {
-        facingMode = c.facingMode[0];
+  }, {
+    key: "cycleFlash",
+    value: function cycleFlash() {
+      if (this.flashModes.length > 0) {
+        this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
+        this.setFlashMode(this.flashModes[this.flashIndex]);
       }
     }
-    if (facingMode === 'environment') {
-      this.initCamera({
-        video: {
-          facingMode: 'user'
-        }
-      });
+  }, {
+    key: "flashScreen",
+    value: function () {
+      var _flashScreen = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
+        var _this3 = this;
+        return _regeneratorRuntime().wrap(function _callee9$(_context9) {
+          while (1) switch (_context9.prev = _context9.next) {
+            case 0:
+              return _context9.abrupt("return", new Promise(function (resolve, _reject) {
+                _this3.showShutterOverlay = true;
+                setTimeout(function () {
+                  _this3.showShutterOverlay = false;
+                  resolve();
+                }, 100);
+              }));
+            case 1:
+            case "end":
+              return _context9.stop();
+          }
+        }, _callee9);
+      }));
+      function flashScreen() {
+        return _flashScreen.apply(this, arguments);
+      }
+      return flashScreen;
+    }()
+  }, {
+    key: "iconExit",
+    value: function iconExit() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconPhotos",
+    value: function iconPhotos() {
+      return h("svg", {
+        xmlns: 'http://www.w3.org/2000/svg',
+        width: '512',
+        height: '512',
+        viewBox: '0 0 512 512'
+      }, h("path", {
+        d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z'
+      }), h("path", {
+        d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z'
+      }));
+    }
+  }, {
+    key: "iconConfirm",
+    value: function iconConfirm() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
     }
-    else {
-      this.initCamera({
-        video: {
-          facingMode: 'environment'
+  }, {
+    key: "iconReverseCamera",
+    value: function iconReverseCamera() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconRetake",
+    value: function iconRetake() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashOff",
+    value: function iconFlashOff() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashOn",
+    value: function iconFlashOn() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashAuto",
+    value: function iconFlashAuto() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this4 = this;
+      // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
+      var acceptStyles = {};
+      return h("div", {
+        class: "camera-wrapper"
+      }, h("div", {
+        class: "camera-header"
+      }, h("section", {
+        class: "items"
+      }, h("div", {
+        class: "item close",
+        onClick: function onClick(e) {
+          return _this4.handleClose(e);
         }
-      });
+      }, h("img", {
+        src: this.iconExit()
+      })), h("div", {
+        class: "item flash",
+        onClick: function onClick(e) {
+          return _this4.handleFlashClick(e);
+        }
+      }, this.flashModes.length > 0 && h("div", null, this.flashMode == 'off' ? h("img", {
+        src: this.iconFlashOff()
+      }) : '', this.flashMode == 'auto' ? h("img", {
+        src: this.iconFlashAuto()
+      }) : '', this.flashMode == 'flash' ? h("img", {
+        src: this.iconFlashOn()
+      }) : '')))), (this.hasCamera === false || !!this.deviceError) && h("div", {
+        class: "no-device"
+      }, h("h2", null, this.noDevicesText), h("label", {
+        htmlFor: "_pwa-elements-camera-input"
+      }, this.noDevicesButtonText), h("input", {
+        type: "file",
+        id: "_pwa-elements-camera-input",
+        onChange: this.handleFileInputChange,
+        accept: "image/*",
+        class: "select-file-button"
+      })), this.photoSrc ? h("div", {
+        class: "accept"
+      }, h("div", {
+        class: "accept-image",
+        style: Object.assign({
+          backgroundImage: "url(".concat(this.photoSrc, ")")
+        }, acceptStyles)
+      })) : h("div", {
+        class: "camera-video"
+      }, this.showShutterOverlay && h("div", {
+        class: "shutter-overlay"
+      }), this.hasImageCapture() ? h("video", {
+        ref: function ref(el) {
+          return _this4.videoElement = el;
+        },
+        onLoadedMetaData: this.handleVideoMetadata,
+        autoplay: true,
+        playsinline: true
+      }) : h("canvas", {
+        ref: function ref(el) {
+          return _this4.canvasElement = el;
+        },
+        width: "100%",
+        height: "100%"
+      }), h("canvas", {
+        class: "offscreen-image-render",
+        ref: function ref(e) {
+          return _this4.offscreenCanvas = e;
+        },
+        width: "100%",
+        height: "100%"
+      })), this.hasCamera && h("div", {
+        class: "camera-footer"
+      }, !this.photo ? [!this.hidePicker && h("div", {
+        class: "pick-image",
+        onClick: this.handlePickFile
+      }, h("label", {
+        htmlFor: "_pwa-elements-file-pick"
+      }, this.iconPhotos()), h("input", {
+        type: "file",
+        id: "_pwa-elements-file-pick",
+        onChange: this.handleFileInputChange,
+        accept: "image/*",
+        class: "pick-image-button"
+      })), h("div", {
+        class: "shutter",
+        onClick: this.handleShutterClick
+      }, h("div", {
+        class: "shutter-button"
+      })), h("div", {
+        class: "rotate",
+        onClick: this.handleRotateClick
+      }, h("img", {
+        src: this.iconReverseCamera()
+      }))] : h("section", {
+        class: "items"
+      }, h("div", {
+        class: "item accept-cancel",
+        onClick: function onClick(e) {
+          return _this4.handleCancelPhoto(e);
+        }
+      }, h("img", {
+        src: this.iconRetake()
+      })), h("div", {
+        class: "item accept-use",
+        onClick: function onClick(e) {
+          return _this4.handleAcceptPhoto(e);
+        }
+      }, h("img", {
+        src: this.iconConfirm()
+      })))));
     }
-  }
-  setFlashMode(mode) {
-    console.debug('New flash mode: ', mode);
-    this.flashMode = mode;
-  }
-  cycleFlash() {
-    if (this.flashModes.length > 0) {
-      this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
-      this.setFlashMode(this.flashModes[this.flashIndex]);
+  }, {
+    key: "el",
+    get: function get() {
+      return getElement(this);
     }
-  }
-  async flashScreen() {
-    return new Promise((resolve, _reject) => {
-      this.showShutterOverlay = true;
-      setTimeout(() => {
-        this.showShutterOverlay = false;
-        resolve();
-      }, 100);
-    });
-  }
-  iconExit() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconPhotos() {
-    return (h("svg", { xmlns: 'http://www.w3.org/2000/svg', width: '512', height: '512', viewBox: '0 0 512 512' }, h("path", { d: 'M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z' }), h("path", { d: 'M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z' })));
-  }
-  iconConfirm() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconReverseCamera() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconRetake() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconFlashOff() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  iconFlashOn() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E`;
-  }
-  iconFlashAuto() {
-    return `data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E`;
-  }
-  render() {
-    // const acceptStyles = { transform: `rotate(${-this.rotation}deg)` };
-    const acceptStyles = {};
-    return (h("div", { class: "camera-wrapper" }, h("div", { class: "camera-header" }, h("section", { class: "items" }, h("div", { class: "item close", onClick: e => this.handleClose(e) }, h("img", { src: this.iconExit() })), h("div", { class: "item flash", onClick: e => this.handleFlashClick(e) }, this.flashModes.length > 0 && (h("div", null, this.flashMode == 'off' ? h("img", { src: this.iconFlashOff() }) : '', this.flashMode == 'auto' ? h("img", { src: this.iconFlashAuto() }) : '', this.flashMode == 'flash' ? h("img", { src: this.iconFlashOn() }) : ''))))), (this.hasCamera === false || !!this.deviceError) && (h("div", { class: "no-device" }, h("h2", null, this.noDevicesText), h("label", { htmlFor: "_pwa-elements-camera-input" }, this.noDevicesButtonText), h("input", { type: "file", id: "_pwa-elements-camera-input", onChange: this.handleFileInputChange, accept: "image/*", class: "select-file-button" }))), this.photoSrc ? (h("div", { class: "accept" }, h("div", { class: "accept-image", style: Object.assign({ backgroundImage: `url(${this.photoSrc})` }, acceptStyles) }))) : (h("div", { class: "camera-video" }, this.showShutterOverlay && (h("div", { class: "shutter-overlay" })), this.hasImageCapture() ? (h("video", { ref: (el) => this.videoElement = el, onLoadedMetaData: this.handleVideoMetadata, autoplay: true, playsinline: true })) : (h("canvas", { ref: (el) => this.canvasElement = el, width: "100%", height: "100%" })), h("canvas", { class: "offscreen-image-render", ref: e => this.offscreenCanvas = e, width: "100%", height: "100%" }))), this.hasCamera && (h("div", { class: "camera-footer" }, !this.photo ? ([
-      !this.hidePicker && (h("div", { class: "pick-image", onClick: this.handlePickFile }, h("label", { htmlFor: "_pwa-elements-file-pick" }, this.iconPhotos()), h("input", { type: "file", id: "_pwa-elements-file-pick", onChange: this.handleFileInputChange, accept: "image/*", class: "pick-image-button" }))),
-      h("div", { class: "shutter", onClick: this.handleShutterClick }, h("div", { class: "shutter-button" })),
-      h("div", { class: "rotate", onClick: this.handleRotateClick }, h("img", { src: this.iconReverseCamera() })),
-    ]) : (h("section", { class: "items" }, h("div", { class: "item accept-cancel", onClick: e => this.handleCancelPhoto(e) }, h("img", { src: this.iconRetake() })), h("div", { class: "item accept-use", onClick: e => this.handleAcceptPhoto(e) }, h("img", { src: this.iconConfirm() }))))))));
-  }
-  static get assetsDirs() { return ["icons"]; }
-  get el() { return getElement(this); }
-};
+  }], [{
+    key: "assetsDirs",
+    get: function get() {
+      return ["icons"];
+    }
+  }]);
+}();
 CameraPWA.style = cameraCss;
-
-export { CameraPWA as pwa_camera };
+export { CameraPWA as pwa_camera };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/esm/pwa-toast.entry.js b/src/public/js/pwa-elements/esm/pwa-toast.entry.js
index 45f5539..490dc9f 100644
--- a/src/public/js/pwa-elements/esm/pwa-toast.entry.js
+++ b/src/public/js/pwa-elements/esm/pwa-toast.entry.js
@@ -1,45 +1,71 @@
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
 import { r as registerInstance, h, g as getElement, H as Host } from './index-1c5c47b4.js';
-
-const toastCss = ":host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, \"Helvetica Neue\", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}";
-
-const PWAToast = class {
-  constructor(hostRef) {
+var toastCss = ":host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, \"Helvetica Neue\", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}";
+var PWAToast = /*#__PURE__*/function () {
+  function PWAToast(hostRef) {
+    _classCallCheck(this, PWAToast);
     registerInstance(this, hostRef);
     this.message = undefined;
     this.duration = 2000;
     this.closing = null;
   }
-  hostData() {
-    const classes = {
-      out: !!this.closing
-    };
-    if (this.closing !== null) {
-      classes['in'] = !this.closing;
+  return _createClass(PWAToast, [{
+    key: "hostData",
+    value: function hostData() {
+      var classes = {
+        out: !!this.closing
+      };
+      if (this.closing !== null) {
+        classes['in'] = !this.closing;
+      }
+      return {
+        class: classes
+      };
     }
-    return {
-      class: classes
-    };
-  }
-  componentDidLoad() {
-    setTimeout(() => {
-      this.closing = false;
-    });
-    setTimeout(() => {
-      this.close();
-    }, this.duration);
-  }
-  close() {
-    this.closing = true;
-    setTimeout(() => {
-      this.el.parentNode.removeChild(this.el);
-    }, 1000);
-  }
-  __stencil_render() {
-    return (h("div", { class: "wrapper" }, h("div", { class: "toast" }, this.message)));
-  }
-  get el() { return getElement(this); }
-  render() { return h(Host, this.hostData(), this.__stencil_render()); }
-};
+  }, {
+    key: "componentDidLoad",
+    value: function componentDidLoad() {
+      var _this = this;
+      setTimeout(function () {
+        _this.closing = false;
+      });
+      setTimeout(function () {
+        _this.close();
+      }, this.duration);
+    }
+  }, {
+    key: "close",
+    value: function close() {
+      var _this2 = this;
+      this.closing = true;
+      setTimeout(function () {
+        _this2.el.parentNode.removeChild(_this2.el);
+      }, 1000);
+    }
+  }, {
+    key: "__stencil_render",
+    value: function __stencil_render() {
+      return h("div", {
+        class: "wrapper"
+      }, h("div", {
+        class: "toast"
+      }, this.message));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return getElement(this);
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      return h(Host, this.hostData(), this.__stencil_render());
+    }
+  }]);
+}();
 PWAToast.style = toastCss;
-
-export { PWAToast as pwa_toast };
+export { PWAToast as pwa_toast };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/index.cjs.js b/src/public/js/pwa-elements/index.cjs.js
index 8a61f38..b8ff46e 100644
--- a/src/public/js/pwa-elements/index.cjs.js
+++ b/src/public/js/pwa-elements/index.cjs.js
@@ -1 +1 @@
-module.exports = require('./cjs/index.cjs.js');
+module.exports = require('./cjs/index.cjs.js');
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js b/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js
index d94b4e1..f893813 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.esm.js
@@ -1 +1,42 @@
-import{p as e,b as o}from"./p-386e91ad.js";export{s as setNonce}from"./p-386e91ad.js";(()=>{const o=import.meta.url,a={};return""!==o&&(a.resourcesUrl=new URL(".",o).href),e(a)})().then((e=>o([["p-3bb700a2",[[1,"pwa-camera-modal",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],present:[64],dismiss:[64]}]]],["p-d0cae4dc",[[1,"pwa-action-sheet",{header:[1],cancelable:[4],options:[16],open:[32]}]]],["p-b57f4873",[[1,"pwa-toast",{message:[1],duration:[2],closing:[32]}]]],["p-665001c2",[[1,"pwa-camera",{facingMode:[1,"facing-mode"],handlePhoto:[16],hidePicker:[4,"hide-picker"],handleNoDeviceError:[16],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"],photo:[32],photoSrc:[32],showShutterOverlay:[32],flashIndex:[32],hasCamera:[32],rotation:[32],deviceError:[32]}]]],["p-d212ae1d",[[1,"pwa-camera-modal-instance",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]],e)));
\ No newline at end of file
+import { p as e, b as o } from "./p-386e91ad.js";
+export { s as setNonce } from "./p-386e91ad.js";
+(function () {
+  var o = import.meta.url,
+    a = {};
+  return "" !== o && (a.resourcesUrl = new URL(".", o).href), e(a);
+})().then(function (e) {
+  return o([["p-3bb700a2", [[1, "pwa-camera-modal", {
+    facingMode: [1, "facing-mode"],
+    hidePicker: [4, "hide-picker"],
+    present: [64],
+    dismiss: [64]
+  }]]], ["p-d0cae4dc", [[1, "pwa-action-sheet", {
+    header: [1],
+    cancelable: [4],
+    options: [16],
+    open: [32]
+  }]]], ["p-b57f4873", [[1, "pwa-toast", {
+    message: [1],
+    duration: [2],
+    closing: [32]
+  }]]], ["p-665001c2", [[1, "pwa-camera", {
+    facingMode: [1, "facing-mode"],
+    handlePhoto: [16],
+    hidePicker: [4, "hide-picker"],
+    handleNoDeviceError: [16],
+    noDevicesText: [1, "no-devices-text"],
+    noDevicesButtonText: [1, "no-devices-button-text"],
+    photo: [32],
+    photoSrc: [32],
+    showShutterOverlay: [32],
+    flashIndex: [32],
+    hasCamera: [32],
+    rotation: [32],
+    deviceError: [32]
+  }]]], ["p-d212ae1d", [[1, "pwa-camera-modal-instance", {
+    facingMode: [1, "facing-mode"],
+    hidePicker: [4, "hide-picker"],
+    noDevicesText: [1, "no-devices-text"],
+    noDevicesButtonText: [1, "no-devices-button-text"]
+  }, [[16, "keyup", "handleBackdropKeyUp"]]]]]], e);
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.js b/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.js
index 8a51cfe..3de6e9a 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/ionicpwaelements.js
@@ -1,131 +1,6462 @@
-
 'use strict';
+
 (function () {
   var currentScript = document.currentScript;
 
   // Safari 10 support type="module" but still download and executes the nomodule script
   if (!currentScript || !currentScript.hasAttribute('nomodule') || !('onbeforeload' in currentScript)) {
+    /**
+    * core-js 3.6.5
+    * https://github.com/zloirock/core-js
+    * License: http://rock.mit-license.org
+    * © 2019 Denis Pushkarev (zloirock.ru)
+    */
+    !function (t) {
+      "use strict";
 
-  /**
- * core-js 3.6.5
- * https://github.com/zloirock/core-js
- * License: http://rock.mit-license.org
- * © 2019 Denis Pushkarev (zloirock.ru)
- */
-!function(t){"use strict";!function(t){var n={};function e(r){if(n[r])return n[r].exports;var o=n[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,e),o.l=!0,o.exports}e.m=t,e.c=n,e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{enumerable:!0,get:r})},e.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},e.t=function(t,n){if(1&n&&(t=e(t)),8&n)return t;if(4&n&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(e.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&n&&"string"!=typeof t)for(var o in t)e.d(r,o,function(n){return t[n]}.bind(null,o));return r},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,n){return Object.prototype.hasOwnProperty.call(t,n)},e.p="",e(e.s=0)}([function(t,n,e){e(1),e(55),e(62),e(68),e(70),e(71),e(72),e(73),e(75),e(76),e(78),e(87),e(88),e(89),e(98),e(99),e(101),e(102),e(103),e(105),e(106),e(107),e(108),e(110),e(111),e(112),e(113),e(114),e(115),e(116),e(117),e(118),e(127),e(130),e(131),e(133),e(135),e(136),e(137),e(138),e(139),e(141),e(143),e(146),e(148),e(150),e(151),e(153),e(154),e(155),e(156),e(157),e(159),e(160),e(162),e(163),e(164),e(165),e(166),e(167),e(168),e(169),e(170),e(172),e(173),e(183),e(184),e(185),e(189),e(191),e(192),e(193),e(194),e(195),e(196),e(198),e(201),e(202),e(203),e(204),e(208),e(209),e(212),e(213),e(214),e(215),e(216),e(217),e(218),e(219),e(221),e(222),e(223),e(226),e(227),e(228),e(229),e(230),e(231),e(232),e(233),e(234),e(235),e(236),e(237),e(238),e(240),e(241),e(243),e(248),t.exports=e(246)},function(t,n,e){var r=e(2),o=e(6),i=e(45),a=e(14),u=e(46),c=e(39),f=e(47),s=e(48),l=e(52),p=e(49),h=e(53),v=p("isConcatSpreadable"),g=h>=51||!o((function(){var t=[];return t[v]=!1,t.concat()[0]!==t})),d=l("concat"),y=function(t){if(!a(t))return!1;var n=t[v];return void 0!==n?!!n:i(t)};r({target:"Array",proto:!0,forced:!g||!d},{concat:function(t){var n,e,r,o,i,a=u(this),l=s(a,0),p=0;for(n=-1,r=arguments.length;n<r;n++)if(i=-1===n?a:arguments[n],y(i)){if(p+(o=c(i.length))>9007199254740991)throw TypeError("Maximum allowed index exceeded");for(e=0;e<o;e++,p++)e in i&&f(l,p,i[e])}else{if(p>=9007199254740991)throw TypeError("Maximum allowed index exceeded");f(l,p++,i)}return l.length=p,l}})},function(t,n,e){var r=e(3),o=e(4).f,i=e(18),a=e(21),u=e(22),c=e(32),f=e(44);t.exports=function(t,n){var e,s,l,p,h,v=t.target,g=t.global,d=t.stat;if(e=g?r:d?r[v]||u(v,{}):(r[v]||{}).prototype)for(s in n){if(p=n[s],l=t.noTargetGet?(h=o(e,s))&&h.value:e[s],!f(g?s:v+(d?".":"#")+s,t.forced)&&void 0!==l){if(typeof p==typeof l)continue;c(p,l)}(t.sham||l&&l.sham)&&i(p,"sham",!0),a(e,s,p,t)}}},function(t,n){var e=function(t){return t&&t.Math==Math&&t};t.exports=e("object"==typeof globalThis&&globalThis)||e("object"==typeof window&&window)||e("object"==typeof self&&self)||e("object"==typeof global&&global)||Function("return this")()},function(t,n,e){var r=e(5),o=e(7),i=e(8),a=e(9),u=e(13),c=e(15),f=e(16),s=Object.getOwnPropertyDescriptor;n.f=r?s:function(t,n){if(t=a(t),n=u(n,!0),f)try{return s(t,n)}catch(t){}if(c(t,n))return i(!o.f.call(t,n),t[n])}},function(t,n,e){var r=e(6);t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},function(t,n){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,n,e){var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);n.f=i?function(t){var n=o(this,t);return!!n&&n.enumerable}:r},function(t,n){t.exports=function(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}},function(t,n,e){var r=e(10),o=e(12);t.exports=function(t){return r(o(t))}},function(t,n,e){var r=e(6),o=e(11),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},function(t,n){var e={}.toString;t.exports=function(t){return e.call(t).slice(8,-1)}},function(t,n){t.exports=function(t){if(null==t)throw TypeError("Can't call method on "+t);return t}},function(t,n,e){var r=e(14);t.exports=function(t,n){if(!r(t))return t;var e,o;if(n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;if("function"==typeof(e=t.valueOf)&&!r(o=e.call(t)))return o;if(!n&&"function"==typeof(e=t.toString)&&!r(o=e.call(t)))return o;throw TypeError("Can't convert object to primitive value")}},function(t,n){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,n){var e={}.hasOwnProperty;t.exports=function(t,n){return e.call(t,n)}},function(t,n,e){var r=e(5),o=e(6),i=e(17);t.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(t,n,e){var r=e(3),o=e(14),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},function(t,n,e){var r=e(5),o=e(19),i=e(8);t.exports=r?function(t,n,e){return o.f(t,n,i(1,e))}:function(t,n,e){return t[n]=e,t}},function(t,n,e){var r=e(5),o=e(16),i=e(20),a=e(13),u=Object.defineProperty;n.f=r?u:function(t,n,e){if(i(t),n=a(n,!0),i(e),o)try{return u(t,n,e)}catch(t){}if("get"in e||"set"in e)throw TypeError("Accessors not supported");return"value"in e&&(t[n]=e.value),t}},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},function(t,n,e){var r=e(3),o=e(18),i=e(15),a=e(22),u=e(23),c=e(25),f=c.get,s=c.enforce,l=String(String).split("String");(t.exports=function(t,n,e,u){var c=!!u&&!!u.unsafe,f=!!u&&!!u.enumerable,p=!!u&&!!u.noTargetGet;"function"==typeof e&&("string"!=typeof n||i(e,"name")||o(e,"name",n),s(e).source=l.join("string"==typeof n?n:"")),t!==r?(c?!p&&t[n]&&(f=!0):delete t[n],f?t[n]=e:o(t,n,e)):f?t[n]=e:a(n,e)})(Function.prototype,"toString",(function(){return"function"==typeof this&&f(this).source||u(this)}))},function(t,n,e){var r=e(3),o=e(18);t.exports=function(t,n){try{o(r,t,n)}catch(e){r[t]=n}return n}},function(t,n,e){var r=e(24),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},function(t,n,e){var r=e(3),o=e(22),i=r["__core-js_shared__"]||o("__core-js_shared__",{});t.exports=i},function(t,n,e){var r,o,i,a=e(26),u=e(3),c=e(14),f=e(18),s=e(15),l=e(27),p=e(31),h=u.WeakMap;if(a){var v=new h,g=v.get,d=v.has,y=v.set;r=function(t,n){return y.call(v,t,n),n},o=function(t){return g.call(v,t)||{}},i=function(t){return d.call(v,t)}}else{var x=l("state");p[x]=!0,r=function(t,n){return f(t,x,n),n},o=function(t){return s(t,x)?t[x]:{}},i=function(t){return s(t,x)}}t.exports={set:r,get:o,has:i,enforce:function(t){return i(t)?o(t):r(t,{})},getterFor:function(t){return function(n){var e;if(!c(n)||(e=o(n)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return e}}}},function(t,n,e){var r=e(3),o=e(23),i=r.WeakMap;t.exports="function"==typeof i&&/native code/.test(o(i))},function(t,n,e){var r=e(28),o=e(30),i=r("keys");t.exports=function(t){return i[t]||(i[t]=o(t))}},function(t,n,e){var r=e(29),o=e(24);(t.exports=function(t,n){return o[t]||(o[t]=void 0!==n?n:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},function(t,n){t.exports=!1},function(t,n){var e=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++e+r).toString(36)}},function(t,n){t.exports={}},function(t,n,e){var r=e(15),o=e(33),i=e(4),a=e(19);t.exports=function(t,n){for(var e=o(n),u=a.f,c=i.f,f=0;f<e.length;f++){var s=e[f];r(t,s)||u(t,s,c(n,s))}}},function(t,n,e){var r=e(34),o=e(36),i=e(43),a=e(20);t.exports=r("Reflect","ownKeys")||function(t){var n=o.f(a(t)),e=i.f;return e?n.concat(e(t)):n}},function(t,n,e){var r=e(35),o=e(3),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,n){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][n]||o[t]&&o[t][n]}},function(t,n,e){var r=e(3);t.exports=r},function(t,n,e){var r=e(37),o=e(42).concat("length","prototype");n.f=Object.getOwnPropertyNames||function(t){return r(t,o)}},function(t,n,e){var r=e(15),o=e(9),i=e(38).indexOf,a=e(31);t.exports=function(t,n){var e,u=o(t),c=0,f=[];for(e in u)!r(a,e)&&r(u,e)&&f.push(e);for(;n.length>c;)r(u,e=n[c++])&&(~i(f,e)||f.push(e));return f}},function(t,n,e){var r=e(9),o=e(39),i=e(41),a=function(t){return function(n,e,a){var u,c=r(n),f=o(c.length),s=i(a,f);if(t&&e!=e){for(;f>s;)if((u=c[s++])!=u)return!0}else for(;f>s;s++)if((t||s in c)&&c[s]===e)return t||s||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},function(t,n,e){var r=e(40),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},function(t,n){var e=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:e)(t)}},function(t,n,e){var r=e(40),o=Math.max,i=Math.min;t.exports=function(t,n){var e=r(t);return e<0?o(e+n,0):i(e,n)}},function(t,n){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(t,n){n.f=Object.getOwnPropertySymbols},function(t,n,e){var r=e(6),o=/#|\.prototype\./,i=function(t,n){var e=u[a(t)];return e==f||e!=c&&("function"==typeof n?r(n):!!n)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},u=i.data={},c=i.NATIVE="N",f=i.POLYFILL="P";t.exports=i},function(t,n,e){var r=e(11);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,n,e){var r=e(12);t.exports=function(t){return Object(r(t))}},function(t,n,e){var r=e(13),o=e(19),i=e(8);t.exports=function(t,n,e){var a=r(n);a in t?o.f(t,a,i(0,e)):t[a]=e}},function(t,n,e){var r=e(14),o=e(45),i=e(49)("species");t.exports=function(t,n){var e;return o(t)&&("function"!=typeof(e=t.constructor)||e!==Array&&!o(e.prototype)?r(e)&&null===(e=e[i])&&(e=void 0):e=void 0),new(void 0===e?Array:e)(0===n?0:n)}},function(t,n,e){var r=e(3),o=e(28),i=e(15),a=e(30),u=e(50),c=e(51),f=o("wks"),s=r.Symbol,l=c?s:s&&s.withoutSetter||a;t.exports=function(t){return i(f,t)||(u&&i(s,t)?f[t]=s[t]:f[t]=l("Symbol."+t)),f[t]}},function(t,n,e){var r=e(6);t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(t,n,e){var r=e(50);t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(t,n,e){var r=e(6),o=e(49),i=e(53),a=o("species");t.exports=function(t){return i>=51||!r((function(){var n=[];return(n.constructor={})[a]=function(){return{foo:1}},1!==n[t](Boolean).foo}))}},function(t,n,e){var r,o,i=e(3),a=e(54),u=i.process,c=u&&u.versions,f=c&&c.v8;f?o=(r=f.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),t.exports=o&&+o},function(t,n,e){var r=e(34);t.exports=r("navigator","userAgent")||""},function(t,n,e){var r=e(2),o=e(56),i=e(57);r({target:"Array",proto:!0},{copyWithin:o}),i("copyWithin")},function(t,n,e){var r=e(46),o=e(41),i=e(39),a=Math.min;t.exports=[].copyWithin||function(t,n){var e=r(this),u=i(e.length),c=o(t,u),f=o(n,u),s=arguments.length>2?arguments[2]:void 0,l=a((void 0===s?u:o(s,u))-f,u-c),p=1;for(f<c&&c<f+l&&(p=-1,f+=l-1,c+=l-1);l-- >0;)f in e?e[c]=e[f]:delete e[c],c+=p,f+=p;return e}},function(t,n,e){var r=e(49),o=e(58),i=e(19),a=r("unscopables"),u=Array.prototype;null==u[a]&&i.f(u,a,{configurable:!0,value:o(null)}),t.exports=function(t){u[a][t]=!0}},function(t,n,e){var r,o=e(20),i=e(59),a=e(42),u=e(31),c=e(61),f=e(17),s=e(27),l=s("IE_PROTO"),p=function(){},h=function(t){return"<script>"+t+"<\/script>"},v=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}var t,n;v=r?function(t){t.write(h("")),t.close();var n=t.parentWindow.Object;return t=null,n}(r):((n=f("iframe")).style.display="none",c.appendChild(n),n.src=String("javascript:"),(t=n.contentWindow.document).open(),t.write(h("document.F=Object")),t.close(),t.F);for(var e=a.length;e--;)delete v.prototype[a[e]];return v()};u[l]=!0,t.exports=Object.create||function(t,n){var e;return null!==t?(p.prototype=o(t),e=new p,p.prototype=null,e[l]=t):e=v(),void 0===n?e:i(e,n)}},function(t,n,e){var r=e(5),o=e(19),i=e(20),a=e(60);t.exports=r?Object.defineProperties:function(t,n){i(t);for(var e,r=a(n),u=r.length,c=0;u>c;)o.f(t,e=r[c++],n[e]);return t}},function(t,n,e){var r=e(37),o=e(42);t.exports=Object.keys||function(t){return r(t,o)}},function(t,n,e){var r=e(34);t.exports=r("document","documentElement")},function(t,n,e){var r=e(2),o=e(63).every,i=e(66),a=e(67),u=i("every"),c=a("every");r({target:"Array",proto:!0,forced:!u||!c},{every:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(64),o=e(10),i=e(46),a=e(39),u=e(48),c=[].push,f=function(t){var n=1==t,e=2==t,f=3==t,s=4==t,l=6==t,p=5==t||l;return function(h,v,g,d){for(var y,x,m=i(h),b=o(m),S=r(v,g,3),E=a(b.length),w=0,O=d||u,R=n?O(h,E):e?O(h,0):void 0;E>w;w++)if((p||w in b)&&(x=S(y=b[w],w,m),t))if(n)R[w]=x;else if(x)switch(t){case 3:return!0;case 5:return y;case 6:return w;case 2:c.call(R,y)}else if(s)return!1;return l?-1:f||s?s:R}};t.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6)}},function(t,n,e){var r=e(65);t.exports=function(t,n,e){if(r(t),void 0===n)return t;switch(e){case 0:return function(){return t.call(n)};case 1:return function(e){return t.call(n,e)};case 2:return function(e,r){return t.call(n,e,r)};case 3:return function(e,r,o){return t.call(n,e,r,o)}}return function(){return t.apply(n,arguments)}}},function(t,n){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},function(t,n,e){var r=e(6);t.exports=function(t,n){var e=[][t];return!!e&&r((function(){e.call(null,n||function(){throw 1},1)}))}},function(t,n,e){var r=e(5),o=e(6),i=e(15),a=Object.defineProperty,u={},c=function(t){throw t};t.exports=function(t,n){if(i(u,t))return u[t];n||(n={});var e=[][t],f=!!i(n,"ACCESSORS")&&n.ACCESSORS,s=i(n,0)?n[0]:c,l=i(n,1)?n[1]:void 0;return u[t]=!!e&&!o((function(){if(f&&!r)return!0;var t={length:-1};f?a(t,1,{enumerable:!0,get:c}):t[1]=1,e.call(t,s,l)}))}},function(t,n,e){var r=e(2),o=e(69),i=e(57);r({target:"Array",proto:!0},{fill:o}),i("fill")},function(t,n,e){var r=e(46),o=e(41),i=e(39);t.exports=function(t){for(var n=r(this),e=i(n.length),a=arguments.length,u=o(a>1?arguments[1]:void 0,e),c=a>2?arguments[2]:void 0,f=void 0===c?e:o(c,e);f>u;)n[u++]=t;return n}},function(t,n,e){var r=e(2),o=e(63).filter,i=e(52),a=e(67),u=i("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!u||!c},{filter:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(63).find,i=e(57),a=e(67),u=!0,c=a("find");"find"in[]&&Array(1).find((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{find:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("find")},function(t,n,e){var r=e(2),o=e(63).findIndex,i=e(57),a=e(67),u=!0,c=a("findIndex");"findIndex"in[]&&Array(1).findIndex((function(){u=!1})),r({target:"Array",proto:!0,forced:u||!c},{findIndex:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("findIndex")},function(t,n,e){var r=e(2),o=e(74),i=e(46),a=e(39),u=e(40),c=e(48);r({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,n=i(this),e=a(n.length),r=c(n,0);return r.length=o(r,n,n,e,0,void 0===t?1:u(t)),r}})},function(t,n,e){var r=e(45),o=e(39),i=e(64),a=function(t,n,e,u,c,f,s,l){for(var p,h=c,v=0,g=!!s&&i(s,l,3);v<u;){if(v in e){if(p=g?g(e[v],v,n):e[v],f>0&&r(p))h=a(t,n,p,o(p.length),h,f-1)-1;else{if(h>=9007199254740991)throw TypeError("Exceed the acceptable array length");t[h]=p}h++}v++}return h};t.exports=a},function(t,n,e){var r=e(2),o=e(74),i=e(46),a=e(39),u=e(65),c=e(48);r({target:"Array",proto:!0},{flatMap:function(t){var n,e=i(this),r=a(e.length);return u(t),(n=c(e,0)).length=o(n,e,e,r,0,1,t,arguments.length>1?arguments[1]:void 0),n}})},function(t,n,e){var r=e(2),o=e(77);r({target:"Array",proto:!0,forced:[].forEach!=o},{forEach:o})},function(t,n,e){var r=e(63).forEach,o=e(66),i=e(67),a=o("forEach"),u=i("forEach");t.exports=a&&u?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},function(t,n,e){var r=e(2),o=e(79);r({target:"Array",stat:!0,forced:!e(86)((function(t){Array.from(t)}))},{from:o})},function(t,n,e){var r=e(64),o=e(46),i=e(80),a=e(81),u=e(39),c=e(47),f=e(83);t.exports=function(t){var n,e,s,l,p,h,v=o(t),g="function"==typeof this?this:Array,d=arguments.length,y=d>1?arguments[1]:void 0,x=void 0!==y,m=f(v),b=0;if(x&&(y=r(y,d>2?arguments[2]:void 0,2)),null==m||g==Array&&a(m))for(e=new g(n=u(v.length));n>b;b++)h=x?y(v[b],b):v[b],c(e,b,h);else for(p=(l=m.call(v)).next,e=new g;!(s=p.call(l)).done;b++)h=x?i(l,y,[s.value,b],!0):s.value,c(e,b,h);return e.length=b,e}},function(t,n,e){var r=e(20);t.exports=function(t,n,e,o){try{return o?n(r(e)[0],e[1]):n(e)}catch(n){var i=t.return;throw void 0!==i&&r(i.call(t)),n}}},function(t,n,e){var r=e(49),o=e(82),i=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(o.Array===t||a[i]===t)}},function(t,n){t.exports={}},function(t,n,e){var r=e(84),o=e(82),i=e(49)("iterator");t.exports=function(t){if(null!=t)return t[i]||t["@@iterator"]||o[r(t)]}},function(t,n,e){var r=e(85),o=e(11),i=e(49)("toStringTag"),a="Arguments"==o(function(){return arguments}());t.exports=r?o:function(t){var n,e,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(e=function(t,n){try{return t[n]}catch(t){}}(n=Object(t),i))?e:a?o(n):"Object"==(r=o(n))&&"function"==typeof n.callee?"Arguments":r}},function(t,n,e){var r={};r[e(49)("toStringTag")]="z",t.exports="[object z]"===String(r)},function(t,n,e){var r=e(49)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(t){}t.exports=function(t,n){if(!n&&!o)return!1;var e=!1;try{var i={};i[r]=function(){return{next:function(){return{done:e=!0}}}},t(i)}catch(t){}return e}},function(t,n,e){var r=e(2),o=e(38).includes,i=e(57);r({target:"Array",proto:!0,forced:!e(67)("indexOf",{ACCESSORS:!0,1:0})},{includes:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}}),i("includes")},function(t,n,e){var r=e(2),o=e(38).indexOf,i=e(66),a=e(67),u=[].indexOf,c=!!u&&1/[1].indexOf(1,-0)<0,f=i("indexOf"),s=a("indexOf",{ACCESSORS:!0,1:0});r({target:"Array",proto:!0,forced:c||!f||!s},{indexOf:function(t){return c?u.apply(this,arguments)||0:o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(9),o=e(57),i=e(82),a=e(25),u=e(90),c=a.set,f=a.getterFor("Array Iterator");t.exports=u(Array,"Array",(function(t,n){c(this,{type:"Array Iterator",target:r(t),index:0,kind:n})}),(function(){var t=f(this),n=t.target,e=t.kind,r=t.index++;return!n||r>=n.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==e?{value:r,done:!1}:"values"==e?{value:n[r],done:!1}:{value:[r,n[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},function(t,n,e){var r=e(2),o=e(91),i=e(93),a=e(96),u=e(95),c=e(18),f=e(21),s=e(49),l=e(29),p=e(82),h=e(92),v=h.IteratorPrototype,g=h.BUGGY_SAFARI_ITERATORS,d=s("iterator"),y=function(){return this};t.exports=function(t,n,e,s,h,x,m){o(e,n,s);var b,S,E,w=function(t){if(t===h&&I)return I;if(!g&&t in A)return A[t];switch(t){case"keys":case"values":case"entries":return function(){return new e(this,t)}}return function(){return new e(this)}},O=n+" Iterator",R=!1,A=t.prototype,j=A[d]||A["@@iterator"]||h&&A[h],I=!g&&j||w(h),k="Array"==n&&A.entries||j;if(k&&(b=i(k.call(new t)),v!==Object.prototype&&b.next&&(l||i(b)===v||(a?a(b,v):"function"!=typeof b[d]&&c(b,d,y)),u(b,O,!0,!0),l&&(p[O]=y))),"values"==h&&j&&"values"!==j.name&&(R=!0,I=function(){return j.call(this)}),l&&!m||A[d]===I||c(A,d,I),p[n]=I,h)if(S={values:w("values"),keys:x?I:w("keys"),entries:w("entries")},m)for(E in S)(g||R||!(E in A))&&f(A,E,S[E]);else r({target:n,proto:!0,forced:g||R},S);return S}},function(t,n,e){var r=e(92).IteratorPrototype,o=e(58),i=e(8),a=e(95),u=e(82),c=function(){return this};t.exports=function(t,n,e){var f=n+" Iterator";return t.prototype=o(r,{next:i(1,e)}),a(t,f,!1,!0),u[f]=c,t}},function(t,n,e){var r,o,i,a=e(93),u=e(18),c=e(15),f=e(49),s=e(29),l=f("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=a(a(i)))!==Object.prototype&&(r=o):p=!0),null==r&&(r={}),s||c(r,l)||u(r,l,(function(){return this})),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},function(t,n,e){var r=e(15),o=e(46),i=e(27),a=e(94),u=i("IE_PROTO"),c=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),r(t,u)?t[u]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},function(t,n,e){var r=e(6);t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},function(t,n,e){var r=e(19).f,o=e(15),i=e(49)("toStringTag");t.exports=function(t,n,e){t&&!o(t=e?t:t.prototype,i)&&r(t,i,{configurable:!0,value:n})}},function(t,n,e){var r=e(20),o=e(97);t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,n=!1,e={};try{(t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(e,[]),n=e instanceof Array}catch(t){}return function(e,i){return r(e),o(i),n?t.call(e,i):e.__proto__=i,e}}():void 0)},function(t,n,e){var r=e(14);t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},function(t,n,e){var r=e(2),o=e(10),i=e(9),a=e(66),u=[].join,c=o!=Object,f=a("join",",");r({target:"Array",proto:!0,forced:c||!f},{join:function(t){return u.call(i(this),void 0===t?",":t)}})},function(t,n,e){var r=e(2),o=e(100);r({target:"Array",proto:!0,forced:o!==[].lastIndexOf},{lastIndexOf:o})},function(t,n,e){var r=e(9),o=e(40),i=e(39),a=e(66),u=e(67),c=Math.min,f=[].lastIndexOf,s=!!f&&1/[1].lastIndexOf(1,-0)<0,l=a("lastIndexOf"),p=u("indexOf",{ACCESSORS:!0,1:0}),h=s||!l||!p;t.exports=h?function(t){if(s)return f.apply(this,arguments)||0;var n=r(this),e=i(n.length),a=e-1;for(arguments.length>1&&(a=c(a,o(arguments[1]))),a<0&&(a=e+a);a>=0;a--)if(a in n&&n[a]===t)return a||0;return-1}:f},function(t,n,e){var r=e(2),o=e(63).map,i=e(52),a=e(67),u=i("map"),c=a("map");r({target:"Array",proto:!0,forced:!u||!c},{map:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(6),i=e(47);r({target:"Array",stat:!0,forced:o((function(){function t(){}return!(Array.of.call(t)instanceof t)}))},{of:function(){for(var t=0,n=arguments.length,e=new("function"==typeof this?this:Array)(n);n>t;)i(e,t,arguments[t++]);return e.length=n,e}})},function(t,n,e){var r=e(2),o=e(104).left,i=e(66),a=e(67),u=i("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduce:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(65),o=e(46),i=e(10),a=e(39),u=function(t){return function(n,e,u,c){r(e);var f=o(n),s=i(f),l=a(f.length),p=t?l-1:0,h=t?-1:1;if(u<2)for(;;){if(p in s){c=s[p],p+=h;break}if(p+=h,t?p<0:l<=p)throw TypeError("Reduce of empty array with no initial value")}for(;t?p>=0:l>p;p+=h)p in s&&(c=e(c,s[p],p,f));return c}};t.exports={left:u(!1),right:u(!0)}},function(t,n,e){var r=e(2),o=e(104).right,i=e(66),a=e(67),u=i("reduceRight"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!u||!c},{reduceRight:function(t){return o(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(14),i=e(45),a=e(41),u=e(39),c=e(9),f=e(47),s=e(49),l=e(52),p=e(67),h=l("slice"),v=p("slice",{ACCESSORS:!0,0:0,1:2}),g=s("species"),d=[].slice,y=Math.max;r({target:"Array",proto:!0,forced:!h||!v},{slice:function(t,n){var e,r,s,l=c(this),p=u(l.length),h=a(t,p),v=a(void 0===n?p:n,p);if(i(l)&&("function"!=typeof(e=l.constructor)||e!==Array&&!i(e.prototype)?o(e)&&null===(e=e[g])&&(e=void 0):e=void 0,e===Array||void 0===e))return d.call(l,h,v);for(r=new(void 0===e?Array:e)(y(v-h,0)),s=0;h<v;h++,s++)h in l&&f(r,s,l[h]);return r.length=s,r}})},function(t,n,e){var r=e(2),o=e(63).some,i=e(66),a=e(67),u=i("some"),c=a("some");r({target:"Array",proto:!0,forced:!u||!c},{some:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){e(109)("Array")},function(t,n,e){var r=e(34),o=e(19),i=e(49),a=e(5),u=i("species");t.exports=function(t){var n=r(t),e=o.f;a&&n&&!n[u]&&e(n,u,{configurable:!0,get:function(){return this}})}},function(t,n,e){var r=e(2),o=e(41),i=e(40),a=e(39),u=e(46),c=e(48),f=e(47),s=e(52),l=e(67),p=s("splice"),h=l("splice",{ACCESSORS:!0,0:0,1:2}),v=Math.max,g=Math.min;r({target:"Array",proto:!0,forced:!p||!h},{splice:function(t,n){var e,r,s,l,p,h,d=u(this),y=a(d.length),x=o(t,y),m=arguments.length;if(0===m?e=r=0:1===m?(e=0,r=y-x):(e=m-2,r=g(v(i(n),0),y-x)),y+e-r>9007199254740991)throw TypeError("Maximum allowed length exceeded");for(s=c(d,r),l=0;l<r;l++)(p=x+l)in d&&f(s,l,d[p]);if(s.length=r,e<r){for(l=x;l<y-r;l++)h=l+e,(p=l+r)in d?d[h]=d[p]:delete d[h];for(l=y;l>y-r+e;l--)delete d[l-1]}else if(e>r)for(l=y-r;l>x;l--)h=l+e-1,(p=l+r-1)in d?d[h]=d[p]:delete d[h];for(l=0;l<e;l++)d[l+x]=arguments[l+2];return d.length=y-r+e,s}})},function(t,n,e){e(57)("flat")},function(t,n,e){e(57)("flatMap")},function(t,n,e){var r=e(14),o=e(19),i=e(93),a=e(49)("hasInstance"),u=Function.prototype;a in u||o.f(u,a,{value:function(t){if("function"!=typeof this||!r(t))return!1;if(!r(this.prototype))return t instanceof this;for(;t=i(t);)if(this.prototype===t)return!0;return!1}})},function(t,n,e){var r=e(5),o=e(19).f,i=Function.prototype,a=i.toString,u=/^\s*function ([^ (]*)/;r&&!("name"in i)&&o(i,"name",{configurable:!0,get:function(){try{return a.call(this).match(u)[1]}catch(t){return""}}})},function(t,n,e){e(2)({global:!0},{globalThis:e(3)})},function(t,n,e){var r=e(2),o=e(34),i=e(6),a=o("JSON","stringify"),u=/[\uD800-\uDFFF]/g,c=/^[\uD800-\uDBFF]$/,f=/^[\uDC00-\uDFFF]$/,s=function(t,n,e){var r=e.charAt(n-1),o=e.charAt(n+1);return c.test(t)&&!f.test(o)||f.test(t)&&!c.test(r)?"\\u"+t.charCodeAt(0).toString(16):t},l=i((function(){return'"\\udf06\\ud834"'!==a("\udf06\ud834")||'"\\udead"'!==a("\udead")}));a&&r({target:"JSON",stat:!0,forced:l},{stringify:function(t,n,e){var r=a.apply(null,arguments);return"string"==typeof r?r.replace(u,s):r}})},function(t,n,e){var r=e(3);e(95)(r.JSON,"JSON",!0)},function(t,n,e){var r=e(119),o=e(125);t.exports=r("Map",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},function(t,n,e){var r=e(2),o=e(3),i=e(44),a=e(21),u=e(120),c=e(122),f=e(123),s=e(14),l=e(6),p=e(86),h=e(95),v=e(124);t.exports=function(t,n,e){var g=-1!==t.indexOf("Map"),d=-1!==t.indexOf("Weak"),y=g?"set":"add",x=o[t],m=x&&x.prototype,b=x,S={},E=function(t){var n=m[t];a(m,t,"add"==t?function(t){return n.call(this,0===t?0:t),this}:"delete"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:"get"==t?function(t){return d&&!s(t)?void 0:n.call(this,0===t?0:t)}:"has"==t?function(t){return!(d&&!s(t))&&n.call(this,0===t?0:t)}:function(t,e){return n.call(this,0===t?0:t,e),this})};if(i(t,"function"!=typeof x||!(d||m.forEach&&!l((function(){(new x).entries().next()})))))b=e.getConstructor(n,t,g,y),u.REQUIRED=!0;else if(i(t,!0)){var w=new b,O=w[y](d?{}:-0,1)!=w,R=l((function(){w.has(1)})),A=p((function(t){new x(t)})),j=!d&&l((function(){for(var t=new x,n=5;n--;)t[y](n,n);return!t.has(-0)}));A||((b=n((function(n,e){f(n,b,t);var r=v(new x,n,b);return null!=e&&c(e,r[y],r,g),r}))).prototype=m,m.constructor=b),(R||j)&&(E("delete"),E("has"),g&&E("get")),(j||O)&&E(y),d&&m.clear&&delete m.clear}return S[t]=b,r({global:!0,forced:b!=x},S),h(b,t),d||e.setStrong(b,t,g),b}},function(t,n,e){var r=e(31),o=e(14),i=e(15),a=e(19).f,u=e(30),c=e(121),f=u("meta"),s=0,l=Object.isExtensible||function(){return!0},p=function(t){a(t,f,{value:{objectID:"O"+ ++s,weakData:{}}})},h=t.exports={REQUIRED:!1,fastKey:function(t,n){if(!o(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!i(t,f)){if(!l(t))return"F";if(!n)return"E";p(t)}return t[f].objectID},getWeakData:function(t,n){if(!i(t,f)){if(!l(t))return!0;if(!n)return!1;p(t)}return t[f].weakData},onFreeze:function(t){return c&&h.REQUIRED&&l(t)&&!i(t,f)&&p(t),t}};r[f]=!0},function(t,n,e){var r=e(6);t.exports=!r((function(){return Object.isExtensible(Object.preventExtensions({}))}))},function(t,n,e){var r=e(20),o=e(81),i=e(39),a=e(64),u=e(83),c=e(80),f=function(t,n){this.stopped=t,this.result=n};(t.exports=function(t,n,e,s,l){var p,h,v,g,d,y,x,m=a(n,e,s?2:1);if(l)p=t;else{if("function"!=typeof(h=u(t)))throw TypeError("Target is not iterable");if(o(h)){for(v=0,g=i(t.length);g>v;v++)if((d=s?m(r(x=t[v])[0],x[1]):m(t[v]))&&d instanceof f)return d;return new f(!1)}p=h.call(t)}for(y=p.next;!(x=y.call(p)).done;)if("object"==typeof(d=c(p,m,x.value,s))&&d&&d instanceof f)return d;return new f(!1)}).stop=function(t){return new f(!0,t)}},function(t,n){t.exports=function(t,n,e){if(!(t instanceof n))throw TypeError("Incorrect "+(e?e+" ":"")+"invocation");return t}},function(t,n,e){var r=e(14),o=e(96);t.exports=function(t,n,e){var i,a;return o&&"function"==typeof(i=n.constructor)&&i!==e&&r(a=i.prototype)&&a!==e.prototype&&o(t,a),t}},function(t,n,e){var r=e(19).f,o=e(58),i=e(126),a=e(64),u=e(123),c=e(122),f=e(90),s=e(109),l=e(5),p=e(120).fastKey,h=e(25),v=h.set,g=h.getterFor;t.exports={getConstructor:function(t,n,e,f){var s=t((function(t,r){u(t,s,n),v(t,{type:n,index:o(null),first:void 0,last:void 0,size:0}),l||(t.size=0),null!=r&&c(r,t[f],t,e)})),h=g(n),d=function(t,n,e){var r,o,i=h(t),a=y(t,n);return a?a.value=e:(i.last=a={index:o=p(n,!0),key:n,value:e,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),l?i.size++:t.size++,"F"!==o&&(i.index[o]=a)),t},y=function(t,n){var e,r=h(t),o=p(n);if("F"!==o)return r.index[o];for(e=r.first;e;e=e.next)if(e.key==n)return e};return i(s.prototype,{clear:function(){for(var t=h(this),n=t.index,e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=void 0),delete n[e.index],e=e.next;t.first=t.last=void 0,l?t.size=0:this.size=0},delete:function(t){var n=h(this),e=y(this,t);if(e){var r=e.next,o=e.previous;delete n.index[e.index],e.removed=!0,o&&(o.next=r),r&&(r.previous=o),n.first==e&&(n.first=r),n.last==e&&(n.last=o),l?n.size--:this.size--}return!!e},forEach:function(t){for(var n,e=h(this),r=a(t,arguments.length>1?arguments[1]:void 0,3);n=n?n.next:e.first;)for(r(n.value,n.key,this);n&&n.removed;)n=n.previous},has:function(t){return!!y(this,t)}}),i(s.prototype,e?{get:function(t){var n=y(this,t);return n&&n.value},set:function(t,n){return d(this,0===t?0:t,n)}}:{add:function(t){return d(this,t=0===t?0:t,t)}}),l&&r(s.prototype,"size",{get:function(){return h(this).size}}),s},setStrong:function(t,n,e){var r=n+" Iterator",o=g(n),i=g(r);f(t,n,(function(t,n){v(this,{type:r,target:t,state:o(t),kind:n,last:void 0})}),(function(){for(var t=i(this),n=t.kind,e=t.last;e&&e.removed;)e=e.previous;return t.target&&(t.last=e=e?e.next:t.state.first)?"keys"==n?{value:e.key,done:!1}:"values"==n?{value:e.value,done:!1}:{value:[e.key,e.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),e?"entries":"values",!e,!0),s(n)}}},function(t,n,e){var r=e(21);t.exports=function(t,n,e){for(var o in n)r(t,o,n[o],e);return t}},function(t,n,e){var r=e(5),o=e(3),i=e(44),a=e(21),u=e(15),c=e(11),f=e(124),s=e(13),l=e(6),p=e(58),h=e(36).f,v=e(4).f,g=e(19).f,d=e(128).trim,y=o.Number,x=y.prototype,m="Number"==c(p(x)),b=function(t){var n,e,r,o,i,a,u,c,f=s(t,!1);if("string"==typeof f&&f.length>2)if(43===(n=(f=d(f)).charCodeAt(0))||45===n){if(88===(e=f.charCodeAt(2))||120===e)return NaN}else if(48===n){switch(f.charCodeAt(1)){case 66:case 98:r=2,o=49;break;case 79:case 111:r=8,o=55;break;default:return+f}for(a=(i=f.slice(2)).length,u=0;u<a;u++)if((c=i.charCodeAt(u))<48||c>o)return NaN;return parseInt(i,r)}return+f};if(i("Number",!y(" 0o1")||!y("0b1")||y("+0x1"))){for(var S,E=function(t){var n=arguments.length<1?0:t,e=this;return e instanceof E&&(m?l((function(){x.valueOf.call(e)})):"Number"!=c(e))?f(new y(b(n)),e,E):b(n)},w=r?h(y):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","),O=0;w.length>O;O++)u(y,S=w[O])&&!u(E,S)&&g(E,S,v(y,S));E.prototype=x,x.constructor=E,a(o,"Number",E)}},function(t,n,e){var r=e(12),o="["+e(129)+"]",i=RegExp("^"+o+o+"*"),a=RegExp(o+o+"*$"),u=function(t){return function(n){var e=String(r(n));return 1&t&&(e=e.replace(i,"")),2&t&&(e=e.replace(a,"")),e}};t.exports={start:u(1),end:u(2),trim:u(3)}},function(t,n){t.exports="\t\n\v\f\r                 \u2028\u2029\ufeff"},function(t,n,e){e(2)({target:"Number",stat:!0},{EPSILON:Math.pow(2,-52)})},function(t,n,e){e(2)({target:"Number",stat:!0},{isFinite:e(132)})},function(t,n,e){var r=e(3).isFinite;t.exports=Number.isFinite||function(t){return"number"==typeof t&&r(t)}},function(t,n,e){e(2)({target:"Number",stat:!0},{isInteger:e(134)})},function(t,n,e){var r=e(14),o=Math.floor;t.exports=function(t){return!r(t)&&isFinite(t)&&o(t)===t}},function(t,n,e){e(2)({target:"Number",stat:!0},{isNaN:function(t){return t!=t}})},function(t,n,e){var r=e(2),o=e(134),i=Math.abs;r({target:"Number",stat:!0},{isSafeInteger:function(t){return o(t)&&i(t)<=9007199254740991}})},function(t,n,e){e(2)({target:"Number",stat:!0},{MAX_SAFE_INTEGER:9007199254740991})},function(t,n,e){e(2)({target:"Number",stat:!0},{MIN_SAFE_INTEGER:-9007199254740991})},function(t,n,e){var r=e(2),o=e(140);r({target:"Number",stat:!0,forced:Number.parseFloat!=o},{parseFloat:o})},function(t,n,e){var r=e(3),o=e(128).trim,i=e(129),a=r.parseFloat,u=1/a(i+"-0")!=-1/0;t.exports=u?function(t){var n=o(String(t)),e=a(n);return 0===e&&"-"==n.charAt(0)?-0:e}:a},function(t,n,e){var r=e(2),o=e(142);r({target:"Number",stat:!0,forced:Number.parseInt!=o},{parseInt:o})},function(t,n,e){var r=e(3),o=e(128).trim,i=e(129),a=r.parseInt,u=/^[+-]?0[Xx]/,c=8!==a(i+"08")||22!==a(i+"0x16");t.exports=c?function(t,n){var e=o(String(t));return a(e,n>>>0||(u.test(e)?16:10))}:a},function(t,n,e){var r=e(2),o=e(40),i=e(144),a=e(145),u=e(6),c=1..toFixed,f=Math.floor,s=function(t,n,e){return 0===n?e:n%2==1?s(t,n-1,e*t):s(t*t,n/2,e)};r({target:"Number",proto:!0,forced:c&&("0.000"!==8e-5.toFixed(3)||"1"!==.9.toFixed(0)||"1.25"!==1.255.toFixed(2)||"1000000000000000128"!==(0xde0b6b3a7640080).toFixed(0))||!u((function(){c.call({})}))},{toFixed:function(t){var n,e,r,u,c=i(this),l=o(t),p=[0,0,0,0,0,0],h="",v="0",g=function(t,n){for(var e=-1,r=n;++e<6;)r+=t*p[e],p[e]=r%1e7,r=f(r/1e7)},d=function(t){for(var n=6,e=0;--n>=0;)e+=p[n],p[n]=f(e/t),e=e%t*1e7},y=function(){for(var t=6,n="";--t>=0;)if(""!==n||0===t||0!==p[t]){var e=String(p[t]);n=""===n?e:n+a.call("0",7-e.length)+e}return n};if(l<0||l>20)throw RangeError("Incorrect fraction digits");if(c!=c)return"NaN";if(c<=-1e21||c>=1e21)return String(c);if(c<0&&(h="-",c=-c),c>1e-21)if(e=(n=function(t){for(var n=0,e=t;e>=4096;)n+=12,e/=4096;for(;e>=2;)n+=1,e/=2;return n}(c*s(2,69,1))-69)<0?c*s(2,-n,1):c/s(2,n,1),e*=4503599627370496,(n=52-n)>0){for(g(0,e),r=l;r>=7;)g(1e7,0),r-=7;for(g(s(10,r,1),0),r=n-1;r>=23;)d(1<<23),r-=23;d(1<<r),g(1,1),d(2),v=y()}else g(0,e),g(1<<-n,0),v=y()+a.call("0",l);return v=l>0?h+((u=v.length)<=l?"0."+a.call("0",l-u)+v:v.slice(0,u-l)+"."+v.slice(u-l)):h+v}})},function(t,n,e){var r=e(11);t.exports=function(t){if("number"!=typeof t&&"Number"!=r(t))throw TypeError("Incorrect invocation");return+t}},function(t,n,e){var r=e(40),o=e(12);t.exports="".repeat||function(t){var n=String(o(this)),e="",i=r(t);if(i<0||i==1/0)throw RangeError("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(n+=n))1&i&&(e+=n);return e}},function(t,n,e){var r=e(2),o=e(147);r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},function(t,n,e){var r=e(5),o=e(6),i=e(60),a=e(43),u=e(7),c=e(46),f=e(10),s=Object.assign,l=Object.defineProperty;t.exports=!s||o((function(){if(r&&1!==s({b:1},s(l({},"a",{enumerable:!0,get:function(){l(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},n={},e=Symbol();return t[e]=7,"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),7!=s({},t)[e]||"abcdefghijklmnopqrst"!=i(s({},n)).join("")}))?function(t,n){for(var e=c(t),o=arguments.length,s=1,l=a.f,p=u.f;o>s;)for(var h,v=f(arguments[s++]),g=l?i(v).concat(l(v)):i(v),d=g.length,y=0;d>y;)h=g[y++],r&&!p.call(v,h)||(e[h]=v[h]);return e}:s},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(65),c=e(19);o&&r({target:"Object",proto:!0,forced:i},{__defineGetter__:function(t,n){c.f(a(this),t,{get:u(n),enumerable:!0,configurable:!0})}})},function(t,n,e){var r=e(29),o=e(3),i=e(6);t.exports=r||!i((function(){var t=Math.random();__defineSetter__.call(null,t,(function(){})),delete o[t]}))},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(65),c=e(19);o&&r({target:"Object",proto:!0,forced:i},{__defineSetter__:function(t,n){c.f(a(this),t,{set:u(n),enumerable:!0,configurable:!0})}})},function(t,n,e){var r=e(2),o=e(152).entries;r({target:"Object",stat:!0},{entries:function(t){return o(t)}})},function(t,n,e){var r=e(5),o=e(60),i=e(9),a=e(7).f,u=function(t){return function(n){for(var e,u=i(n),c=o(u),f=c.length,s=0,l=[];f>s;)e=c[s++],r&&!a.call(u,e)||l.push(t?[e,u[e]]:u[e]);return l}};t.exports={entries:u(!0),values:u(!1)}},function(t,n,e){var r=e(2),o=e(121),i=e(6),a=e(14),u=e(120).onFreeze,c=Object.freeze;r({target:"Object",stat:!0,forced:i((function(){c(1)})),sham:!o},{freeze:function(t){return c&&a(t)?c(u(t)):t}})},function(t,n,e){var r=e(2),o=e(122),i=e(47);r({target:"Object",stat:!0},{fromEntries:function(t){var n={};return o(t,(function(t,e){i(n,t,e)}),void 0,!0),n}})},function(t,n,e){var r=e(2),o=e(6),i=e(9),a=e(4).f,u=e(5),c=o((function(){a(1)}));r({target:"Object",stat:!0,forced:!u||c,sham:!u},{getOwnPropertyDescriptor:function(t,n){return a(i(t),n)}})},function(t,n,e){var r=e(2),o=e(5),i=e(33),a=e(9),u=e(4),c=e(47);r({target:"Object",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(t){for(var n,e,r=a(t),o=u.f,f=i(r),s={},l=0;f.length>l;)void 0!==(e=o(r,n=f[l++]))&&c(s,n,e);return s}})},function(t,n,e){var r=e(2),o=e(6),i=e(158).f;r({target:"Object",stat:!0,forced:o((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:i})},function(t,n,e){var r=e(9),o=e(36).f,i={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.f=function(t){return a&&"[object Window]"==i.call(t)?function(t){try{return o(t)}catch(t){return a.slice()}}(t):o(r(t))}},function(t,n,e){var r=e(2),o=e(6),i=e(46),a=e(93),u=e(94);r({target:"Object",stat:!0,forced:o((function(){a(1)})),sham:!u},{getPrototypeOf:function(t){return a(i(t))}})},function(t,n,e){e(2)({target:"Object",stat:!0},{is:e(161)})},function(t,n){t.exports=Object.is||function(t,n){return t===n?0!==t||1/t==1/n:t!=t&&n!=n}},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isExtensible;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isExtensible:function(t){return!!i(t)&&(!a||a(t))}})},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isFrozen;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isFrozen:function(t){return!i(t)||!!a&&a(t)}})},function(t,n,e){var r=e(2),o=e(6),i=e(14),a=Object.isSealed;r({target:"Object",stat:!0,forced:o((function(){a(1)}))},{isSealed:function(t){return!i(t)||!!a&&a(t)}})},function(t,n,e){var r=e(2),o=e(46),i=e(60);r({target:"Object",stat:!0,forced:e(6)((function(){i(1)}))},{keys:function(t){return i(o(t))}})},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(13),c=e(93),f=e(4).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupGetter__:function(t){var n,e=a(this),r=u(t,!0);do{if(n=f(e,r))return n.get}while(e=c(e))}})},function(t,n,e){var r=e(2),o=e(5),i=e(149),a=e(46),u=e(13),c=e(93),f=e(4).f;o&&r({target:"Object",proto:!0,forced:i},{__lookupSetter__:function(t){var n,e=a(this),r=u(t,!0);do{if(n=f(e,r))return n.set}while(e=c(e))}})},function(t,n,e){var r=e(2),o=e(14),i=e(120).onFreeze,a=e(121),u=e(6),c=Object.preventExtensions;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{preventExtensions:function(t){return c&&o(t)?c(i(t)):t}})},function(t,n,e){var r=e(2),o=e(14),i=e(120).onFreeze,a=e(121),u=e(6),c=Object.seal;r({target:"Object",stat:!0,forced:u((function(){c(1)})),sham:!a},{seal:function(t){return c&&o(t)?c(i(t)):t}})},function(t,n,e){var r=e(85),o=e(21),i=e(171);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(t,n,e){var r=e(85),o=e(84);t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},function(t,n,e){var r=e(2),o=e(152).values;r({target:"Object",stat:!0},{values:function(t){return o(t)}})},function(t,n,e){var r,o,i,a,u=e(2),c=e(29),f=e(3),s=e(34),l=e(174),p=e(21),h=e(126),v=e(95),g=e(109),d=e(14),y=e(65),x=e(123),m=e(11),b=e(23),S=e(122),E=e(86),w=e(175),O=e(176).set,R=e(178),A=e(179),j=e(181),I=e(180),k=e(182),P=e(25),L=e(44),T=e(49),_=e(53),U=T("species"),N="Promise",C=P.get,F=P.set,M=P.getterFor(N),z=l,D=f.TypeError,q=f.document,B=f.process,W=s("fetch"),$=I.f,G=$,V="process"==m(B),X=!!(q&&q.createEvent&&f.dispatchEvent),Y=L(N,(function(){if(!(b(z)!==String(z))){if(66===_)return!0;if(!V&&"function"!=typeof PromiseRejectionEvent)return!0}if(c&&!z.prototype.finally)return!0;if(_>=51&&/native code/.test(z))return!1;var t=z.resolve(1),n=function(t){t((function(){}),(function(){}))};return(t.constructor={})[U]=n,!(t.then((function(){}))instanceof n)})),K=Y||!E((function(t){z.all(t).catch((function(){}))})),J=function(t){var n;return!(!d(t)||"function"!=typeof(n=t.then))&&n},H=function(t,n,e){if(!n.notified){n.notified=!0;var r=n.reactions;R((function(){for(var o=n.value,i=1==n.state,a=0;r.length>a;){var u,c,f,s=r[a++],l=i?s.ok:s.fail,p=s.resolve,h=s.reject,v=s.domain;try{l?(i||(2===n.rejection&&nt(t,n),n.rejection=1),!0===l?u=o:(v&&v.enter(),u=l(o),v&&(v.exit(),f=!0)),u===s.promise?h(D("Promise-chain cycle")):(c=J(u))?c.call(u,p,h):p(u)):h(o)}catch(t){v&&!f&&v.exit(),h(t)}}n.reactions=[],n.notified=!1,e&&!n.rejection&&Z(t,n)}))}},Q=function(t,n,e){var r,o;X?((r=q.createEvent("Event")).promise=n,r.reason=e,r.initEvent(t,!1,!0),f.dispatchEvent(r)):r={promise:n,reason:e},(o=f["on"+t])?o(r):"unhandledrejection"===t&&j("Unhandled promise rejection",e)},Z=function(t,n){O.call(f,(function(){var e,r=n.value;if(tt(n)&&(e=k((function(){V?B.emit("unhandledRejection",r,t):Q("unhandledrejection",t,r)})),n.rejection=V||tt(n)?2:1,e.error))throw e.value}))},tt=function(t){return 1!==t.rejection&&!t.parent},nt=function(t,n){O.call(f,(function(){V?B.emit("rejectionHandled",t):Q("rejectionhandled",t,n.value)}))},et=function(t,n,e,r){return function(o){t(n,e,o,r)}},rt=function(t,n,e,r){n.done||(n.done=!0,r&&(n=r),n.value=e,n.state=2,H(t,n,!0))},ot=function(t,n,e,r){if(!n.done){n.done=!0,r&&(n=r);try{if(t===e)throw D("Promise can't be resolved itself");var o=J(e);o?R((function(){var r={done:!1};try{o.call(e,et(ot,t,r,n),et(rt,t,r,n))}catch(e){rt(t,r,e,n)}})):(n.value=e,n.state=1,H(t,n,!1))}catch(e){rt(t,{done:!1},e,n)}}};Y&&(z=function(t){x(this,z,N),y(t),r.call(this);var n=C(this);try{t(et(ot,this,n),et(rt,this,n))}catch(t){rt(this,n,t)}},(r=function(t){F(this,{type:N,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:0,value:void 0})}).prototype=h(z.prototype,{then:function(t,n){var e=M(this),r=$(w(this,z));return r.ok="function"!=typeof t||t,r.fail="function"==typeof n&&n,r.domain=V?B.domain:void 0,e.parent=!0,e.reactions.push(r),0!=e.state&&H(this,e,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,n=C(t);this.promise=t,this.resolve=et(ot,t,n),this.reject=et(rt,t,n)},I.f=$=function(t){return t===z||t===i?new o(t):G(t)},c||"function"!=typeof l||(a=l.prototype.then,p(l.prototype,"then",(function(t,n){var e=this;return new z((function(t,n){a.call(e,t,n)})).then(t,n)}),{unsafe:!0}),"function"==typeof W&&u({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(z,W.apply(f,arguments))}}))),u({global:!0,wrap:!0,forced:Y},{Promise:z}),v(z,N,!1,!0),g(N),i=s(N),u({target:N,stat:!0,forced:Y},{reject:function(t){var n=$(this);return n.reject.call(void 0,t),n.promise}}),u({target:N,stat:!0,forced:c||Y},{resolve:function(t){return A(c&&this===i?z:this,t)}}),u({target:N,stat:!0,forced:K},{all:function(t){var n=this,e=$(n),r=e.resolve,o=e.reject,i=k((function(){var e=y(n.resolve),i=[],a=0,u=1;S(t,(function(t){var c=a++,f=!1;i.push(void 0),u++,e.call(n,t).then((function(t){f||(f=!0,i[c]=t,--u||r(i))}),o)})),--u||r(i)}));return i.error&&o(i.value),e.promise},race:function(t){var n=this,e=$(n),r=e.reject,o=k((function(){var o=y(n.resolve);S(t,(function(t){o.call(n,t).then(e.resolve,r)}))}));return o.error&&r(o.value),e.promise}})},function(t,n,e){var r=e(3);t.exports=r.Promise},function(t,n,e){var r=e(20),o=e(65),i=e(49)("species");t.exports=function(t,n){var e,a=r(t).constructor;return void 0===a||null==(e=r(a)[i])?n:o(e)}},function(t,n,e){var r,o,i,a=e(3),u=e(6),c=e(11),f=e(64),s=e(61),l=e(17),p=e(177),h=a.location,v=a.setImmediate,g=a.clearImmediate,d=a.process,y=a.MessageChannel,x=a.Dispatch,m=0,b={},S=function(t){if(b.hasOwnProperty(t)){var n=b[t];delete b[t],n()}},E=function(t){return function(){S(t)}},w=function(t){S(t.data)},O=function(t){a.postMessage(t+"",h.protocol+"//"+h.host)};v&&g||(v=function(t){for(var n=[],e=1;arguments.length>e;)n.push(arguments[e++]);return b[++m]=function(){("function"==typeof t?t:Function(t)).apply(void 0,n)},r(m),m},g=function(t){delete b[t]},"process"==c(d)?r=function(t){d.nextTick(E(t))}:x&&x.now?r=function(t){x.now(E(t))}:y&&!p?(i=(o=new y).port2,o.port1.onmessage=w,r=f(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||u(O)||"file:"===h.protocol?r="onreadystatechange"in l("script")?function(t){s.appendChild(l("script")).onreadystatechange=function(){s.removeChild(this),S(t)}}:function(t){setTimeout(E(t),0)}:(r=O,a.addEventListener("message",w,!1))),t.exports={set:v,clear:g}},function(t,n,e){var r=e(54);t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},function(t,n,e){var r,o,i,a,u,c,f,s,l=e(3),p=e(4).f,h=e(11),v=e(176).set,g=e(177),d=l.MutationObserver||l.WebKitMutationObserver,y=l.process,x=l.Promise,m="process"==h(y),b=p(l,"queueMicrotask"),S=b&&b.value;S||(r=function(){var t,n;for(m&&(t=y.domain)&&t.exit();o;){n=o.fn,o=o.next;try{n()}catch(t){throw o?a():i=void 0,t}}i=void 0,t&&t.enter()},m?a=function(){y.nextTick(r)}:d&&!g?(u=!0,c=document.createTextNode(""),new d(r).observe(c,{characterData:!0}),a=function(){c.data=u=!u}):x&&x.resolve?(f=x.resolve(void 0),s=f.then,a=function(){s.call(f,r)}):a=function(){v.call(l,r)}),t.exports=S||function(t){var n={fn:t,next:void 0};i&&(i.next=n),o||(o=n,a()),i=n}},function(t,n,e){var r=e(20),o=e(14),i=e(180);t.exports=function(t,n){if(r(t),o(n)&&n.constructor===t)return n;var e=i.f(t);return(0,e.resolve)(n),e.promise}},function(t,n,e){var r=e(65),o=function(t){var n,e;this.promise=new t((function(t,r){if(void 0!==n||void 0!==e)throw TypeError("Bad Promise constructor");n=t,e=r})),this.resolve=r(n),this.reject=r(e)};t.exports.f=function(t){return new o(t)}},function(t,n,e){var r=e(3);t.exports=function(t,n){var e=r.console;e&&e.error&&(1===arguments.length?e.error(t):e.error(t,n))}},function(t,n){t.exports=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}}},function(t,n,e){var r=e(2),o=e(65),i=e(180),a=e(182),u=e(122);r({target:"Promise",stat:!0},{allSettled:function(t){var n=this,e=i.f(n),r=e.resolve,c=e.reject,f=a((function(){var e=o(n.resolve),i=[],a=0,c=1;u(t,(function(t){var o=a++,u=!1;i.push(void 0),c++,e.call(n,t).then((function(t){u||(u=!0,i[o]={status:"fulfilled",value:t},--c||r(i))}),(function(t){u||(u=!0,i[o]={status:"rejected",reason:t},--c||r(i))}))})),--c||r(i)}));return f.error&&c(f.value),e.promise}})},function(t,n,e){var r=e(2),o=e(29),i=e(174),a=e(6),u=e(34),c=e(175),f=e(179),s=e(21);r({target:"Promise",proto:!0,real:!0,forced:!!i&&a((function(){i.prototype.finally.call({then:function(){}},(function(){}))}))},{finally:function(t){var n=c(this,u("Promise")),e="function"==typeof t;return this.then(e?function(e){return f(n,t()).then((function(){return e}))}:t,e?function(e){return f(n,t()).then((function(){throw e}))}:t)}}),o||"function"!=typeof i||i.prototype.finally||s(i.prototype,"finally",u("Promise").prototype.finally)},function(t,n,e){var r=e(5),o=e(3),i=e(44),a=e(124),u=e(19).f,c=e(36).f,f=e(186),s=e(187),l=e(188),p=e(21),h=e(6),v=e(25).set,g=e(109),d=e(49)("match"),y=o.RegExp,x=y.prototype,m=/a/g,b=/a/g,S=new y(m)!==m,E=l.UNSUPPORTED_Y;if(r&&i("RegExp",!S||E||h((function(){return b[d]=!1,y(m)!=m||y(b)==b||"/a/i"!=y(m,"i")})))){for(var w=function(t,n){var e,r=this instanceof w,o=f(t),i=void 0===n;if(!r&&o&&t.constructor===w&&i)return t;S?o&&!i&&(t=t.source):t instanceof w&&(i&&(n=s.call(t)),t=t.source),E&&(e=!!n&&n.indexOf("y")>-1)&&(n=n.replace(/y/g,""));var u=a(S?new y(t,n):y(t,n),r?this:x,w);return E&&e&&v(u,{sticky:e}),u},O=function(t){t in w||u(w,t,{configurable:!0,get:function(){return y[t]},set:function(n){y[t]=n}})},R=c(y),A=0;R.length>A;)O(R[A++]);x.constructor=w,w.prototype=x,p(o,"RegExp",w)}g("RegExp")},function(t,n,e){var r=e(14),o=e(11),i=e(49)("match");t.exports=function(t){var n;return r(t)&&(void 0!==(n=t[i])?!!n:"RegExp"==o(t))}},function(t,n,e){var r=e(20);t.exports=function(){var t=r(this),n="";return t.global&&(n+="g"),t.ignoreCase&&(n+="i"),t.multiline&&(n+="m"),t.dotAll&&(n+="s"),t.unicode&&(n+="u"),t.sticky&&(n+="y"),n}},function(t,n,e){var r=e(6);function o(t,n){return RegExp(t,n)}n.UNSUPPORTED_Y=r((function(){var t=o("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),n.BROKEN_CARET=r((function(){var t=o("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},function(t,n,e){var r=e(2),o=e(190);r({target:"RegExp",proto:!0,forced:/./.exec!==o},{exec:o})},function(t,n,e){var r,o,i=e(187),a=e(188),u=RegExp.prototype.exec,c=String.prototype.replace,f=u,s=(r=/a/,o=/b*/g,u.call(r,"a"),u.call(o,"a"),0!==r.lastIndex||0!==o.lastIndex),l=a.UNSUPPORTED_Y||a.BROKEN_CARET,p=void 0!==/()??/.exec("")[1];(s||p||l)&&(f=function(t){var n,e,r,o,a=this,f=l&&a.sticky,h=i.call(a),v=a.source,g=0,d=t;return f&&(-1===(h=h.replace("y","")).indexOf("g")&&(h+="g"),d=String(t).slice(a.lastIndex),a.lastIndex>0&&(!a.multiline||a.multiline&&"\n"!==t[a.lastIndex-1])&&(v="(?: "+v+")",d=" "+d,g++),e=new RegExp("^(?:"+v+")",h)),p&&(e=new RegExp("^"+v+"$(?!\\s)",h)),s&&(n=a.lastIndex),r=u.call(f?e:a,d),f?r?(r.input=r.input.slice(g),r[0]=r[0].slice(g),r.index=a.lastIndex,a.lastIndex+=r[0].length):a.lastIndex=0:s&&r&&(a.lastIndex=a.global?r.index+r[0].length:n),p&&r&&r.length>1&&c.call(r[0],e,(function(){for(o=1;o<arguments.length-2;o++)void 0===arguments[o]&&(r[o]=void 0)})),r}),t.exports=f},function(t,n,e){var r=e(5),o=e(19),i=e(187),a=e(188).UNSUPPORTED_Y;r&&("g"!=/./g.flags||a)&&o.f(RegExp.prototype,"flags",{configurable:!0,get:i})},function(t,n,e){var r=e(5),o=e(188).UNSUPPORTED_Y,i=e(19).f,a=e(25).get,u=RegExp.prototype;r&&o&&i(RegExp.prototype,"sticky",{configurable:!0,get:function(){if(this!==u){if(this instanceof RegExp)return!!a(this).sticky;throw TypeError("Incompatible receiver, RegExp required")}}})},function(t,n,e){e(189);var r,o,i=e(2),a=e(14),u=(r=!1,(o=/[ac]/).exec=function(){return r=!0,/./.exec.apply(this,arguments)},!0===o.test("abc")&&r),c=/./.test;i({target:"RegExp",proto:!0,forced:!u},{test:function(t){if("function"!=typeof this.exec)return c.call(this,t);var n=this.exec(t);if(null!==n&&!a(n))throw new Error("RegExp exec method returned something other than an Object or null");return!!n}})},function(t,n,e){var r=e(21),o=e(20),i=e(6),a=e(187),u=RegExp.prototype,c=u.toString,f=i((function(){return"/a/b"!=c.call({source:"a",flags:"b"})})),s="toString"!=c.name;(f||s)&&r(RegExp.prototype,"toString",(function(){var t=o(this),n=String(t.source),e=t.flags;return"/"+n+"/"+String(void 0===e&&t instanceof RegExp&&!("flags"in u)?a.call(t):e)}),{unsafe:!0})},function(t,n,e){var r=e(119),o=e(125);t.exports=r("Set",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),o)},function(t,n,e){var r=e(2),o=e(197).codeAt;r({target:"String",proto:!0},{codePointAt:function(t){return o(this,t)}})},function(t,n,e){var r=e(40),o=e(12),i=function(t){return function(n,e){var i,a,u=String(o(n)),c=r(e),f=u.length;return c<0||c>=f?t?"":void 0:(i=u.charCodeAt(c))<55296||i>56319||c+1===f||(a=u.charCodeAt(c+1))<56320||a>57343?t?u.charAt(c):i:t?u.slice(c,c+2):a-56320+(i-55296<<10)+65536}};t.exports={codeAt:i(!1),charAt:i(!0)}},function(t,n,e){var r,o=e(2),i=e(4).f,a=e(39),u=e(199),c=e(12),f=e(200),s=e(29),l="".endsWith,p=Math.min,h=f("endsWith");o({target:"String",proto:!0,forced:!!(s||h||(r=i(String.prototype,"endsWith"),!r||r.writable))&&!h},{endsWith:function(t){var n=String(c(this));u(t);var e=arguments.length>1?arguments[1]:void 0,r=a(n.length),o=void 0===e?r:p(a(e),r),i=String(t);return l?l.call(n,i,o):n.slice(o-i.length,o)===i}})},function(t,n,e){var r=e(186);t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},function(t,n,e){var r=e(49)("match");t.exports=function(t){var n=/./;try{"/./"[t](n)}catch(e){try{return n[r]=!1,"/./"[t](n)}catch(t){}}return!1}},function(t,n,e){var r=e(2),o=e(41),i=String.fromCharCode,a=String.fromCodePoint;r({target:"String",stat:!0,forced:!!a&&1!=a.length},{fromCodePoint:function(t){for(var n,e=[],r=arguments.length,a=0;r>a;){if(n=+arguments[a++],o(n,1114111)!==n)throw RangeError(n+" is not a valid code point");e.push(n<65536?i(n):i(55296+((n-=65536)>>10),n%1024+56320))}return e.join("")}})},function(t,n,e){var r=e(2),o=e(199),i=e(12);r({target:"String",proto:!0,forced:!e(200)("includes")},{includes:function(t){return!!~String(i(this)).indexOf(o(t),arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(197).charAt,o=e(25),i=e(90),a=o.set,u=o.getterFor("String Iterator");i(String,"String",(function(t){a(this,{type:"String Iterator",string:String(t),index:0})}),(function(){var t,n=u(this),e=n.string,o=n.index;return o>=e.length?{value:void 0,done:!0}:(t=r(e,o),n.index+=t.length,{value:t,done:!1})}))},function(t,n,e){var r=e(205),o=e(20),i=e(39),a=e(12),u=e(206),c=e(207);r("match",1,(function(t,n,e){return[function(n){var e=a(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var a=o(t),f=String(this);if(!a.global)return c(a,f);var s=a.unicode;a.lastIndex=0;for(var l,p=[],h=0;null!==(l=c(a,f));){var v=String(l[0]);p[h]=v,""===v&&(a.lastIndex=u(f,i(a.lastIndex),s)),h++}return 0===h?null:p}]}))},function(t,n,e){e(189);var r=e(21),o=e(6),i=e(49),a=e(190),u=e(18),c=i("species"),f=!o((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$<a>")})),s="$0"==="a".replace(/./,"$0"),l=i("replace"),p=!!/./[l]&&""===/./[l]("a","$0"),h=!o((function(){var t=/(?:)/,n=t.exec;t.exec=function(){return n.apply(this,arguments)};var e="ab".split(t);return 2!==e.length||"a"!==e[0]||"b"!==e[1]}));t.exports=function(t,n,e,l){var v=i(t),g=!o((function(){var n={};return n[v]=function(){return 7},7!=""[t](n)})),d=g&&!o((function(){var n=!1,e=/a/;return"split"===t&&((e={}).constructor={},e.constructor[c]=function(){return e},e.flags="",e[v]=/./[v]),e.exec=function(){return n=!0,null},e[v](""),!n}));if(!g||!d||"replace"===t&&(!f||!s||p)||"split"===t&&!h){var y=/./[v],x=e(v,""[t],(function(t,n,e,r,o){return n.exec===a?g&&!o?{done:!0,value:y.call(n,e,r)}:{done:!0,value:t.call(e,n,r)}:{done:!1}}),{REPLACE_KEEPS_$0:s,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),m=x[0],b=x[1];r(String.prototype,t,m),r(RegExp.prototype,v,2==n?function(t,n){return b.call(t,this,n)}:function(t){return b.call(t,this)})}l&&u(RegExp.prototype[v],"sham",!0)}},function(t,n,e){var r=e(197).charAt;t.exports=function(t,n,e){return n+(e?r(t,n).length:1)}},function(t,n,e){var r=e(11),o=e(190);t.exports=function(t,n){var e=t.exec;if("function"==typeof e){var i=e.call(t,n);if("object"!=typeof i)throw TypeError("RegExp exec method returned something other than an Object or null");return i}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return o.call(t,n)}},function(t,n,e){var r=e(2),o=e(91),i=e(12),a=e(39),u=e(65),c=e(20),f=e(11),s=e(186),l=e(187),p=e(18),h=e(6),v=e(49),g=e(175),d=e(206),y=e(25),x=e(29),m=v("matchAll"),b=y.set,S=y.getterFor("RegExp String Iterator"),E=RegExp.prototype,w=E.exec,O="".matchAll,R=!!O&&!h((function(){"a".matchAll(/./)})),A=o((function(t,n,e,r){b(this,{type:"RegExp String Iterator",regexp:t,string:n,global:e,unicode:r,done:!1})}),"RegExp String",(function(){var t=S(this);if(t.done)return{value:void 0,done:!0};var n=t.regexp,e=t.string,r=function(t,n){var e,r=t.exec;if("function"==typeof r){if("object"!=typeof(e=r.call(t,n)))throw TypeError("Incorrect exec result");return e}return w.call(t,n)}(n,e);return null===r?{value:void 0,done:t.done=!0}:t.global?(""==String(r[0])&&(n.lastIndex=d(e,a(n.lastIndex),t.unicode)),{value:r,done:!1}):(t.done=!0,{value:r,done:!1})})),j=function(t){var n,e,r,o,i,u,f=c(this),s=String(t);return n=g(f,RegExp),void 0===(e=f.flags)&&f instanceof RegExp&&!("flags"in E)&&(e=l.call(f)),r=void 0===e?"":String(e),o=new n(n===RegExp?f.source:f,r),i=!!~r.indexOf("g"),u=!!~r.indexOf("u"),o.lastIndex=a(f.lastIndex),new A(o,s,i,u)};r({target:"String",proto:!0,forced:R},{matchAll:function(t){var n,e,r,o=i(this);if(null!=t){if(s(t)&&!~String(i("flags"in E?t.flags:l.call(t))).indexOf("g"))throw TypeError("`.matchAll` does not allow non-global regexes");if(R)return O.apply(o,arguments);if(void 0===(e=t[m])&&x&&"RegExp"==f(t)&&(e=j),null!=e)return u(e).call(t,o)}else if(R)return O.apply(o,arguments);return n=String(o),r=new RegExp(t,"g"),x?j.call(r,n):r[m](n)}}),x||m in E||p(E,m,j)},function(t,n,e){var r=e(2),o=e(210).end;r({target:"String",proto:!0,forced:e(211)},{padEnd:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(39),o=e(145),i=e(12),a=Math.ceil,u=function(t){return function(n,e,u){var c,f,s=String(i(n)),l=s.length,p=void 0===u?" ":String(u),h=r(e);return h<=l||""==p?s:(c=h-l,(f=o.call(p,a(c/p.length))).length>c&&(f=f.slice(0,c)),t?s+f:f+s)}};t.exports={start:u(!1),end:u(!0)}},function(t,n,e){var r=e(54);t.exports=/Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r)},function(t,n,e){var r=e(2),o=e(210).start;r({target:"String",proto:!0,forced:e(211)},{padStart:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},function(t,n,e){var r=e(2),o=e(9),i=e(39);r({target:"String",stat:!0},{raw:function(t){for(var n=o(t.raw),e=i(n.length),r=arguments.length,a=[],u=0;e>u;)a.push(String(n[u++])),u<r&&a.push(String(arguments[u]));return a.join("")}})},function(t,n,e){e(2)({target:"String",proto:!0},{repeat:e(145)})},function(t,n,e){var r=e(205),o=e(20),i=e(46),a=e(39),u=e(40),c=e(12),f=e(206),s=e(207),l=Math.max,p=Math.min,h=Math.floor,v=/\$([$&'`]|\d\d?|<[^>]*>)/g,g=/\$([$&'`]|\d\d?)/g;r("replace",2,(function(t,n,e,r){var d=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,y=r.REPLACE_KEEPS_$0,x=d?"$":"$0";return[function(e,r){var o=c(this),i=null==e?void 0:e[t];return void 0!==i?i.call(e,o,r):n.call(String(o),e,r)},function(t,r){if(!d&&y||"string"==typeof r&&-1===r.indexOf(x)){var i=e(n,t,this,r);if(i.done)return i.value}var c=o(t),h=String(this),v="function"==typeof r;v||(r=String(r));var g=c.global;if(g){var b=c.unicode;c.lastIndex=0}for(var S=[];;){var E=s(c,h);if(null===E)break;if(S.push(E),!g)break;""===String(E[0])&&(c.lastIndex=f(h,a(c.lastIndex),b))}for(var w,O="",R=0,A=0;A<S.length;A++){E=S[A];for(var j=String(E[0]),I=l(p(u(E.index),h.length),0),k=[],P=1;P<E.length;P++)k.push(void 0===(w=E[P])?w:String(w));var L=E.groups;if(v){var T=[j].concat(k,I,h);void 0!==L&&T.push(L);var _=String(r.apply(void 0,T))}else _=m(j,h,I,k,L,r);I>=R&&(O+=h.slice(R,I)+_,R=I+j.length)}return O+h.slice(R)}];function m(t,e,r,o,a,u){var c=r+t.length,f=o.length,s=g;return void 0!==a&&(a=i(a),s=v),n.call(u,s,(function(n,i){var u;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":u=a[i.slice(1,-1)];break;default:var s=+i;if(0===s)return n;if(s>f){var l=h(s/10);return 0===l?n:l<=f?void 0===o[l-1]?i.charAt(1):o[l-1]+i.charAt(1):n}u=o[s-1]}return void 0===u?"":u}))}}))},function(t,n,e){var r=e(205),o=e(20),i=e(12),a=e(161),u=e(207);r("search",1,(function(t,n,e){return[function(n){var e=i(this),r=null==n?void 0:n[t];return void 0!==r?r.call(n,e):new RegExp(n)[t](String(e))},function(t){var r=e(n,t,this);if(r.done)return r.value;var i=o(t),c=String(this),f=i.lastIndex;a(f,0)||(i.lastIndex=0);var s=u(i,c);return a(i.lastIndex,f)||(i.lastIndex=f),null===s?-1:s.index}]}))},function(t,n,e){var r=e(205),o=e(186),i=e(20),a=e(12),u=e(175),c=e(206),f=e(39),s=e(207),l=e(190),p=e(6),h=[].push,v=Math.min,g=!p((function(){return!RegExp(4294967295,"y")}));r("split",2,(function(t,n,e){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,e){var r=String(a(this)),i=void 0===e?4294967295:e>>>0;if(0===i)return[];if(void 0===t)return[r];if(!o(t))return n.call(r,t,i);for(var u,c,f,s=[],p=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),v=0,g=new RegExp(t.source,p+"g");(u=l.call(g,r))&&!((c=g.lastIndex)>v&&(s.push(r.slice(v,u.index)),u.length>1&&u.index<r.length&&h.apply(s,u.slice(1)),f=u[0].length,v=c,s.length>=i));)g.lastIndex===u.index&&g.lastIndex++;return v===r.length?!f&&g.test("")||s.push(""):s.push(r.slice(v)),s.length>i?s.slice(0,i):s}:"0".split(void 0,0).length?function(t,e){return void 0===t&&0===e?[]:n.call(this,t,e)}:n,[function(n,e){var o=a(this),i=null==n?void 0:n[t];return void 0!==i?i.call(n,o,e):r.call(String(o),n,e)},function(t,o){var a=e(r,t,this,o,r!==n);if(a.done)return a.value;var l=i(t),p=String(this),h=u(l,RegExp),d=l.unicode,y=(l.ignoreCase?"i":"")+(l.multiline?"m":"")+(l.unicode?"u":"")+(g?"y":"g"),x=new h(g?l:"^(?:"+l.source+")",y),m=void 0===o?4294967295:o>>>0;if(0===m)return[];if(0===p.length)return null===s(x,p)?[p]:[];for(var b=0,S=0,E=[];S<p.length;){x.lastIndex=g?S:0;var w,O=s(x,g?p:p.slice(S));if(null===O||(w=v(f(x.lastIndex+(g?0:S)),p.length))===b)S=c(p,S,d);else{if(E.push(p.slice(b,S)),E.length===m)return E;for(var R=1;R<=O.length-1;R++)if(E.push(O[R]),E.length===m)return E;S=b=w}}return E.push(p.slice(b)),E}]}),!g)},function(t,n,e){var r,o=e(2),i=e(4).f,a=e(39),u=e(199),c=e(12),f=e(200),s=e(29),l="".startsWith,p=Math.min,h=f("startsWith");o({target:"String",proto:!0,forced:!!(s||h||(r=i(String.prototype,"startsWith"),!r||r.writable))&&!h},{startsWith:function(t){var n=String(c(this));u(t);var e=a(p(arguments.length>1?arguments[1]:void 0,n.length)),r=String(t);return l?l.call(n,r,e):n.slice(e,e+r.length)===r}})},function(t,n,e){var r=e(2),o=e(128).trim;r({target:"String",proto:!0,forced:e(220)("trim")},{trim:function(){return o(this)}})},function(t,n,e){var r=e(6),o=e(129);t.exports=function(t){return r((function(){return!!o[t]()||"​…᠎"!="​…᠎"[t]()||o[t].name!==t}))}},function(t,n,e){var r=e(2),o=e(128).end,i=e(220)("trimEnd"),a=i?function(){return o(this)}:"".trimEnd;r({target:"String",proto:!0,forced:i},{trimEnd:a,trimRight:a})},function(t,n,e){var r=e(2),o=e(128).start,i=e(220)("trimStart"),a=i?function(){return o(this)}:"".trimStart;r({target:"String",proto:!0,forced:i},{trimStart:a,trimLeft:a})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("anchor")},{anchor:function(t){return o(this,"a","name",t)}})},function(t,n,e){var r=e(12),o=/"/g;t.exports=function(t,n,e,i){var a=String(r(t)),u="<"+n;return""!==e&&(u+=" "+e+'="'+String(i).replace(o,"&quot;")+'"'),u+">"+a+"</"+n+">"}},function(t,n,e){var r=e(6);t.exports=function(t){return r((function(){var n=""[t]('"');return n!==n.toLowerCase()||n.split('"').length>3}))}},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("big")},{big:function(){return o(this,"big","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("blink")},{blink:function(){return o(this,"blink","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("bold")},{bold:function(){return o(this,"b","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fixed")},{fixed:function(){return o(this,"tt","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fontcolor")},{fontcolor:function(t){return o(this,"font","color",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("fontsize")},{fontsize:function(t){return o(this,"font","size",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("italics")},{italics:function(){return o(this,"i","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("link")},{link:function(t){return o(this,"a","href",t)}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("small")},{small:function(){return o(this,"small","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("strike")},{strike:function(){return o(this,"strike","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("sub")},{sub:function(){return o(this,"sub","","")}})},function(t,n,e){var r=e(2),o=e(224);r({target:"String",proto:!0,forced:e(225)("sup")},{sup:function(){return o(this,"sup","","")}})},function(t,n,e){var r,o=e(3),i=e(126),a=e(120),u=e(119),c=e(239),f=e(14),s=e(25).enforce,l=e(26),p=!o.ActiveXObject&&"ActiveXObject"in o,h=Object.isExtensible,v=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},g=t.exports=u("WeakMap",v,c);if(l&&p){r=c.getConstructor(v,"WeakMap",!0),a.REQUIRED=!0;var d=g.prototype,y=d.delete,x=d.has,m=d.get,b=d.set;i(d,{delete:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),y.call(this,t)||n.frozen.delete(t)}return y.call(this,t)},has:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),x.call(this,t)||n.frozen.has(t)}return x.call(this,t)},get:function(t){if(f(t)&&!h(t)){var n=s(this);return n.frozen||(n.frozen=new r),x.call(this,t)?m.call(this,t):n.frozen.get(t)}return m.call(this,t)},set:function(t,n){if(f(t)&&!h(t)){var e=s(this);e.frozen||(e.frozen=new r),x.call(this,t)?b.call(this,t,n):e.frozen.set(t,n)}else b.call(this,t,n);return this}})}},function(t,n,e){var r=e(126),o=e(120).getWeakData,i=e(20),a=e(14),u=e(123),c=e(122),f=e(63),s=e(15),l=e(25),p=l.set,h=l.getterFor,v=f.find,g=f.findIndex,d=0,y=function(t){return t.frozen||(t.frozen=new x)},x=function(){this.entries=[]},m=function(t,n){return v(t.entries,(function(t){return t[0]===n}))};x.prototype={get:function(t){var n=m(this,t);if(n)return n[1]},has:function(t){return!!m(this,t)},set:function(t,n){var e=m(this,t);e?e[1]=n:this.entries.push([t,n])},delete:function(t){var n=g(this.entries,(function(n){return n[0]===t}));return~n&&this.entries.splice(n,1),!!~n}},t.exports={getConstructor:function(t,n,e,f){var l=t((function(t,r){u(t,l,n),p(t,{type:n,id:d++,frozen:void 0}),null!=r&&c(r,t[f],t,e)})),v=h(n),g=function(t,n,e){var r=v(t),a=o(i(n),!0);return!0===a?y(r).set(n,e):a[r.id]=e,t};return r(l.prototype,{delete:function(t){var n=v(this);if(!a(t))return!1;var e=o(t);return!0===e?y(n).delete(t):e&&s(e,n.id)&&delete e[n.id]},has:function(t){var n=v(this);if(!a(t))return!1;var e=o(t);return!0===e?y(n).has(t):e&&s(e,n.id)}}),r(l.prototype,e?{get:function(t){var n=v(this);if(a(t)){var e=o(t);return!0===e?y(n).get(t):e?e[n.id]:void 0}},set:function(t,n){return g(this,t,n)}}:{add:function(t){return g(this,t,!0)}}),l}}},function(t,n,e){e(119)("WeakSet",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),e(239))},function(t,n,e){var r=e(3),o=e(242),i=e(77),a=e(18);for(var u in o){var c=r[u],f=c&&c.prototype;if(f&&f.forEach!==i)try{a(f,"forEach",i)}catch(t){f.forEach=i}}},function(t,n){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},function(t,n,e){e(203);var r,o=e(2),i=e(5),a=e(244),u=e(3),c=e(59),f=e(21),s=e(123),l=e(15),p=e(147),h=e(79),v=e(197).codeAt,g=e(245),d=e(95),y=e(246),x=e(25),m=u.URL,b=y.URLSearchParams,S=y.getState,E=x.set,w=x.getterFor("URL"),O=Math.floor,R=Math.pow,A=/[A-Za-z]/,j=/[\d+-.A-Za-z]/,I=/\d/,k=/^(0x|0X)/,P=/^[0-7]+$/,L=/^\d+$/,T=/^[\dA-Fa-f]+$/,_=/[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,U=/[\u0000\u0009\u000A\u000D #/:?@[\\]]/,N=/^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,C=/[\u0009\u000A\u000D]/g,F=function(t,n){var e,r,o;if("["==n.charAt(0)){if("]"!=n.charAt(n.length-1))return"Invalid host";if(!(e=z(n.slice(1,-1))))return"Invalid host";t.host=e}else if(X(t)){if(n=g(n),_.test(n))return"Invalid host";if(null===(e=M(n)))return"Invalid host";t.host=e}else{if(U.test(n))return"Invalid host";for(e="",r=h(n),o=0;o<r.length;o++)e+=G(r[o],q);t.host=e}},M=function(t){var n,e,r,o,i,a,u,c=t.split(".");if(c.length&&""==c[c.length-1]&&c.pop(),(n=c.length)>4)return t;for(e=[],r=0;r<n;r++){if(""==(o=c[r]))return t;if(i=10,o.length>1&&"0"==o.charAt(0)&&(i=k.test(o)?16:8,o=o.slice(8==i?1:2)),""===o)a=0;else{if(!(10==i?L:8==i?P:T).test(o))return t;a=parseInt(o,i)}e.push(a)}for(r=0;r<n;r++)if(a=e[r],r==n-1){if(a>=R(256,5-n))return null}else if(a>255)return null;for(u=e.pop(),r=0;r<e.length;r++)u+=e[r]*R(256,3-r);return u},z=function(t){var n,e,r,o,i,a,u,c=[0,0,0,0,0,0,0,0],f=0,s=null,l=0,p=function(){return t.charAt(l)};if(":"==p()){if(":"!=t.charAt(1))return;l+=2,s=++f}for(;p();){if(8==f)return;if(":"!=p()){for(n=e=0;e<4&&T.test(p());)n=16*n+parseInt(p(),16),l++,e++;if("."==p()){if(0==e)return;if(l-=e,f>6)return;for(r=0;p();){if(o=null,r>0){if(!("."==p()&&r<4))return;l++}if(!I.test(p()))return;for(;I.test(p());){if(i=parseInt(p(),10),null===o)o=i;else{if(0==o)return;o=10*o+i}if(o>255)return;l++}c[f]=256*c[f]+o,2!=++r&&4!=r||f++}if(4!=r)return;break}if(":"==p()){if(l++,!p())return}else if(p())return;c[f++]=n}else{if(null!==s)return;l++,s=++f}}if(null!==s)for(a=f-s,f=7;0!=f&&a>0;)u=c[f],c[f--]=c[s+a-1],c[s+--a]=u;else if(8!=f)return;return c},D=function(t){var n,e,r,o;if("number"==typeof t){for(n=[],e=0;e<4;e++)n.unshift(t%256),t=O(t/256);return n.join(".")}if("object"==typeof t){for(n="",r=function(t){for(var n=null,e=1,r=null,o=0,i=0;i<8;i++)0!==t[i]?(o>e&&(n=r,e=o),r=null,o=0):(null===r&&(r=i),++o);return o>e&&(n=r,e=o),n}(t),e=0;e<8;e++)o&&0===t[e]||(o&&(o=!1),r===e?(n+=e?":":"::",o=!0):(n+=t[e].toString(16),e<7&&(n+=":")));return"["+n+"]"}return t},q={},B=p({},q,{" ":1,'"':1,"<":1,">":1,"`":1}),W=p({},B,{"#":1,"?":1,"{":1,"}":1}),$=p({},W,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),G=function(t,n){var e=v(t,0);return e>32&&e<127&&!l(n,t)?t:encodeURIComponent(t)},V={ftp:21,file:null,http:80,https:443,ws:80,wss:443},X=function(t){return l(V,t.scheme)},Y=function(t){return""!=t.username||""!=t.password},K=function(t){return!t.host||t.cannotBeABaseURL||"file"==t.scheme},J=function(t,n){var e;return 2==t.length&&A.test(t.charAt(0))&&(":"==(e=t.charAt(1))||!n&&"|"==e)},H=function(t){var n;return t.length>1&&J(t.slice(0,2))&&(2==t.length||"/"===(n=t.charAt(2))||"\\"===n||"?"===n||"#"===n)},Q=function(t){var n=t.path,e=n.length;!e||"file"==t.scheme&&1==e&&J(n[0],!0)||n.pop()},Z=function(t){return"."===t||"%2e"===t.toLowerCase()},tt={},nt={},et={},rt={},ot={},it={},at={},ut={},ct={},ft={},st={},lt={},pt={},ht={},vt={},gt={},dt={},yt={},xt={},mt={},bt={},St=function(t,n,e,o){var i,a,u,c,f,s=e||tt,p=0,v="",g=!1,d=!1,y=!1;for(e||(t.scheme="",t.username="",t.password="",t.host=null,t.port=null,t.path=[],t.query=null,t.fragment=null,t.cannotBeABaseURL=!1,n=n.replace(N,"")),n=n.replace(C,""),i=h(n);p<=i.length;){switch(a=i[p],s){case tt:if(!a||!A.test(a)){if(e)return"Invalid scheme";s=et;continue}v+=a.toLowerCase(),s=nt;break;case nt:if(a&&(j.test(a)||"+"==a||"-"==a||"."==a))v+=a.toLowerCase();else{if(":"!=a){if(e)return"Invalid scheme";v="",s=et,p=0;continue}if(e&&(X(t)!=l(V,v)||"file"==v&&(Y(t)||null!==t.port)||"file"==t.scheme&&!t.host))return;if(t.scheme=v,e)return void(X(t)&&V[t.scheme]==t.port&&(t.port=null));v="","file"==t.scheme?s=ht:X(t)&&o&&o.scheme==t.scheme?s=rt:X(t)?s=ut:"/"==i[p+1]?(s=ot,p++):(t.cannotBeABaseURL=!0,t.path.push(""),s=xt)}break;case et:if(!o||o.cannotBeABaseURL&&"#"!=a)return"Invalid scheme";if(o.cannotBeABaseURL&&"#"==a){t.scheme=o.scheme,t.path=o.path.slice(),t.query=o.query,t.fragment="",t.cannotBeABaseURL=!0,s=bt;break}s="file"==o.scheme?ht:it;continue;case rt:if("/"!=a||"/"!=i[p+1]){s=it;continue}s=ct,p++;break;case ot:if("/"==a){s=ft;break}s=yt;continue;case it:if(t.scheme=o.scheme,a==r)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query;else if("/"==a||"\\"==a&&X(t))s=at;else if("?"==a)t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query="",s=mt;else{if("#"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.path.pop(),s=yt;continue}t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,t.path=o.path.slice(),t.query=o.query,t.fragment="",s=bt}break;case at:if(!X(t)||"/"!=a&&"\\"!=a){if("/"!=a){t.username=o.username,t.password=o.password,t.host=o.host,t.port=o.port,s=yt;continue}s=ft}else s=ct;break;case ut:if(s=ct,"/"!=a||"/"!=v.charAt(p+1))continue;p++;break;case ct:if("/"!=a&&"\\"!=a){s=ft;continue}break;case ft:if("@"==a){g&&(v="%40"+v),g=!0,u=h(v);for(var x=0;x<u.length;x++){var m=u[x];if(":"!=m||y){var b=G(m,$);y?t.password+=b:t.username+=b}else y=!0}v=""}else if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)){if(g&&""==v)return"Invalid authority";p-=h(v).length+1,v="",s=st}else v+=a;break;case st:case lt:if(e&&"file"==t.scheme){s=gt;continue}if(":"!=a||d){if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)){if(X(t)&&""==v)return"Invalid host";if(e&&""==v&&(Y(t)||null!==t.port))return;if(c=F(t,v))return c;if(v="",s=dt,e)return;continue}"["==a?d=!0:"]"==a&&(d=!1),v+=a}else{if(""==v)return"Invalid host";if(c=F(t,v))return c;if(v="",s=pt,e==lt)return}break;case pt:if(!I.test(a)){if(a==r||"/"==a||"?"==a||"#"==a||"\\"==a&&X(t)||e){if(""!=v){var S=parseInt(v,10);if(S>65535)return"Invalid port";t.port=X(t)&&S===V[t.scheme]?null:S,v=""}if(e)return;s=dt;continue}return"Invalid port"}v+=a;break;case ht:if(t.scheme="file","/"==a||"\\"==a)s=vt;else{if(!o||"file"!=o.scheme){s=yt;continue}if(a==r)t.host=o.host,t.path=o.path.slice(),t.query=o.query;else if("?"==a)t.host=o.host,t.path=o.path.slice(),t.query="",s=mt;else{if("#"!=a){H(i.slice(p).join(""))||(t.host=o.host,t.path=o.path.slice(),Q(t)),s=yt;continue}t.host=o.host,t.path=o.path.slice(),t.query=o.query,t.fragment="",s=bt}}break;case vt:if("/"==a||"\\"==a){s=gt;break}o&&"file"==o.scheme&&!H(i.slice(p).join(""))&&(J(o.path[0],!0)?t.path.push(o.path[0]):t.host=o.host),s=yt;continue;case gt:if(a==r||"/"==a||"\\"==a||"?"==a||"#"==a){if(!e&&J(v))s=yt;else if(""==v){if(t.host="",e)return;s=dt}else{if(c=F(t,v))return c;if("localhost"==t.host&&(t.host=""),e)return;v="",s=dt}continue}v+=a;break;case dt:if(X(t)){if(s=yt,"/"!=a&&"\\"!=a)continue}else if(e||"?"!=a)if(e||"#"!=a){if(a!=r&&(s=yt,"/"!=a))continue}else t.fragment="",s=bt;else t.query="",s=mt;break;case yt:if(a==r||"/"==a||"\\"==a&&X(t)||!e&&("?"==a||"#"==a)){if(".."===(f=(f=v).toLowerCase())||"%2e."===f||".%2e"===f||"%2e%2e"===f?(Q(t),"/"==a||"\\"==a&&X(t)||t.path.push("")):Z(v)?"/"==a||"\\"==a&&X(t)||t.path.push(""):("file"==t.scheme&&!t.path.length&&J(v)&&(t.host&&(t.host=""),v=v.charAt(0)+":"),t.path.push(v)),v="","file"==t.scheme&&(a==r||"?"==a||"#"==a))for(;t.path.length>1&&""===t.path[0];)t.path.shift();"?"==a?(t.query="",s=mt):"#"==a&&(t.fragment="",s=bt)}else v+=G(a,W);break;case xt:"?"==a?(t.query="",s=mt):"#"==a?(t.fragment="",s=bt):a!=r&&(t.path[0]+=G(a,q));break;case mt:e||"#"!=a?a!=r&&("'"==a&&X(t)?t.query+="%27":t.query+="#"==a?"%23":G(a,q)):(t.fragment="",s=bt);break;case bt:a!=r&&(t.fragment+=G(a,B))}p++}},Et=function(t){var n,e,r=s(this,Et,"URL"),o=arguments.length>1?arguments[1]:void 0,a=String(t),u=E(r,{type:"URL"});if(void 0!==o)if(o instanceof Et)n=w(o);else if(e=St(n={},String(o)))throw TypeError(e);if(e=St(u,a,null,n))throw TypeError(e);var c=u.searchParams=new b,f=S(c);f.updateSearchParams(u.query),f.updateURL=function(){u.query=String(c)||null},i||(r.href=Ot.call(r),r.origin=Rt.call(r),r.protocol=At.call(r),r.username=jt.call(r),r.password=It.call(r),r.host=kt.call(r),r.hostname=Pt.call(r),r.port=Lt.call(r),r.pathname=Tt.call(r),r.search=_t.call(r),r.searchParams=Ut.call(r),r.hash=Nt.call(r))},wt=Et.prototype,Ot=function(){var t=w(this),n=t.scheme,e=t.username,r=t.password,o=t.host,i=t.port,a=t.path,u=t.query,c=t.fragment,f=n+":";return null!==o?(f+="//",Y(t)&&(f+=e+(r?":"+r:"")+"@"),f+=D(o),null!==i&&(f+=":"+i)):"file"==n&&(f+="//"),f+=t.cannotBeABaseURL?a[0]:a.length?"/"+a.join("/"):"",null!==u&&(f+="?"+u),null!==c&&(f+="#"+c),f},Rt=function(){var t=w(this),n=t.scheme,e=t.port;if("blob"==n)try{return new URL(n.path[0]).origin}catch(t){return"null"}return"file"!=n&&X(t)?n+"://"+D(t.host)+(null!==e?":"+e:""):"null"},At=function(){return w(this).scheme+":"},jt=function(){return w(this).username},It=function(){return w(this).password},kt=function(){var t=w(this),n=t.host,e=t.port;return null===n?"":null===e?D(n):D(n)+":"+e},Pt=function(){var t=w(this).host;return null===t?"":D(t)},Lt=function(){var t=w(this).port;return null===t?"":String(t)},Tt=function(){var t=w(this),n=t.path;return t.cannotBeABaseURL?n[0]:n.length?"/"+n.join("/"):""},_t=function(){var t=w(this).query;return t?"?"+t:""},Ut=function(){return w(this).searchParams},Nt=function(){var t=w(this).fragment;return t?"#"+t:""},Ct=function(t,n){return{get:t,set:n,configurable:!0,enumerable:!0}};if(i&&c(wt,{href:Ct(Ot,(function(t){var n=w(this),e=String(t),r=St(n,e);if(r)throw TypeError(r);S(n.searchParams).updateSearchParams(n.query)})),origin:Ct(Rt),protocol:Ct(At,(function(t){var n=w(this);St(n,String(t)+":",tt)})),username:Ct(jt,(function(t){var n=w(this),e=h(String(t));if(!K(n)){n.username="";for(var r=0;r<e.length;r++)n.username+=G(e[r],$)}})),password:Ct(It,(function(t){var n=w(this),e=h(String(t));if(!K(n)){n.password="";for(var r=0;r<e.length;r++)n.password+=G(e[r],$)}})),host:Ct(kt,(function(t){var n=w(this);n.cannotBeABaseURL||St(n,String(t),st)})),hostname:Ct(Pt,(function(t){var n=w(this);n.cannotBeABaseURL||St(n,String(t),lt)})),port:Ct(Lt,(function(t){var n=w(this);K(n)||(""==(t=String(t))?n.port=null:St(n,t,pt))})),pathname:Ct(Tt,(function(t){var n=w(this);n.cannotBeABaseURL||(n.path=[],St(n,t+"",dt))})),search:Ct(_t,(function(t){var n=w(this);""==(t=String(t))?n.query=null:("?"==t.charAt(0)&&(t=t.slice(1)),n.query="",St(n,t,mt)),S(n.searchParams).updateSearchParams(n.query)})),searchParams:Ct(Ut),hash:Ct(Nt,(function(t){var n=w(this);""!=(t=String(t))?("#"==t.charAt(0)&&(t=t.slice(1)),n.fragment="",St(n,t,bt)):n.fragment=null}))}),f(wt,"toJSON",(function(){return Ot.call(this)}),{enumerable:!0}),f(wt,"toString",(function(){return Ot.call(this)}),{enumerable:!0}),m){var Ft=m.createObjectURL,Mt=m.revokeObjectURL;Ft&&f(Et,"createObjectURL",(function(t){return Ft.apply(m,arguments)})),Mt&&f(Et,"revokeObjectURL",(function(t){return Mt.apply(m,arguments)}))}d(Et,"URL"),o({global:!0,forced:!a,sham:!i},{URL:Et})},function(t,n,e){var r=e(6),o=e(49),i=e(29),a=o("iterator");t.exports=!r((function(){var t=new URL("b?a=1&b=2&c=3","http://a"),n=t.searchParams,e="";return t.pathname="c%20d",n.forEach((function(t,r){n.delete("b"),e+=r+t})),i&&!t.toJSON||!n.sort||"http://a/c%20d?a=1&c=3"!==t.href||"3"!==n.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!n[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==e||"x"!==new URL("http://x",void 0).host}))},function(t,n,e){var r=/[^\0-\u007E]/,o=/[.\u3002\uFF0E\uFF61]/g,i="Overflow: input needs wider integers to process",a=Math.floor,u=String.fromCharCode,c=function(t){return t+22+75*(t<26)},f=function(t,n,e){var r=0;for(t=e?a(t/700):t>>1,t+=a(t/n);t>455;r+=36)t=a(t/35);return a(r+36*t/(t+38))},s=function(t){var n,e,r=[],o=(t=function(t){for(var n=[],e=0,r=t.length;e<r;){var o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<r){var i=t.charCodeAt(e++);56320==(64512&i)?n.push(((1023&o)<<10)+(1023&i)+65536):(n.push(o),e--)}else n.push(o)}return n}(t)).length,s=128,l=0,p=72;for(n=0;n<t.length;n++)(e=t[n])<128&&r.push(u(e));var h=r.length,v=h;for(h&&r.push("-");v<o;){var g=2147483647;for(n=0;n<t.length;n++)(e=t[n])>=s&&e<g&&(g=e);var d=v+1;if(g-s>a((2147483647-l)/d))throw RangeError(i);for(l+=(g-s)*d,s=g,n=0;n<t.length;n++){if((e=t[n])<s&&++l>2147483647)throw RangeError(i);if(e==s){for(var y=l,x=36;;x+=36){var m=x<=p?1:x>=p+26?26:x-p;if(y<m)break;var b=y-m,S=36-m;r.push(u(c(m+b%S))),y=a(b/S)}r.push(u(c(y))),p=f(l,d,v==h),l=0,++v}}++l,++s}return r.join("")};t.exports=function(t){var n,e,i=[],a=t.toLowerCase().replace(o,".").split(".");for(n=0;n<a.length;n++)e=a[n],i.push(r.test(e)?"xn--"+s(e):e);return i.join(".")}},function(t,n,e){e(89);var r=e(2),o=e(34),i=e(244),a=e(21),u=e(126),c=e(95),f=e(91),s=e(25),l=e(123),p=e(15),h=e(64),v=e(84),g=e(20),d=e(14),y=e(58),x=e(8),m=e(247),b=e(83),S=e(49),E=o("fetch"),w=o("Headers"),O=S("iterator"),R=s.set,A=s.getterFor("URLSearchParams"),j=s.getterFor("URLSearchParamsIterator"),I=/\+/g,k=Array(4),P=function(t){return k[t-1]||(k[t-1]=RegExp("((?:%[\\da-f]{2}){"+t+"})","gi"))},L=function(t){try{return decodeURIComponent(t)}catch(n){return t}},T=function(t){var n=t.replace(I," "),e=4;try{return decodeURIComponent(n)}catch(t){for(;e;)n=n.replace(P(e--),L);return n}},_=/[!'()~]|%20/g,U={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},N=function(t){return U[t]},C=function(t){return encodeURIComponent(t).replace(_,N)},F=function(t,n){if(n)for(var e,r,o=n.split("&"),i=0;i<o.length;)(e=o[i++]).length&&(r=e.split("="),t.push({key:T(r.shift()),value:T(r.join("="))}))},M=function(t){this.entries.length=0,F(this.entries,t)},z=function(t,n){if(t<n)throw TypeError("Not enough arguments")},D=f((function(t,n){R(this,{type:"URLSearchParamsIterator",iterator:m(A(t).entries),kind:n})}),"Iterator",(function(){var t=j(this),n=t.kind,e=t.iterator.next(),r=e.value;return e.done||(e.value="keys"===n?r.key:"values"===n?r.value:[r.key,r.value]),e})),q=function(){l(this,q,"URLSearchParams");var t,n,e,r,o,i,a,u,c,f=arguments.length>0?arguments[0]:void 0,s=this,h=[];if(R(s,{type:"URLSearchParams",entries:h,updateURL:function(){},updateSearchParams:M}),void 0!==f)if(d(f))if("function"==typeof(t=b(f)))for(e=(n=t.call(f)).next;!(r=e.call(n)).done;){if((a=(i=(o=m(g(r.value))).next).call(o)).done||(u=i.call(o)).done||!i.call(o).done)throw TypeError("Expected sequence with length 2");h.push({key:a.value+"",value:u.value+""})}else for(c in f)p(f,c)&&h.push({key:c,value:f[c]+""});else F(h,"string"==typeof f?"?"===f.charAt(0)?f.slice(1):f:f+"")},B=q.prototype;u(B,{append:function(t,n){z(arguments.length,2);var e=A(this);e.entries.push({key:t+"",value:n+""}),e.updateURL()},delete:function(t){z(arguments.length,1);for(var n=A(this),e=n.entries,r=t+"",o=0;o<e.length;)e[o].key===r?e.splice(o,1):o++;n.updateURL()},get:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=0;r<n.length;r++)if(n[r].key===e)return n[r].value;return null},getAll:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=[],o=0;o<n.length;o++)n[o].key===e&&r.push(n[o].value);return r},has:function(t){z(arguments.length,1);for(var n=A(this).entries,e=t+"",r=0;r<n.length;)if(n[r++].key===e)return!0;return!1},set:function(t,n){z(arguments.length,1);for(var e,r=A(this),o=r.entries,i=!1,a=t+"",u=n+"",c=0;c<o.length;c++)(e=o[c]).key===a&&(i?o.splice(c--,1):(i=!0,e.value=u));i||o.push({key:a,value:u}),r.updateURL()},sort:function(){var t,n,e,r=A(this),o=r.entries,i=o.slice();for(o.length=0,e=0;e<i.length;e++){for(t=i[e],n=0;n<e;n++)if(o[n].key>t.key){o.splice(n,0,t);break}n===e&&o.push(t)}r.updateURL()},forEach:function(t){for(var n,e=A(this).entries,r=h(t,arguments.length>1?arguments[1]:void 0,3),o=0;o<e.length;)r((n=e[o++]).value,n.key,this)},keys:function(){return new D(this,"keys")},values:function(){return new D(this,"values")},entries:function(){return new D(this,"entries")}},{enumerable:!0}),a(B,O,B.entries),a(B,"toString",(function(){for(var t,n=A(this).entries,e=[],r=0;r<n.length;)t=n[r++],e.push(C(t.key)+"="+C(t.value));return e.join("&")}),{enumerable:!0}),c(q,"URLSearchParams"),r({global:!0,forced:!i},{URLSearchParams:q}),i||"function"!=typeof E||"function"!=typeof w||r({global:!0,enumerable:!0,forced:!0},{fetch:function(t){var n,e,r,o=[t];return arguments.length>1&&(n=arguments[1],d(n)&&(e=n.body,"URLSearchParams"===v(e)&&((r=n.headers?new w(n.headers):new w).has("content-type")||r.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"),n=y(n,{body:x(0,String(e)),headers:x(0,r)}))),o.push(n)),E.apply(this,o)}}),t.exports={URLSearchParams:q,getState:A}},function(t,n,e){var r=e(20),o=e(83);t.exports=function(t){var n=o(t);if("function"!=typeof n)throw TypeError(String(t)+" is not iterable");return r(n.call(t))}},function(t,n,e){e(2)({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return URL.prototype.toString.call(this)}})}])}();
-
-//!fetch 3.0.0, global "this" must be replaced with "window"
-// IIFE version
-!function(t){"use strict";var e="URLSearchParams"in self,r="Symbol"in self&&"iterator"in Symbol,o="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),n="FormData"in self,i="ArrayBuffer"in self;if(i)var s=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],a=ArrayBuffer.isView||function(t){return t&&s.indexOf(Object.prototype.toString.call(t))>-1};function h(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function u(t){return"string"!=typeof t&&(t=String(t)),t}function f(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return r&&(e[Symbol.iterator]=function(){return e}),e}function d(t){this.map={},t instanceof d?t.forEach((function(t,e){this.append(e,t)}),this):Array.isArray(t)?t.forEach((function(t){this.append(t[0],t[1])}),this):t&&Object.getOwnPropertyNames(t).forEach((function(e){this.append(e,t[e])}),this)}function c(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function p(t){return new Promise((function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}}))}function y(t){var e=new FileReader,r=p(e);return e.readAsArrayBuffer(t),r}function l(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function b(){return this.bodyUsed=!1,this._initBody=function(t){var r;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:o&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:n&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:e&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():i&&o&&((r=t)&&DataView.prototype.isPrototypeOf(r))?(this._bodyArrayBuffer=l(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i&&(ArrayBuffer.prototype.isPrototypeOf(t)||a(t))?this._bodyArrayBuffer=l(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):e&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},o&&(this.blob=function(){var t=c(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?c(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(y)}),this.text=function(){var t,e,r,o=c(this);if(o)return o;if(this._bodyBlob)return t=this._bodyBlob,e=new FileReader,r=p(e),e.readAsText(t),r;if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),o=0;o<e.length;o++)r[o]=String.fromCharCode(e[o]);return r.join("")}(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");return Promise.resolve(this._bodyText)},n&&(this.formData=function(){return this.text().then(v)}),this.json=function(){return this.text().then(JSON.parse)},this}d.prototype.append=function(t,e){t=h(t),e=u(e);var r=this.map[t];this.map[t]=r?r+", "+e:e},d.prototype.delete=function(t){delete this.map[h(t)]},d.prototype.get=function(t){return t=h(t),this.has(t)?this.map[t]:null},d.prototype.has=function(t){return this.map.hasOwnProperty(h(t))},d.prototype.set=function(t,e){this.map[h(t)]=u(e)},d.prototype.forEach=function(t,e){for(var r in this.map)this.map.hasOwnProperty(r)&&t.call(e,this.map[r],r,this)},d.prototype.keys=function(){var t=[];return this.forEach((function(e,r){t.push(r)})),f(t)},d.prototype.values=function(){var t=[];return this.forEach((function(e){t.push(e)})),f(t)},d.prototype.entries=function(){var t=[];return this.forEach((function(e,r){t.push([r,e])})),f(t)},r&&(d.prototype[Symbol.iterator]=d.prototype.entries);var m=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];function w(t,e){var r,o,n=(e=e||{}).body;if(t instanceof w){if(t.bodyUsed)throw new TypeError("Already read");this.url=t.url,this.credentials=t.credentials,e.headers||(this.headers=new d(t.headers)),this.method=t.method,this.mode=t.mode,this.signal=t.signal,n||null==t._bodyInit||(n=t._bodyInit,t.bodyUsed=!0)}else this.url=String(t);if(this.credentials=e.credentials||this.credentials||"same-origin",!e.headers&&this.headers||(this.headers=new d(e.headers)),this.method=(r=e.method||this.method||"GET",o=r.toUpperCase(),m.indexOf(o)>-1?o:r),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&n)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(n)}function v(t){var e=new FormData;return t.trim().split("&").forEach((function(t){if(t){var r=t.split("="),o=r.shift().replace(/\+/g," "),n=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(o),decodeURIComponent(n))}})),e}function E(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new d(e.headers),this.url=e.url||"",this._initBody(t)}w.prototype.clone=function(){return new w(this,{body:this._bodyInit})},b.call(w.prototype),b.call(E.prototype),E.prototype.clone=function(){return new E(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new d(this.headers),url:this.url})},E.error=function(){var t=new E(null,{status:0,statusText:""});return t.type="error",t};var A=[301,302,303,307,308];E.redirect=function(t,e){if(-1===A.indexOf(e))throw new RangeError("Invalid status code");return new E(null,{status:e,headers:{location:t}})},t.DOMException=self.DOMException;try{new t.DOMException}catch(e){t.DOMException=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack},t.DOMException.prototype=Object.create(Error.prototype),t.DOMException.prototype.constructor=t.DOMException}function _(e,r){return new Promise((function(n,i){var s=new w(e,r);if(s.signal&&s.signal.aborted)return i(new t.DOMException("Aborted","AbortError"));var a=new XMLHttpRequest;function h(){a.abort()}a.onload=function(){var t,e,r={status:a.status,statusText:a.statusText,headers:(t=a.getAllResponseHeaders()||"",e=new d,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach((function(t){var r=t.split(":"),o=r.shift().trim();if(o){var n=r.join(":").trim();e.append(o,n)}})),e)};r.url="responseURL"in a?a.responseURL:r.headers.get("X-Request-URL");var o="response"in a?a.response:a.responseText;n(new E(o,r))},a.onerror=function(){i(new TypeError("Network request failed"))},a.ontimeout=function(){i(new TypeError("Network request failed"))},a.onabort=function(){i(new t.DOMException("Aborted","AbortError"))},a.open(s.method,s.url,!0),"include"===s.credentials?a.withCredentials=!0:"omit"===s.credentials&&(a.withCredentials=!1),"responseType"in a&&o&&(a.responseType="blob"),s.headers.forEach((function(t,e){a.setRequestHeader(e,t)})),s.signal&&(s.signal.addEventListener("abort",h),a.onreadystatechange=function(){4===a.readyState&&s.signal.removeEventListener("abort",h)}),a.send(void 0===s._bodyInit?null:s._bodyInit)}))}_.polyfill=!0,self.fetch||(self.fetch=_,self.Headers=d,self.Request=w,self.Response=E),t.Headers=d,t.Request=w,t.Response=E,t.fetch=_}({});
-
-(function(){
-  /*
-    Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
-    This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
-    The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
-    The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
-    Code distributed by Google as part of the polymer project is also
-    subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-  */
-  'use strict';var aa=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function g(a){var b=aa.has(a);a=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);return!b&&a}function l(a){var b=a.isConnected;if(void 0!==b)return b;for(;a&&!(a.__CE_isImportDocument||a instanceof Document);)a=a.parentNode||(window.ShadowRoot&&a instanceof ShadowRoot?a.host:void 0);return!(!a||!(a.__CE_isImportDocument||a instanceof Document))}
-  function n(a,b){for(;b&&b!==a&&!b.nextSibling;)b=b.parentNode;return b&&b!==a?b.nextSibling:null}
-  function p(a,b,d){d=void 0===d?new Set:d;for(var c=a;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;b(e);var f=e.localName;if("link"===f&&"import"===e.getAttribute("rel")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)p(c,b,d);c=n(a,e);continue}else if("template"===f){c=n(a,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)p(e,b,d)}c=c.firstChild?c.firstChild:n(a,c)}}function r(a,b,d){a[b]=d};function u(){this.a=new Map;this.g=new Map;this.c=[];this.f=[];this.b=!1}function ba(a,b,d){a.a.set(b,d);a.g.set(d.constructorFunction,d)}function ca(a,b){a.b=!0;a.c.push(b)}function da(a,b){a.b=!0;a.f.push(b)}function v(a,b){a.b&&p(b,function(b){return w(a,b)})}function w(a,b){if(a.b&&!b.__CE_patched){b.__CE_patched=!0;for(var d=0;d<a.c.length;d++)a.c[d](b);for(d=0;d<a.f.length;d++)a.f[d](b)}}
-  function x(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state?a.connectedCallback(c):y(a,c)}}function z(a,b){var d=[];p(b,function(b){return d.push(b)});for(b=0;b<d.length;b++){var c=d[b];1===c.__CE_state&&a.disconnectedCallback(c)}}
-  function A(a,b,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.i||function(b){return y(a,b)},f=[];p(b,function(b){if("link"===b.localName&&"import"===b.getAttribute("rel")){var d=b.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&"complete"===d.readyState?d.__CE_documentLoadHandled=!0:b.addEventListener("load",function(){var d=b.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);A(a,d,{u:f,i:e})}})}else f.push(b)},c);if(a.b)for(b=
-  0;b<f.length;b++)w(a,f[b]);for(b=0;b<f.length;b++)e(f[b])}
-  function y(a,b){if(void 0===b.__CE_state){var d=b.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=a.a.get(b.localName)){d.constructionStack.push(b);var c=d.constructorFunction;try{try{if(new c!==b)throw Error("The custom element constructor did not produce the element being upgraded.");}finally{d.constructionStack.pop()}}catch(t){throw b.__CE_state=2,t;}b.__CE_state=1;b.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c<d.length;c++){var e=
-  d[c],f=b.getAttribute(e);null!==f&&a.attributeChangedCallback(b,e,null,f,null)}l(b)&&a.connectedCallback(b)}}}u.prototype.connectedCallback=function(a){var b=a.__CE_definition;b.connectedCallback&&b.connectedCallback.call(a)};u.prototype.disconnectedCallback=function(a){var b=a.__CE_definition;b.disconnectedCallback&&b.disconnectedCallback.call(a)};
-  u.prototype.attributeChangedCallback=function(a,b,d,c,e){var f=a.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(b)&&f.attributeChangedCallback.call(a,b,d,c,e)};function B(a){var b=document;this.c=a;this.a=b;this.b=void 0;A(this.c,this.a);"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function C(a){a.b&&a.b.disconnect()}B.prototype.f=function(a){var b=this.a.readyState;"interactive"!==b&&"complete"!==b||C(this);for(b=0;b<a.length;b++)for(var d=a[b].addedNodes,c=0;c<d.length;c++)A(this.c,d[c])};function ea(){var a=this;this.b=this.a=void 0;this.c=new Promise(function(b){a.b=b;a.a&&b(a.a)})}function D(a){if(a.a)throw Error("Already resolved.");a.a=void 0;a.b&&a.b(void 0)};function E(a){this.c=!1;this.a=a;this.j=new Map;this.f=function(b){return b()};this.b=!1;this.g=[];this.o=new B(a)}
-  E.prototype.l=function(a,b){var d=this;if(!(b instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!g(a))throw new SyntaxError("The element name '"+a+"' is not valid.");if(this.a.a.get(a))throw Error("A custom element with name '"+a+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var c=function(b){var a=e[b];if(void 0!==a&&!(a instanceof Function))throw Error("The '"+b+"' callback must be a function.");
-  return a},e=b.prototype;if(!(e instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var f=c("connectedCallback");var t=c("disconnectedCallback");var k=c("adoptedCallback");var h=c("attributeChangedCallback");var m=b.observedAttributes||[]}catch(q){return}finally{this.c=!1}b={localName:a,constructorFunction:b,connectedCallback:f,disconnectedCallback:t,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:m,constructionStack:[]};ba(this.a,
-  a,b);this.g.push(b);this.b||(this.b=!0,this.f(function(){return fa(d)}))};E.prototype.i=function(a){A(this.a,a)};
-  function fa(a){if(!1!==a.b){a.b=!1;for(var b=a.g,d=[],c=new Map,e=0;e<b.length;e++)c.set(b[e].localName,[]);A(a.a,document,{i:function(b){if(void 0===b.__CE_state){var e=b.localName,f=c.get(e);f?f.push(b):a.a.a.get(e)&&d.push(b)}}});for(e=0;e<d.length;e++)y(a.a,d[e]);for(;0<b.length;){var f=b.shift();e=f.localName;f=c.get(f.localName);for(var t=0;t<f.length;t++)y(a.a,f[t]);(e=a.j.get(e))&&D(e)}}}E.prototype.get=function(a){if(a=this.a.a.get(a))return a.constructorFunction};
-  E.prototype.m=function(a){if(!g(a))return Promise.reject(new SyntaxError("'"+a+"' is not a valid custom element name."));var b=this.j.get(a);if(b)return b.c;b=new ea;this.j.set(a,b);this.a.a.get(a)&&!this.g.some(function(b){return b.localName===a})&&D(b);return b.c};E.prototype.s=function(a){C(this.o);var b=this.f;this.f=function(d){return a(function(){return b(d)})}};window.CustomElementRegistry=E;E.prototype.define=E.prototype.l;E.prototype.upgrade=E.prototype.i;E.prototype.get=E.prototype.get;
-  E.prototype.whenDefined=E.prototype.m;E.prototype.polyfillWrapFlushCallback=E.prototype.s;var F=window.Document.prototype.createElement,G=window.Document.prototype.createElementNS,ha=window.Document.prototype.importNode,ia=window.Document.prototype.prepend,ja=window.Document.prototype.append,ka=window.DocumentFragment.prototype.prepend,la=window.DocumentFragment.prototype.append,H=window.Node.prototype.cloneNode,I=window.Node.prototype.appendChild,J=window.Node.prototype.insertBefore,K=window.Node.prototype.removeChild,L=window.Node.prototype.replaceChild,M=Object.getOwnPropertyDescriptor(window.Node.prototype,
-  "textContent"),N=window.Element.prototype.attachShadow,O=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),P=window.Element.prototype.getAttribute,Q=window.Element.prototype.setAttribute,R=window.Element.prototype.removeAttribute,S=window.Element.prototype.getAttributeNS,T=window.Element.prototype.setAttributeNS,U=window.Element.prototype.removeAttributeNS,ma=window.Element.prototype.insertAdjacentElement,na=window.Element.prototype.insertAdjacentHTML,oa=window.Element.prototype.prepend,
-  pa=window.Element.prototype.append,V=window.Element.prototype.before,qa=window.Element.prototype.after,ra=window.Element.prototype.replaceWith,sa=window.Element.prototype.remove,ta=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),ua=window.HTMLElement.prototype.insertAdjacentElement,va=window.HTMLElement.prototype.insertAdjacentHTML;var wa=new function(){};function xa(){var a=X;window.HTMLElement=function(){function b(){var b=this.constructor,c=a.g.get(b);if(!c)throw Error("The custom element being constructed was not registered with `customElements`.");var e=c.constructionStack;if(0===e.length)return e=F.call(document,c.localName),Object.setPrototypeOf(e,b.prototype),e.__CE_state=1,e.__CE_definition=c,w(a,e),e;c=e.length-1;var f=e[c];if(f===wa)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
-  e[c]=wa;Object.setPrototypeOf(f,b.prototype);w(a,f);return f}b.prototype=ta.prototype;Object.defineProperty(b.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:b});return b}()};function Y(a,b,d){function c(b){return function(d){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],m=0;m<e.length;m++){var q=e[m];q instanceof Element&&l(q)&&f.push(q);if(q instanceof DocumentFragment)for(q=q.firstChild;q;q=q.nextSibling)c.push(q);else c.push(q)}b.apply(this,e);for(e=0;e<f.length;e++)z(a,f[e]);if(l(this))for(e=0;e<c.length;e++)f=c[e],f instanceof Element&&x(a,f)}}void 0!==d.h&&(b.prepend=c(d.h));void 0!==d.append&&(b.append=c(d.append))};function ya(){var a=X;r(Document.prototype,"createElement",function(b){if(this.__CE_hasRegistry){var d=a.a.get(b);if(d)return new d.constructorFunction}b=F.call(this,b);w(a,b);return b});r(Document.prototype,"importNode",function(b,d){b=ha.call(this,b,!!d);this.__CE_hasRegistry?A(a,b):v(a,b);return b});r(Document.prototype,"createElementNS",function(b,d){if(this.__CE_hasRegistry&&(null===b||"http://www.w3.org/1999/xhtml"===b)){var c=a.a.get(d);if(c)return new c.constructorFunction}b=G.call(this,b,
-  d);w(a,b);return b});Y(a,Document.prototype,{h:ia,append:ja})};function za(){function a(a,c){Object.defineProperty(a,"textContent",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(a){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,a);else{var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0<k&&l(this)){d=Array(k);for(var h=0;h<k;h++)d[h]=e[h]}}c.set.call(this,a);if(d)for(a=0;a<d.length;a++)z(b,d[a])}}})}var b=X;r(Node.prototype,"insertBefore",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);
-  a=J.call(this,a,c);if(l(this))for(c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);c=J.call(this,a,c);e&&z(b,a);l(this)&&x(b,a);return c});r(Node.prototype,"appendChild",function(a){if(a instanceof DocumentFragment){var c=Array.prototype.slice.apply(a.childNodes);a=I.call(this,a);if(l(this))for(var e=0;e<c.length;e++)x(b,c[e]);return a}c=l(a);e=I.call(this,a);c&&z(b,a);l(this)&&x(b,a);return e});r(Node.prototype,"cloneNode",function(a){a=H.call(this,!!a);this.ownerDocument.__CE_hasRegistry?A(b,a):v(b,
-  a);return a});r(Node.prototype,"removeChild",function(a){var c=l(a),e=K.call(this,a);c&&z(b,a);return e});r(Node.prototype,"replaceChild",function(a,c){if(a instanceof DocumentFragment){var e=Array.prototype.slice.apply(a.childNodes);a=L.call(this,a,c);if(l(this))for(z(b,c),c=0;c<e.length;c++)x(b,e[c]);return a}e=l(a);var f=L.call(this,a,c),d=l(this);d&&z(b,c);e&&z(b,a);d&&x(b,a);return f});M&&M.get?a(Node.prototype,M):ca(b,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){for(var a=[],
-  b=0;b<this.childNodes.length;b++){var f=this.childNodes[b];f.nodeType!==Node.COMMENT_NODE&&a.push(f.textContent)}return a.join("")},set:function(a){for(;this.firstChild;)K.call(this,this.firstChild);null!=a&&""!==a&&I.call(this,document.createTextNode(a))}})})};function Aa(a){function b(b){return function(e){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h<c.length;h++){var m=c[h];m instanceof Element&&l(m)&&k.push(m);if(m instanceof DocumentFragment)for(m=m.firstChild;m;m=m.nextSibling)d.push(m);else d.push(m)}b.apply(this,c);for(c=0;c<k.length;c++)z(a,k[c]);if(l(this))for(c=0;c<d.length;c++)k=d[c],k instanceof Element&&x(a,k)}}var d=Element.prototype;void 0!==V&&(d.before=b(V));void 0!==V&&(d.after=b(qa));void 0!==ra&&
-  r(d,"replaceWith",function(b){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var d=[],k=0;k<e.length;k++){var h=e[k];h instanceof Element&&l(h)&&d.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)c.push(h);else c.push(h)}k=l(this);ra.apply(this,e);for(e=0;e<d.length;e++)z(a,d[e]);if(k)for(z(a,this),e=0;e<c.length;e++)d=c[e],d instanceof Element&&x(a,d)});void 0!==sa&&r(d,"remove",function(){var b=l(this);sa.call(this);b&&z(a,this)})};function Ba(){function a(a,b){Object.defineProperty(a,"innerHTML",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var e=this,d=void 0;l(this)&&(d=[],p(this,function(a){a!==e&&d.push(a)}));b.set.call(this,a);if(d)for(var f=0;f<d.length;f++){var t=d[f];1===t.__CE_state&&c.disconnectedCallback(t)}this.ownerDocument.__CE_hasRegistry?A(c,this):v(c,this);return a}})}function b(a,b){r(a,"insertAdjacentElement",function(a,e){var d=l(e);a=b.call(this,a,e);d&&z(c,e);l(a)&&x(c,e);return a})}
-  function d(a,b){function e(a,b){for(var e=[];a!==b;a=a.nextSibling)e.push(a);for(b=0;b<e.length;b++)A(c,e[b])}r(a,"insertAdjacentHTML",function(a,c){a=a.toLowerCase();if("beforebegin"===a){var d=this.previousSibling;b.call(this,a,c);e(d||this.parentNode.firstChild,this)}else if("afterbegin"===a)d=this.firstChild,b.call(this,a,c),e(this.firstChild,d);else if("beforeend"===a)d=this.lastChild,b.call(this,a,c),e(d||this.firstChild,null);else if("afterend"===a)d=this.nextSibling,b.call(this,a,c),e(this.nextSibling,
-  d);else throw new SyntaxError("The value provided ("+String(a)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");})}var c=X;N&&r(Element.prototype,"attachShadow",function(a){a=N.call(this,a);var b=c;if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var e=0;e<b.c.length;e++)b.c[e](a)}return this.__CE_shadowRoot=a});O&&O.get?a(Element.prototype,O):W&&W.get?a(HTMLElement.prototype,W):da(c,function(b){a(b,{enumerable:!0,configurable:!0,get:function(){return H.call(this,!0).innerHTML},
-  set:function(a){var b="template"===this.localName,c=b?this.content:this,e=G.call(document,this.namespaceURI,this.localName);for(e.innerHTML=a;0<c.childNodes.length;)K.call(c,c.childNodes[0]);for(a=b?e.content:e;0<a.childNodes.length;)I.call(c,a.childNodes[0])}})});r(Element.prototype,"setAttribute",function(a,b){if(1!==this.__CE_state)return Q.call(this,a,b);var e=P.call(this,a);Q.call(this,a,b);b=P.call(this,a);c.attributeChangedCallback(this,a,e,b,null)});r(Element.prototype,"setAttributeNS",function(a,
-  b,d){if(1!==this.__CE_state)return T.call(this,a,b,d);var e=S.call(this,a,b);T.call(this,a,b,d);d=S.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a)});r(Element.prototype,"removeAttribute",function(a){if(1!==this.__CE_state)return R.call(this,a);var b=P.call(this,a);R.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null)});r(Element.prototype,"removeAttributeNS",function(a,b){if(1!==this.__CE_state)return U.call(this,a,b);var d=S.call(this,a,b);U.call(this,a,b);var e=S.call(this,
-  a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a)});ua?b(HTMLElement.prototype,ua):ma?b(Element.prototype,ma):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");va?d(HTMLElement.prototype,va):na?d(Element.prototype,na):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");Y(c,Element.prototype,{h:oa,append:pa});Aa(c)};var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var X=new u;xa();ya();Y(X,DocumentFragment.prototype,{h:ka,append:la});za();Ba();document.__CE_hasRegistry=!0;var customElements=new E(X);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:customElements})};
-}).call(self);
-
-// Polyfill document.baseURI
-"string"!==typeof document.baseURI&&Object.defineProperty(Document.prototype,"baseURI",{enumerable:!0,configurable:!0,get:function(){var a=document.querySelector("base");return a&&a.href?a.href:document.URL}});
-
-// Polyfill CustomEvent
-"function"!==typeof window.CustomEvent&&(window.CustomEvent=function(c,a){a=a||{bubbles:!1,cancelable:!1,detail:void 0};var b=document.createEvent("CustomEvent");b.initCustomEvent(c,a.bubbles,a.cancelable,a.detail);return b},window.CustomEvent.prototype=window.Event.prototype);
-
-// Event.composedPath
-(function(b,c,d){b.composedPath||(b.composedPath=function(){if(this.path)return this.path;var a=this.target;for(this.path=[];null!==a.parentNode;)this.path.push(a),a=a.parentNode;this.path.push(c,d);return this.path})})(Event.prototype,document,window);
-
-/*!
-Element.closest and Element.matches
-https://github.com/jonathantneal/closest
-Creative Commons Zero v1.0 Universal
-*/
-(function(a){"function"!==typeof a.matches&&(a.matches=a.msMatchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||function(a){a=(this.document||this.ownerDocument).querySelectorAll(a);for(var b=0;a[b]&&a[b]!==this;)++b;return!!a[b]});"function"!==typeof a.closest&&(a.closest=function(a){for(var b=this;b&&1===b.nodeType;){if(b.matches(a))return b;b=b.parentNode}return null})})(window.Element.prototype);
-
-/*!
-Element.getRootNode()
-*/
-(function(c){function d(a){a=b(a);return a&&11===a.nodeType?d(a.host):a}function b(a){return a&&a.parentNode?b(a.parentNode):a}"function"!==typeof c.getRootNode&&(c.getRootNode=function(a){return a&&a.composed?d(this):b(this)})})(Element.prototype);
-
-/*!
-Element.isConnected()
-*/
-(function(a){"isConnected"in a||Object.defineProperty(a,"isConnected",{configurable:!0,enumerable:!0,get:function(){var a=this.getRootNode({composed:!0});return a&&9===a.nodeType}})})(Element.prototype);
-
-/*!
-Element.remove()
-*/
-(function(b){b.forEach(function(a){a.hasOwnProperty("remove")||Object.defineProperty(a,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})})})([Element.prototype,CharacterData.prototype,DocumentType.prototype]);
-
-/*!
-Element.classList
-*/
-!function(e){'classList'in e||Object.defineProperty(e,"classList",{get:function(){var e=this,t=(e.getAttribute("class")||"").replace(/^\s+|\s$/g,"").split(/\s+/g);function n(){t.length>0?e.setAttribute("class",t.join(" ")):e.removeAttribute("class")}return""===t[0]&&t.splice(0,1),t.toggle=function(e,i){void 0!==i?i?t.add(e):t.remove(e):-1!==t.indexOf(e)?t.splice(t.indexOf(e),1):t.push(e),n()},t.add=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1===t.indexOf(e[i])&&t.push(e[i]);n()},t.remove=function(){for(var e=[].slice.call(arguments),i=0,s=e.length;i<s;i++)-1!==t.indexOf(e[i])&&t.splice(t.indexOf(e[i]),1);n()},t.item=function(e){return t[e]},t.contains=function(e){return-1!==t.indexOf(e)},t.replace=function(e,i){-1!==t.indexOf(e)&&t.splice(t.indexOf(e),1,i),n()},t.value=e.getAttribute("class")||"",t}})}(Element.prototype);
-
-/*!
-DOMTokenList
-*/
-(function(b){try{document.body.classList.add()}catch(e){var c=b.add,d=b.remove;b.add=function(){for(var a=0;a<arguments.length;a++)c.call(this,arguments[a])};b.remove=function(){for(var a=0;a<arguments.length;a++)d.call(this,arguments[a])}}})(DOMTokenList.prototype);
-
-(function(){if("undefined"!==typeof window&&void 0!==window.Reflect&&void 0!==window.customElements){var a=HTMLElement;window.HTMLElement=function(){return Reflect.construct(a,[],this.constructor)};HTMLElement.prototype=a.prototype;HTMLElement.prototype.constructor=HTMLElement;Object.setPrototypeOf(HTMLElement,a)}})();
-/**
- * SystemJS 4.0.2
- * MANUAL PATCH: remove script.crossOrigin = "anonymous"
- * MANUAL PATCH: add conditionally apply, n.System=n.System||new u
- */
-!function(){var e="undefined"!=typeof self,n=e?self:global;var t;if("undefined"!=typeof document){var e=document.querySelector("base[href]");e&&(t=e.href)}if(!t&&"undefined"!=typeof location){var e=(t=location.href.split("#")[0].split("?")[0]).lastIndexOf("/");-1!==e&&(t=t.slice(0,e+1))}var r=/\\/g,o="undefined"!=typeof Symbol,i=o&&Symbol.toStringTag,c=o?Symbol():"@";function u(){this[c]={}}var s=u.prototype;var l;s.import=function(e,n){var t=this;return Promise.resolve(t.resolve(e,n)).then(function(e){var n=function e(n,t,r){var o=n[c][t];if(o)return o;var u=[],s=Object.create(null);i&&Object.defineProperty(s,i,{value:"Module"});var l=Promise.resolve().then(function(){return n.instantiate(t,r)}).then(function(e){if(!e)throw Error("Module "+t+" did not instantiate");var r=e[1](function(e,n){o.h=!0;var t=!1;if("object"!=typeof e)e in s&&s[e]===n||(s[e]=n,t=!0);else for(var n in e){var r=e[n];n in s&&s[n]===r||(s[n]=r,t=!0)}if(t)for(var e=0;e<u.length;e++)u[e](s);return n},2===e[1].length?{import:function(e){return n.import(e,t)},meta:n.createContext(t)}:void 0);return o.e=r.execute||function(){},[e[0],r.setters||[]]});var f=l.then(function(r){return Promise.all(r[0].map(function(o,i){var c=r[1][i];return Promise.resolve(n.resolve(o,t)).then(function(r){var o=e(n,r,t);return Promise.resolve(o.I).then(function(){return c&&(o.i.push(c),!o.h&&o.I||c(o.n)),o})})})).then(function(e){o.d=e})});return f.catch(function(e){o.e=null,o.er=e}),o=n[c][t]={id:t,i:u,n:s,I:l,L:f,h:!1,d:void 0,e:void 0,er:void 0,E:void 0,C:void 0}}(t,e);return n.C||function(e,n){return n.C=function e(n,t,r){if(!r[t.id])return r[t.id]=!0,Promise.resolve(t.L).then(function(){return Promise.all(t.d.map(function(t){return e(n,t,r)}))})}(e,n,{}).then(function(){return function e(n,t,r){if(r[t.id])return;if(r[t.id]=!0,!t.e){if(t.er)throw t.er;return t.E?t.E:void 0}var o;return t.d.forEach(function(t){{var i=e(n,t,r);i&&(o=o||[]).push(i)}}),o?Promise.all(o).then(i):i();function i(){try{var e=t.e.call(f);if(e)return e=e.then(function(){t.C=t.n,t.E=null}),t.E=t.E||e;t.C=t.n}catch(e){throw t.er=e,e}finally{t.L=t.I=void 0,t.e=null}}}(e,n,{})}).then(function(){return n.n})}(t,n)})},s.createContext=function(e){return{url:e}},s.register=function(e,n){l=[e,n]},s.getRegister=function(){var e=l;return l=void 0,e};var f=Object.freeze(Object.create(null));n.System=n.System||new u;var d=s.register;s.register=function(e,n){d.call(this,e,n)},s.instantiate=function(e,n){var t=this;return".json"===e.substr(-5)?fetch(e).then(function(e){return e.text()}).then(function(e){return[[],function(n){return{execute:function(){n("default",JSON.parse(e))}}}]}):new Promise(function(r,o){var i;function c(n){n.filename===e&&(i=n.error)}window.addEventListener("error",c);var u=document.createElement("script");u.charset="utf-8",u.async=!0,u.addEventListener("error",function(){window.removeEventListener("error",c),o(Error("Error loading "+e+(n?" from "+n:"")))}),u.addEventListener("load",function(){window.removeEventListener("error",c),document.head.removeChild(u),i?o(i):r(t.getRegister())}),u.src=e,document.head.appendChild(u)})},e&&"function"==typeof importScripts&&(s.instantiate=function(e){var n=this;return new Promise(function(t,r){try{importScripts(e)}catch(e){r(e)}t(n.getRegister())})}),s.resolve=function(e,n){var o=function(e,n){if(-1!==e.indexOf("\\")&&(e=e.replace(r,"/")),"/"===e[0]&&"/"===e[1])return n.slice(0,n.indexOf(":")+1)+e;if("."===e[0]&&("/"===e[1]||"."===e[1]&&("/"===e[2]||2===e.length&&(e+="/"))||1===e.length&&(e+="/"))||"/"===e[0]){var t=n.slice(0,n.indexOf(":")+1);var r;if(r="/"===n[t.length+1]?"file:"!==t?(r=n.slice(t.length+2)).slice(r.indexOf("/")+1):n.slice(8):n.slice(t.length+("/"===n[t.length])),"/"===e[0])return n.slice(0,n.length-r.length-1)+e;var o=r.slice(0,r.lastIndexOf("/")+1)+e,i=[];var c=-1;for(var e=0;e<o.length;e++)-1!==c?"/"===o[e]&&(i.push(o.slice(c,e+1)),c=-1):"."===o[e]?"."!==o[e+1]||"/"!==o[e+2]&&e+2!==o.length?"/"===o[e+1]||e+1===o.length?e+=1:c=e:(i.pop(),e+=2):c=e;return-1!==c&&i.push(o.slice(c)),n.slice(0,n.length-r.length)+i.join("")}}(e,n||t);if(!o){if(-1!==e.indexOf(":"))return Promise.resolve(e);throw Error('Cannot resolve "'+e+(n?'" from '+n:'"'))}return Promise.resolve(o)}}();
-
-  // Figure out currentScript (for IE11, since it does not support currentScript)
-  var regex = /\/ionicpwaelements(\.esm)?\.js($|\?|#)/;
-  var scriptElm = currentScript || Array.from(document.querySelectorAll('script')).find(function(s) {
-    return regex.test(s.src) || s.getAttribute('data-stencil-namespace') === "ionicpwaelements";
-  });
-
-  var resourcesUrl = scriptElm ? scriptElm.getAttribute('data-resources-url') || scriptElm.src : '';
-  var start = function() {
-    // if src is not present then origin is "null", and new URL() throws TypeError: Failed to construct 'URL': Invalid base URL
-    var url = new URL('./p-00206cb0.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
-    System.import(url.href);
-  };
-
-  if (window.__cssshim) {
-    window.__cssshim.i().then(start);
-  } else {
-    start();
-  }
+      !function (t) {
+        var n = {};
+        function e(r) {
+          if (n[r]) return n[r].exports;
+          var o = n[r] = {
+            i: r,
+            l: !1,
+            exports: {}
+          };
+          return t[r].call(o.exports, o, o.exports, e), o.l = !0, o.exports;
+        }
+        e.m = t, e.c = n, e.d = function (t, n, r) {
+          e.o(t, n) || Object.defineProperty(t, n, {
+            enumerable: !0,
+            get: r
+          });
+        }, e.r = function (t) {
+          "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {
+            value: "Module"
+          }), Object.defineProperty(t, "__esModule", {
+            value: !0
+          });
+        }, e.t = function (t, n) {
+          if (1 & n && (t = e(t)), 8 & n) return t;
+          if (4 & n && "object" == typeof t && t && t.__esModule) return t;
+          var r = Object.create(null);
+          if (e.r(r), Object.defineProperty(r, "default", {
+            enumerable: !0,
+            value: t
+          }), 2 & n && "string" != typeof t) for (var o in t) e.d(r, o, function (n) {
+            return t[n];
+          }.bind(null, o));
+          return r;
+        }, e.n = function (t) {
+          var n = t && t.__esModule ? function () {
+            return t.default;
+          } : function () {
+            return t;
+          };
+          return e.d(n, "a", n), n;
+        }, e.o = function (t, n) {
+          return Object.prototype.hasOwnProperty.call(t, n);
+        }, e.p = "", e(e.s = 0);
+      }([function (t, n, e) {
+        e(1), e(55), e(62), e(68), e(70), e(71), e(72), e(73), e(75), e(76), e(78), e(87), e(88), e(89), e(98), e(99), e(101), e(102), e(103), e(105), e(106), e(107), e(108), e(110), e(111), e(112), e(113), e(114), e(115), e(116), e(117), e(118), e(127), e(130), e(131), e(133), e(135), e(136), e(137), e(138), e(139), e(141), e(143), e(146), e(148), e(150), e(151), e(153), e(154), e(155), e(156), e(157), e(159), e(160), e(162), e(163), e(164), e(165), e(166), e(167), e(168), e(169), e(170), e(172), e(173), e(183), e(184), e(185), e(189), e(191), e(192), e(193), e(194), e(195), e(196), e(198), e(201), e(202), e(203), e(204), e(208), e(209), e(212), e(213), e(214), e(215), e(216), e(217), e(218), e(219), e(221), e(222), e(223), e(226), e(227), e(228), e(229), e(230), e(231), e(232), e(233), e(234), e(235), e(236), e(237), e(238), e(240), e(241), e(243), e(248), t.exports = e(246);
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(6),
+          i = e(45),
+          a = e(14),
+          u = e(46),
+          c = e(39),
+          f = e(47),
+          s = e(48),
+          l = e(52),
+          p = e(49),
+          h = e(53),
+          v = p("isConcatSpreadable"),
+          g = h >= 51 || !o(function () {
+            var t = [];
+            return t[v] = !1, t.concat()[0] !== t;
+          }),
+          d = l("concat"),
+          y = function y(t) {
+            if (!a(t)) return !1;
+            var n = t[v];
+            return void 0 !== n ? !!n : i(t);
+          };
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !g || !d
+        }, {
+          concat: function concat(t) {
+            var n,
+              e,
+              r,
+              o,
+              i,
+              a = u(this),
+              l = s(a, 0),
+              p = 0;
+            for (n = -1, r = arguments.length; n < r; n++) if (i = -1 === n ? a : arguments[n], y(i)) {
+              if (p + (o = c(i.length)) > 9007199254740991) throw TypeError("Maximum allowed index exceeded");
+              for (e = 0; e < o; e++, p++) e in i && f(l, p, i[e]);
+            } else {
+              if (p >= 9007199254740991) throw TypeError("Maximum allowed index exceeded");
+              f(l, p++, i);
+            }
+            return l.length = p, l;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(4).f,
+          i = e(18),
+          a = e(21),
+          u = e(22),
+          c = e(32),
+          f = e(44);
+        t.exports = function (t, n) {
+          var e,
+            s,
+            l,
+            p,
+            h,
+            v = t.target,
+            g = t.global,
+            d = t.stat;
+          if (e = g ? r : d ? r[v] || u(v, {}) : (r[v] || {}).prototype) for (s in n) {
+            if (p = n[s], l = t.noTargetGet ? (h = o(e, s)) && h.value : e[s], !f(g ? s : v + (d ? "." : "#") + s, t.forced) && void 0 !== l) {
+              if (typeof p == typeof l) continue;
+              c(p, l);
+            }
+            (t.sham || l && l.sham) && i(p, "sham", !0), a(e, s, p, t);
+          }
+        };
+      }, function (t, n) {
+        var e = function e(t) {
+          return t && t.Math == Math && t;
+        };
+        t.exports = e("object" == typeof globalThis && globalThis) || e("object" == typeof window && window) || e("object" == typeof self && self) || e("object" == typeof global && global) || Function("return this")();
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(7),
+          i = e(8),
+          a = e(9),
+          u = e(13),
+          c = e(15),
+          f = e(16),
+          s = Object.getOwnPropertyDescriptor;
+        n.f = r ? s : function (t, n) {
+          if (t = a(t), n = u(n, !0), f) try {
+            return s(t, n);
+          } catch (t) {}
+          if (c(t, n)) return i(!o.f.call(t, n), t[n]);
+        };
+      }, function (t, n, e) {
+        var r = e(6);
+        t.exports = !r(function () {
+          return 7 != Object.defineProperty({}, 1, {
+            get: function get() {
+              return 7;
+            }
+          })[1];
+        });
+      }, function (t, n) {
+        t.exports = function (t) {
+          try {
+            return !!t();
+          } catch (t) {
+            return !0;
+          }
+        };
+      }, function (t, n, e) {
+        var r = {}.propertyIsEnumerable,
+          o = Object.getOwnPropertyDescriptor,
+          i = o && !r.call({
+            1: 2
+          }, 1);
+        n.f = i ? function (t) {
+          var n = o(this, t);
+          return !!n && n.enumerable;
+        } : r;
+      }, function (t, n) {
+        t.exports = function (t, n) {
+          return {
+            enumerable: !(1 & t),
+            configurable: !(2 & t),
+            writable: !(4 & t),
+            value: n
+          };
+        };
+      }, function (t, n, e) {
+        var r = e(10),
+          o = e(12);
+        t.exports = function (t) {
+          return r(o(t));
+        };
+      }, function (t, n, e) {
+        var r = e(6),
+          o = e(11),
+          i = "".split;
+        t.exports = r(function () {
+          return !Object("z").propertyIsEnumerable(0);
+        }) ? function (t) {
+          return "String" == o(t) ? i.call(t, "") : Object(t);
+        } : Object;
+      }, function (t, n) {
+        var e = {}.toString;
+        t.exports = function (t) {
+          return e.call(t).slice(8, -1);
+        };
+      }, function (t, n) {
+        t.exports = function (t) {
+          if (null == t) throw TypeError("Can't call method on " + t);
+          return t;
+        };
+      }, function (t, n, e) {
+        var r = e(14);
+        t.exports = function (t, n) {
+          if (!r(t)) return t;
+          var e, o;
+          if (n && "function" == typeof (e = t.toString) && !r(o = e.call(t))) return o;
+          if ("function" == typeof (e = t.valueOf) && !r(o = e.call(t))) return o;
+          if (!n && "function" == typeof (e = t.toString) && !r(o = e.call(t))) return o;
+          throw TypeError("Can't convert object to primitive value");
+        };
+      }, function (t, n) {
+        t.exports = function (t) {
+          return "object" == typeof t ? null !== t : "function" == typeof t;
+        };
+      }, function (t, n) {
+        var e = {}.hasOwnProperty;
+        t.exports = function (t, n) {
+          return e.call(t, n);
+        };
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(6),
+          i = e(17);
+        t.exports = !r && !o(function () {
+          return 7 != Object.defineProperty(i("div"), "a", {
+            get: function get() {
+              return 7;
+            }
+          }).a;
+        });
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(14),
+          i = r.document,
+          a = o(i) && o(i.createElement);
+        t.exports = function (t) {
+          return a ? i.createElement(t) : {};
+        };
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(19),
+          i = e(8);
+        t.exports = r ? function (t, n, e) {
+          return o.f(t, n, i(1, e));
+        } : function (t, n, e) {
+          return t[n] = e, t;
+        };
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(16),
+          i = e(20),
+          a = e(13),
+          u = Object.defineProperty;
+        n.f = r ? u : function (t, n, e) {
+          if (i(t), n = a(n, !0), i(e), o) try {
+            return u(t, n, e);
+          } catch (t) {}
+          if ("get" in e || "set" in e) throw TypeError("Accessors not supported");
+          return "value" in e && (t[n] = e.value), t;
+        };
+      }, function (t, n, e) {
+        var r = e(14);
+        t.exports = function (t) {
+          if (!r(t)) throw TypeError(String(t) + " is not an object");
+          return t;
+        };
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(18),
+          i = e(15),
+          a = e(22),
+          u = e(23),
+          c = e(25),
+          f = c.get,
+          s = c.enforce,
+          l = String(String).split("String");
+        (t.exports = function (t, n, e, u) {
+          var c = !!u && !!u.unsafe,
+            f = !!u && !!u.enumerable,
+            p = !!u && !!u.noTargetGet;
+          "function" == typeof e && ("string" != typeof n || i(e, "name") || o(e, "name", n), s(e).source = l.join("string" == typeof n ? n : "")), t !== r ? (c ? !p && t[n] && (f = !0) : delete t[n], f ? t[n] = e : o(t, n, e)) : f ? t[n] = e : a(n, e);
+        })(Function.prototype, "toString", function () {
+          return "function" == typeof this && f(this).source || u(this);
+        });
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(18);
+        t.exports = function (t, n) {
+          try {
+            o(r, t, n);
+          } catch (e) {
+            r[t] = n;
+          }
+          return n;
+        };
+      }, function (t, n, e) {
+        var r = e(24),
+          o = Function.toString;
+        "function" != typeof r.inspectSource && (r.inspectSource = function (t) {
+          return o.call(t);
+        }), t.exports = r.inspectSource;
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(22),
+          i = r["__core-js_shared__"] || o("__core-js_shared__", {});
+        t.exports = i;
+      }, function (t, n, e) {
+        var r,
+          o,
+          i,
+          a = e(26),
+          u = e(3),
+          c = e(14),
+          f = e(18),
+          s = e(15),
+          l = e(27),
+          p = e(31),
+          h = u.WeakMap;
+        if (a) {
+          var v = new h(),
+            g = v.get,
+            d = v.has,
+            y = v.set;
+          r = function r(t, n) {
+            return y.call(v, t, n), n;
+          }, o = function o(t) {
+            return g.call(v, t) || {};
+          }, i = function i(t) {
+            return d.call(v, t);
+          };
+        } else {
+          var x = l("state");
+          p[x] = !0, r = function r(t, n) {
+            return f(t, x, n), n;
+          }, o = function o(t) {
+            return s(t, x) ? t[x] : {};
+          }, i = function i(t) {
+            return s(t, x);
+          };
+        }
+        t.exports = {
+          set: r,
+          get: o,
+          has: i,
+          enforce: function enforce(t) {
+            return i(t) ? o(t) : r(t, {});
+          },
+          getterFor: function getterFor(t) {
+            return function (n) {
+              var e;
+              if (!c(n) || (e = o(n)).type !== t) throw TypeError("Incompatible receiver, " + t + " required");
+              return e;
+            };
+          }
+        };
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(23),
+          i = r.WeakMap;
+        t.exports = "function" == typeof i && /native code/.test(o(i));
+      }, function (t, n, e) {
+        var r = e(28),
+          o = e(30),
+          i = r("keys");
+        t.exports = function (t) {
+          return i[t] || (i[t] = o(t));
+        };
+      }, function (t, n, e) {
+        var r = e(29),
+          o = e(24);
+        (t.exports = function (t, n) {
+          return o[t] || (o[t] = void 0 !== n ? n : {});
+        })("versions", []).push({
+          version: "3.6.5",
+          mode: r ? "pure" : "global",
+          copyright: "© 2020 Denis Pushkarev (zloirock.ru)"
+        });
+      }, function (t, n) {
+        t.exports = !1;
+      }, function (t, n) {
+        var e = 0,
+          r = Math.random();
+        t.exports = function (t) {
+          return "Symbol(" + String(void 0 === t ? "" : t) + ")_" + (++e + r).toString(36);
+        };
+      }, function (t, n) {
+        t.exports = {};
+      }, function (t, n, e) {
+        var r = e(15),
+          o = e(33),
+          i = e(4),
+          a = e(19);
+        t.exports = function (t, n) {
+          for (var e = o(n), u = a.f, c = i.f, f = 0; f < e.length; f++) {
+            var s = e[f];
+            r(t, s) || u(t, s, c(n, s));
+          }
+        };
+      }, function (t, n, e) {
+        var r = e(34),
+          o = e(36),
+          i = e(43),
+          a = e(20);
+        t.exports = r("Reflect", "ownKeys") || function (t) {
+          var n = o.f(a(t)),
+            e = i.f;
+          return e ? n.concat(e(t)) : n;
+        };
+      }, function (t, n, e) {
+        var r = e(35),
+          o = e(3),
+          i = function i(t) {
+            return "function" == typeof t ? t : void 0;
+          };
+        t.exports = function (t, n) {
+          return arguments.length < 2 ? i(r[t]) || i(o[t]) : r[t] && r[t][n] || o[t] && o[t][n];
+        };
+      }, function (t, n, e) {
+        var r = e(3);
+        t.exports = r;
+      }, function (t, n, e) {
+        var r = e(37),
+          o = e(42).concat("length", "prototype");
+        n.f = Object.getOwnPropertyNames || function (t) {
+          return r(t, o);
+        };
+      }, function (t, n, e) {
+        var r = e(15),
+          o = e(9),
+          i = e(38).indexOf,
+          a = e(31);
+        t.exports = function (t, n) {
+          var e,
+            u = o(t),
+            c = 0,
+            f = [];
+          for (e in u) !r(a, e) && r(u, e) && f.push(e);
+          for (; n.length > c;) r(u, e = n[c++]) && (~i(f, e) || f.push(e));
+          return f;
+        };
+      }, function (t, n, e) {
+        var r = e(9),
+          o = e(39),
+          i = e(41),
+          a = function a(t) {
+            return function (n, e, a) {
+              var u,
+                c = r(n),
+                f = o(c.length),
+                s = i(a, f);
+              if (t && e != e) {
+                for (; f > s;) if ((u = c[s++]) != u) return !0;
+              } else for (; f > s; s++) if ((t || s in c) && c[s] === e) return t || s || 0;
+              return !t && -1;
+            };
+          };
+        t.exports = {
+          includes: a(!0),
+          indexOf: a(!1)
+        };
+      }, function (t, n, e) {
+        var r = e(40),
+          o = Math.min;
+        t.exports = function (t) {
+          return t > 0 ? o(r(t), 9007199254740991) : 0;
+        };
+      }, function (t, n) {
+        var e = Math.ceil,
+          r = Math.floor;
+        t.exports = function (t) {
+          return isNaN(t = +t) ? 0 : (t > 0 ? r : e)(t);
+        };
+      }, function (t, n, e) {
+        var r = e(40),
+          o = Math.max,
+          i = Math.min;
+        t.exports = function (t, n) {
+          var e = r(t);
+          return e < 0 ? o(e + n, 0) : i(e, n);
+        };
+      }, function (t, n) {
+        t.exports = ["constructor", "hasOwnProperty", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "valueOf"];
+      }, function (t, n) {
+        n.f = Object.getOwnPropertySymbols;
+      }, function (t, n, e) {
+        var r = e(6),
+          o = /#|\.prototype\./,
+          i = function i(t, n) {
+            var e = u[a(t)];
+            return e == f || e != c && ("function" == typeof n ? r(n) : !!n);
+          },
+          a = i.normalize = function (t) {
+            return String(t).replace(o, ".").toLowerCase();
+          },
+          u = i.data = {},
+          c = i.NATIVE = "N",
+          f = i.POLYFILL = "P";
+        t.exports = i;
+      }, function (t, n, e) {
+        var r = e(11);
+        t.exports = Array.isArray || function (t) {
+          return "Array" == r(t);
+        };
+      }, function (t, n, e) {
+        var r = e(12);
+        t.exports = function (t) {
+          return Object(r(t));
+        };
+      }, function (t, n, e) {
+        var r = e(13),
+          o = e(19),
+          i = e(8);
+        t.exports = function (t, n, e) {
+          var a = r(n);
+          a in t ? o.f(t, a, i(0, e)) : t[a] = e;
+        };
+      }, function (t, n, e) {
+        var r = e(14),
+          o = e(45),
+          i = e(49)("species");
+        t.exports = function (t, n) {
+          var e;
+          return o(t) && ("function" != typeof (e = t.constructor) || e !== Array && !o(e.prototype) ? r(e) && null === (e = e[i]) && (e = void 0) : e = void 0), new (void 0 === e ? Array : e)(0 === n ? 0 : n);
+        };
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(28),
+          i = e(15),
+          a = e(30),
+          u = e(50),
+          c = e(51),
+          f = o("wks"),
+          s = r.Symbol,
+          l = c ? s : s && s.withoutSetter || a;
+        t.exports = function (t) {
+          return i(f, t) || (u && i(s, t) ? f[t] = s[t] : f[t] = l("Symbol." + t)), f[t];
+        };
+      }, function (t, n, e) {
+        var r = e(6);
+        t.exports = !!Object.getOwnPropertySymbols && !r(function () {
+          return !String(Symbol());
+        });
+      }, function (t, n, e) {
+        var r = e(50);
+        t.exports = r && !Symbol.sham && "symbol" == typeof Symbol.iterator;
+      }, function (t, n, e) {
+        var r = e(6),
+          o = e(49),
+          i = e(53),
+          a = o("species");
+        t.exports = function (t) {
+          return i >= 51 || !r(function () {
+            var n = [];
+            return (n.constructor = {})[a] = function () {
+              return {
+                foo: 1
+              };
+            }, 1 !== n[t](Boolean).foo;
+          });
+        };
+      }, function (t, n, e) {
+        var r,
+          o,
+          i = e(3),
+          a = e(54),
+          u = i.process,
+          c = u && u.versions,
+          f = c && c.v8;
+        f ? o = (r = f.split("."))[0] + r[1] : a && (!(r = a.match(/Edge\/(\d+)/)) || r[1] >= 74) && (r = a.match(/Chrome\/(\d+)/)) && (o = r[1]), t.exports = o && +o;
+      }, function (t, n, e) {
+        var r = e(34);
+        t.exports = r("navigator", "userAgent") || "";
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(56),
+          i = e(57);
+        r({
+          target: "Array",
+          proto: !0
+        }, {
+          copyWithin: o
+        }), i("copyWithin");
+      }, function (t, n, e) {
+        var r = e(46),
+          o = e(41),
+          i = e(39),
+          a = Math.min;
+        t.exports = [].copyWithin || function (t, n) {
+          var e = r(this),
+            u = i(e.length),
+            c = o(t, u),
+            f = o(n, u),
+            s = arguments.length > 2 ? arguments[2] : void 0,
+            l = a((void 0 === s ? u : o(s, u)) - f, u - c),
+            p = 1;
+          for (f < c && c < f + l && (p = -1, f += l - 1, c += l - 1); l-- > 0;) f in e ? e[c] = e[f] : delete e[c], c += p, f += p;
+          return e;
+        };
+      }, function (t, n, e) {
+        var r = e(49),
+          o = e(58),
+          i = e(19),
+          a = r("unscopables"),
+          u = Array.prototype;
+        null == u[a] && i.f(u, a, {
+          configurable: !0,
+          value: o(null)
+        }), t.exports = function (t) {
+          u[a][t] = !0;
+        };
+      }, function (t, n, e) {
+        var r,
+          o = e(20),
+          i = e(59),
+          a = e(42),
+          u = e(31),
+          c = e(61),
+          f = e(17),
+          s = e(27),
+          l = s("IE_PROTO"),
+          p = function p() {},
+          h = function h(t) {
+            return "<script>" + t + "<\/script>";
+          },
+          _v = function v() {
+            try {
+              r = document.domain && new ActiveXObject("htmlfile");
+            } catch (t) {}
+            var t, n;
+            _v = r ? function (t) {
+              t.write(h("")), t.close();
+              var n = t.parentWindow.Object;
+              return t = null, n;
+            }(r) : ((n = f("iframe")).style.display = "none", c.appendChild(n), n.src = String("javascript:"), (t = n.contentWindow.document).open(), t.write(h("document.F=Object")), t.close(), t.F);
+            for (var e = a.length; e--;) delete _v.prototype[a[e]];
+            return _v();
+          };
+        u[l] = !0, t.exports = Object.create || function (t, n) {
+          var e;
+          return null !== t ? (p.prototype = o(t), e = new p(), p.prototype = null, e[l] = t) : e = _v(), void 0 === n ? e : i(e, n);
+        };
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(19),
+          i = e(20),
+          a = e(60);
+        t.exports = r ? Object.defineProperties : function (t, n) {
+          i(t);
+          for (var e, r = a(n), u = r.length, c = 0; u > c;) o.f(t, e = r[c++], n[e]);
+          return t;
+        };
+      }, function (t, n, e) {
+        var r = e(37),
+          o = e(42);
+        t.exports = Object.keys || function (t) {
+          return r(t, o);
+        };
+      }, function (t, n, e) {
+        var r = e(34);
+        t.exports = r("document", "documentElement");
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(63).every,
+          i = e(66),
+          a = e(67),
+          u = i("every"),
+          c = a("every");
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !u || !c
+        }, {
+          every: function every(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(64),
+          o = e(10),
+          i = e(46),
+          a = e(39),
+          u = e(48),
+          c = [].push,
+          f = function f(t) {
+            var n = 1 == t,
+              e = 2 == t,
+              f = 3 == t,
+              s = 4 == t,
+              l = 6 == t,
+              p = 5 == t || l;
+            return function (h, v, g, d) {
+              for (var y, x, m = i(h), b = o(m), S = r(v, g, 3), E = a(b.length), w = 0, O = d || u, R = n ? O(h, E) : e ? O(h, 0) : void 0; E > w; w++) if ((p || w in b) && (x = S(y = b[w], w, m), t)) if (n) R[w] = x;else if (x) switch (t) {
+                case 3:
+                  return !0;
+                case 5:
+                  return y;
+                case 6:
+                  return w;
+                case 2:
+                  c.call(R, y);
+              } else if (s) return !1;
+              return l ? -1 : f || s ? s : R;
+            };
+          };
+        t.exports = {
+          forEach: f(0),
+          map: f(1),
+          filter: f(2),
+          some: f(3),
+          every: f(4),
+          find: f(5),
+          findIndex: f(6)
+        };
+      }, function (t, n, e) {
+        var r = e(65);
+        t.exports = function (t, n, e) {
+          if (r(t), void 0 === n) return t;
+          switch (e) {
+            case 0:
+              return function () {
+                return t.call(n);
+              };
+            case 1:
+              return function (e) {
+                return t.call(n, e);
+              };
+            case 2:
+              return function (e, r) {
+                return t.call(n, e, r);
+              };
+            case 3:
+              return function (e, r, o) {
+                return t.call(n, e, r, o);
+              };
+          }
+          return function () {
+            return t.apply(n, arguments);
+          };
+        };
+      }, function (t, n) {
+        t.exports = function (t) {
+          if ("function" != typeof t) throw TypeError(String(t) + " is not a function");
+          return t;
+        };
+      }, function (t, n, e) {
+        var r = e(6);
+        t.exports = function (t, n) {
+          var e = [][t];
+          return !!e && r(function () {
+            e.call(null, n || function () {
+              throw 1;
+            }, 1);
+          });
+        };
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(6),
+          i = e(15),
+          a = Object.defineProperty,
+          u = {},
+          c = function c(t) {
+            throw t;
+          };
+        t.exports = function (t, n) {
+          if (i(u, t)) return u[t];
+          n || (n = {});
+          var e = [][t],
+            f = !!i(n, "ACCESSORS") && n.ACCESSORS,
+            s = i(n, 0) ? n[0] : c,
+            l = i(n, 1) ? n[1] : void 0;
+          return u[t] = !!e && !o(function () {
+            if (f && !r) return !0;
+            var t = {
+              length: -1
+            };
+            f ? a(t, 1, {
+              enumerable: !0,
+              get: c
+            }) : t[1] = 1, e.call(t, s, l);
+          });
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(69),
+          i = e(57);
+        r({
+          target: "Array",
+          proto: !0
+        }, {
+          fill: o
+        }), i("fill");
+      }, function (t, n, e) {
+        var r = e(46),
+          o = e(41),
+          i = e(39);
+        t.exports = function (t) {
+          for (var n = r(this), e = i(n.length), a = arguments.length, u = o(a > 1 ? arguments[1] : void 0, e), c = a > 2 ? arguments[2] : void 0, f = void 0 === c ? e : o(c, e); f > u;) n[u++] = t;
+          return n;
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(63).filter,
+          i = e(52),
+          a = e(67),
+          u = i("filter"),
+          c = a("filter");
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !u || !c
+        }, {
+          filter: function filter(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(63).find,
+          i = e(57),
+          a = e(67),
+          u = !0,
+          c = a("find");
+        "find" in [] && Array(1).find(function () {
+          u = !1;
+        }), r({
+          target: "Array",
+          proto: !0,
+          forced: u || !c
+        }, {
+          find: function find(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        }), i("find");
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(63).findIndex,
+          i = e(57),
+          a = e(67),
+          u = !0,
+          c = a("findIndex");
+        "findIndex" in [] && Array(1).findIndex(function () {
+          u = !1;
+        }), r({
+          target: "Array",
+          proto: !0,
+          forced: u || !c
+        }, {
+          findIndex: function findIndex(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        }), i("findIndex");
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(74),
+          i = e(46),
+          a = e(39),
+          u = e(40),
+          c = e(48);
+        r({
+          target: "Array",
+          proto: !0
+        }, {
+          flat: function flat() {
+            var t = arguments.length ? arguments[0] : void 0,
+              n = i(this),
+              e = a(n.length),
+              r = c(n, 0);
+            return r.length = o(r, n, n, e, 0, void 0 === t ? 1 : u(t)), r;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(45),
+          o = e(39),
+          i = e(64),
+          _a = function a(t, n, e, u, c, f, s, l) {
+            for (var p, h = c, v = 0, g = !!s && i(s, l, 3); v < u;) {
+              if (v in e) {
+                if (p = g ? g(e[v], v, n) : e[v], f > 0 && r(p)) h = _a(t, n, p, o(p.length), h, f - 1) - 1;else {
+                  if (h >= 9007199254740991) throw TypeError("Exceed the acceptable array length");
+                  t[h] = p;
+                }
+                h++;
+              }
+              v++;
+            }
+            return h;
+          };
+        t.exports = _a;
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(74),
+          i = e(46),
+          a = e(39),
+          u = e(65),
+          c = e(48);
+        r({
+          target: "Array",
+          proto: !0
+        }, {
+          flatMap: function flatMap(t) {
+            var n,
+              e = i(this),
+              r = a(e.length);
+            return u(t), (n = c(e, 0)).length = o(n, e, e, r, 0, 1, t, arguments.length > 1 ? arguments[1] : void 0), n;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(77);
+        r({
+          target: "Array",
+          proto: !0,
+          forced: [].forEach != o
+        }, {
+          forEach: o
+        });
+      }, function (t, n, e) {
+        var r = e(63).forEach,
+          o = e(66),
+          i = e(67),
+          a = o("forEach"),
+          u = i("forEach");
+        t.exports = a && u ? [].forEach : function (t) {
+          return r(this, t, arguments.length > 1 ? arguments[1] : void 0);
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(79);
+        r({
+          target: "Array",
+          stat: !0,
+          forced: !e(86)(function (t) {
+            Array.from(t);
+          })
+        }, {
+          from: o
+        });
+      }, function (t, n, e) {
+        var r = e(64),
+          o = e(46),
+          i = e(80),
+          a = e(81),
+          u = e(39),
+          c = e(47),
+          f = e(83);
+        t.exports = function (t) {
+          var n,
+            e,
+            s,
+            l,
+            p,
+            h,
+            v = o(t),
+            g = "function" == typeof this ? this : Array,
+            d = arguments.length,
+            y = d > 1 ? arguments[1] : void 0,
+            x = void 0 !== y,
+            m = f(v),
+            b = 0;
+          if (x && (y = r(y, d > 2 ? arguments[2] : void 0, 2)), null == m || g == Array && a(m)) for (e = new g(n = u(v.length)); n > b; b++) h = x ? y(v[b], b) : v[b], c(e, b, h);else for (p = (l = m.call(v)).next, e = new g(); !(s = p.call(l)).done; b++) h = x ? i(l, y, [s.value, b], !0) : s.value, c(e, b, h);
+          return e.length = b, e;
+        };
+      }, function (t, n, e) {
+        var r = e(20);
+        t.exports = function (t, n, e, o) {
+          try {
+            return o ? n(r(e)[0], e[1]) : n(e);
+          } catch (n) {
+            var i = t.return;
+            throw void 0 !== i && r(i.call(t)), n;
+          }
+        };
+      }, function (t, n, e) {
+        var r = e(49),
+          o = e(82),
+          i = r("iterator"),
+          a = Array.prototype;
+        t.exports = function (t) {
+          return void 0 !== t && (o.Array === t || a[i] === t);
+        };
+      }, function (t, n) {
+        t.exports = {};
+      }, function (t, n, e) {
+        var r = e(84),
+          o = e(82),
+          i = e(49)("iterator");
+        t.exports = function (t) {
+          if (null != t) return t[i] || t["@@iterator"] || o[r(t)];
+        };
+      }, function (t, n, e) {
+        var r = e(85),
+          o = e(11),
+          i = e(49)("toStringTag"),
+          a = "Arguments" == o(function () {
+            return arguments;
+          }());
+        t.exports = r ? o : function (t) {
+          var n, e, r;
+          return void 0 === t ? "Undefined" : null === t ? "Null" : "string" == typeof (e = function (t, n) {
+            try {
+              return t[n];
+            } catch (t) {}
+          }(n = Object(t), i)) ? e : a ? o(n) : "Object" == (r = o(n)) && "function" == typeof n.callee ? "Arguments" : r;
+        };
+      }, function (t, n, e) {
+        var r = {};
+        r[e(49)("toStringTag")] = "z", t.exports = "[object z]" === String(r);
+      }, function (t, n, e) {
+        var r = e(49)("iterator"),
+          o = !1;
+        try {
+          var i = 0,
+            a = {
+              next: function next() {
+                return {
+                  done: !!i++
+                };
+              },
+              return: function _return() {
+                o = !0;
+              }
+            };
+          a[r] = function () {
+            return this;
+          }, Array.from(a, function () {
+            throw 2;
+          });
+        } catch (t) {}
+        t.exports = function (t, n) {
+          if (!n && !o) return !1;
+          var e = !1;
+          try {
+            var i = {};
+            i[r] = function () {
+              return {
+                next: function next() {
+                  return {
+                    done: e = !0
+                  };
+                }
+              };
+            }, t(i);
+          } catch (t) {}
+          return e;
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(38).includes,
+          i = e(57);
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !e(67)("indexOf", {
+            ACCESSORS: !0,
+            1: 0
+          })
+        }, {
+          includes: function includes(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        }), i("includes");
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(38).indexOf,
+          i = e(66),
+          a = e(67),
+          u = [].indexOf,
+          c = !!u && 1 / [1].indexOf(1, -0) < 0,
+          f = i("indexOf"),
+          s = a("indexOf", {
+            ACCESSORS: !0,
+            1: 0
+          });
+        r({
+          target: "Array",
+          proto: !0,
+          forced: c || !f || !s
+        }, {
+          indexOf: function indexOf(t) {
+            return c ? u.apply(this, arguments) || 0 : o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(9),
+          o = e(57),
+          i = e(82),
+          a = e(25),
+          u = e(90),
+          c = a.set,
+          f = a.getterFor("Array Iterator");
+        t.exports = u(Array, "Array", function (t, n) {
+          c(this, {
+            type: "Array Iterator",
+            target: r(t),
+            index: 0,
+            kind: n
+          });
+        }, function () {
+          var t = f(this),
+            n = t.target,
+            e = t.kind,
+            r = t.index++;
+          return !n || r >= n.length ? (t.target = void 0, {
+            value: void 0,
+            done: !0
+          }) : "keys" == e ? {
+            value: r,
+            done: !1
+          } : "values" == e ? {
+            value: n[r],
+            done: !1
+          } : {
+            value: [r, n[r]],
+            done: !1
+          };
+        }, "values"), i.Arguments = i.Array, o("keys"), o("values"), o("entries");
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(91),
+          i = e(93),
+          a = e(96),
+          u = e(95),
+          c = e(18),
+          f = e(21),
+          s = e(49),
+          l = e(29),
+          p = e(82),
+          h = e(92),
+          v = h.IteratorPrototype,
+          g = h.BUGGY_SAFARI_ITERATORS,
+          d = s("iterator"),
+          y = function y() {
+            return this;
+          };
+        t.exports = function (t, n, e, s, h, x, m) {
+          o(e, n, s);
+          var b,
+            S,
+            E,
+            w = function w(t) {
+              if (t === h && I) return I;
+              if (!g && t in A) return A[t];
+              switch (t) {
+                case "keys":
+                case "values":
+                case "entries":
+                  return function () {
+                    return new e(this, t);
+                  };
+              }
+              return function () {
+                return new e(this);
+              };
+            },
+            O = n + " Iterator",
+            R = !1,
+            A = t.prototype,
+            j = A[d] || A["@@iterator"] || h && A[h],
+            I = !g && j || w(h),
+            k = "Array" == n && A.entries || j;
+          if (k && (b = i(k.call(new t())), v !== Object.prototype && b.next && (l || i(b) === v || (a ? a(b, v) : "function" != typeof b[d] && c(b, d, y)), u(b, O, !0, !0), l && (p[O] = y))), "values" == h && j && "values" !== j.name && (R = !0, I = function I() {
+            return j.call(this);
+          }), l && !m || A[d] === I || c(A, d, I), p[n] = I, h) if (S = {
+            values: w("values"),
+            keys: x ? I : w("keys"),
+            entries: w("entries")
+          }, m) for (E in S) (g || R || !(E in A)) && f(A, E, S[E]);else r({
+            target: n,
+            proto: !0,
+            forced: g || R
+          }, S);
+          return S;
+        };
+      }, function (t, n, e) {
+        var r = e(92).IteratorPrototype,
+          o = e(58),
+          i = e(8),
+          a = e(95),
+          u = e(82),
+          c = function c() {
+            return this;
+          };
+        t.exports = function (t, n, e) {
+          var f = n + " Iterator";
+          return t.prototype = o(r, {
+            next: i(1, e)
+          }), a(t, f, !1, !0), u[f] = c, t;
+        };
+      }, function (t, n, e) {
+        var r,
+          o,
+          i,
+          a = e(93),
+          u = e(18),
+          c = e(15),
+          f = e(49),
+          s = e(29),
+          l = f("iterator"),
+          p = !1;
+        [].keys && ("next" in (i = [].keys()) ? (o = a(a(i))) !== Object.prototype && (r = o) : p = !0), null == r && (r = {}), s || c(r, l) || u(r, l, function () {
+          return this;
+        }), t.exports = {
+          IteratorPrototype: r,
+          BUGGY_SAFARI_ITERATORS: p
+        };
+      }, function (t, n, e) {
+        var r = e(15),
+          o = e(46),
+          i = e(27),
+          a = e(94),
+          u = i("IE_PROTO"),
+          c = Object.prototype;
+        t.exports = a ? Object.getPrototypeOf : function (t) {
+          return t = o(t), r(t, u) ? t[u] : "function" == typeof t.constructor && t instanceof t.constructor ? t.constructor.prototype : t instanceof Object ? c : null;
+        };
+      }, function (t, n, e) {
+        var r = e(6);
+        t.exports = !r(function () {
+          function t() {}
+          return t.prototype.constructor = null, Object.getPrototypeOf(new t()) !== t.prototype;
+        });
+      }, function (t, n, e) {
+        var r = e(19).f,
+          o = e(15),
+          i = e(49)("toStringTag");
+        t.exports = function (t, n, e) {
+          t && !o(t = e ? t : t.prototype, i) && r(t, i, {
+            configurable: !0,
+            value: n
+          });
+        };
+      }, function (t, n, e) {
+        var r = e(20),
+          o = e(97);
+        t.exports = Object.setPrototypeOf || ("__proto__" in {} ? function () {
+          var t,
+            n = !1,
+            e = {};
+          try {
+            (t = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set).call(e, []), n = e instanceof Array;
+          } catch (t) {}
+          return function (e, i) {
+            return r(e), o(i), n ? t.call(e, i) : e.__proto__ = i, e;
+          };
+        }() : void 0);
+      }, function (t, n, e) {
+        var r = e(14);
+        t.exports = function (t) {
+          if (!r(t) && null !== t) throw TypeError("Can't set " + String(t) + " as a prototype");
+          return t;
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(10),
+          i = e(9),
+          a = e(66),
+          u = [].join,
+          c = o != Object,
+          f = a("join", ",");
+        r({
+          target: "Array",
+          proto: !0,
+          forced: c || !f
+        }, {
+          join: function join(t) {
+            return u.call(i(this), void 0 === t ? "," : t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(100);
+        r({
+          target: "Array",
+          proto: !0,
+          forced: o !== [].lastIndexOf
+        }, {
+          lastIndexOf: o
+        });
+      }, function (t, n, e) {
+        var r = e(9),
+          o = e(40),
+          i = e(39),
+          a = e(66),
+          u = e(67),
+          c = Math.min,
+          f = [].lastIndexOf,
+          s = !!f && 1 / [1].lastIndexOf(1, -0) < 0,
+          l = a("lastIndexOf"),
+          p = u("indexOf", {
+            ACCESSORS: !0,
+            1: 0
+          }),
+          h = s || !l || !p;
+        t.exports = h ? function (t) {
+          if (s) return f.apply(this, arguments) || 0;
+          var n = r(this),
+            e = i(n.length),
+            a = e - 1;
+          for (arguments.length > 1 && (a = c(a, o(arguments[1]))), a < 0 && (a = e + a); a >= 0; a--) if (a in n && n[a] === t) return a || 0;
+          return -1;
+        } : f;
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(63).map,
+          i = e(52),
+          a = e(67),
+          u = i("map"),
+          c = a("map");
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !u || !c
+        }, {
+          map: function map(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(6),
+          i = e(47);
+        r({
+          target: "Array",
+          stat: !0,
+          forced: o(function () {
+            function t() {}
+            return !(Array.of.call(t) instanceof t);
+          })
+        }, {
+          of: function of() {
+            for (var t = 0, n = arguments.length, e = new ("function" == typeof this ? this : Array)(n); n > t;) i(e, t, arguments[t++]);
+            return e.length = n, e;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(104).left,
+          i = e(66),
+          a = e(67),
+          u = i("reduce"),
+          c = a("reduce", {
+            1: 0
+          });
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !u || !c
+        }, {
+          reduce: function reduce(t) {
+            return o(this, t, arguments.length, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(65),
+          o = e(46),
+          i = e(10),
+          a = e(39),
+          u = function u(t) {
+            return function (n, e, u, c) {
+              r(e);
+              var f = o(n),
+                s = i(f),
+                l = a(f.length),
+                p = t ? l - 1 : 0,
+                h = t ? -1 : 1;
+              if (u < 2) for (;;) {
+                if (p in s) {
+                  c = s[p], p += h;
+                  break;
+                }
+                if (p += h, t ? p < 0 : l <= p) throw TypeError("Reduce of empty array with no initial value");
+              }
+              for (; t ? p >= 0 : l > p; p += h) p in s && (c = e(c, s[p], p, f));
+              return c;
+            };
+          };
+        t.exports = {
+          left: u(!1),
+          right: u(!0)
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(104).right,
+          i = e(66),
+          a = e(67),
+          u = i("reduceRight"),
+          c = a("reduce", {
+            1: 0
+          });
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !u || !c
+        }, {
+          reduceRight: function reduceRight(t) {
+            return o(this, t, arguments.length, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(14),
+          i = e(45),
+          a = e(41),
+          u = e(39),
+          c = e(9),
+          f = e(47),
+          s = e(49),
+          l = e(52),
+          p = e(67),
+          h = l("slice"),
+          v = p("slice", {
+            ACCESSORS: !0,
+            0: 0,
+            1: 2
+          }),
+          g = s("species"),
+          d = [].slice,
+          y = Math.max;
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !h || !v
+        }, {
+          slice: function slice(t, n) {
+            var e,
+              r,
+              s,
+              l = c(this),
+              p = u(l.length),
+              h = a(t, p),
+              v = a(void 0 === n ? p : n, p);
+            if (i(l) && ("function" != typeof (e = l.constructor) || e !== Array && !i(e.prototype) ? o(e) && null === (e = e[g]) && (e = void 0) : e = void 0, e === Array || void 0 === e)) return d.call(l, h, v);
+            for (r = new (void 0 === e ? Array : e)(y(v - h, 0)), s = 0; h < v; h++, s++) h in l && f(r, s, l[h]);
+            return r.length = s, r;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(63).some,
+          i = e(66),
+          a = e(67),
+          u = i("some"),
+          c = a("some");
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !u || !c
+        }, {
+          some: function some(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        e(109)("Array");
+      }, function (t, n, e) {
+        var r = e(34),
+          o = e(19),
+          i = e(49),
+          a = e(5),
+          u = i("species");
+        t.exports = function (t) {
+          var n = r(t),
+            e = o.f;
+          a && n && !n[u] && e(n, u, {
+            configurable: !0,
+            get: function get() {
+              return this;
+            }
+          });
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(41),
+          i = e(40),
+          a = e(39),
+          u = e(46),
+          c = e(48),
+          f = e(47),
+          s = e(52),
+          l = e(67),
+          p = s("splice"),
+          h = l("splice", {
+            ACCESSORS: !0,
+            0: 0,
+            1: 2
+          }),
+          v = Math.max,
+          g = Math.min;
+        r({
+          target: "Array",
+          proto: !0,
+          forced: !p || !h
+        }, {
+          splice: function splice(t, n) {
+            var e,
+              r,
+              s,
+              l,
+              p,
+              h,
+              d = u(this),
+              y = a(d.length),
+              x = o(t, y),
+              m = arguments.length;
+            if (0 === m ? e = r = 0 : 1 === m ? (e = 0, r = y - x) : (e = m - 2, r = g(v(i(n), 0), y - x)), y + e - r > 9007199254740991) throw TypeError("Maximum allowed length exceeded");
+            for (s = c(d, r), l = 0; l < r; l++) (p = x + l) in d && f(s, l, d[p]);
+            if (s.length = r, e < r) {
+              for (l = x; l < y - r; l++) h = l + e, (p = l + r) in d ? d[h] = d[p] : delete d[h];
+              for (l = y; l > y - r + e; l--) delete d[l - 1];
+            } else if (e > r) for (l = y - r; l > x; l--) h = l + e - 1, (p = l + r - 1) in d ? d[h] = d[p] : delete d[h];
+            for (l = 0; l < e; l++) d[l + x] = arguments[l + 2];
+            return d.length = y - r + e, s;
+          }
+        });
+      }, function (t, n, e) {
+        e(57)("flat");
+      }, function (t, n, e) {
+        e(57)("flatMap");
+      }, function (t, n, e) {
+        var r = e(14),
+          o = e(19),
+          i = e(93),
+          a = e(49)("hasInstance"),
+          u = Function.prototype;
+        a in u || o.f(u, a, {
+          value: function value(t) {
+            if ("function" != typeof this || !r(t)) return !1;
+            if (!r(this.prototype)) return t instanceof this;
+            for (; t = i(t);) if (this.prototype === t) return !0;
+            return !1;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(19).f,
+          i = Function.prototype,
+          a = i.toString,
+          u = /^\s*function ([^ (]*)/;
+        r && !("name" in i) && o(i, "name", {
+          configurable: !0,
+          get: function get() {
+            try {
+              return a.call(this).match(u)[1];
+            } catch (t) {
+              return "";
+            }
+          }
+        });
+      }, function (t, n, e) {
+        e(2)({
+          global: !0
+        }, {
+          globalThis: e(3)
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(34),
+          i = e(6),
+          a = o("JSON", "stringify"),
+          u = /[\uD800-\uDFFF]/g,
+          c = /^[\uD800-\uDBFF]$/,
+          f = /^[\uDC00-\uDFFF]$/,
+          s = function s(t, n, e) {
+            var r = e.charAt(n - 1),
+              o = e.charAt(n + 1);
+            return c.test(t) && !f.test(o) || f.test(t) && !c.test(r) ? "\\u" + t.charCodeAt(0).toString(16) : t;
+          },
+          l = i(function () {
+            return "\"\\udf06\\ud834\"" !== a("\uDF06\uD834") || "\"\\udead\"" !== a("\uDEAD");
+          });
+        a && r({
+          target: "JSON",
+          stat: !0,
+          forced: l
+        }, {
+          stringify: function stringify(t, n, e) {
+            var r = a.apply(null, arguments);
+            return "string" == typeof r ? r.replace(u, s) : r;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(3);
+        e(95)(r.JSON, "JSON", !0);
+      }, function (t, n, e) {
+        var r = e(119),
+          o = e(125);
+        t.exports = r("Map", function (t) {
+          return function () {
+            return t(this, arguments.length ? arguments[0] : void 0);
+          };
+        }, o);
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(3),
+          i = e(44),
+          a = e(21),
+          u = e(120),
+          c = e(122),
+          f = e(123),
+          s = e(14),
+          l = e(6),
+          p = e(86),
+          h = e(95),
+          v = e(124);
+        t.exports = function (t, n, e) {
+          var g = -1 !== t.indexOf("Map"),
+            d = -1 !== t.indexOf("Weak"),
+            y = g ? "set" : "add",
+            x = o[t],
+            m = x && x.prototype,
+            b = x,
+            S = {},
+            E = function E(t) {
+              var n = m[t];
+              a(m, t, "add" == t ? function (t) {
+                return n.call(this, 0 === t ? 0 : t), this;
+              } : "delete" == t ? function (t) {
+                return !(d && !s(t)) && n.call(this, 0 === t ? 0 : t);
+              } : "get" == t ? function (t) {
+                return d && !s(t) ? void 0 : n.call(this, 0 === t ? 0 : t);
+              } : "has" == t ? function (t) {
+                return !(d && !s(t)) && n.call(this, 0 === t ? 0 : t);
+              } : function (t, e) {
+                return n.call(this, 0 === t ? 0 : t, e), this;
+              });
+            };
+          if (i(t, "function" != typeof x || !(d || m.forEach && !l(function () {
+            new x().entries().next();
+          })))) b = e.getConstructor(n, t, g, y), u.REQUIRED = !0;else if (i(t, !0)) {
+            var w = new b(),
+              O = w[y](d ? {} : -0, 1) != w,
+              R = l(function () {
+                w.has(1);
+              }),
+              A = p(function (t) {
+                new x(t);
+              }),
+              j = !d && l(function () {
+                for (var t = new x(), n = 5; n--;) t[y](n, n);
+                return !t.has(-0);
+              });
+            A || ((b = n(function (n, e) {
+              f(n, b, t);
+              var r = v(new x(), n, b);
+              return null != e && c(e, r[y], r, g), r;
+            })).prototype = m, m.constructor = b), (R || j) && (E("delete"), E("has"), g && E("get")), (j || O) && E(y), d && m.clear && delete m.clear;
+          }
+          return S[t] = b, r({
+            global: !0,
+            forced: b != x
+          }, S), h(b, t), d || e.setStrong(b, t, g), b;
+        };
+      }, function (t, n, e) {
+        var r = e(31),
+          o = e(14),
+          i = e(15),
+          a = e(19).f,
+          u = e(30),
+          c = e(121),
+          f = u("meta"),
+          s = 0,
+          l = Object.isExtensible || function () {
+            return !0;
+          },
+          p = function p(t) {
+            a(t, f, {
+              value: {
+                objectID: "O" + ++s,
+                weakData: {}
+              }
+            });
+          },
+          h = t.exports = {
+            REQUIRED: !1,
+            fastKey: function fastKey(t, n) {
+              if (!o(t)) return "symbol" == typeof t ? t : ("string" == typeof t ? "S" : "P") + t;
+              if (!i(t, f)) {
+                if (!l(t)) return "F";
+                if (!n) return "E";
+                p(t);
+              }
+              return t[f].objectID;
+            },
+            getWeakData: function getWeakData(t, n) {
+              if (!i(t, f)) {
+                if (!l(t)) return !0;
+                if (!n) return !1;
+                p(t);
+              }
+              return t[f].weakData;
+            },
+            onFreeze: function onFreeze(t) {
+              return c && h.REQUIRED && l(t) && !i(t, f) && p(t), t;
+            }
+          };
+        r[f] = !0;
+      }, function (t, n, e) {
+        var r = e(6);
+        t.exports = !r(function () {
+          return Object.isExtensible(Object.preventExtensions({}));
+        });
+      }, function (t, n, e) {
+        var r = e(20),
+          o = e(81),
+          i = e(39),
+          a = e(64),
+          u = e(83),
+          c = e(80),
+          f = function f(t, n) {
+            this.stopped = t, this.result = n;
+          };
+        (t.exports = function (t, n, e, s, l) {
+          var p,
+            h,
+            v,
+            g,
+            d,
+            y,
+            x,
+            m = a(n, e, s ? 2 : 1);
+          if (l) p = t;else {
+            if ("function" != typeof (h = u(t))) throw TypeError("Target is not iterable");
+            if (o(h)) {
+              for (v = 0, g = i(t.length); g > v; v++) if ((d = s ? m(r(x = t[v])[0], x[1]) : m(t[v])) && d instanceof f) return d;
+              return new f(!1);
+            }
+            p = h.call(t);
+          }
+          for (y = p.next; !(x = y.call(p)).done;) if ("object" == typeof (d = c(p, m, x.value, s)) && d && d instanceof f) return d;
+          return new f(!1);
+        }).stop = function (t) {
+          return new f(!0, t);
+        };
+      }, function (t, n) {
+        t.exports = function (t, n, e) {
+          if (!(t instanceof n)) throw TypeError("Incorrect " + (e ? e + " " : "") + "invocation");
+          return t;
+        };
+      }, function (t, n, e) {
+        var r = e(14),
+          o = e(96);
+        t.exports = function (t, n, e) {
+          var i, a;
+          return o && "function" == typeof (i = n.constructor) && i !== e && r(a = i.prototype) && a !== e.prototype && o(t, a), t;
+        };
+      }, function (t, n, e) {
+        var r = e(19).f,
+          o = e(58),
+          i = e(126),
+          a = e(64),
+          u = e(123),
+          c = e(122),
+          f = e(90),
+          s = e(109),
+          l = e(5),
+          p = e(120).fastKey,
+          h = e(25),
+          v = h.set,
+          g = h.getterFor;
+        t.exports = {
+          getConstructor: function getConstructor(t, n, e, f) {
+            var s = t(function (t, r) {
+                u(t, s, n), v(t, {
+                  type: n,
+                  index: o(null),
+                  first: void 0,
+                  last: void 0,
+                  size: 0
+                }), l || (t.size = 0), null != r && c(r, t[f], t, e);
+              }),
+              h = g(n),
+              d = function d(t, n, e) {
+                var r,
+                  o,
+                  i = h(t),
+                  a = y(t, n);
+                return a ? a.value = e : (i.last = a = {
+                  index: o = p(n, !0),
+                  key: n,
+                  value: e,
+                  previous: r = i.last,
+                  next: void 0,
+                  removed: !1
+                }, i.first || (i.first = a), r && (r.next = a), l ? i.size++ : t.size++, "F" !== o && (i.index[o] = a)), t;
+              },
+              y = function y(t, n) {
+                var e,
+                  r = h(t),
+                  o = p(n);
+                if ("F" !== o) return r.index[o];
+                for (e = r.first; e; e = e.next) if (e.key == n) return e;
+              };
+            return i(s.prototype, {
+              clear: function clear() {
+                for (var t = h(this), n = t.index, e = t.first; e;) e.removed = !0, e.previous && (e.previous = e.previous.next = void 0), delete n[e.index], e = e.next;
+                t.first = t.last = void 0, l ? t.size = 0 : this.size = 0;
+              },
+              delete: function _delete(t) {
+                var n = h(this),
+                  e = y(this, t);
+                if (e) {
+                  var r = e.next,
+                    o = e.previous;
+                  delete n.index[e.index], e.removed = !0, o && (o.next = r), r && (r.previous = o), n.first == e && (n.first = r), n.last == e && (n.last = o), l ? n.size-- : this.size--;
+                }
+                return !!e;
+              },
+              forEach: function forEach(t) {
+                for (var n, e = h(this), r = a(t, arguments.length > 1 ? arguments[1] : void 0, 3); n = n ? n.next : e.first;) for (r(n.value, n.key, this); n && n.removed;) n = n.previous;
+              },
+              has: function has(t) {
+                return !!y(this, t);
+              }
+            }), i(s.prototype, e ? {
+              get: function get(t) {
+                var n = y(this, t);
+                return n && n.value;
+              },
+              set: function set(t, n) {
+                return d(this, 0 === t ? 0 : t, n);
+              }
+            } : {
+              add: function add(t) {
+                return d(this, t = 0 === t ? 0 : t, t);
+              }
+            }), l && r(s.prototype, "size", {
+              get: function get() {
+                return h(this).size;
+              }
+            }), s;
+          },
+          setStrong: function setStrong(t, n, e) {
+            var r = n + " Iterator",
+              o = g(n),
+              i = g(r);
+            f(t, n, function (t, n) {
+              v(this, {
+                type: r,
+                target: t,
+                state: o(t),
+                kind: n,
+                last: void 0
+              });
+            }, function () {
+              for (var t = i(this), n = t.kind, e = t.last; e && e.removed;) e = e.previous;
+              return t.target && (t.last = e = e ? e.next : t.state.first) ? "keys" == n ? {
+                value: e.key,
+                done: !1
+              } : "values" == n ? {
+                value: e.value,
+                done: !1
+              } : {
+                value: [e.key, e.value],
+                done: !1
+              } : (t.target = void 0, {
+                value: void 0,
+                done: !0
+              });
+            }, e ? "entries" : "values", !e, !0), s(n);
+          }
+        };
+      }, function (t, n, e) {
+        var r = e(21);
+        t.exports = function (t, n, e) {
+          for (var o in n) r(t, o, n[o], e);
+          return t;
+        };
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(3),
+          i = e(44),
+          a = e(21),
+          u = e(15),
+          c = e(11),
+          f = e(124),
+          s = e(13),
+          l = e(6),
+          p = e(58),
+          h = e(36).f,
+          v = e(4).f,
+          g = e(19).f,
+          d = e(128).trim,
+          y = o.Number,
+          x = y.prototype,
+          m = "Number" == c(p(x)),
+          b = function b(t) {
+            var n,
+              e,
+              r,
+              o,
+              i,
+              a,
+              u,
+              c,
+              f = s(t, !1);
+            if ("string" == typeof f && f.length > 2) if (43 === (n = (f = d(f)).charCodeAt(0)) || 45 === n) {
+              if (88 === (e = f.charCodeAt(2)) || 120 === e) return NaN;
+            } else if (48 === n) {
+              switch (f.charCodeAt(1)) {
+                case 66:
+                case 98:
+                  r = 2, o = 49;
+                  break;
+                case 79:
+                case 111:
+                  r = 8, o = 55;
+                  break;
+                default:
+                  return +f;
+              }
+              for (a = (i = f.slice(2)).length, u = 0; u < a; u++) if ((c = i.charCodeAt(u)) < 48 || c > o) return NaN;
+              return parseInt(i, r);
+            }
+            return +f;
+          };
+        if (i("Number", !y(" 0o1") || !y("0b1") || y("+0x1"))) {
+          for (var S, _E = function E(t) {
+              var n = arguments.length < 1 ? 0 : t,
+                e = this;
+              return e instanceof _E && (m ? l(function () {
+                x.valueOf.call(e);
+              }) : "Number" != c(e)) ? f(new y(b(n)), e, _E) : b(n);
+            }, w = r ? h(y) : "MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger".split(","), O = 0; w.length > O; O++) u(y, S = w[O]) && !u(_E, S) && g(_E, S, v(y, S));
+          _E.prototype = x, x.constructor = _E, a(o, "Number", _E);
+        }
+      }, function (t, n, e) {
+        var r = e(12),
+          o = "[" + e(129) + "]",
+          i = RegExp("^" + o + o + "*"),
+          a = RegExp(o + o + "*$"),
+          u = function u(t) {
+            return function (n) {
+              var e = String(r(n));
+              return 1 & t && (e = e.replace(i, "")), 2 & t && (e = e.replace(a, "")), e;
+            };
+          };
+        t.exports = {
+          start: u(1),
+          end: u(2),
+          trim: u(3)
+        };
+      }, function (t, n) {
+        t.exports = "\t\n\x0B\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF";
+      }, function (t, n, e) {
+        e(2)({
+          target: "Number",
+          stat: !0
+        }, {
+          EPSILON: Math.pow(2, -52)
+        });
+      }, function (t, n, e) {
+        e(2)({
+          target: "Number",
+          stat: !0
+        }, {
+          isFinite: e(132)
+        });
+      }, function (t, n, e) {
+        var r = e(3).isFinite;
+        t.exports = Number.isFinite || function (t) {
+          return "number" == typeof t && r(t);
+        };
+      }, function (t, n, e) {
+        e(2)({
+          target: "Number",
+          stat: !0
+        }, {
+          isInteger: e(134)
+        });
+      }, function (t, n, e) {
+        var r = e(14),
+          o = Math.floor;
+        t.exports = function (t) {
+          return !r(t) && isFinite(t) && o(t) === t;
+        };
+      }, function (t, n, e) {
+        e(2)({
+          target: "Number",
+          stat: !0
+        }, {
+          isNaN: function isNaN(t) {
+            return t != t;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(134),
+          i = Math.abs;
+        r({
+          target: "Number",
+          stat: !0
+        }, {
+          isSafeInteger: function isSafeInteger(t) {
+            return o(t) && i(t) <= 9007199254740991;
+          }
+        });
+      }, function (t, n, e) {
+        e(2)({
+          target: "Number",
+          stat: !0
+        }, {
+          MAX_SAFE_INTEGER: 9007199254740991
+        });
+      }, function (t, n, e) {
+        e(2)({
+          target: "Number",
+          stat: !0
+        }, {
+          MIN_SAFE_INTEGER: -9007199254740991
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(140);
+        r({
+          target: "Number",
+          stat: !0,
+          forced: Number.parseFloat != o
+        }, {
+          parseFloat: o
+        });
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(128).trim,
+          i = e(129),
+          a = r.parseFloat,
+          u = 1 / a(i + "-0") != -1 / 0;
+        t.exports = u ? function (t) {
+          var n = o(String(t)),
+            e = a(n);
+          return 0 === e && "-" == n.charAt(0) ? -0 : e;
+        } : a;
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(142);
+        r({
+          target: "Number",
+          stat: !0,
+          forced: Number.parseInt != o
+        }, {
+          parseInt: o
+        });
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(128).trim,
+          i = e(129),
+          a = r.parseInt,
+          u = /^[+-]?0[Xx]/,
+          c = 8 !== a(i + "08") || 22 !== a(i + "0x16");
+        t.exports = c ? function (t, n) {
+          var e = o(String(t));
+          return a(e, n >>> 0 || (u.test(e) ? 16 : 10));
+        } : a;
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(40),
+          i = e(144),
+          a = e(145),
+          u = e(6),
+          c = 1..toFixed,
+          f = Math.floor,
+          _s = function s(t, n, e) {
+            return 0 === n ? e : n % 2 == 1 ? _s(t, n - 1, e * t) : _s(t * t, n / 2, e);
+          };
+        r({
+          target: "Number",
+          proto: !0,
+          forced: c && ("0.000" !== 8e-5.toFixed(3) || "1" !== .9.toFixed(0) || "1.25" !== 1.255.toFixed(2) || "1000000000000000128" !== 0xde0b6b3a7640080.toFixed(0)) || !u(function () {
+            c.call({});
+          })
+        }, {
+          toFixed: function toFixed(t) {
+            var n,
+              e,
+              r,
+              u,
+              c = i(this),
+              l = o(t),
+              p = [0, 0, 0, 0, 0, 0],
+              h = "",
+              v = "0",
+              g = function g(t, n) {
+                for (var e = -1, r = n; ++e < 6;) r += t * p[e], p[e] = r % 1e7, r = f(r / 1e7);
+              },
+              d = function d(t) {
+                for (var n = 6, e = 0; --n >= 0;) e += p[n], p[n] = f(e / t), e = e % t * 1e7;
+              },
+              y = function y() {
+                for (var t = 6, n = ""; --t >= 0;) if ("" !== n || 0 === t || 0 !== p[t]) {
+                  var e = String(p[t]);
+                  n = "" === n ? e : n + a.call("0", 7 - e.length) + e;
+                }
+                return n;
+              };
+            if (l < 0 || l > 20) throw RangeError("Incorrect fraction digits");
+            if (c != c) return "NaN";
+            if (c <= -1e21 || c >= 1e21) return String(c);
+            if (c < 0 && (h = "-", c = -c), c > 1e-21) if (e = (n = function (t) {
+              for (var n = 0, e = t; e >= 4096;) n += 12, e /= 4096;
+              for (; e >= 2;) n += 1, e /= 2;
+              return n;
+            }(c * _s(2, 69, 1)) - 69) < 0 ? c * _s(2, -n, 1) : c / _s(2, n, 1), e *= 4503599627370496, (n = 52 - n) > 0) {
+              for (g(0, e), r = l; r >= 7;) g(1e7, 0), r -= 7;
+              for (g(_s(10, r, 1), 0), r = n - 1; r >= 23;) d(1 << 23), r -= 23;
+              d(1 << r), g(1, 1), d(2), v = y();
+            } else g(0, e), g(1 << -n, 0), v = y() + a.call("0", l);
+            return v = l > 0 ? h + ((u = v.length) <= l ? "0." + a.call("0", l - u) + v : v.slice(0, u - l) + "." + v.slice(u - l)) : h + v;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(11);
+        t.exports = function (t) {
+          if ("number" != typeof t && "Number" != r(t)) throw TypeError("Incorrect invocation");
+          return +t;
+        };
+      }, function (t, n, e) {
+        var r = e(40),
+          o = e(12);
+        t.exports = "".repeat || function (t) {
+          var n = String(o(this)),
+            e = "",
+            i = r(t);
+          if (i < 0 || i == 1 / 0) throw RangeError("Wrong number of repetitions");
+          for (; i > 0; (i >>>= 1) && (n += n)) 1 & i && (e += n);
+          return e;
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(147);
+        r({
+          target: "Object",
+          stat: !0,
+          forced: Object.assign !== o
+        }, {
+          assign: o
+        });
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(6),
+          i = e(60),
+          a = e(43),
+          u = e(7),
+          c = e(46),
+          f = e(10),
+          s = Object.assign,
+          l = Object.defineProperty;
+        t.exports = !s || o(function () {
+          if (r && 1 !== s({
+            b: 1
+          }, s(l({}, "a", {
+            enumerable: !0,
+            get: function get() {
+              l(this, "b", {
+                value: 3,
+                enumerable: !1
+              });
+            }
+          }), {
+            b: 2
+          })).b) return !0;
+          var t = {},
+            n = {},
+            e = Symbol();
+          return t[e] = 7, "abcdefghijklmnopqrst".split("").forEach(function (t) {
+            n[t] = t;
+          }), 7 != s({}, t)[e] || "abcdefghijklmnopqrst" != i(s({}, n)).join("");
+        }) ? function (t, n) {
+          for (var e = c(t), o = arguments.length, s = 1, l = a.f, p = u.f; o > s;) for (var h, v = f(arguments[s++]), g = l ? i(v).concat(l(v)) : i(v), d = g.length, y = 0; d > y;) h = g[y++], r && !p.call(v, h) || (e[h] = v[h]);
+          return e;
+        } : s;
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(5),
+          i = e(149),
+          a = e(46),
+          u = e(65),
+          c = e(19);
+        o && r({
+          target: "Object",
+          proto: !0,
+          forced: i
+        }, {
+          __defineGetter__: function __defineGetter__(t, n) {
+            c.f(a(this), t, {
+              get: u(n),
+              enumerable: !0,
+              configurable: !0
+            });
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(29),
+          o = e(3),
+          i = e(6);
+        t.exports = r || !i(function () {
+          var t = Math.random();
+          __defineSetter__.call(null, t, function () {}), delete o[t];
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(5),
+          i = e(149),
+          a = e(46),
+          u = e(65),
+          c = e(19);
+        o && r({
+          target: "Object",
+          proto: !0,
+          forced: i
+        }, {
+          __defineSetter__: function __defineSetter__(t, n) {
+            c.f(a(this), t, {
+              set: u(n),
+              enumerable: !0,
+              configurable: !0
+            });
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(152).entries;
+        r({
+          target: "Object",
+          stat: !0
+        }, {
+          entries: function entries(t) {
+            return o(t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(60),
+          i = e(9),
+          a = e(7).f,
+          u = function u(t) {
+            return function (n) {
+              for (var e, u = i(n), c = o(u), f = c.length, s = 0, l = []; f > s;) e = c[s++], r && !a.call(u, e) || l.push(t ? [e, u[e]] : u[e]);
+              return l;
+            };
+          };
+        t.exports = {
+          entries: u(!0),
+          values: u(!1)
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(121),
+          i = e(6),
+          a = e(14),
+          u = e(120).onFreeze,
+          c = Object.freeze;
+        r({
+          target: "Object",
+          stat: !0,
+          forced: i(function () {
+            c(1);
+          }),
+          sham: !o
+        }, {
+          freeze: function freeze(t) {
+            return c && a(t) ? c(u(t)) : t;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(122),
+          i = e(47);
+        r({
+          target: "Object",
+          stat: !0
+        }, {
+          fromEntries: function fromEntries(t) {
+            var n = {};
+            return o(t, function (t, e) {
+              i(n, t, e);
+            }, void 0, !0), n;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(6),
+          i = e(9),
+          a = e(4).f,
+          u = e(5),
+          c = o(function () {
+            a(1);
+          });
+        r({
+          target: "Object",
+          stat: !0,
+          forced: !u || c,
+          sham: !u
+        }, {
+          getOwnPropertyDescriptor: function getOwnPropertyDescriptor(t, n) {
+            return a(i(t), n);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(5),
+          i = e(33),
+          a = e(9),
+          u = e(4),
+          c = e(47);
+        r({
+          target: "Object",
+          stat: !0,
+          sham: !o
+        }, {
+          getOwnPropertyDescriptors: function getOwnPropertyDescriptors(t) {
+            for (var n, e, r = a(t), o = u.f, f = i(r), s = {}, l = 0; f.length > l;) void 0 !== (e = o(r, n = f[l++])) && c(s, n, e);
+            return s;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(6),
+          i = e(158).f;
+        r({
+          target: "Object",
+          stat: !0,
+          forced: o(function () {
+            return !Object.getOwnPropertyNames(1);
+          })
+        }, {
+          getOwnPropertyNames: i
+        });
+      }, function (t, n, e) {
+        var r = e(9),
+          o = e(36).f,
+          i = {}.toString,
+          a = "object" == typeof window && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
+        t.exports.f = function (t) {
+          return a && "[object Window]" == i.call(t) ? function (t) {
+            try {
+              return o(t);
+            } catch (t) {
+              return a.slice();
+            }
+          }(t) : o(r(t));
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(6),
+          i = e(46),
+          a = e(93),
+          u = e(94);
+        r({
+          target: "Object",
+          stat: !0,
+          forced: o(function () {
+            a(1);
+          }),
+          sham: !u
+        }, {
+          getPrototypeOf: function getPrototypeOf(t) {
+            return a(i(t));
+          }
+        });
+      }, function (t, n, e) {
+        e(2)({
+          target: "Object",
+          stat: !0
+        }, {
+          is: e(161)
+        });
+      }, function (t, n) {
+        t.exports = Object.is || function (t, n) {
+          return t === n ? 0 !== t || 1 / t == 1 / n : t != t && n != n;
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(6),
+          i = e(14),
+          a = Object.isExtensible;
+        r({
+          target: "Object",
+          stat: !0,
+          forced: o(function () {
+            a(1);
+          })
+        }, {
+          isExtensible: function isExtensible(t) {
+            return !!i(t) && (!a || a(t));
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(6),
+          i = e(14),
+          a = Object.isFrozen;
+        r({
+          target: "Object",
+          stat: !0,
+          forced: o(function () {
+            a(1);
+          })
+        }, {
+          isFrozen: function isFrozen(t) {
+            return !i(t) || !!a && a(t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(6),
+          i = e(14),
+          a = Object.isSealed;
+        r({
+          target: "Object",
+          stat: !0,
+          forced: o(function () {
+            a(1);
+          })
+        }, {
+          isSealed: function isSealed(t) {
+            return !i(t) || !!a && a(t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(46),
+          i = e(60);
+        r({
+          target: "Object",
+          stat: !0,
+          forced: e(6)(function () {
+            i(1);
+          })
+        }, {
+          keys: function keys(t) {
+            return i(o(t));
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(5),
+          i = e(149),
+          a = e(46),
+          u = e(13),
+          c = e(93),
+          f = e(4).f;
+        o && r({
+          target: "Object",
+          proto: !0,
+          forced: i
+        }, {
+          __lookupGetter__: function __lookupGetter__(t) {
+            var n,
+              e = a(this),
+              r = u(t, !0);
+            do {
+              if (n = f(e, r)) return n.get;
+            } while (e = c(e));
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(5),
+          i = e(149),
+          a = e(46),
+          u = e(13),
+          c = e(93),
+          f = e(4).f;
+        o && r({
+          target: "Object",
+          proto: !0,
+          forced: i
+        }, {
+          __lookupSetter__: function __lookupSetter__(t) {
+            var n,
+              e = a(this),
+              r = u(t, !0);
+            do {
+              if (n = f(e, r)) return n.set;
+            } while (e = c(e));
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(14),
+          i = e(120).onFreeze,
+          a = e(121),
+          u = e(6),
+          c = Object.preventExtensions;
+        r({
+          target: "Object",
+          stat: !0,
+          forced: u(function () {
+            c(1);
+          }),
+          sham: !a
+        }, {
+          preventExtensions: function preventExtensions(t) {
+            return c && o(t) ? c(i(t)) : t;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(14),
+          i = e(120).onFreeze,
+          a = e(121),
+          u = e(6),
+          c = Object.seal;
+        r({
+          target: "Object",
+          stat: !0,
+          forced: u(function () {
+            c(1);
+          }),
+          sham: !a
+        }, {
+          seal: function seal(t) {
+            return c && o(t) ? c(i(t)) : t;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(85),
+          o = e(21),
+          i = e(171);
+        r || o(Object.prototype, "toString", i, {
+          unsafe: !0
+        });
+      }, function (t, n, e) {
+        var r = e(85),
+          o = e(84);
+        t.exports = r ? {}.toString : function () {
+          return "[object " + o(this) + "]";
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(152).values;
+        r({
+          target: "Object",
+          stat: !0
+        }, {
+          values: function values(t) {
+            return o(t);
+          }
+        });
+      }, function (t, n, e) {
+        var r,
+          o,
+          i,
+          a,
+          u = e(2),
+          c = e(29),
+          f = e(3),
+          s = e(34),
+          l = e(174),
+          p = e(21),
+          h = e(126),
+          v = e(95),
+          g = e(109),
+          d = e(14),
+          y = e(65),
+          x = e(123),
+          m = e(11),
+          b = e(23),
+          S = e(122),
+          E = e(86),
+          w = e(175),
+          O = e(176).set,
+          R = e(178),
+          A = e(179),
+          j = e(181),
+          I = e(180),
+          k = e(182),
+          P = e(25),
+          L = e(44),
+          T = e(49),
+          _ = e(53),
+          U = T("species"),
+          N = "Promise",
+          C = P.get,
+          F = P.set,
+          M = P.getterFor(N),
+          _z = l,
+          D = f.TypeError,
+          q = f.document,
+          B = f.process,
+          W = s("fetch"),
+          $ = I.f,
+          G = $,
+          V = "process" == m(B),
+          X = !!(q && q.createEvent && f.dispatchEvent),
+          Y = L(N, function () {
+            if (!(b(_z) !== String(_z))) {
+              if (66 === _) return !0;
+              if (!V && "function" != typeof PromiseRejectionEvent) return !0;
+            }
+            if (c && !_z.prototype.finally) return !0;
+            if (_ >= 51 && /native code/.test(_z)) return !1;
+            var t = _z.resolve(1),
+              n = function n(t) {
+                t(function () {}, function () {});
+              };
+            return (t.constructor = {})[U] = n, !(t.then(function () {}) instanceof n);
+          }),
+          K = Y || !E(function (t) {
+            _z.all(t).catch(function () {});
+          }),
+          J = function J(t) {
+            var n;
+            return !(!d(t) || "function" != typeof (n = t.then)) && n;
+          },
+          H = function H(t, n, e) {
+            if (!n.notified) {
+              n.notified = !0;
+              var r = n.reactions;
+              R(function () {
+                for (var o = n.value, i = 1 == n.state, a = 0; r.length > a;) {
+                  var u,
+                    c,
+                    f,
+                    s = r[a++],
+                    l = i ? s.ok : s.fail,
+                    p = s.resolve,
+                    h = s.reject,
+                    v = s.domain;
+                  try {
+                    l ? (i || (2 === n.rejection && nt(t, n), n.rejection = 1), !0 === l ? u = o : (v && v.enter(), u = l(o), v && (v.exit(), f = !0)), u === s.promise ? h(D("Promise-chain cycle")) : (c = J(u)) ? c.call(u, p, h) : p(u)) : h(o);
+                  } catch (t) {
+                    v && !f && v.exit(), h(t);
+                  }
+                }
+                n.reactions = [], n.notified = !1, e && !n.rejection && Z(t, n);
+              });
+            }
+          },
+          Q = function Q(t, n, e) {
+            var r, o;
+            X ? ((r = q.createEvent("Event")).promise = n, r.reason = e, r.initEvent(t, !1, !0), f.dispatchEvent(r)) : r = {
+              promise: n,
+              reason: e
+            }, (o = f["on" + t]) ? o(r) : "unhandledrejection" === t && j("Unhandled promise rejection", e);
+          },
+          Z = function Z(t, n) {
+            O.call(f, function () {
+              var e,
+                r = n.value;
+              if (tt(n) && (e = k(function () {
+                V ? B.emit("unhandledRejection", r, t) : Q("unhandledrejection", t, r);
+              }), n.rejection = V || tt(n) ? 2 : 1, e.error)) throw e.value;
+            });
+          },
+          tt = function tt(t) {
+            return 1 !== t.rejection && !t.parent;
+          },
+          nt = function nt(t, n) {
+            O.call(f, function () {
+              V ? B.emit("rejectionHandled", t) : Q("rejectionhandled", t, n.value);
+            });
+          },
+          et = function et(t, n, e, r) {
+            return function (o) {
+              t(n, e, o, r);
+            };
+          },
+          rt = function rt(t, n, e, r) {
+            n.done || (n.done = !0, r && (n = r), n.value = e, n.state = 2, H(t, n, !0));
+          },
+          _ot = function ot(t, n, e, r) {
+            if (!n.done) {
+              n.done = !0, r && (n = r);
+              try {
+                if (t === e) throw D("Promise can't be resolved itself");
+                var o = J(e);
+                o ? R(function () {
+                  var r = {
+                    done: !1
+                  };
+                  try {
+                    o.call(e, et(_ot, t, r, n), et(rt, t, r, n));
+                  } catch (e) {
+                    rt(t, r, e, n);
+                  }
+                }) : (n.value = e, n.state = 1, H(t, n, !1));
+              } catch (e) {
+                rt(t, {
+                  done: !1
+                }, e, n);
+              }
+            }
+          };
+        Y && (_z = function z(t) {
+          x(this, _z, N), y(t), r.call(this);
+          var n = C(this);
+          try {
+            t(et(_ot, this, n), et(rt, this, n));
+          } catch (t) {
+            rt(this, n, t);
+          }
+        }, (r = function r(t) {
+          F(this, {
+            type: N,
+            done: !1,
+            notified: !1,
+            parent: !1,
+            reactions: [],
+            rejection: !1,
+            state: 0,
+            value: void 0
+          });
+        }).prototype = h(_z.prototype, {
+          then: function then(t, n) {
+            var e = M(this),
+              r = $(w(this, _z));
+            return r.ok = "function" != typeof t || t, r.fail = "function" == typeof n && n, r.domain = V ? B.domain : void 0, e.parent = !0, e.reactions.push(r), 0 != e.state && H(this, e, !1), r.promise;
+          },
+          catch: function _catch(t) {
+            return this.then(void 0, t);
+          }
+        }), o = function o() {
+          var t = new r(),
+            n = C(t);
+          this.promise = t, this.resolve = et(_ot, t, n), this.reject = et(rt, t, n);
+        }, I.f = $ = function $(t) {
+          return t === _z || t === i ? new o(t) : G(t);
+        }, c || "function" != typeof l || (a = l.prototype.then, p(l.prototype, "then", function (t, n) {
+          var e = this;
+          return new _z(function (t, n) {
+            a.call(e, t, n);
+          }).then(t, n);
+        }, {
+          unsafe: !0
+        }), "function" == typeof W && u({
+          global: !0,
+          enumerable: !0,
+          forced: !0
+        }, {
+          fetch: function fetch(t) {
+            return A(_z, W.apply(f, arguments));
+          }
+        }))), u({
+          global: !0,
+          wrap: !0,
+          forced: Y
+        }, {
+          Promise: _z
+        }), v(_z, N, !1, !0), g(N), i = s(N), u({
+          target: N,
+          stat: !0,
+          forced: Y
+        }, {
+          reject: function reject(t) {
+            var n = $(this);
+            return n.reject.call(void 0, t), n.promise;
+          }
+        }), u({
+          target: N,
+          stat: !0,
+          forced: c || Y
+        }, {
+          resolve: function resolve(t) {
+            return A(c && this === i ? _z : this, t);
+          }
+        }), u({
+          target: N,
+          stat: !0,
+          forced: K
+        }, {
+          all: function all(t) {
+            var n = this,
+              e = $(n),
+              r = e.resolve,
+              o = e.reject,
+              i = k(function () {
+                var e = y(n.resolve),
+                  i = [],
+                  a = 0,
+                  u = 1;
+                S(t, function (t) {
+                  var c = a++,
+                    f = !1;
+                  i.push(void 0), u++, e.call(n, t).then(function (t) {
+                    f || (f = !0, i[c] = t, --u || r(i));
+                  }, o);
+                }), --u || r(i);
+              });
+            return i.error && o(i.value), e.promise;
+          },
+          race: function race(t) {
+            var n = this,
+              e = $(n),
+              r = e.reject,
+              o = k(function () {
+                var o = y(n.resolve);
+                S(t, function (t) {
+                  o.call(n, t).then(e.resolve, r);
+                });
+              });
+            return o.error && r(o.value), e.promise;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(3);
+        t.exports = r.Promise;
+      }, function (t, n, e) {
+        var r = e(20),
+          o = e(65),
+          i = e(49)("species");
+        t.exports = function (t, n) {
+          var e,
+            a = r(t).constructor;
+          return void 0 === a || null == (e = r(a)[i]) ? n : o(e);
+        };
+      }, function (t, n, e) {
+        var r,
+          o,
+          i,
+          a = e(3),
+          u = e(6),
+          c = e(11),
+          f = e(64),
+          s = e(61),
+          l = e(17),
+          p = e(177),
+          h = a.location,
+          v = a.setImmediate,
+          g = a.clearImmediate,
+          d = a.process,
+          y = a.MessageChannel,
+          x = a.Dispatch,
+          m = 0,
+          b = {},
+          S = function S(t) {
+            if (b.hasOwnProperty(t)) {
+              var n = b[t];
+              delete b[t], n();
+            }
+          },
+          E = function E(t) {
+            return function () {
+              S(t);
+            };
+          },
+          w = function w(t) {
+            S(t.data);
+          },
+          O = function O(t) {
+            a.postMessage(t + "", h.protocol + "//" + h.host);
+          };
+        v && g || (v = function v(t) {
+          for (var n = [], e = 1; arguments.length > e;) n.push(arguments[e++]);
+          return b[++m] = function () {
+            ("function" == typeof t ? t : Function(t)).apply(void 0, n);
+          }, r(m), m;
+        }, g = function g(t) {
+          delete b[t];
+        }, "process" == c(d) ? r = function r(t) {
+          d.nextTick(E(t));
+        } : x && x.now ? r = function r(t) {
+          x.now(E(t));
+        } : y && !p ? (i = (o = new y()).port2, o.port1.onmessage = w, r = f(i.postMessage, i, 1)) : !a.addEventListener || "function" != typeof postMessage || a.importScripts || u(O) || "file:" === h.protocol ? r = "onreadystatechange" in l("script") ? function (t) {
+          s.appendChild(l("script")).onreadystatechange = function () {
+            s.removeChild(this), S(t);
+          };
+        } : function (t) {
+          setTimeout(E(t), 0);
+        } : (r = O, a.addEventListener("message", w, !1))), t.exports = {
+          set: v,
+          clear: g
+        };
+      }, function (t, n, e) {
+        var r = e(54);
+        t.exports = /(iphone|ipod|ipad).*applewebkit/i.test(r);
+      }, function (t, n, e) {
+        var r,
+          o,
+          i,
+          a,
+          u,
+          c,
+          f,
+          s,
+          l = e(3),
+          p = e(4).f,
+          h = e(11),
+          v = e(176).set,
+          g = e(177),
+          d = l.MutationObserver || l.WebKitMutationObserver,
+          y = l.process,
+          x = l.Promise,
+          m = "process" == h(y),
+          b = p(l, "queueMicrotask"),
+          S = b && b.value;
+        S || (r = function r() {
+          var t, n;
+          for (m && (t = y.domain) && t.exit(); o;) {
+            n = o.fn, o = o.next;
+            try {
+              n();
+            } catch (t) {
+              throw o ? a() : i = void 0, t;
+            }
+          }
+          i = void 0, t && t.enter();
+        }, m ? a = function a() {
+          y.nextTick(r);
+        } : d && !g ? (u = !0, c = document.createTextNode(""), new d(r).observe(c, {
+          characterData: !0
+        }), a = function a() {
+          c.data = u = !u;
+        }) : x && x.resolve ? (f = x.resolve(void 0), s = f.then, a = function a() {
+          s.call(f, r);
+        }) : a = function a() {
+          v.call(l, r);
+        }), t.exports = S || function (t) {
+          var n = {
+            fn: t,
+            next: void 0
+          };
+          i && (i.next = n), o || (o = n, a()), i = n;
+        };
+      }, function (t, n, e) {
+        var r = e(20),
+          o = e(14),
+          i = e(180);
+        t.exports = function (t, n) {
+          if (r(t), o(n) && n.constructor === t) return n;
+          var e = i.f(t);
+          return (0, e.resolve)(n), e.promise;
+        };
+      }, function (t, n, e) {
+        var r = e(65),
+          o = function o(t) {
+            var n, e;
+            this.promise = new t(function (t, r) {
+              if (void 0 !== n || void 0 !== e) throw TypeError("Bad Promise constructor");
+              n = t, e = r;
+            }), this.resolve = r(n), this.reject = r(e);
+          };
+        t.exports.f = function (t) {
+          return new o(t);
+        };
+      }, function (t, n, e) {
+        var r = e(3);
+        t.exports = function (t, n) {
+          var e = r.console;
+          e && e.error && (1 === arguments.length ? e.error(t) : e.error(t, n));
+        };
+      }, function (t, n) {
+        t.exports = function (t) {
+          try {
+            return {
+              error: !1,
+              value: t()
+            };
+          } catch (t) {
+            return {
+              error: !0,
+              value: t
+            };
+          }
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(65),
+          i = e(180),
+          a = e(182),
+          u = e(122);
+        r({
+          target: "Promise",
+          stat: !0
+        }, {
+          allSettled: function allSettled(t) {
+            var n = this,
+              e = i.f(n),
+              r = e.resolve,
+              c = e.reject,
+              f = a(function () {
+                var e = o(n.resolve),
+                  i = [],
+                  a = 0,
+                  c = 1;
+                u(t, function (t) {
+                  var o = a++,
+                    u = !1;
+                  i.push(void 0), c++, e.call(n, t).then(function (t) {
+                    u || (u = !0, i[o] = {
+                      status: "fulfilled",
+                      value: t
+                    }, --c || r(i));
+                  }, function (t) {
+                    u || (u = !0, i[o] = {
+                      status: "rejected",
+                      reason: t
+                    }, --c || r(i));
+                  });
+                }), --c || r(i);
+              });
+            return f.error && c(f.value), e.promise;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(29),
+          i = e(174),
+          a = e(6),
+          u = e(34),
+          c = e(175),
+          f = e(179),
+          s = e(21);
+        r({
+          target: "Promise",
+          proto: !0,
+          real: !0,
+          forced: !!i && a(function () {
+            i.prototype.finally.call({
+              then: function then() {}
+            }, function () {});
+          })
+        }, {
+          finally: function _finally(t) {
+            var n = c(this, u("Promise")),
+              e = "function" == typeof t;
+            return this.then(e ? function (e) {
+              return f(n, t()).then(function () {
+                return e;
+              });
+            } : t, e ? function (e) {
+              return f(n, t()).then(function () {
+                throw e;
+              });
+            } : t);
+          }
+        }), o || "function" != typeof i || i.prototype.finally || s(i.prototype, "finally", u("Promise").prototype.finally);
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(3),
+          i = e(44),
+          a = e(124),
+          u = e(19).f,
+          c = e(36).f,
+          f = e(186),
+          s = e(187),
+          l = e(188),
+          p = e(21),
+          h = e(6),
+          v = e(25).set,
+          g = e(109),
+          d = e(49)("match"),
+          y = o.RegExp,
+          x = y.prototype,
+          m = /a/g,
+          b = /a/g,
+          S = new y(m) !== m,
+          E = l.UNSUPPORTED_Y;
+        if (r && i("RegExp", !S || E || h(function () {
+          return b[d] = !1, y(m) != m || y(b) == b || "/a/i" != y(m, "i");
+        }))) {
+          for (var _w = function w(t, n) {
+              var e,
+                r = this instanceof _w,
+                o = f(t),
+                i = void 0 === n;
+              if (!r && o && t.constructor === _w && i) return t;
+              S ? o && !i && (t = t.source) : t instanceof _w && (i && (n = s.call(t)), t = t.source), E && (e = !!n && n.indexOf("y") > -1) && (n = n.replace(/y/g, ""));
+              var u = a(S ? new y(t, n) : y(t, n), r ? this : x, _w);
+              return E && e && v(u, {
+                sticky: e
+              }), u;
+            }, O = function O(t) {
+              t in _w || u(_w, t, {
+                configurable: !0,
+                get: function get() {
+                  return y[t];
+                },
+                set: function set(n) {
+                  y[t] = n;
+                }
+              });
+            }, R = c(y), A = 0; R.length > A;) O(R[A++]);
+          x.constructor = _w, _w.prototype = x, p(o, "RegExp", _w);
+        }
+        g("RegExp");
+      }, function (t, n, e) {
+        var r = e(14),
+          o = e(11),
+          i = e(49)("match");
+        t.exports = function (t) {
+          var n;
+          return r(t) && (void 0 !== (n = t[i]) ? !!n : "RegExp" == o(t));
+        };
+      }, function (t, n, e) {
+        var r = e(20);
+        t.exports = function () {
+          var t = r(this),
+            n = "";
+          return t.global && (n += "g"), t.ignoreCase && (n += "i"), t.multiline && (n += "m"), t.dotAll && (n += "s"), t.unicode && (n += "u"), t.sticky && (n += "y"), n;
+        };
+      }, function (t, n, e) {
+        var r = e(6);
+        function o(t, n) {
+          return RegExp(t, n);
+        }
+        n.UNSUPPORTED_Y = r(function () {
+          var t = o("a", "y");
+          return t.lastIndex = 2, null != t.exec("abcd");
+        }), n.BROKEN_CARET = r(function () {
+          var t = o("^r", "gy");
+          return t.lastIndex = 2, null != t.exec("str");
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(190);
+        r({
+          target: "RegExp",
+          proto: !0,
+          forced: /./.exec !== o
+        }, {
+          exec: o
+        });
+      }, function (t, n, e) {
+        var r,
+          o,
+          i = e(187),
+          a = e(188),
+          u = RegExp.prototype.exec,
+          c = String.prototype.replace,
+          f = u,
+          s = (r = /a/, o = /b*/g, u.call(r, "a"), u.call(o, "a"), 0 !== r.lastIndex || 0 !== o.lastIndex),
+          l = a.UNSUPPORTED_Y || a.BROKEN_CARET,
+          p = void 0 !== /()??/.exec("")[1];
+        (s || p || l) && (f = function f(t) {
+          var n,
+            e,
+            r,
+            o,
+            a = this,
+            f = l && a.sticky,
+            h = i.call(a),
+            v = a.source,
+            g = 0,
+            d = t;
+          return f && (-1 === (h = h.replace("y", "")).indexOf("g") && (h += "g"), d = String(t).slice(a.lastIndex), a.lastIndex > 0 && (!a.multiline || a.multiline && "\n" !== t[a.lastIndex - 1]) && (v = "(?: " + v + ")", d = " " + d, g++), e = new RegExp("^(?:" + v + ")", h)), p && (e = new RegExp("^" + v + "$(?!\\s)", h)), s && (n = a.lastIndex), r = u.call(f ? e : a, d), f ? r ? (r.input = r.input.slice(g), r[0] = r[0].slice(g), r.index = a.lastIndex, a.lastIndex += r[0].length) : a.lastIndex = 0 : s && r && (a.lastIndex = a.global ? r.index + r[0].length : n), p && r && r.length > 1 && c.call(r[0], e, function () {
+            for (o = 1; o < arguments.length - 2; o++) void 0 === arguments[o] && (r[o] = void 0);
+          }), r;
+        }), t.exports = f;
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(19),
+          i = e(187),
+          a = e(188).UNSUPPORTED_Y;
+        r && ("g" != /./g.flags || a) && o.f(RegExp.prototype, "flags", {
+          configurable: !0,
+          get: i
+        });
+      }, function (t, n, e) {
+        var r = e(5),
+          o = e(188).UNSUPPORTED_Y,
+          i = e(19).f,
+          a = e(25).get,
+          u = RegExp.prototype;
+        r && o && i(RegExp.prototype, "sticky", {
+          configurable: !0,
+          get: function get() {
+            if (this !== u) {
+              if (this instanceof RegExp) return !!a(this).sticky;
+              throw TypeError("Incompatible receiver, RegExp required");
+            }
+          }
+        });
+      }, function (t, n, e) {
+        e(189);
+        var r,
+          o,
+          i = e(2),
+          a = e(14),
+          u = (r = !1, (o = /[ac]/).exec = function () {
+            return r = !0, /./.exec.apply(this, arguments);
+          }, !0 === o.test("abc") && r),
+          c = /./.test;
+        i({
+          target: "RegExp",
+          proto: !0,
+          forced: !u
+        }, {
+          test: function test(t) {
+            if ("function" != typeof this.exec) return c.call(this, t);
+            var n = this.exec(t);
+            if (null !== n && !a(n)) throw new Error("RegExp exec method returned something other than an Object or null");
+            return !!n;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(21),
+          o = e(20),
+          i = e(6),
+          a = e(187),
+          u = RegExp.prototype,
+          c = u.toString,
+          f = i(function () {
+            return "/a/b" != c.call({
+              source: "a",
+              flags: "b"
+            });
+          }),
+          s = "toString" != c.name;
+        (f || s) && r(RegExp.prototype, "toString", function () {
+          var t = o(this),
+            n = String(t.source),
+            e = t.flags;
+          return "/" + n + "/" + String(void 0 === e && t instanceof RegExp && !("flags" in u) ? a.call(t) : e);
+        }, {
+          unsafe: !0
+        });
+      }, function (t, n, e) {
+        var r = e(119),
+          o = e(125);
+        t.exports = r("Set", function (t) {
+          return function () {
+            return t(this, arguments.length ? arguments[0] : void 0);
+          };
+        }, o);
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(197).codeAt;
+        r({
+          target: "String",
+          proto: !0
+        }, {
+          codePointAt: function codePointAt(t) {
+            return o(this, t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(40),
+          o = e(12),
+          i = function i(t) {
+            return function (n, e) {
+              var i,
+                a,
+                u = String(o(n)),
+                c = r(e),
+                f = u.length;
+              return c < 0 || c >= f ? t ? "" : void 0 : (i = u.charCodeAt(c)) < 55296 || i > 56319 || c + 1 === f || (a = u.charCodeAt(c + 1)) < 56320 || a > 57343 ? t ? u.charAt(c) : i : t ? u.slice(c, c + 2) : a - 56320 + (i - 55296 << 10) + 65536;
+            };
+          };
+        t.exports = {
+          codeAt: i(!1),
+          charAt: i(!0)
+        };
+      }, function (t, n, e) {
+        var r,
+          o = e(2),
+          i = e(4).f,
+          a = e(39),
+          u = e(199),
+          c = e(12),
+          f = e(200),
+          s = e(29),
+          l = "".endsWith,
+          p = Math.min,
+          h = f("endsWith");
+        o({
+          target: "String",
+          proto: !0,
+          forced: !!(s || h || (r = i(String.prototype, "endsWith"), !r || r.writable)) && !h
+        }, {
+          endsWith: function endsWith(t) {
+            var n = String(c(this));
+            u(t);
+            var e = arguments.length > 1 ? arguments[1] : void 0,
+              r = a(n.length),
+              o = void 0 === e ? r : p(a(e), r),
+              i = String(t);
+            return l ? l.call(n, i, o) : n.slice(o - i.length, o) === i;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(186);
+        t.exports = function (t) {
+          if (r(t)) throw TypeError("The method doesn't accept regular expressions");
+          return t;
+        };
+      }, function (t, n, e) {
+        var r = e(49)("match");
+        t.exports = function (t) {
+          var n = /./;
+          try {
+            "/./"[t](n);
+          } catch (e) {
+            try {
+              return n[r] = !1, "/./"[t](n);
+            } catch (t) {}
+          }
+          return !1;
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(41),
+          i = String.fromCharCode,
+          a = String.fromCodePoint;
+        r({
+          target: "String",
+          stat: !0,
+          forced: !!a && 1 != a.length
+        }, {
+          fromCodePoint: function fromCodePoint(t) {
+            for (var n, e = [], r = arguments.length, a = 0; r > a;) {
+              if (n = +arguments[a++], o(n, 1114111) !== n) throw RangeError(n + " is not a valid code point");
+              e.push(n < 65536 ? i(n) : i(55296 + ((n -= 65536) >> 10), n % 1024 + 56320));
+            }
+            return e.join("");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(199),
+          i = e(12);
+        r({
+          target: "String",
+          proto: !0,
+          forced: !e(200)("includes")
+        }, {
+          includes: function includes(t) {
+            return !!~String(i(this)).indexOf(o(t), arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(197).charAt,
+          o = e(25),
+          i = e(90),
+          a = o.set,
+          u = o.getterFor("String Iterator");
+        i(String, "String", function (t) {
+          a(this, {
+            type: "String Iterator",
+            string: String(t),
+            index: 0
+          });
+        }, function () {
+          var t,
+            n = u(this),
+            e = n.string,
+            o = n.index;
+          return o >= e.length ? {
+            value: void 0,
+            done: !0
+          } : (t = r(e, o), n.index += t.length, {
+            value: t,
+            done: !1
+          });
+        });
+      }, function (t, n, e) {
+        var r = e(205),
+          o = e(20),
+          i = e(39),
+          a = e(12),
+          u = e(206),
+          c = e(207);
+        r("match", 1, function (t, n, e) {
+          return [function (n) {
+            var e = a(this),
+              r = null == n ? void 0 : n[t];
+            return void 0 !== r ? r.call(n, e) : new RegExp(n)[t](String(e));
+          }, function (t) {
+            var r = e(n, t, this);
+            if (r.done) return r.value;
+            var a = o(t),
+              f = String(this);
+            if (!a.global) return c(a, f);
+            var s = a.unicode;
+            a.lastIndex = 0;
+            for (var l, p = [], h = 0; null !== (l = c(a, f));) {
+              var v = String(l[0]);
+              p[h] = v, "" === v && (a.lastIndex = u(f, i(a.lastIndex), s)), h++;
+            }
+            return 0 === h ? null : p;
+          }];
+        });
+      }, function (t, n, e) {
+        e(189);
+        var r = e(21),
+          o = e(6),
+          i = e(49),
+          a = e(190),
+          u = e(18),
+          c = i("species"),
+          f = !o(function () {
+            var t = /./;
+            return t.exec = function () {
+              var t = [];
+              return t.groups = {
+                a: "7"
+              }, t;
+            }, "7" !== "".replace(t, "$<a>");
+          }),
+          s = "$0" === "a".replace(/./, "$0"),
+          l = i("replace"),
+          p = !!/./[l] && "" === /./[l]("a", "$0"),
+          h = !o(function () {
+            var t = /(?:)/,
+              n = t.exec;
+            t.exec = function () {
+              return n.apply(this, arguments);
+            };
+            var e = "ab".split(t);
+            return 2 !== e.length || "a" !== e[0] || "b" !== e[1];
+          });
+        t.exports = function (t, n, e, l) {
+          var v = i(t),
+            g = !o(function () {
+              var n = {};
+              return n[v] = function () {
+                return 7;
+              }, 7 != ""[t](n);
+            }),
+            d = g && !o(function () {
+              var n = !1,
+                e = /a/;
+              return "split" === t && ((e = {}).constructor = {}, e.constructor[c] = function () {
+                return e;
+              }, e.flags = "", e[v] = /./[v]), e.exec = function () {
+                return n = !0, null;
+              }, e[v](""), !n;
+            });
+          if (!g || !d || "replace" === t && (!f || !s || p) || "split" === t && !h) {
+            var y = /./[v],
+              x = e(v, ""[t], function (t, n, e, r, o) {
+                return n.exec === a ? g && !o ? {
+                  done: !0,
+                  value: y.call(n, e, r)
+                } : {
+                  done: !0,
+                  value: t.call(e, n, r)
+                } : {
+                  done: !1
+                };
+              }, {
+                REPLACE_KEEPS_$0: s,
+                REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: p
+              }),
+              m = x[0],
+              b = x[1];
+            r(String.prototype, t, m), r(RegExp.prototype, v, 2 == n ? function (t, n) {
+              return b.call(t, this, n);
+            } : function (t) {
+              return b.call(t, this);
+            });
+          }
+          l && u(RegExp.prototype[v], "sham", !0);
+        };
+      }, function (t, n, e) {
+        var r = e(197).charAt;
+        t.exports = function (t, n, e) {
+          return n + (e ? r(t, n).length : 1);
+        };
+      }, function (t, n, e) {
+        var r = e(11),
+          o = e(190);
+        t.exports = function (t, n) {
+          var e = t.exec;
+          if ("function" == typeof e) {
+            var i = e.call(t, n);
+            if ("object" != typeof i) throw TypeError("RegExp exec method returned something other than an Object or null");
+            return i;
+          }
+          if ("RegExp" !== r(t)) throw TypeError("RegExp#exec called on incompatible receiver");
+          return o.call(t, n);
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(91),
+          i = e(12),
+          a = e(39),
+          u = e(65),
+          c = e(20),
+          f = e(11),
+          s = e(186),
+          l = e(187),
+          p = e(18),
+          h = e(6),
+          v = e(49),
+          g = e(175),
+          d = e(206),
+          y = e(25),
+          x = e(29),
+          m = v("matchAll"),
+          b = y.set,
+          S = y.getterFor("RegExp String Iterator"),
+          E = RegExp.prototype,
+          w = E.exec,
+          O = "".matchAll,
+          R = !!O && !h(function () {
+            "a".matchAll(/./);
+          }),
+          A = o(function (t, n, e, r) {
+            b(this, {
+              type: "RegExp String Iterator",
+              regexp: t,
+              string: n,
+              global: e,
+              unicode: r,
+              done: !1
+            });
+          }, "RegExp String", function () {
+            var t = S(this);
+            if (t.done) return {
+              value: void 0,
+              done: !0
+            };
+            var n = t.regexp,
+              e = t.string,
+              r = function (t, n) {
+                var e,
+                  r = t.exec;
+                if ("function" == typeof r) {
+                  if ("object" != typeof (e = r.call(t, n))) throw TypeError("Incorrect exec result");
+                  return e;
+                }
+                return w.call(t, n);
+              }(n, e);
+            return null === r ? {
+              value: void 0,
+              done: t.done = !0
+            } : t.global ? ("" == String(r[0]) && (n.lastIndex = d(e, a(n.lastIndex), t.unicode)), {
+              value: r,
+              done: !1
+            }) : (t.done = !0, {
+              value: r,
+              done: !1
+            });
+          }),
+          j = function j(t) {
+            var n,
+              e,
+              r,
+              o,
+              i,
+              u,
+              f = c(this),
+              s = String(t);
+            return n = g(f, RegExp), void 0 === (e = f.flags) && f instanceof RegExp && !("flags" in E) && (e = l.call(f)), r = void 0 === e ? "" : String(e), o = new n(n === RegExp ? f.source : f, r), i = !!~r.indexOf("g"), u = !!~r.indexOf("u"), o.lastIndex = a(f.lastIndex), new A(o, s, i, u);
+          };
+        r({
+          target: "String",
+          proto: !0,
+          forced: R
+        }, {
+          matchAll: function matchAll(t) {
+            var n,
+              e,
+              r,
+              o = i(this);
+            if (null != t) {
+              if (s(t) && !~String(i("flags" in E ? t.flags : l.call(t))).indexOf("g")) throw TypeError("`.matchAll` does not allow non-global regexes");
+              if (R) return O.apply(o, arguments);
+              if (void 0 === (e = t[m]) && x && "RegExp" == f(t) && (e = j), null != e) return u(e).call(t, o);
+            } else if (R) return O.apply(o, arguments);
+            return n = String(o), r = new RegExp(t, "g"), x ? j.call(r, n) : r[m](n);
+          }
+        }), x || m in E || p(E, m, j);
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(210).end;
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(211)
+        }, {
+          padEnd: function padEnd(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(39),
+          o = e(145),
+          i = e(12),
+          a = Math.ceil,
+          u = function u(t) {
+            return function (n, e, u) {
+              var c,
+                f,
+                s = String(i(n)),
+                l = s.length,
+                p = void 0 === u ? " " : String(u),
+                h = r(e);
+              return h <= l || "" == p ? s : (c = h - l, (f = o.call(p, a(c / p.length))).length > c && (f = f.slice(0, c)), t ? s + f : f + s);
+            };
+          };
+        t.exports = {
+          start: u(!1),
+          end: u(!0)
+        };
+      }, function (t, n, e) {
+        var r = e(54);
+        t.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(r);
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(210).start;
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(211)
+        }, {
+          padStart: function padStart(t) {
+            return o(this, t, arguments.length > 1 ? arguments[1] : void 0);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(9),
+          i = e(39);
+        r({
+          target: "String",
+          stat: !0
+        }, {
+          raw: function raw(t) {
+            for (var n = o(t.raw), e = i(n.length), r = arguments.length, a = [], u = 0; e > u;) a.push(String(n[u++])), u < r && a.push(String(arguments[u]));
+            return a.join("");
+          }
+        });
+      }, function (t, n, e) {
+        e(2)({
+          target: "String",
+          proto: !0
+        }, {
+          repeat: e(145)
+        });
+      }, function (t, n, e) {
+        var r = e(205),
+          o = e(20),
+          i = e(46),
+          a = e(39),
+          u = e(40),
+          c = e(12),
+          f = e(206),
+          s = e(207),
+          l = Math.max,
+          p = Math.min,
+          h = Math.floor,
+          v = /\$([$&'`]|\d\d?|<[^>]*>)/g,
+          g = /\$([$&'`]|\d\d?)/g;
+        r("replace", 2, function (t, n, e, r) {
+          var d = r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,
+            y = r.REPLACE_KEEPS_$0,
+            x = d ? "$" : "$0";
+          return [function (e, r) {
+            var o = c(this),
+              i = null == e ? void 0 : e[t];
+            return void 0 !== i ? i.call(e, o, r) : n.call(String(o), e, r);
+          }, function (t, r) {
+            if (!d && y || "string" == typeof r && -1 === r.indexOf(x)) {
+              var i = e(n, t, this, r);
+              if (i.done) return i.value;
+            }
+            var c = o(t),
+              h = String(this),
+              v = "function" == typeof r;
+            v || (r = String(r));
+            var g = c.global;
+            if (g) {
+              var b = c.unicode;
+              c.lastIndex = 0;
+            }
+            for (var S = [];;) {
+              var E = s(c, h);
+              if (null === E) break;
+              if (S.push(E), !g) break;
+              "" === String(E[0]) && (c.lastIndex = f(h, a(c.lastIndex), b));
+            }
+            for (var w, O = "", R = 0, A = 0; A < S.length; A++) {
+              E = S[A];
+              for (var j = String(E[0]), I = l(p(u(E.index), h.length), 0), k = [], P = 1; P < E.length; P++) k.push(void 0 === (w = E[P]) ? w : String(w));
+              var L = E.groups;
+              if (v) {
+                var T = [j].concat(k, I, h);
+                void 0 !== L && T.push(L);
+                var _ = String(r.apply(void 0, T));
+              } else _ = m(j, h, I, k, L, r);
+              I >= R && (O += h.slice(R, I) + _, R = I + j.length);
+            }
+            return O + h.slice(R);
+          }];
+          function m(t, e, r, o, a, u) {
+            var c = r + t.length,
+              f = o.length,
+              s = g;
+            return void 0 !== a && (a = i(a), s = v), n.call(u, s, function (n, i) {
+              var u;
+              switch (i.charAt(0)) {
+                case "$":
+                  return "$";
+                case "&":
+                  return t;
+                case "`":
+                  return e.slice(0, r);
+                case "'":
+                  return e.slice(c);
+                case "<":
+                  u = a[i.slice(1, -1)];
+                  break;
+                default:
+                  var s = +i;
+                  if (0 === s) return n;
+                  if (s > f) {
+                    var l = h(s / 10);
+                    return 0 === l ? n : l <= f ? void 0 === o[l - 1] ? i.charAt(1) : o[l - 1] + i.charAt(1) : n;
+                  }
+                  u = o[s - 1];
+              }
+              return void 0 === u ? "" : u;
+            });
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(205),
+          o = e(20),
+          i = e(12),
+          a = e(161),
+          u = e(207);
+        r("search", 1, function (t, n, e) {
+          return [function (n) {
+            var e = i(this),
+              r = null == n ? void 0 : n[t];
+            return void 0 !== r ? r.call(n, e) : new RegExp(n)[t](String(e));
+          }, function (t) {
+            var r = e(n, t, this);
+            if (r.done) return r.value;
+            var i = o(t),
+              c = String(this),
+              f = i.lastIndex;
+            a(f, 0) || (i.lastIndex = 0);
+            var s = u(i, c);
+            return a(i.lastIndex, f) || (i.lastIndex = f), null === s ? -1 : s.index;
+          }];
+        });
+      }, function (t, n, e) {
+        var r = e(205),
+          o = e(186),
+          i = e(20),
+          a = e(12),
+          u = e(175),
+          c = e(206),
+          f = e(39),
+          s = e(207),
+          l = e(190),
+          p = e(6),
+          h = [].push,
+          v = Math.min,
+          g = !p(function () {
+            return !RegExp(4294967295, "y");
+          });
+        r("split", 2, function (t, n, e) {
+          var r;
+          return r = "c" == "abbc".split(/(b)*/)[1] || 4 != "test".split(/(?:)/, -1).length || 2 != "ab".split(/(?:ab)*/).length || 4 != ".".split(/(.?)(.?)/).length || ".".split(/()()/).length > 1 || "".split(/.?/).length ? function (t, e) {
+            var r = String(a(this)),
+              i = void 0 === e ? 4294967295 : e >>> 0;
+            if (0 === i) return [];
+            if (void 0 === t) return [r];
+            if (!o(t)) return n.call(r, t, i);
+            for (var u, c, f, s = [], p = (t.ignoreCase ? "i" : "") + (t.multiline ? "m" : "") + (t.unicode ? "u" : "") + (t.sticky ? "y" : ""), v = 0, g = new RegExp(t.source, p + "g"); (u = l.call(g, r)) && !((c = g.lastIndex) > v && (s.push(r.slice(v, u.index)), u.length > 1 && u.index < r.length && h.apply(s, u.slice(1)), f = u[0].length, v = c, s.length >= i));) g.lastIndex === u.index && g.lastIndex++;
+            return v === r.length ? !f && g.test("") || s.push("") : s.push(r.slice(v)), s.length > i ? s.slice(0, i) : s;
+          } : "0".split(void 0, 0).length ? function (t, e) {
+            return void 0 === t && 0 === e ? [] : n.call(this, t, e);
+          } : n, [function (n, e) {
+            var o = a(this),
+              i = null == n ? void 0 : n[t];
+            return void 0 !== i ? i.call(n, o, e) : r.call(String(o), n, e);
+          }, function (t, o) {
+            var a = e(r, t, this, o, r !== n);
+            if (a.done) return a.value;
+            var l = i(t),
+              p = String(this),
+              h = u(l, RegExp),
+              d = l.unicode,
+              y = (l.ignoreCase ? "i" : "") + (l.multiline ? "m" : "") + (l.unicode ? "u" : "") + (g ? "y" : "g"),
+              x = new h(g ? l : "^(?:" + l.source + ")", y),
+              m = void 0 === o ? 4294967295 : o >>> 0;
+            if (0 === m) return [];
+            if (0 === p.length) return null === s(x, p) ? [p] : [];
+            for (var b = 0, S = 0, E = []; S < p.length;) {
+              x.lastIndex = g ? S : 0;
+              var w,
+                O = s(x, g ? p : p.slice(S));
+              if (null === O || (w = v(f(x.lastIndex + (g ? 0 : S)), p.length)) === b) S = c(p, S, d);else {
+                if (E.push(p.slice(b, S)), E.length === m) return E;
+                for (var R = 1; R <= O.length - 1; R++) if (E.push(O[R]), E.length === m) return E;
+                S = b = w;
+              }
+            }
+            return E.push(p.slice(b)), E;
+          }];
+        }, !g);
+      }, function (t, n, e) {
+        var r,
+          o = e(2),
+          i = e(4).f,
+          a = e(39),
+          u = e(199),
+          c = e(12),
+          f = e(200),
+          s = e(29),
+          l = "".startsWith,
+          p = Math.min,
+          h = f("startsWith");
+        o({
+          target: "String",
+          proto: !0,
+          forced: !!(s || h || (r = i(String.prototype, "startsWith"), !r || r.writable)) && !h
+        }, {
+          startsWith: function startsWith(t) {
+            var n = String(c(this));
+            u(t);
+            var e = a(p(arguments.length > 1 ? arguments[1] : void 0, n.length)),
+              r = String(t);
+            return l ? l.call(n, r, e) : n.slice(e, e + r.length) === r;
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(128).trim;
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(220)("trim")
+        }, {
+          trim: function trim() {
+            return o(this);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(6),
+          o = e(129);
+        t.exports = function (t) {
+          return r(function () {
+            return !!o[t]() || "​…᠎" != "​…᠎"[t]() || o[t].name !== t;
+          });
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(128).end,
+          i = e(220)("trimEnd"),
+          a = i ? function () {
+            return o(this);
+          } : "".trimEnd;
+        r({
+          target: "String",
+          proto: !0,
+          forced: i
+        }, {
+          trimEnd: a,
+          trimRight: a
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(128).start,
+          i = e(220)("trimStart"),
+          a = i ? function () {
+            return o(this);
+          } : "".trimStart;
+        r({
+          target: "String",
+          proto: !0,
+          forced: i
+        }, {
+          trimStart: a,
+          trimLeft: a
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("anchor")
+        }, {
+          anchor: function anchor(t) {
+            return o(this, "a", "name", t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(12),
+          o = /"/g;
+        t.exports = function (t, n, e, i) {
+          var a = String(r(t)),
+            u = "<" + n;
+          return "" !== e && (u += " " + e + '="' + String(i).replace(o, "&quot;") + '"'), u + ">" + a + "</" + n + ">";
+        };
+      }, function (t, n, e) {
+        var r = e(6);
+        t.exports = function (t) {
+          return r(function () {
+            var n = ""[t]('"');
+            return n !== n.toLowerCase() || n.split('"').length > 3;
+          });
+        };
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("big")
+        }, {
+          big: function big() {
+            return o(this, "big", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("blink")
+        }, {
+          blink: function blink() {
+            return o(this, "blink", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("bold")
+        }, {
+          bold: function bold() {
+            return o(this, "b", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("fixed")
+        }, {
+          fixed: function fixed() {
+            return o(this, "tt", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("fontcolor")
+        }, {
+          fontcolor: function fontcolor(t) {
+            return o(this, "font", "color", t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("fontsize")
+        }, {
+          fontsize: function fontsize(t) {
+            return o(this, "font", "size", t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("italics")
+        }, {
+          italics: function italics() {
+            return o(this, "i", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("link")
+        }, {
+          link: function link(t) {
+            return o(this, "a", "href", t);
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("small")
+        }, {
+          small: function small() {
+            return o(this, "small", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("strike")
+        }, {
+          strike: function strike() {
+            return o(this, "strike", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("sub")
+        }, {
+          sub: function sub() {
+            return o(this, "sub", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r = e(2),
+          o = e(224);
+        r({
+          target: "String",
+          proto: !0,
+          forced: e(225)("sup")
+        }, {
+          sup: function sup() {
+            return o(this, "sup", "", "");
+          }
+        });
+      }, function (t, n, e) {
+        var r,
+          o = e(3),
+          i = e(126),
+          a = e(120),
+          u = e(119),
+          c = e(239),
+          f = e(14),
+          s = e(25).enforce,
+          l = e(26),
+          p = !o.ActiveXObject && "ActiveXObject" in o,
+          h = Object.isExtensible,
+          v = function v(t) {
+            return function () {
+              return t(this, arguments.length ? arguments[0] : void 0);
+            };
+          },
+          g = t.exports = u("WeakMap", v, c);
+        if (l && p) {
+          r = c.getConstructor(v, "WeakMap", !0), a.REQUIRED = !0;
+          var d = g.prototype,
+            y = d.delete,
+            x = d.has,
+            m = d.get,
+            b = d.set;
+          i(d, {
+            delete: function _delete(t) {
+              if (f(t) && !h(t)) {
+                var n = s(this);
+                return n.frozen || (n.frozen = new r()), y.call(this, t) || n.frozen.delete(t);
+              }
+              return y.call(this, t);
+            },
+            has: function has(t) {
+              if (f(t) && !h(t)) {
+                var n = s(this);
+                return n.frozen || (n.frozen = new r()), x.call(this, t) || n.frozen.has(t);
+              }
+              return x.call(this, t);
+            },
+            get: function get(t) {
+              if (f(t) && !h(t)) {
+                var n = s(this);
+                return n.frozen || (n.frozen = new r()), x.call(this, t) ? m.call(this, t) : n.frozen.get(t);
+              }
+              return m.call(this, t);
+            },
+            set: function set(t, n) {
+              if (f(t) && !h(t)) {
+                var e = s(this);
+                e.frozen || (e.frozen = new r()), x.call(this, t) ? b.call(this, t, n) : e.frozen.set(t, n);
+              } else b.call(this, t, n);
+              return this;
+            }
+          });
+        }
+      }, function (t, n, e) {
+        var r = e(126),
+          o = e(120).getWeakData,
+          i = e(20),
+          a = e(14),
+          u = e(123),
+          c = e(122),
+          f = e(63),
+          s = e(15),
+          l = e(25),
+          p = l.set,
+          h = l.getterFor,
+          v = f.find,
+          g = f.findIndex,
+          d = 0,
+          y = function y(t) {
+            return t.frozen || (t.frozen = new x());
+          },
+          x = function x() {
+            this.entries = [];
+          },
+          m = function m(t, n) {
+            return v(t.entries, function (t) {
+              return t[0] === n;
+            });
+          };
+        x.prototype = {
+          get: function get(t) {
+            var n = m(this, t);
+            if (n) return n[1];
+          },
+          has: function has(t) {
+            return !!m(this, t);
+          },
+          set: function set(t, n) {
+            var e = m(this, t);
+            e ? e[1] = n : this.entries.push([t, n]);
+          },
+          delete: function _delete(t) {
+            var n = g(this.entries, function (n) {
+              return n[0] === t;
+            });
+            return ~n && this.entries.splice(n, 1), !!~n;
+          }
+        }, t.exports = {
+          getConstructor: function getConstructor(t, n, e, f) {
+            var l = t(function (t, r) {
+                u(t, l, n), p(t, {
+                  type: n,
+                  id: d++,
+                  frozen: void 0
+                }), null != r && c(r, t[f], t, e);
+              }),
+              v = h(n),
+              g = function g(t, n, e) {
+                var r = v(t),
+                  a = o(i(n), !0);
+                return !0 === a ? y(r).set(n, e) : a[r.id] = e, t;
+              };
+            return r(l.prototype, {
+              delete: function _delete(t) {
+                var n = v(this);
+                if (!a(t)) return !1;
+                var e = o(t);
+                return !0 === e ? y(n).delete(t) : e && s(e, n.id) && delete e[n.id];
+              },
+              has: function has(t) {
+                var n = v(this);
+                if (!a(t)) return !1;
+                var e = o(t);
+                return !0 === e ? y(n).has(t) : e && s(e, n.id);
+              }
+            }), r(l.prototype, e ? {
+              get: function get(t) {
+                var n = v(this);
+                if (a(t)) {
+                  var e = o(t);
+                  return !0 === e ? y(n).get(t) : e ? e[n.id] : void 0;
+                }
+              },
+              set: function set(t, n) {
+                return g(this, t, n);
+              }
+            } : {
+              add: function add(t) {
+                return g(this, t, !0);
+              }
+            }), l;
+          }
+        };
+      }, function (t, n, e) {
+        e(119)("WeakSet", function (t) {
+          return function () {
+            return t(this, arguments.length ? arguments[0] : void 0);
+          };
+        }, e(239));
+      }, function (t, n, e) {
+        var r = e(3),
+          o = e(242),
+          i = e(77),
+          a = e(18);
+        for (var u in o) {
+          var c = r[u],
+            f = c && c.prototype;
+          if (f && f.forEach !== i) try {
+            a(f, "forEach", i);
+          } catch (t) {
+            f.forEach = i;
+          }
+        }
+      }, function (t, n) {
+        t.exports = {
+          CSSRuleList: 0,
+          CSSStyleDeclaration: 0,
+          CSSValueList: 0,
+          ClientRectList: 0,
+          DOMRectList: 0,
+          DOMStringList: 0,
+          DOMTokenList: 1,
+          DataTransferItemList: 0,
+          FileList: 0,
+          HTMLAllCollection: 0,
+          HTMLCollection: 0,
+          HTMLFormElement: 0,
+          HTMLSelectElement: 0,
+          MediaList: 0,
+          MimeTypeArray: 0,
+          NamedNodeMap: 0,
+          NodeList: 1,
+          PaintRequestList: 0,
+          Plugin: 0,
+          PluginArray: 0,
+          SVGLengthList: 0,
+          SVGNumberList: 0,
+          SVGPathSegList: 0,
+          SVGPointList: 0,
+          SVGStringList: 0,
+          SVGTransformList: 0,
+          SourceBufferList: 0,
+          StyleSheetList: 0,
+          TextTrackCueList: 0,
+          TextTrackList: 0,
+          TouchList: 0
+        };
+      }, function (t, n, e) {
+        e(203);
+        var r,
+          o = e(2),
+          i = e(5),
+          a = e(244),
+          u = e(3),
+          c = e(59),
+          f = e(21),
+          s = e(123),
+          l = e(15),
+          p = e(147),
+          h = e(79),
+          v = e(197).codeAt,
+          g = e(245),
+          d = e(95),
+          y = e(246),
+          x = e(25),
+          m = u.URL,
+          b = y.URLSearchParams,
+          S = y.getState,
+          E = x.set,
+          w = x.getterFor("URL"),
+          O = Math.floor,
+          R = Math.pow,
+          A = /[A-Za-z]/,
+          j = /[\d+-.A-Za-z]/,
+          I = /\d/,
+          k = /^(0x|0X)/,
+          P = /^[0-7]+$/,
+          L = /^\d+$/,
+          T = /^[\dA-Fa-f]+$/,
+          _ = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/,
+          U = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/,
+          N = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g,
+          C = /[\u0009\u000A\u000D]/g,
+          F = function F(t, n) {
+            var e, r, o;
+            if ("[" == n.charAt(0)) {
+              if ("]" != n.charAt(n.length - 1)) return "Invalid host";
+              if (!(e = z(n.slice(1, -1)))) return "Invalid host";
+              t.host = e;
+            } else if (X(t)) {
+              if (n = g(n), _.test(n)) return "Invalid host";
+              if (null === (e = M(n))) return "Invalid host";
+              t.host = e;
+            } else {
+              if (U.test(n)) return "Invalid host";
+              for (e = "", r = h(n), o = 0; o < r.length; o++) e += G(r[o], q);
+              t.host = e;
+            }
+          },
+          M = function M(t) {
+            var n,
+              e,
+              r,
+              o,
+              i,
+              a,
+              u,
+              c = t.split(".");
+            if (c.length && "" == c[c.length - 1] && c.pop(), (n = c.length) > 4) return t;
+            for (e = [], r = 0; r < n; r++) {
+              if ("" == (o = c[r])) return t;
+              if (i = 10, o.length > 1 && "0" == o.charAt(0) && (i = k.test(o) ? 16 : 8, o = o.slice(8 == i ? 1 : 2)), "" === o) a = 0;else {
+                if (!(10 == i ? L : 8 == i ? P : T).test(o)) return t;
+                a = parseInt(o, i);
+              }
+              e.push(a);
+            }
+            for (r = 0; r < n; r++) if (a = e[r], r == n - 1) {
+              if (a >= R(256, 5 - n)) return null;
+            } else if (a > 255) return null;
+            for (u = e.pop(), r = 0; r < e.length; r++) u += e[r] * R(256, 3 - r);
+            return u;
+          },
+          z = function z(t) {
+            var n,
+              e,
+              r,
+              o,
+              i,
+              a,
+              u,
+              c = [0, 0, 0, 0, 0, 0, 0, 0],
+              f = 0,
+              s = null,
+              l = 0,
+              p = function p() {
+                return t.charAt(l);
+              };
+            if (":" == p()) {
+              if (":" != t.charAt(1)) return;
+              l += 2, s = ++f;
+            }
+            for (; p();) {
+              if (8 == f) return;
+              if (":" != p()) {
+                for (n = e = 0; e < 4 && T.test(p());) n = 16 * n + parseInt(p(), 16), l++, e++;
+                if ("." == p()) {
+                  if (0 == e) return;
+                  if (l -= e, f > 6) return;
+                  for (r = 0; p();) {
+                    if (o = null, r > 0) {
+                      if (!("." == p() && r < 4)) return;
+                      l++;
+                    }
+                    if (!I.test(p())) return;
+                    for (; I.test(p());) {
+                      if (i = parseInt(p(), 10), null === o) o = i;else {
+                        if (0 == o) return;
+                        o = 10 * o + i;
+                      }
+                      if (o > 255) return;
+                      l++;
+                    }
+                    c[f] = 256 * c[f] + o, 2 != ++r && 4 != r || f++;
+                  }
+                  if (4 != r) return;
+                  break;
+                }
+                if (":" == p()) {
+                  if (l++, !p()) return;
+                } else if (p()) return;
+                c[f++] = n;
+              } else {
+                if (null !== s) return;
+                l++, s = ++f;
+              }
+            }
+            if (null !== s) for (a = f - s, f = 7; 0 != f && a > 0;) u = c[f], c[f--] = c[s + a - 1], c[s + --a] = u;else if (8 != f) return;
+            return c;
+          },
+          D = function D(t) {
+            var n, e, r, o;
+            if ("number" == typeof t) {
+              for (n = [], e = 0; e < 4; e++) n.unshift(t % 256), t = O(t / 256);
+              return n.join(".");
+            }
+            if ("object" == typeof t) {
+              for (n = "", r = function (t) {
+                for (var n = null, e = 1, r = null, o = 0, i = 0; i < 8; i++) 0 !== t[i] ? (o > e && (n = r, e = o), r = null, o = 0) : (null === r && (r = i), ++o);
+                return o > e && (n = r, e = o), n;
+              }(t), e = 0; e < 8; e++) o && 0 === t[e] || (o && (o = !1), r === e ? (n += e ? ":" : "::", o = !0) : (n += t[e].toString(16), e < 7 && (n += ":")));
+              return "[" + n + "]";
+            }
+            return t;
+          },
+          q = {},
+          B = p({}, q, {
+            " ": 1,
+            '"': 1,
+            "<": 1,
+            ">": 1,
+            "`": 1
+          }),
+          W = p({}, B, {
+            "#": 1,
+            "?": 1,
+            "{": 1,
+            "}": 1
+          }),
+          $ = p({}, W, {
+            "/": 1,
+            ":": 1,
+            ";": 1,
+            "=": 1,
+            "@": 1,
+            "[": 1,
+            "\\": 1,
+            "]": 1,
+            "^": 1,
+            "|": 1
+          }),
+          G = function G(t, n) {
+            var e = v(t, 0);
+            return e > 32 && e < 127 && !l(n, t) ? t : encodeURIComponent(t);
+          },
+          V = {
+            ftp: 21,
+            file: null,
+            http: 80,
+            https: 443,
+            ws: 80,
+            wss: 443
+          },
+          X = function X(t) {
+            return l(V, t.scheme);
+          },
+          Y = function Y(t) {
+            return "" != t.username || "" != t.password;
+          },
+          K = function K(t) {
+            return !t.host || t.cannotBeABaseURL || "file" == t.scheme;
+          },
+          J = function J(t, n) {
+            var e;
+            return 2 == t.length && A.test(t.charAt(0)) && (":" == (e = t.charAt(1)) || !n && "|" == e);
+          },
+          H = function H(t) {
+            var n;
+            return t.length > 1 && J(t.slice(0, 2)) && (2 == t.length || "/" === (n = t.charAt(2)) || "\\" === n || "?" === n || "#" === n);
+          },
+          Q = function Q(t) {
+            var n = t.path,
+              e = n.length;
+            !e || "file" == t.scheme && 1 == e && J(n[0], !0) || n.pop();
+          },
+          Z = function Z(t) {
+            return "." === t || "%2e" === t.toLowerCase();
+          },
+          tt = {},
+          nt = {},
+          et = {},
+          rt = {},
+          ot = {},
+          it = {},
+          at = {},
+          ut = {},
+          ct = {},
+          ft = {},
+          st = {},
+          lt = {},
+          pt = {},
+          ht = {},
+          vt = {},
+          gt = {},
+          dt = {},
+          yt = {},
+          xt = {},
+          mt = {},
+          bt = {},
+          St = function St(t, n, e, o) {
+            var i,
+              a,
+              u,
+              c,
+              f,
+              s = e || tt,
+              p = 0,
+              v = "",
+              g = !1,
+              d = !1,
+              y = !1;
+            for (e || (t.scheme = "", t.username = "", t.password = "", t.host = null, t.port = null, t.path = [], t.query = null, t.fragment = null, t.cannotBeABaseURL = !1, n = n.replace(N, "")), n = n.replace(C, ""), i = h(n); p <= i.length;) {
+              switch (a = i[p], s) {
+                case tt:
+                  if (!a || !A.test(a)) {
+                    if (e) return "Invalid scheme";
+                    s = et;
+                    continue;
+                  }
+                  v += a.toLowerCase(), s = nt;
+                  break;
+                case nt:
+                  if (a && (j.test(a) || "+" == a || "-" == a || "." == a)) v += a.toLowerCase();else {
+                    if (":" != a) {
+                      if (e) return "Invalid scheme";
+                      v = "", s = et, p = 0;
+                      continue;
+                    }
+                    if (e && (X(t) != l(V, v) || "file" == v && (Y(t) || null !== t.port) || "file" == t.scheme && !t.host)) return;
+                    if (t.scheme = v, e) return void (X(t) && V[t.scheme] == t.port && (t.port = null));
+                    v = "", "file" == t.scheme ? s = ht : X(t) && o && o.scheme == t.scheme ? s = rt : X(t) ? s = ut : "/" == i[p + 1] ? (s = ot, p++) : (t.cannotBeABaseURL = !0, t.path.push(""), s = xt);
+                  }
+                  break;
+                case et:
+                  if (!o || o.cannotBeABaseURL && "#" != a) return "Invalid scheme";
+                  if (o.cannotBeABaseURL && "#" == a) {
+                    t.scheme = o.scheme, t.path = o.path.slice(), t.query = o.query, t.fragment = "", t.cannotBeABaseURL = !0, s = bt;
+                    break;
+                  }
+                  s = "file" == o.scheme ? ht : it;
+                  continue;
+                case rt:
+                  if ("/" != a || "/" != i[p + 1]) {
+                    s = it;
+                    continue;
+                  }
+                  s = ct, p++;
+                  break;
+                case ot:
+                  if ("/" == a) {
+                    s = ft;
+                    break;
+                  }
+                  s = yt;
+                  continue;
+                case it:
+                  if (t.scheme = o.scheme, a == r) t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, t.path = o.path.slice(), t.query = o.query;else if ("/" == a || "\\" == a && X(t)) s = at;else if ("?" == a) t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, t.path = o.path.slice(), t.query = "", s = mt;else {
+                    if ("#" != a) {
+                      t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, t.path = o.path.slice(), t.path.pop(), s = yt;
+                      continue;
+                    }
+                    t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, t.path = o.path.slice(), t.query = o.query, t.fragment = "", s = bt;
+                  }
+                  break;
+                case at:
+                  if (!X(t) || "/" != a && "\\" != a) {
+                    if ("/" != a) {
+                      t.username = o.username, t.password = o.password, t.host = o.host, t.port = o.port, s = yt;
+                      continue;
+                    }
+                    s = ft;
+                  } else s = ct;
+                  break;
+                case ut:
+                  if (s = ct, "/" != a || "/" != v.charAt(p + 1)) continue;
+                  p++;
+                  break;
+                case ct:
+                  if ("/" != a && "\\" != a) {
+                    s = ft;
+                    continue;
+                  }
+                  break;
+                case ft:
+                  if ("@" == a) {
+                    g && (v = "%40" + v), g = !0, u = h(v);
+                    for (var x = 0; x < u.length; x++) {
+                      var m = u[x];
+                      if (":" != m || y) {
+                        var b = G(m, $);
+                        y ? t.password += b : t.username += b;
+                      } else y = !0;
+                    }
+                    v = "";
+                  } else if (a == r || "/" == a || "?" == a || "#" == a || "\\" == a && X(t)) {
+                    if (g && "" == v) return "Invalid authority";
+                    p -= h(v).length + 1, v = "", s = st;
+                  } else v += a;
+                  break;
+                case st:
+                case lt:
+                  if (e && "file" == t.scheme) {
+                    s = gt;
+                    continue;
+                  }
+                  if (":" != a || d) {
+                    if (a == r || "/" == a || "?" == a || "#" == a || "\\" == a && X(t)) {
+                      if (X(t) && "" == v) return "Invalid host";
+                      if (e && "" == v && (Y(t) || null !== t.port)) return;
+                      if (c = F(t, v)) return c;
+                      if (v = "", s = dt, e) return;
+                      continue;
+                    }
+                    "[" == a ? d = !0 : "]" == a && (d = !1), v += a;
+                  } else {
+                    if ("" == v) return "Invalid host";
+                    if (c = F(t, v)) return c;
+                    if (v = "", s = pt, e == lt) return;
+                  }
+                  break;
+                case pt:
+                  if (!I.test(a)) {
+                    if (a == r || "/" == a || "?" == a || "#" == a || "\\" == a && X(t) || e) {
+                      if ("" != v) {
+                        var S = parseInt(v, 10);
+                        if (S > 65535) return "Invalid port";
+                        t.port = X(t) && S === V[t.scheme] ? null : S, v = "";
+                      }
+                      if (e) return;
+                      s = dt;
+                      continue;
+                    }
+                    return "Invalid port";
+                  }
+                  v += a;
+                  break;
+                case ht:
+                  if (t.scheme = "file", "/" == a || "\\" == a) s = vt;else {
+                    if (!o || "file" != o.scheme) {
+                      s = yt;
+                      continue;
+                    }
+                    if (a == r) t.host = o.host, t.path = o.path.slice(), t.query = o.query;else if ("?" == a) t.host = o.host, t.path = o.path.slice(), t.query = "", s = mt;else {
+                      if ("#" != a) {
+                        H(i.slice(p).join("")) || (t.host = o.host, t.path = o.path.slice(), Q(t)), s = yt;
+                        continue;
+                      }
+                      t.host = o.host, t.path = o.path.slice(), t.query = o.query, t.fragment = "", s = bt;
+                    }
+                  }
+                  break;
+                case vt:
+                  if ("/" == a || "\\" == a) {
+                    s = gt;
+                    break;
+                  }
+                  o && "file" == o.scheme && !H(i.slice(p).join("")) && (J(o.path[0], !0) ? t.path.push(o.path[0]) : t.host = o.host), s = yt;
+                  continue;
+                case gt:
+                  if (a == r || "/" == a || "\\" == a || "?" == a || "#" == a) {
+                    if (!e && J(v)) s = yt;else if ("" == v) {
+                      if (t.host = "", e) return;
+                      s = dt;
+                    } else {
+                      if (c = F(t, v)) return c;
+                      if ("localhost" == t.host && (t.host = ""), e) return;
+                      v = "", s = dt;
+                    }
+                    continue;
+                  }
+                  v += a;
+                  break;
+                case dt:
+                  if (X(t)) {
+                    if (s = yt, "/" != a && "\\" != a) continue;
+                  } else if (e || "?" != a) {
+                    if (e || "#" != a) {
+                      if (a != r && (s = yt, "/" != a)) continue;
+                    } else t.fragment = "", s = bt;
+                  } else t.query = "", s = mt;
+                  break;
+                case yt:
+                  if (a == r || "/" == a || "\\" == a && X(t) || !e && ("?" == a || "#" == a)) {
+                    if (".." === (f = (f = v).toLowerCase()) || "%2e." === f || ".%2e" === f || "%2e%2e" === f ? (Q(t), "/" == a || "\\" == a && X(t) || t.path.push("")) : Z(v) ? "/" == a || "\\" == a && X(t) || t.path.push("") : ("file" == t.scheme && !t.path.length && J(v) && (t.host && (t.host = ""), v = v.charAt(0) + ":"), t.path.push(v)), v = "", "file" == t.scheme && (a == r || "?" == a || "#" == a)) for (; t.path.length > 1 && "" === t.path[0];) t.path.shift();
+                    "?" == a ? (t.query = "", s = mt) : "#" == a && (t.fragment = "", s = bt);
+                  } else v += G(a, W);
+                  break;
+                case xt:
+                  "?" == a ? (t.query = "", s = mt) : "#" == a ? (t.fragment = "", s = bt) : a != r && (t.path[0] += G(a, q));
+                  break;
+                case mt:
+                  e || "#" != a ? a != r && ("'" == a && X(t) ? t.query += "%27" : t.query += "#" == a ? "%23" : G(a, q)) : (t.fragment = "", s = bt);
+                  break;
+                case bt:
+                  a != r && (t.fragment += G(a, B));
+              }
+              p++;
+            }
+          },
+          _Et = function Et(t) {
+            var n,
+              e,
+              r = s(this, _Et, "URL"),
+              o = arguments.length > 1 ? arguments[1] : void 0,
+              a = String(t),
+              u = E(r, {
+                type: "URL"
+              });
+            if (void 0 !== o) if (o instanceof _Et) n = w(o);else if (e = St(n = {}, String(o))) throw TypeError(e);
+            if (e = St(u, a, null, n)) throw TypeError(e);
+            var c = u.searchParams = new b(),
+              f = S(c);
+            f.updateSearchParams(u.query), f.updateURL = function () {
+              u.query = String(c) || null;
+            }, i || (r.href = Ot.call(r), r.origin = Rt.call(r), r.protocol = At.call(r), r.username = jt.call(r), r.password = It.call(r), r.host = kt.call(r), r.hostname = Pt.call(r), r.port = Lt.call(r), r.pathname = Tt.call(r), r.search = _t.call(r), r.searchParams = Ut.call(r), r.hash = Nt.call(r));
+          },
+          wt = _Et.prototype,
+          Ot = function Ot() {
+            var t = w(this),
+              n = t.scheme,
+              e = t.username,
+              r = t.password,
+              o = t.host,
+              i = t.port,
+              a = t.path,
+              u = t.query,
+              c = t.fragment,
+              f = n + ":";
+            return null !== o ? (f += "//", Y(t) && (f += e + (r ? ":" + r : "") + "@"), f += D(o), null !== i && (f += ":" + i)) : "file" == n && (f += "//"), f += t.cannotBeABaseURL ? a[0] : a.length ? "/" + a.join("/") : "", null !== u && (f += "?" + u), null !== c && (f += "#" + c), f;
+          },
+          Rt = function Rt() {
+            var t = w(this),
+              n = t.scheme,
+              e = t.port;
+            if ("blob" == n) try {
+              return new URL(n.path[0]).origin;
+            } catch (t) {
+              return "null";
+            }
+            return "file" != n && X(t) ? n + "://" + D(t.host) + (null !== e ? ":" + e : "") : "null";
+          },
+          At = function At() {
+            return w(this).scheme + ":";
+          },
+          jt = function jt() {
+            return w(this).username;
+          },
+          It = function It() {
+            return w(this).password;
+          },
+          kt = function kt() {
+            var t = w(this),
+              n = t.host,
+              e = t.port;
+            return null === n ? "" : null === e ? D(n) : D(n) + ":" + e;
+          },
+          Pt = function Pt() {
+            var t = w(this).host;
+            return null === t ? "" : D(t);
+          },
+          Lt = function Lt() {
+            var t = w(this).port;
+            return null === t ? "" : String(t);
+          },
+          Tt = function Tt() {
+            var t = w(this),
+              n = t.path;
+            return t.cannotBeABaseURL ? n[0] : n.length ? "/" + n.join("/") : "";
+          },
+          _t = function _t() {
+            var t = w(this).query;
+            return t ? "?" + t : "";
+          },
+          Ut = function Ut() {
+            return w(this).searchParams;
+          },
+          Nt = function Nt() {
+            var t = w(this).fragment;
+            return t ? "#" + t : "";
+          },
+          Ct = function Ct(t, n) {
+            return {
+              get: t,
+              set: n,
+              configurable: !0,
+              enumerable: !0
+            };
+          };
+        if (i && c(wt, {
+          href: Ct(Ot, function (t) {
+            var n = w(this),
+              e = String(t),
+              r = St(n, e);
+            if (r) throw TypeError(r);
+            S(n.searchParams).updateSearchParams(n.query);
+          }),
+          origin: Ct(Rt),
+          protocol: Ct(At, function (t) {
+            var n = w(this);
+            St(n, String(t) + ":", tt);
+          }),
+          username: Ct(jt, function (t) {
+            var n = w(this),
+              e = h(String(t));
+            if (!K(n)) {
+              n.username = "";
+              for (var r = 0; r < e.length; r++) n.username += G(e[r], $);
+            }
+          }),
+          password: Ct(It, function (t) {
+            var n = w(this),
+              e = h(String(t));
+            if (!K(n)) {
+              n.password = "";
+              for (var r = 0; r < e.length; r++) n.password += G(e[r], $);
+            }
+          }),
+          host: Ct(kt, function (t) {
+            var n = w(this);
+            n.cannotBeABaseURL || St(n, String(t), st);
+          }),
+          hostname: Ct(Pt, function (t) {
+            var n = w(this);
+            n.cannotBeABaseURL || St(n, String(t), lt);
+          }),
+          port: Ct(Lt, function (t) {
+            var n = w(this);
+            K(n) || ("" == (t = String(t)) ? n.port = null : St(n, t, pt));
+          }),
+          pathname: Ct(Tt, function (t) {
+            var n = w(this);
+            n.cannotBeABaseURL || (n.path = [], St(n, t + "", dt));
+          }),
+          search: Ct(_t, function (t) {
+            var n = w(this);
+            "" == (t = String(t)) ? n.query = null : ("?" == t.charAt(0) && (t = t.slice(1)), n.query = "", St(n, t, mt)), S(n.searchParams).updateSearchParams(n.query);
+          }),
+          searchParams: Ct(Ut),
+          hash: Ct(Nt, function (t) {
+            var n = w(this);
+            "" != (t = String(t)) ? ("#" == t.charAt(0) && (t = t.slice(1)), n.fragment = "", St(n, t, bt)) : n.fragment = null;
+          })
+        }), f(wt, "toJSON", function () {
+          return Ot.call(this);
+        }, {
+          enumerable: !0
+        }), f(wt, "toString", function () {
+          return Ot.call(this);
+        }, {
+          enumerable: !0
+        }), m) {
+          var Ft = m.createObjectURL,
+            Mt = m.revokeObjectURL;
+          Ft && f(_Et, "createObjectURL", function (t) {
+            return Ft.apply(m, arguments);
+          }), Mt && f(_Et, "revokeObjectURL", function (t) {
+            return Mt.apply(m, arguments);
+          });
+        }
+        d(_Et, "URL"), o({
+          global: !0,
+          forced: !a,
+          sham: !i
+        }, {
+          URL: _Et
+        });
+      }, function (t, n, e) {
+        var r = e(6),
+          o = e(49),
+          i = e(29),
+          a = o("iterator");
+        t.exports = !r(function () {
+          var t = new URL("b?a=1&b=2&c=3", "http://a"),
+            n = t.searchParams,
+            e = "";
+          return t.pathname = "c%20d", n.forEach(function (t, r) {
+            n.delete("b"), e += r + t;
+          }), i && !t.toJSON || !n.sort || "http://a/c%20d?a=1&c=3" !== t.href || "3" !== n.get("c") || "a=1" !== String(new URLSearchParams("?a=1")) || !n[a] || "a" !== new URL("https://a@b").username || "b" !== new URLSearchParams(new URLSearchParams("a=b")).get("a") || "xn--e1aybc" !== new URL("http://тест").host || "#%D0%B1" !== new URL("http://a#б").hash || "a1c3" !== e || "x" !== new URL("http://x", void 0).host;
+        });
+      }, function (t, n, e) {
+        var r = /[^\0-\u007E]/,
+          o = /[.\u3002\uFF0E\uFF61]/g,
+          i = "Overflow: input needs wider integers to process",
+          a = Math.floor,
+          u = String.fromCharCode,
+          c = function c(t) {
+            return t + 22 + 75 * (t < 26);
+          },
+          f = function f(t, n, e) {
+            var r = 0;
+            for (t = e ? a(t / 700) : t >> 1, t += a(t / n); t > 455; r += 36) t = a(t / 35);
+            return a(r + 36 * t / (t + 38));
+          },
+          s = function s(t) {
+            var n,
+              e,
+              r = [],
+              o = (t = function (t) {
+                for (var n = [], e = 0, r = t.length; e < r;) {
+                  var o = t.charCodeAt(e++);
+                  if (o >= 55296 && o <= 56319 && e < r) {
+                    var i = t.charCodeAt(e++);
+                    56320 == (64512 & i) ? n.push(((1023 & o) << 10) + (1023 & i) + 65536) : (n.push(o), e--);
+                  } else n.push(o);
+                }
+                return n;
+              }(t)).length,
+              s = 128,
+              l = 0,
+              p = 72;
+            for (n = 0; n < t.length; n++) (e = t[n]) < 128 && r.push(u(e));
+            var h = r.length,
+              v = h;
+            for (h && r.push("-"); v < o;) {
+              var g = 2147483647;
+              for (n = 0; n < t.length; n++) (e = t[n]) >= s && e < g && (g = e);
+              var d = v + 1;
+              if (g - s > a((2147483647 - l) / d)) throw RangeError(i);
+              for (l += (g - s) * d, s = g, n = 0; n < t.length; n++) {
+                if ((e = t[n]) < s && ++l > 2147483647) throw RangeError(i);
+                if (e == s) {
+                  for (var y = l, x = 36;; x += 36) {
+                    var m = x <= p ? 1 : x >= p + 26 ? 26 : x - p;
+                    if (y < m) break;
+                    var b = y - m,
+                      S = 36 - m;
+                    r.push(u(c(m + b % S))), y = a(b / S);
+                  }
+                  r.push(u(c(y))), p = f(l, d, v == h), l = 0, ++v;
+                }
+              }
+              ++l, ++s;
+            }
+            return r.join("");
+          };
+        t.exports = function (t) {
+          var n,
+            e,
+            i = [],
+            a = t.toLowerCase().replace(o, ".").split(".");
+          for (n = 0; n < a.length; n++) e = a[n], i.push(r.test(e) ? "xn--" + s(e) : e);
+          return i.join(".");
+        };
+      }, function (t, n, e) {
+        e(89);
+        var r = e(2),
+          o = e(34),
+          i = e(244),
+          a = e(21),
+          u = e(126),
+          c = e(95),
+          f = e(91),
+          s = e(25),
+          l = e(123),
+          p = e(15),
+          h = e(64),
+          v = e(84),
+          g = e(20),
+          d = e(14),
+          y = e(58),
+          x = e(8),
+          m = e(247),
+          b = e(83),
+          S = e(49),
+          E = o("fetch"),
+          w = o("Headers"),
+          O = S("iterator"),
+          R = s.set,
+          A = s.getterFor("URLSearchParams"),
+          j = s.getterFor("URLSearchParamsIterator"),
+          I = /\+/g,
+          k = Array(4),
+          P = function P(t) {
+            return k[t - 1] || (k[t - 1] = RegExp("((?:%[\\da-f]{2}){" + t + "})", "gi"));
+          },
+          L = function L(t) {
+            try {
+              return decodeURIComponent(t);
+            } catch (n) {
+              return t;
+            }
+          },
+          T = function T(t) {
+            var n = t.replace(I, " "),
+              e = 4;
+            try {
+              return decodeURIComponent(n);
+            } catch (t) {
+              for (; e;) n = n.replace(P(e--), L);
+              return n;
+            }
+          },
+          _ = /[!'()~]|%20/g,
+          U = {
+            "!": "%21",
+            "'": "%27",
+            "(": "%28",
+            ")": "%29",
+            "~": "%7E",
+            "%20": "+"
+          },
+          N = function N(t) {
+            return U[t];
+          },
+          C = function C(t) {
+            return encodeURIComponent(t).replace(_, N);
+          },
+          F = function F(t, n) {
+            if (n) for (var e, r, o = n.split("&"), i = 0; i < o.length;) (e = o[i++]).length && (r = e.split("="), t.push({
+              key: T(r.shift()),
+              value: T(r.join("="))
+            }));
+          },
+          M = function M(t) {
+            this.entries.length = 0, F(this.entries, t);
+          },
+          z = function z(t, n) {
+            if (t < n) throw TypeError("Not enough arguments");
+          },
+          D = f(function (t, n) {
+            R(this, {
+              type: "URLSearchParamsIterator",
+              iterator: m(A(t).entries),
+              kind: n
+            });
+          }, "Iterator", function () {
+            var t = j(this),
+              n = t.kind,
+              e = t.iterator.next(),
+              r = e.value;
+            return e.done || (e.value = "keys" === n ? r.key : "values" === n ? r.value : [r.key, r.value]), e;
+          }),
+          _q = function q() {
+            l(this, _q, "URLSearchParams");
+            var t,
+              n,
+              e,
+              r,
+              o,
+              i,
+              a,
+              u,
+              c,
+              f = arguments.length > 0 ? arguments[0] : void 0,
+              s = this,
+              h = [];
+            if (R(s, {
+              type: "URLSearchParams",
+              entries: h,
+              updateURL: function updateURL() {},
+              updateSearchParams: M
+            }), void 0 !== f) if (d(f)) {
+              if ("function" == typeof (t = b(f))) for (e = (n = t.call(f)).next; !(r = e.call(n)).done;) {
+                if ((a = (i = (o = m(g(r.value))).next).call(o)).done || (u = i.call(o)).done || !i.call(o).done) throw TypeError("Expected sequence with length 2");
+                h.push({
+                  key: a.value + "",
+                  value: u.value + ""
+                });
+              } else for (c in f) p(f, c) && h.push({
+                key: c,
+                value: f[c] + ""
+              });
+            } else F(h, "string" == typeof f ? "?" === f.charAt(0) ? f.slice(1) : f : f + "");
+          },
+          B = _q.prototype;
+        u(B, {
+          append: function append(t, n) {
+            z(arguments.length, 2);
+            var e = A(this);
+            e.entries.push({
+              key: t + "",
+              value: n + ""
+            }), e.updateURL();
+          },
+          delete: function _delete(t) {
+            z(arguments.length, 1);
+            for (var n = A(this), e = n.entries, r = t + "", o = 0; o < e.length;) e[o].key === r ? e.splice(o, 1) : o++;
+            n.updateURL();
+          },
+          get: function get(t) {
+            z(arguments.length, 1);
+            for (var n = A(this).entries, e = t + "", r = 0; r < n.length; r++) if (n[r].key === e) return n[r].value;
+            return null;
+          },
+          getAll: function getAll(t) {
+            z(arguments.length, 1);
+            for (var n = A(this).entries, e = t + "", r = [], o = 0; o < n.length; o++) n[o].key === e && r.push(n[o].value);
+            return r;
+          },
+          has: function has(t) {
+            z(arguments.length, 1);
+            for (var n = A(this).entries, e = t + "", r = 0; r < n.length;) if (n[r++].key === e) return !0;
+            return !1;
+          },
+          set: function set(t, n) {
+            z(arguments.length, 1);
+            for (var e, r = A(this), o = r.entries, i = !1, a = t + "", u = n + "", c = 0; c < o.length; c++) (e = o[c]).key === a && (i ? o.splice(c--, 1) : (i = !0, e.value = u));
+            i || o.push({
+              key: a,
+              value: u
+            }), r.updateURL();
+          },
+          sort: function sort() {
+            var t,
+              n,
+              e,
+              r = A(this),
+              o = r.entries,
+              i = o.slice();
+            for (o.length = 0, e = 0; e < i.length; e++) {
+              for (t = i[e], n = 0; n < e; n++) if (o[n].key > t.key) {
+                o.splice(n, 0, t);
+                break;
+              }
+              n === e && o.push(t);
+            }
+            r.updateURL();
+          },
+          forEach: function forEach(t) {
+            for (var n, e = A(this).entries, r = h(t, arguments.length > 1 ? arguments[1] : void 0, 3), o = 0; o < e.length;) r((n = e[o++]).value, n.key, this);
+          },
+          keys: function keys() {
+            return new D(this, "keys");
+          },
+          values: function values() {
+            return new D(this, "values");
+          },
+          entries: function entries() {
+            return new D(this, "entries");
+          }
+        }, {
+          enumerable: !0
+        }), a(B, O, B.entries), a(B, "toString", function () {
+          for (var t, n = A(this).entries, e = [], r = 0; r < n.length;) t = n[r++], e.push(C(t.key) + "=" + C(t.value));
+          return e.join("&");
+        }, {
+          enumerable: !0
+        }), c(_q, "URLSearchParams"), r({
+          global: !0,
+          forced: !i
+        }, {
+          URLSearchParams: _q
+        }), i || "function" != typeof E || "function" != typeof w || r({
+          global: !0,
+          enumerable: !0,
+          forced: !0
+        }, {
+          fetch: function fetch(t) {
+            var n,
+              e,
+              r,
+              o = [t];
+            return arguments.length > 1 && (n = arguments[1], d(n) && (e = n.body, "URLSearchParams" === v(e) && ((r = n.headers ? new w(n.headers) : new w()).has("content-type") || r.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"), n = y(n, {
+              body: x(0, String(e)),
+              headers: x(0, r)
+            }))), o.push(n)), E.apply(this, o);
+          }
+        }), t.exports = {
+          URLSearchParams: _q,
+          getState: A
+        };
+      }, function (t, n, e) {
+        var r = e(20),
+          o = e(83);
+        t.exports = function (t) {
+          var n = o(t);
+          if ("function" != typeof n) throw TypeError(String(t) + " is not iterable");
+          return r(n.call(t));
+        };
+      }, function (t, n, e) {
+        e(2)({
+          target: "URL",
+          proto: !0,
+          enumerable: !0
+        }, {
+          toJSON: function toJSON() {
+            return URL.prototype.toString.call(this);
+          }
+        });
+      }]);
+    }();
+
+    //!fetch 3.0.0, global "this" must be replaced with "window"
+    // IIFE version
+    !function (t) {
+      "use strict";
+
+      var e = "URLSearchParams" in self,
+        r = "Symbol" in self && "iterator" in Symbol,
+        o = "FileReader" in self && "Blob" in self && function () {
+          try {
+            return new Blob(), !0;
+          } catch (t) {
+            return !1;
+          }
+        }(),
+        n = "FormData" in self,
+        i = "ArrayBuffer" in self;
+      if (i) var s = ["[object Int8Array]", "[object Uint8Array]", "[object Uint8ClampedArray]", "[object Int16Array]", "[object Uint16Array]", "[object Int32Array]", "[object Uint32Array]", "[object Float32Array]", "[object Float64Array]"],
+        a = ArrayBuffer.isView || function (t) {
+          return t && s.indexOf(Object.prototype.toString.call(t)) > -1;
+        };
+      function h(t) {
+        if ("string" != typeof t && (t = String(t)), /[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t)) throw new TypeError("Invalid character in header field name");
+        return t.toLowerCase();
+      }
+      function u(t) {
+        return "string" != typeof t && (t = String(t)), t;
+      }
+      function f(t) {
+        var e = {
+          next: function next() {
+            var e = t.shift();
+            return {
+              done: void 0 === e,
+              value: e
+            };
+          }
+        };
+        return r && (e[Symbol.iterator] = function () {
+          return e;
+        }), e;
+      }
+      function d(t) {
+        this.map = {}, t instanceof d ? t.forEach(function (t, e) {
+          this.append(e, t);
+        }, this) : Array.isArray(t) ? t.forEach(function (t) {
+          this.append(t[0], t[1]);
+        }, this) : t && Object.getOwnPropertyNames(t).forEach(function (e) {
+          this.append(e, t[e]);
+        }, this);
+      }
+      function c(t) {
+        if (t.bodyUsed) return Promise.reject(new TypeError("Already read"));
+        t.bodyUsed = !0;
+      }
+      function p(t) {
+        return new Promise(function (e, r) {
+          t.onload = function () {
+            e(t.result);
+          }, t.onerror = function () {
+            r(t.error);
+          };
+        });
+      }
+      function y(t) {
+        var e = new FileReader(),
+          r = p(e);
+        return e.readAsArrayBuffer(t), r;
+      }
+      function l(t) {
+        if (t.slice) return t.slice(0);
+        var e = new Uint8Array(t.byteLength);
+        return e.set(new Uint8Array(t)), e.buffer;
+      }
+      function b() {
+        return this.bodyUsed = !1, this._initBody = function (t) {
+          var r;
+          this._bodyInit = t, t ? "string" == typeof t ? this._bodyText = t : o && Blob.prototype.isPrototypeOf(t) ? this._bodyBlob = t : n && FormData.prototype.isPrototypeOf(t) ? this._bodyFormData = t : e && URLSearchParams.prototype.isPrototypeOf(t) ? this._bodyText = t.toString() : i && o && (r = t) && DataView.prototype.isPrototypeOf(r) ? (this._bodyArrayBuffer = l(t.buffer), this._bodyInit = new Blob([this._bodyArrayBuffer])) : i && (ArrayBuffer.prototype.isPrototypeOf(t) || a(t)) ? this._bodyArrayBuffer = l(t) : this._bodyText = t = Object.prototype.toString.call(t) : this._bodyText = "", this.headers.get("content-type") || ("string" == typeof t ? this.headers.set("content-type", "text/plain;charset=UTF-8") : this._bodyBlob && this._bodyBlob.type ? this.headers.set("content-type", this._bodyBlob.type) : e && URLSearchParams.prototype.isPrototypeOf(t) && this.headers.set("content-type", "application/x-www-form-urlencoded;charset=UTF-8"));
+        }, o && (this.blob = function () {
+          var t = c(this);
+          if (t) return t;
+          if (this._bodyBlob) return Promise.resolve(this._bodyBlob);
+          if (this._bodyArrayBuffer) return Promise.resolve(new Blob([this._bodyArrayBuffer]));
+          if (this._bodyFormData) throw new Error("could not read FormData body as blob");
+          return Promise.resolve(new Blob([this._bodyText]));
+        }, this.arrayBuffer = function () {
+          return this._bodyArrayBuffer ? c(this) || Promise.resolve(this._bodyArrayBuffer) : this.blob().then(y);
+        }), this.text = function () {
+          var t,
+            e,
+            r,
+            o = c(this);
+          if (o) return o;
+          if (this._bodyBlob) return t = this._bodyBlob, e = new FileReader(), r = p(e), e.readAsText(t), r;
+          if (this._bodyArrayBuffer) return Promise.resolve(function (t) {
+            for (var e = new Uint8Array(t), r = new Array(e.length), o = 0; o < e.length; o++) r[o] = String.fromCharCode(e[o]);
+            return r.join("");
+          }(this._bodyArrayBuffer));
+          if (this._bodyFormData) throw new Error("could not read FormData body as text");
+          return Promise.resolve(this._bodyText);
+        }, n && (this.formData = function () {
+          return this.text().then(v);
+        }), this.json = function () {
+          return this.text().then(JSON.parse);
+        }, this;
+      }
+      d.prototype.append = function (t, e) {
+        t = h(t), e = u(e);
+        var r = this.map[t];
+        this.map[t] = r ? r + ", " + e : e;
+      }, d.prototype.delete = function (t) {
+        delete this.map[h(t)];
+      }, d.prototype.get = function (t) {
+        return t = h(t), this.has(t) ? this.map[t] : null;
+      }, d.prototype.has = function (t) {
+        return this.map.hasOwnProperty(h(t));
+      }, d.prototype.set = function (t, e) {
+        this.map[h(t)] = u(e);
+      }, d.prototype.forEach = function (t, e) {
+        for (var r in this.map) this.map.hasOwnProperty(r) && t.call(e, this.map[r], r, this);
+      }, d.prototype.keys = function () {
+        var t = [];
+        return this.forEach(function (e, r) {
+          t.push(r);
+        }), f(t);
+      }, d.prototype.values = function () {
+        var t = [];
+        return this.forEach(function (e) {
+          t.push(e);
+        }), f(t);
+      }, d.prototype.entries = function () {
+        var t = [];
+        return this.forEach(function (e, r) {
+          t.push([r, e]);
+        }), f(t);
+      }, r && (d.prototype[Symbol.iterator] = d.prototype.entries);
+      var m = ["DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT"];
+      function w(t, e) {
+        var r,
+          o,
+          n = (e = e || {}).body;
+        if (t instanceof w) {
+          if (t.bodyUsed) throw new TypeError("Already read");
+          this.url = t.url, this.credentials = t.credentials, e.headers || (this.headers = new d(t.headers)), this.method = t.method, this.mode = t.mode, this.signal = t.signal, n || null == t._bodyInit || (n = t._bodyInit, t.bodyUsed = !0);
+        } else this.url = String(t);
+        if (this.credentials = e.credentials || this.credentials || "same-origin", !e.headers && this.headers || (this.headers = new d(e.headers)), this.method = (r = e.method || this.method || "GET", o = r.toUpperCase(), m.indexOf(o) > -1 ? o : r), this.mode = e.mode || this.mode || null, this.signal = e.signal || this.signal, this.referrer = null, ("GET" === this.method || "HEAD" === this.method) && n) throw new TypeError("Body not allowed for GET or HEAD requests");
+        this._initBody(n);
+      }
+      function v(t) {
+        var e = new FormData();
+        return t.trim().split("&").forEach(function (t) {
+          if (t) {
+            var r = t.split("="),
+              o = r.shift().replace(/\+/g, " "),
+              n = r.join("=").replace(/\+/g, " ");
+            e.append(decodeURIComponent(o), decodeURIComponent(n));
+          }
+        }), e;
+      }
+      function E(t, e) {
+        e || (e = {}), this.type = "default", this.status = void 0 === e.status ? 200 : e.status, this.ok = this.status >= 200 && this.status < 300, this.statusText = "statusText" in e ? e.statusText : "OK", this.headers = new d(e.headers), this.url = e.url || "", this._initBody(t);
+      }
+      w.prototype.clone = function () {
+        return new w(this, {
+          body: this._bodyInit
+        });
+      }, b.call(w.prototype), b.call(E.prototype), E.prototype.clone = function () {
+        return new E(this._bodyInit, {
+          status: this.status,
+          statusText: this.statusText,
+          headers: new d(this.headers),
+          url: this.url
+        });
+      }, E.error = function () {
+        var t = new E(null, {
+          status: 0,
+          statusText: ""
+        });
+        return t.type = "error", t;
+      };
+      var A = [301, 302, 303, 307, 308];
+      E.redirect = function (t, e) {
+        if (-1 === A.indexOf(e)) throw new RangeError("Invalid status code");
+        return new E(null, {
+          status: e,
+          headers: {
+            location: t
+          }
+        });
+      }, t.DOMException = self.DOMException;
+      try {
+        new t.DOMException();
+      } catch (e) {
+        t.DOMException = function (t, e) {
+          this.message = t, this.name = e;
+          var r = Error(t);
+          this.stack = r.stack;
+        }, t.DOMException.prototype = Object.create(Error.prototype), t.DOMException.prototype.constructor = t.DOMException;
+      }
+      function _(e, r) {
+        return new Promise(function (n, i) {
+          var s = new w(e, r);
+          if (s.signal && s.signal.aborted) return i(new t.DOMException("Aborted", "AbortError"));
+          var a = new XMLHttpRequest();
+          function h() {
+            a.abort();
+          }
+          a.onload = function () {
+            var t,
+              e,
+              r = {
+                status: a.status,
+                statusText: a.statusText,
+                headers: (t = a.getAllResponseHeaders() || "", e = new d(), t.replace(/\r?\n[\t ]+/g, " ").split(/\r?\n/).forEach(function (t) {
+                  var r = t.split(":"),
+                    o = r.shift().trim();
+                  if (o) {
+                    var n = r.join(":").trim();
+                    e.append(o, n);
+                  }
+                }), e)
+              };
+            r.url = "responseURL" in a ? a.responseURL : r.headers.get("X-Request-URL");
+            var o = "response" in a ? a.response : a.responseText;
+            n(new E(o, r));
+          }, a.onerror = function () {
+            i(new TypeError("Network request failed"));
+          }, a.ontimeout = function () {
+            i(new TypeError("Network request failed"));
+          }, a.onabort = function () {
+            i(new t.DOMException("Aborted", "AbortError"));
+          }, a.open(s.method, s.url, !0), "include" === s.credentials ? a.withCredentials = !0 : "omit" === s.credentials && (a.withCredentials = !1), "responseType" in a && o && (a.responseType = "blob"), s.headers.forEach(function (t, e) {
+            a.setRequestHeader(e, t);
+          }), s.signal && (s.signal.addEventListener("abort", h), a.onreadystatechange = function () {
+            4 === a.readyState && s.signal.removeEventListener("abort", h);
+          }), a.send(void 0 === s._bodyInit ? null : s._bodyInit);
+        });
+      }
+      _.polyfill = !0, self.fetch || (self.fetch = _, self.Headers = d, self.Request = w, self.Response = E), t.Headers = d, t.Request = w, t.Response = E, t.fetch = _;
+    }({});
+    (function () {
+      /*
+        Copyright (c) 2016 The Polymer Project Authors. All rights reserved.
+        This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
+        The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
+        The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
+        Code distributed by Google as part of the polymer project is also
+        subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
+      */
+      'use strict';
+
+      var aa = new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));
+      function g(a) {
+        var b = aa.has(a);
+        a = /^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(a);
+        return !b && a;
+      }
+      function l(a) {
+        var b = a.isConnected;
+        if (void 0 !== b) return b;
+        for (; a && !(a.__CE_isImportDocument || a instanceof Document);) a = a.parentNode || (window.ShadowRoot && a instanceof ShadowRoot ? a.host : void 0);
+        return !(!a || !(a.__CE_isImportDocument || a instanceof Document));
+      }
+      function n(a, b) {
+        for (; b && b !== a && !b.nextSibling;) b = b.parentNode;
+        return b && b !== a ? b.nextSibling : null;
+      }
+      function p(a, b, d) {
+        d = void 0 === d ? new Set() : d;
+        for (var c = a; c;) {
+          if (c.nodeType === Node.ELEMENT_NODE) {
+            var e = c;
+            b(e);
+            var f = e.localName;
+            if ("link" === f && "import" === e.getAttribute("rel")) {
+              c = e.import;
+              if (c instanceof Node && !d.has(c)) for (d.add(c), c = c.firstChild; c; c = c.nextSibling) p(c, b, d);
+              c = n(a, e);
+              continue;
+            } else if ("template" === f) {
+              c = n(a, e);
+              continue;
+            }
+            if (e = e.__CE_shadowRoot) for (e = e.firstChild; e; e = e.nextSibling) p(e, b, d);
+          }
+          c = c.firstChild ? c.firstChild : n(a, c);
+        }
+      }
+      function r(a, b, d) {
+        a[b] = d;
+      }
+      ;
+      function u() {
+        this.a = new Map();
+        this.g = new Map();
+        this.c = [];
+        this.f = [];
+        this.b = !1;
+      }
+      function ba(a, b, d) {
+        a.a.set(b, d);
+        a.g.set(d.constructorFunction, d);
+      }
+      function ca(a, b) {
+        a.b = !0;
+        a.c.push(b);
+      }
+      function da(a, b) {
+        a.b = !0;
+        a.f.push(b);
+      }
+      function v(a, b) {
+        a.b && p(b, function (b) {
+          return w(a, b);
+        });
+      }
+      function w(a, b) {
+        if (a.b && !b.__CE_patched) {
+          b.__CE_patched = !0;
+          for (var d = 0; d < a.c.length; d++) a.c[d](b);
+          for (d = 0; d < a.f.length; d++) a.f[d](b);
+        }
+      }
+      function x(a, b) {
+        var d = [];
+        p(b, function (b) {
+          return d.push(b);
+        });
+        for (b = 0; b < d.length; b++) {
+          var c = d[b];
+          1 === c.__CE_state ? a.connectedCallback(c) : y(a, c);
+        }
+      }
+      function z(a, b) {
+        var d = [];
+        p(b, function (b) {
+          return d.push(b);
+        });
+        for (b = 0; b < d.length; b++) {
+          var c = d[b];
+          1 === c.__CE_state && a.disconnectedCallback(c);
+        }
+      }
+      function A(a, b, d) {
+        d = void 0 === d ? {} : d;
+        var c = d.u || new Set(),
+          e = d.i || function (b) {
+            return y(a, b);
+          },
+          f = [];
+        p(b, function (b) {
+          if ("link" === b.localName && "import" === b.getAttribute("rel")) {
+            var d = b.import;
+            d instanceof Node && (d.__CE_isImportDocument = !0, d.__CE_hasRegistry = !0);
+            d && "complete" === d.readyState ? d.__CE_documentLoadHandled = !0 : b.addEventListener("load", function () {
+              var d = b.import;
+              if (!d.__CE_documentLoadHandled) {
+                d.__CE_documentLoadHandled = !0;
+                var f = new Set(c);
+                f.delete(d);
+                A(a, d, {
+                  u: f,
+                  i: e
+                });
+              }
+            });
+          } else f.push(b);
+        }, c);
+        if (a.b) for (b = 0; b < f.length; b++) w(a, f[b]);
+        for (b = 0; b < f.length; b++) e(f[b]);
+      }
+      function y(a, b) {
+        if (void 0 === b.__CE_state) {
+          var d = b.ownerDocument;
+          if (d.defaultView || d.__CE_isImportDocument && d.__CE_hasRegistry) if (d = a.a.get(b.localName)) {
+            d.constructionStack.push(b);
+            var c = d.constructorFunction;
+            try {
+              try {
+                if (new c() !== b) throw Error("The custom element constructor did not produce the element being upgraded.");
+              } finally {
+                d.constructionStack.pop();
+              }
+            } catch (t) {
+              throw b.__CE_state = 2, t;
+            }
+            b.__CE_state = 1;
+            b.__CE_definition = d;
+            if (d.attributeChangedCallback) for (d = d.observedAttributes, c = 0; c < d.length; c++) {
+              var e = d[c],
+                f = b.getAttribute(e);
+              null !== f && a.attributeChangedCallback(b, e, null, f, null);
+            }
+            l(b) && a.connectedCallback(b);
+          }
+        }
+      }
+      u.prototype.connectedCallback = function (a) {
+        var b = a.__CE_definition;
+        b.connectedCallback && b.connectedCallback.call(a);
+      };
+      u.prototype.disconnectedCallback = function (a) {
+        var b = a.__CE_definition;
+        b.disconnectedCallback && b.disconnectedCallback.call(a);
+      };
+      u.prototype.attributeChangedCallback = function (a, b, d, c, e) {
+        var f = a.__CE_definition;
+        f.attributeChangedCallback && -1 < f.observedAttributes.indexOf(b) && f.attributeChangedCallback.call(a, b, d, c, e);
+      };
+      function B(a) {
+        var b = document;
+        this.c = a;
+        this.a = b;
+        this.b = void 0;
+        A(this.c, this.a);
+        "loading" === this.a.readyState && (this.b = new MutationObserver(this.f.bind(this)), this.b.observe(this.a, {
+          childList: !0,
+          subtree: !0
+        }));
+      }
+      function C(a) {
+        a.b && a.b.disconnect();
+      }
+      B.prototype.f = function (a) {
+        var b = this.a.readyState;
+        "interactive" !== b && "complete" !== b || C(this);
+        for (b = 0; b < a.length; b++) for (var d = a[b].addedNodes, c = 0; c < d.length; c++) A(this.c, d[c]);
+      };
+      function ea() {
+        var a = this;
+        this.b = this.a = void 0;
+        this.c = new Promise(function (b) {
+          a.b = b;
+          a.a && b(a.a);
+        });
+      }
+      function D(a) {
+        if (a.a) throw Error("Already resolved.");
+        a.a = void 0;
+        a.b && a.b(void 0);
+      }
+      ;
+      function E(a) {
+        this.c = !1;
+        this.a = a;
+        this.j = new Map();
+        this.f = function (b) {
+          return b();
+        };
+        this.b = !1;
+        this.g = [];
+        this.o = new B(a);
+      }
+      E.prototype.l = function (a, b) {
+        var d = this;
+        if (!(b instanceof Function)) throw new TypeError("Custom element constructors must be functions.");
+        if (!g(a)) throw new SyntaxError("The element name '" + a + "' is not valid.");
+        if (this.a.a.get(a)) throw Error("A custom element with name '" + a + "' has already been defined.");
+        if (this.c) throw Error("A custom element is already being defined.");
+        this.c = !0;
+        try {
+          var c = function c(b) {
+              var a = e[b];
+              if (void 0 !== a && !(a instanceof Function)) throw Error("The '" + b + "' callback must be a function.");
+              return a;
+            },
+            e = b.prototype;
+          if (!(e instanceof Object)) throw new TypeError("The custom element constructor's prototype is not an object.");
+          var f = c("connectedCallback");
+          var t = c("disconnectedCallback");
+          var k = c("adoptedCallback");
+          var h = c("attributeChangedCallback");
+          var m = b.observedAttributes || [];
+        } catch (q) {
+          return;
+        } finally {
+          this.c = !1;
+        }
+        b = {
+          localName: a,
+          constructorFunction: b,
+          connectedCallback: f,
+          disconnectedCallback: t,
+          adoptedCallback: k,
+          attributeChangedCallback: h,
+          observedAttributes: m,
+          constructionStack: []
+        };
+        ba(this.a, a, b);
+        this.g.push(b);
+        this.b || (this.b = !0, this.f(function () {
+          return fa(d);
+        }));
+      };
+      E.prototype.i = function (a) {
+        A(this.a, a);
+      };
+      function fa(a) {
+        if (!1 !== a.b) {
+          a.b = !1;
+          for (var b = a.g, d = [], c = new Map(), e = 0; e < b.length; e++) c.set(b[e].localName, []);
+          A(a.a, document, {
+            i: function i(b) {
+              if (void 0 === b.__CE_state) {
+                var e = b.localName,
+                  f = c.get(e);
+                f ? f.push(b) : a.a.a.get(e) && d.push(b);
+              }
+            }
+          });
+          for (e = 0; e < d.length; e++) y(a.a, d[e]);
+          for (; 0 < b.length;) {
+            var f = b.shift();
+            e = f.localName;
+            f = c.get(f.localName);
+            for (var t = 0; t < f.length; t++) y(a.a, f[t]);
+            (e = a.j.get(e)) && D(e);
+          }
+        }
+      }
+      E.prototype.get = function (a) {
+        if (a = this.a.a.get(a)) return a.constructorFunction;
+      };
+      E.prototype.m = function (a) {
+        if (!g(a)) return Promise.reject(new SyntaxError("'" + a + "' is not a valid custom element name."));
+        var b = this.j.get(a);
+        if (b) return b.c;
+        b = new ea();
+        this.j.set(a, b);
+        this.a.a.get(a) && !this.g.some(function (b) {
+          return b.localName === a;
+        }) && D(b);
+        return b.c;
+      };
+      E.prototype.s = function (a) {
+        C(this.o);
+        var b = this.f;
+        this.f = function (d) {
+          return a(function () {
+            return b(d);
+          });
+        };
+      };
+      window.CustomElementRegistry = E;
+      E.prototype.define = E.prototype.l;
+      E.prototype.upgrade = E.prototype.i;
+      E.prototype.get = E.prototype.get;
+      E.prototype.whenDefined = E.prototype.m;
+      E.prototype.polyfillWrapFlushCallback = E.prototype.s;
+      var F = window.Document.prototype.createElement,
+        G = window.Document.prototype.createElementNS,
+        ha = window.Document.prototype.importNode,
+        ia = window.Document.prototype.prepend,
+        ja = window.Document.prototype.append,
+        ka = window.DocumentFragment.prototype.prepend,
+        la = window.DocumentFragment.prototype.append,
+        H = window.Node.prototype.cloneNode,
+        I = window.Node.prototype.appendChild,
+        J = window.Node.prototype.insertBefore,
+        K = window.Node.prototype.removeChild,
+        L = window.Node.prototype.replaceChild,
+        M = Object.getOwnPropertyDescriptor(window.Node.prototype, "textContent"),
+        N = window.Element.prototype.attachShadow,
+        O = Object.getOwnPropertyDescriptor(window.Element.prototype, "innerHTML"),
+        P = window.Element.prototype.getAttribute,
+        Q = window.Element.prototype.setAttribute,
+        R = window.Element.prototype.removeAttribute,
+        S = window.Element.prototype.getAttributeNS,
+        T = window.Element.prototype.setAttributeNS,
+        U = window.Element.prototype.removeAttributeNS,
+        ma = window.Element.prototype.insertAdjacentElement,
+        na = window.Element.prototype.insertAdjacentHTML,
+        oa = window.Element.prototype.prepend,
+        pa = window.Element.prototype.append,
+        V = window.Element.prototype.before,
+        qa = window.Element.prototype.after,
+        ra = window.Element.prototype.replaceWith,
+        sa = window.Element.prototype.remove,
+        ta = window.HTMLElement,
+        W = Object.getOwnPropertyDescriptor(window.HTMLElement.prototype, "innerHTML"),
+        ua = window.HTMLElement.prototype.insertAdjacentElement,
+        va = window.HTMLElement.prototype.insertAdjacentHTML;
+      var wa = new function () {}();
+      function xa() {
+        var a = X;
+        window.HTMLElement = function () {
+          function b() {
+            var b = this.constructor,
+              c = a.g.get(b);
+            if (!c) throw Error("The custom element being constructed was not registered with `customElements`.");
+            var e = c.constructionStack;
+            if (0 === e.length) return e = F.call(document, c.localName), Object.setPrototypeOf(e, b.prototype), e.__CE_state = 1, e.__CE_definition = c, w(a, e), e;
+            c = e.length - 1;
+            var f = e[c];
+            if (f === wa) throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");
+            e[c] = wa;
+            Object.setPrototypeOf(f, b.prototype);
+            w(a, f);
+            return f;
+          }
+          b.prototype = ta.prototype;
+          Object.defineProperty(b.prototype, "constructor", {
+            writable: !0,
+            configurable: !0,
+            enumerable: !1,
+            value: b
+          });
+          return b;
+        }();
+      }
+      ;
+      function Y(a, b, d) {
+        function c(b) {
+          return function (d) {
+            for (var e = [], c = 0; c < arguments.length; ++c) e[c] = arguments[c];
+            c = [];
+            for (var f = [], m = 0; m < e.length; m++) {
+              var q = e[m];
+              q instanceof Element && l(q) && f.push(q);
+              if (q instanceof DocumentFragment) for (q = q.firstChild; q; q = q.nextSibling) c.push(q);else c.push(q);
+            }
+            b.apply(this, e);
+            for (e = 0; e < f.length; e++) z(a, f[e]);
+            if (l(this)) for (e = 0; e < c.length; e++) f = c[e], f instanceof Element && x(a, f);
+          };
+        }
+        void 0 !== d.h && (b.prepend = c(d.h));
+        void 0 !== d.append && (b.append = c(d.append));
+      }
+      ;
+      function ya() {
+        var a = X;
+        r(Document.prototype, "createElement", function (b) {
+          if (this.__CE_hasRegistry) {
+            var d = a.a.get(b);
+            if (d) return new d.constructorFunction();
+          }
+          b = F.call(this, b);
+          w(a, b);
+          return b;
+        });
+        r(Document.prototype, "importNode", function (b, d) {
+          b = ha.call(this, b, !!d);
+          this.__CE_hasRegistry ? A(a, b) : v(a, b);
+          return b;
+        });
+        r(Document.prototype, "createElementNS", function (b, d) {
+          if (this.__CE_hasRegistry && (null === b || "http://www.w3.org/1999/xhtml" === b)) {
+            var c = a.a.get(d);
+            if (c) return new c.constructorFunction();
+          }
+          b = G.call(this, b, d);
+          w(a, b);
+          return b;
+        });
+        Y(a, Document.prototype, {
+          h: ia,
+          append: ja
+        });
+      }
+      ;
+      function za() {
+        function a(a, c) {
+          Object.defineProperty(a, "textContent", {
+            enumerable: c.enumerable,
+            configurable: !0,
+            get: c.get,
+            set: function set(a) {
+              if (this.nodeType === Node.TEXT_NODE) c.set.call(this, a);else {
+                var d = void 0;
+                if (this.firstChild) {
+                  var e = this.childNodes,
+                    k = e.length;
+                  if (0 < k && l(this)) {
+                    d = Array(k);
+                    for (var h = 0; h < k; h++) d[h] = e[h];
+                  }
+                }
+                c.set.call(this, a);
+                if (d) for (a = 0; a < d.length; a++) z(b, d[a]);
+              }
+            }
+          });
+        }
+        var b = X;
+        r(Node.prototype, "insertBefore", function (a, c) {
+          if (a instanceof DocumentFragment) {
+            var e = Array.prototype.slice.apply(a.childNodes);
+            a = J.call(this, a, c);
+            if (l(this)) for (c = 0; c < e.length; c++) x(b, e[c]);
+            return a;
+          }
+          e = l(a);
+          c = J.call(this, a, c);
+          e && z(b, a);
+          l(this) && x(b, a);
+          return c;
+        });
+        r(Node.prototype, "appendChild", function (a) {
+          if (a instanceof DocumentFragment) {
+            var c = Array.prototype.slice.apply(a.childNodes);
+            a = I.call(this, a);
+            if (l(this)) for (var e = 0; e < c.length; e++) x(b, c[e]);
+            return a;
+          }
+          c = l(a);
+          e = I.call(this, a);
+          c && z(b, a);
+          l(this) && x(b, a);
+          return e;
+        });
+        r(Node.prototype, "cloneNode", function (a) {
+          a = H.call(this, !!a);
+          this.ownerDocument.__CE_hasRegistry ? A(b, a) : v(b, a);
+          return a;
+        });
+        r(Node.prototype, "removeChild", function (a) {
+          var c = l(a),
+            e = K.call(this, a);
+          c && z(b, a);
+          return e;
+        });
+        r(Node.prototype, "replaceChild", function (a, c) {
+          if (a instanceof DocumentFragment) {
+            var e = Array.prototype.slice.apply(a.childNodes);
+            a = L.call(this, a, c);
+            if (l(this)) for (z(b, c), c = 0; c < e.length; c++) x(b, e[c]);
+            return a;
+          }
+          e = l(a);
+          var f = L.call(this, a, c),
+            d = l(this);
+          d && z(b, c);
+          e && z(b, a);
+          d && x(b, a);
+          return f;
+        });
+        M && M.get ? a(Node.prototype, M) : ca(b, function (b) {
+          a(b, {
+            enumerable: !0,
+            configurable: !0,
+            get: function get() {
+              for (var a = [], b = 0; b < this.childNodes.length; b++) {
+                var f = this.childNodes[b];
+                f.nodeType !== Node.COMMENT_NODE && a.push(f.textContent);
+              }
+              return a.join("");
+            },
+            set: function set(a) {
+              for (; this.firstChild;) K.call(this, this.firstChild);
+              null != a && "" !== a && I.call(this, document.createTextNode(a));
+            }
+          });
+        });
+      }
+      ;
+      function Aa(a) {
+        function b(b) {
+          return function (e) {
+            for (var c = [], d = 0; d < arguments.length; ++d) c[d] = arguments[d];
+            d = [];
+            for (var k = [], h = 0; h < c.length; h++) {
+              var m = c[h];
+              m instanceof Element && l(m) && k.push(m);
+              if (m instanceof DocumentFragment) for (m = m.firstChild; m; m = m.nextSibling) d.push(m);else d.push(m);
+            }
+            b.apply(this, c);
+            for (c = 0; c < k.length; c++) z(a, k[c]);
+            if (l(this)) for (c = 0; c < d.length; c++) k = d[c], k instanceof Element && x(a, k);
+          };
+        }
+        var d = Element.prototype;
+        void 0 !== V && (d.before = b(V));
+        void 0 !== V && (d.after = b(qa));
+        void 0 !== ra && r(d, "replaceWith", function (b) {
+          for (var e = [], c = 0; c < arguments.length; ++c) e[c] = arguments[c];
+          c = [];
+          for (var d = [], k = 0; k < e.length; k++) {
+            var h = e[k];
+            h instanceof Element && l(h) && d.push(h);
+            if (h instanceof DocumentFragment) for (h = h.firstChild; h; h = h.nextSibling) c.push(h);else c.push(h);
+          }
+          k = l(this);
+          ra.apply(this, e);
+          for (e = 0; e < d.length; e++) z(a, d[e]);
+          if (k) for (z(a, this), e = 0; e < c.length; e++) d = c[e], d instanceof Element && x(a, d);
+        });
+        void 0 !== sa && r(d, "remove", function () {
+          var b = l(this);
+          sa.call(this);
+          b && z(a, this);
+        });
+      }
+      ;
+      function Ba() {
+        function a(a, b) {
+          Object.defineProperty(a, "innerHTML", {
+            enumerable: b.enumerable,
+            configurable: !0,
+            get: b.get,
+            set: function set(a) {
+              var e = this,
+                d = void 0;
+              l(this) && (d = [], p(this, function (a) {
+                a !== e && d.push(a);
+              }));
+              b.set.call(this, a);
+              if (d) for (var f = 0; f < d.length; f++) {
+                var t = d[f];
+                1 === t.__CE_state && c.disconnectedCallback(t);
+              }
+              this.ownerDocument.__CE_hasRegistry ? A(c, this) : v(c, this);
+              return a;
+            }
+          });
+        }
+        function b(a, b) {
+          r(a, "insertAdjacentElement", function (a, e) {
+            var d = l(e);
+            a = b.call(this, a, e);
+            d && z(c, e);
+            l(a) && x(c, e);
+            return a;
+          });
+        }
+        function d(a, b) {
+          function e(a, b) {
+            for (var e = []; a !== b; a = a.nextSibling) e.push(a);
+            for (b = 0; b < e.length; b++) A(c, e[b]);
+          }
+          r(a, "insertAdjacentHTML", function (a, c) {
+            a = a.toLowerCase();
+            if ("beforebegin" === a) {
+              var d = this.previousSibling;
+              b.call(this, a, c);
+              e(d || this.parentNode.firstChild, this);
+            } else if ("afterbegin" === a) d = this.firstChild, b.call(this, a, c), e(this.firstChild, d);else if ("beforeend" === a) d = this.lastChild, b.call(this, a, c), e(d || this.firstChild, null);else if ("afterend" === a) d = this.nextSibling, b.call(this, a, c), e(this.nextSibling, d);else throw new SyntaxError("The value provided (" + String(a) + ") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");
+          });
+        }
+        var c = X;
+        N && r(Element.prototype, "attachShadow", function (a) {
+          a = N.call(this, a);
+          var b = c;
+          if (b.b && !a.__CE_patched) {
+            a.__CE_patched = !0;
+            for (var e = 0; e < b.c.length; e++) b.c[e](a);
+          }
+          return this.__CE_shadowRoot = a;
+        });
+        O && O.get ? a(Element.prototype, O) : W && W.get ? a(HTMLElement.prototype, W) : da(c, function (b) {
+          a(b, {
+            enumerable: !0,
+            configurable: !0,
+            get: function get() {
+              return H.call(this, !0).innerHTML;
+            },
+            set: function set(a) {
+              var b = "template" === this.localName,
+                c = b ? this.content : this,
+                e = G.call(document, this.namespaceURI, this.localName);
+              for (e.innerHTML = a; 0 < c.childNodes.length;) K.call(c, c.childNodes[0]);
+              for (a = b ? e.content : e; 0 < a.childNodes.length;) I.call(c, a.childNodes[0]);
+            }
+          });
+        });
+        r(Element.prototype, "setAttribute", function (a, b) {
+          if (1 !== this.__CE_state) return Q.call(this, a, b);
+          var e = P.call(this, a);
+          Q.call(this, a, b);
+          b = P.call(this, a);
+          c.attributeChangedCallback(this, a, e, b, null);
+        });
+        r(Element.prototype, "setAttributeNS", function (a, b, d) {
+          if (1 !== this.__CE_state) return T.call(this, a, b, d);
+          var e = S.call(this, a, b);
+          T.call(this, a, b, d);
+          d = S.call(this, a, b);
+          c.attributeChangedCallback(this, b, e, d, a);
+        });
+        r(Element.prototype, "removeAttribute", function (a) {
+          if (1 !== this.__CE_state) return R.call(this, a);
+          var b = P.call(this, a);
+          R.call(this, a);
+          null !== b && c.attributeChangedCallback(this, a, b, null, null);
+        });
+        r(Element.prototype, "removeAttributeNS", function (a, b) {
+          if (1 !== this.__CE_state) return U.call(this, a, b);
+          var d = S.call(this, a, b);
+          U.call(this, a, b);
+          var e = S.call(this, a, b);
+          d !== e && c.attributeChangedCallback(this, b, d, e, a);
+        });
+        ua ? b(HTMLElement.prototype, ua) : ma ? b(Element.prototype, ma) : console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched.");
+        va ? d(HTMLElement.prototype, va) : na ? d(Element.prototype, na) : console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched.");
+        Y(c, Element.prototype, {
+          h: oa,
+          append: pa
+        });
+        Aa(c);
+      }
+      ;
+      var Z = window.customElements;
+      if (!Z || Z.forcePolyfill || "function" != typeof Z.define || "function" != typeof Z.get) {
+        var X = new u();
+        xa();
+        ya();
+        Y(X, DocumentFragment.prototype, {
+          h: ka,
+          append: la
+        });
+        za();
+        Ba();
+        document.__CE_hasRegistry = !0;
+        var customElements = new E(X);
+        Object.defineProperty(window, "customElements", {
+          configurable: !0,
+          enumerable: !0,
+          value: customElements
+        });
+      }
+      ;
+    }).call(self);
+
+    // Polyfill document.baseURI
+    "string" !== typeof document.baseURI && Object.defineProperty(Document.prototype, "baseURI", {
+      enumerable: !0,
+      configurable: !0,
+      get: function get() {
+        var a = document.querySelector("base");
+        return a && a.href ? a.href : document.URL;
+      }
+    });
+
+    // Polyfill CustomEvent
+    "function" !== typeof window.CustomEvent && (window.CustomEvent = function (c, a) {
+      a = a || {
+        bubbles: !1,
+        cancelable: !1,
+        detail: void 0
+      };
+      var b = document.createEvent("CustomEvent");
+      b.initCustomEvent(c, a.bubbles, a.cancelable, a.detail);
+      return b;
+    }, window.CustomEvent.prototype = window.Event.prototype);
+
+    // Event.composedPath
+    (function (b, c, d) {
+      b.composedPath || (b.composedPath = function () {
+        if (this.path) return this.path;
+        var a = this.target;
+        for (this.path = []; null !== a.parentNode;) this.path.push(a), a = a.parentNode;
+        this.path.push(c, d);
+        return this.path;
+      });
+    })(Event.prototype, document, window);
+
+    /*!
+    Element.closest and Element.matches
+    https://github.com/jonathantneal/closest
+    Creative Commons Zero v1.0 Universal
+    */
+    (function (a) {
+      "function" !== typeof a.matches && (a.matches = a.msMatchesSelector || a.mozMatchesSelector || a.webkitMatchesSelector || function (a) {
+        a = (this.document || this.ownerDocument).querySelectorAll(a);
+        for (var b = 0; a[b] && a[b] !== this;) ++b;
+        return !!a[b];
+      });
+      "function" !== typeof a.closest && (a.closest = function (a) {
+        for (var b = this; b && 1 === b.nodeType;) {
+          if (b.matches(a)) return b;
+          b = b.parentNode;
+        }
+        return null;
+      });
+    })(window.Element.prototype);
+
+    /*!
+    Element.getRootNode()
+    */
+    (function (c) {
+      function d(a) {
+        a = b(a);
+        return a && 11 === a.nodeType ? d(a.host) : a;
+      }
+      function b(a) {
+        return a && a.parentNode ? b(a.parentNode) : a;
+      }
+      "function" !== typeof c.getRootNode && (c.getRootNode = function (a) {
+        return a && a.composed ? d(this) : b(this);
+      });
+    })(Element.prototype);
+
+    /*!
+    Element.isConnected()
+    */
+    (function (a) {
+      "isConnected" in a || Object.defineProperty(a, "isConnected", {
+        configurable: !0,
+        enumerable: !0,
+        get: function get() {
+          var a = this.getRootNode({
+            composed: !0
+          });
+          return a && 9 === a.nodeType;
+        }
+      });
+    })(Element.prototype);
+
+    /*!
+    Element.remove()
+    */
+    (function (b) {
+      b.forEach(function (a) {
+        a.hasOwnProperty("remove") || Object.defineProperty(a, "remove", {
+          configurable: !0,
+          enumerable: !0,
+          writable: !0,
+          value: function value() {
+            null !== this.parentNode && this.parentNode.removeChild(this);
+          }
+        });
+      });
+    })([Element.prototype, CharacterData.prototype, DocumentType.prototype]);
+
+    /*!
+    Element.classList
+    */
+    !function (e) {
+      'classList' in e || Object.defineProperty(e, "classList", {
+        get: function get() {
+          var e = this,
+            t = (e.getAttribute("class") || "").replace(/^\s+|\s$/g, "").split(/\s+/g);
+          function n() {
+            t.length > 0 ? e.setAttribute("class", t.join(" ")) : e.removeAttribute("class");
+          }
+          return "" === t[0] && t.splice(0, 1), t.toggle = function (e, i) {
+            void 0 !== i ? i ? t.add(e) : t.remove(e) : -1 !== t.indexOf(e) ? t.splice(t.indexOf(e), 1) : t.push(e), n();
+          }, t.add = function () {
+            for (var e = [].slice.call(arguments), i = 0, s = e.length; i < s; i++) -1 === t.indexOf(e[i]) && t.push(e[i]);
+            n();
+          }, t.remove = function () {
+            for (var e = [].slice.call(arguments), i = 0, s = e.length; i < s; i++) -1 !== t.indexOf(e[i]) && t.splice(t.indexOf(e[i]), 1);
+            n();
+          }, t.item = function (e) {
+            return t[e];
+          }, t.contains = function (e) {
+            return -1 !== t.indexOf(e);
+          }, t.replace = function (e, i) {
+            -1 !== t.indexOf(e) && t.splice(t.indexOf(e), 1, i), n();
+          }, t.value = e.getAttribute("class") || "", t;
+        }
+      });
+    }(Element.prototype);
+
+    /*!
+    DOMTokenList
+    */
+    (function (b) {
+      try {
+        document.body.classList.add();
+      } catch (e) {
+        var c = b.add,
+          d = b.remove;
+        b.add = function () {
+          for (var a = 0; a < arguments.length; a++) c.call(this, arguments[a]);
+        };
+        b.remove = function () {
+          for (var a = 0; a < arguments.length; a++) d.call(this, arguments[a]);
+        };
+      }
+    })(DOMTokenList.prototype);
+    (function () {
+      if ("undefined" !== typeof window && void 0 !== window.Reflect && void 0 !== window.customElements) {
+        var a = HTMLElement;
+        window.HTMLElement = function () {
+          return Reflect.construct(a, [], this.constructor);
+        };
+        HTMLElement.prototype = a.prototype;
+        HTMLElement.prototype.constructor = HTMLElement;
+        Object.setPrototypeOf(HTMLElement, a);
+      }
+    })();
+    /**
+     * SystemJS 4.0.2
+     * MANUAL PATCH: remove script.crossOrigin = "anonymous"
+     * MANUAL PATCH: add conditionally apply, n.System=n.System||new u
+     */
+    !function () {
+      var e = "undefined" != typeof self,
+        n = e ? self : global;
+      var t;
+      if ("undefined" != typeof document) {
+        var e = document.querySelector("base[href]");
+        e && (t = e.href);
+      }
+      if (!t && "undefined" != typeof location) {
+        var e = (t = location.href.split("#")[0].split("?")[0]).lastIndexOf("/");
+        -1 !== e && (t = t.slice(0, e + 1));
+      }
+      var r = /\\/g,
+        o = "undefined" != typeof Symbol,
+        i = o && Symbol.toStringTag,
+        c = o ? Symbol() : "@";
+      function u() {
+        this[c] = {};
+      }
+      var s = u.prototype;
+      var l;
+      s.import = function (e, n) {
+        var t = this;
+        return Promise.resolve(t.resolve(e, n)).then(function (e) {
+          var n = function e(n, t, r) {
+            var o = n[c][t];
+            if (o) return o;
+            var u = [],
+              s = Object.create(null);
+            i && Object.defineProperty(s, i, {
+              value: "Module"
+            });
+            var l = Promise.resolve().then(function () {
+              return n.instantiate(t, r);
+            }).then(function (e) {
+              if (!e) throw Error("Module " + t + " did not instantiate");
+              var r = e[1](function (e, n) {
+                o.h = !0;
+                var t = !1;
+                if ("object" != typeof e) e in s && s[e] === n || (s[e] = n, t = !0);else for (var n in e) {
+                  var r = e[n];
+                  n in s && s[n] === r || (s[n] = r, t = !0);
+                }
+                if (t) for (var e = 0; e < u.length; e++) u[e](s);
+                return n;
+              }, 2 === e[1].length ? {
+                import: function _import(e) {
+                  return n.import(e, t);
+                },
+                meta: n.createContext(t)
+              } : void 0);
+              return o.e = r.execute || function () {}, [e[0], r.setters || []];
+            });
+            var f = l.then(function (r) {
+              return Promise.all(r[0].map(function (o, i) {
+                var c = r[1][i];
+                return Promise.resolve(n.resolve(o, t)).then(function (r) {
+                  var o = e(n, r, t);
+                  return Promise.resolve(o.I).then(function () {
+                    return c && (o.i.push(c), !o.h && o.I || c(o.n)), o;
+                  });
+                });
+              })).then(function (e) {
+                o.d = e;
+              });
+            });
+            return f.catch(function (e) {
+              o.e = null, o.er = e;
+            }), o = n[c][t] = {
+              id: t,
+              i: u,
+              n: s,
+              I: l,
+              L: f,
+              h: !1,
+              d: void 0,
+              e: void 0,
+              er: void 0,
+              E: void 0,
+              C: void 0
+            };
+          }(t, e);
+          return n.C || function (e, n) {
+            return n.C = function e(n, t, r) {
+              if (!r[t.id]) return r[t.id] = !0, Promise.resolve(t.L).then(function () {
+                return Promise.all(t.d.map(function (t) {
+                  return e(n, t, r);
+                }));
+              });
+            }(e, n, {}).then(function () {
+              return function e(n, t, r) {
+                if (r[t.id]) return;
+                if (r[t.id] = !0, !t.e) {
+                  if (t.er) throw t.er;
+                  return t.E ? t.E : void 0;
+                }
+                var o;
+                return t.d.forEach(function (t) {
+                  {
+                    var i = e(n, t, r);
+                    i && (o = o || []).push(i);
+                  }
+                }), o ? Promise.all(o).then(i) : i();
+                function i() {
+                  try {
+                    var e = t.e.call(f);
+                    if (e) return e = e.then(function () {
+                      t.C = t.n, t.E = null;
+                    }), t.E = t.E || e;
+                    t.C = t.n;
+                  } catch (e) {
+                    throw t.er = e, e;
+                  } finally {
+                    t.L = t.I = void 0, t.e = null;
+                  }
+                }
+              }(e, n, {});
+            }).then(function () {
+              return n.n;
+            });
+          }(t, n);
+        });
+      }, s.createContext = function (e) {
+        return {
+          url: e
+        };
+      }, s.register = function (e, n) {
+        l = [e, n];
+      }, s.getRegister = function () {
+        var e = l;
+        return l = void 0, e;
+      };
+      var f = Object.freeze(Object.create(null));
+      n.System = n.System || new u();
+      var d = s.register;
+      s.register = function (e, n) {
+        d.call(this, e, n);
+      }, s.instantiate = function (e, n) {
+        var t = this;
+        return ".json" === e.substr(-5) ? fetch(e).then(function (e) {
+          return e.text();
+        }).then(function (e) {
+          return [[], function (n) {
+            return {
+              execute: function execute() {
+                n("default", JSON.parse(e));
+              }
+            };
+          }];
+        }) : new Promise(function (r, o) {
+          var i;
+          function c(n) {
+            n.filename === e && (i = n.error);
+          }
+          window.addEventListener("error", c);
+          var u = document.createElement("script");
+          u.charset = "utf-8", u.async = !0, u.addEventListener("error", function () {
+            window.removeEventListener("error", c), o(Error("Error loading " + e + (n ? " from " + n : "")));
+          }), u.addEventListener("load", function () {
+            window.removeEventListener("error", c), document.head.removeChild(u), i ? o(i) : r(t.getRegister());
+          }), u.src = e, document.head.appendChild(u);
+        });
+      }, e && "function" == typeof importScripts && (s.instantiate = function (e) {
+        var n = this;
+        return new Promise(function (t, r) {
+          try {
+            importScripts(e);
+          } catch (e) {
+            r(e);
+          }
+          t(n.getRegister());
+        });
+      }), s.resolve = function (e, n) {
+        var o = function (e, n) {
+          if (-1 !== e.indexOf("\\") && (e = e.replace(r, "/")), "/" === e[0] && "/" === e[1]) return n.slice(0, n.indexOf(":") + 1) + e;
+          if ("." === e[0] && ("/" === e[1] || "." === e[1] && ("/" === e[2] || 2 === e.length && (e += "/")) || 1 === e.length && (e += "/")) || "/" === e[0]) {
+            var t = n.slice(0, n.indexOf(":") + 1);
+            var r;
+            if (r = "/" === n[t.length + 1] ? "file:" !== t ? (r = n.slice(t.length + 2)).slice(r.indexOf("/") + 1) : n.slice(8) : n.slice(t.length + ("/" === n[t.length])), "/" === e[0]) return n.slice(0, n.length - r.length - 1) + e;
+            var o = r.slice(0, r.lastIndexOf("/") + 1) + e,
+              i = [];
+            var c = -1;
+            for (var e = 0; e < o.length; e++) -1 !== c ? "/" === o[e] && (i.push(o.slice(c, e + 1)), c = -1) : "." === o[e] ? "." !== o[e + 1] || "/" !== o[e + 2] && e + 2 !== o.length ? "/" === o[e + 1] || e + 1 === o.length ? e += 1 : c = e : (i.pop(), e += 2) : c = e;
+            return -1 !== c && i.push(o.slice(c)), n.slice(0, n.length - r.length) + i.join("");
+          }
+        }(e, n || t);
+        if (!o) {
+          if (-1 !== e.indexOf(":")) return Promise.resolve(e);
+          throw Error('Cannot resolve "' + e + (n ? '" from ' + n : '"'));
+        }
+        return Promise.resolve(o);
+      };
+    }();
+
+    // Figure out currentScript (for IE11, since it does not support currentScript)
+    var regex = /\/ionicpwaelements(\.esm)?\.js($|\?|#)/;
+    var scriptElm = currentScript || Array.from(document.querySelectorAll('script')).find(function (s) {
+      return regex.test(s.src) || s.getAttribute('data-stencil-namespace') === "ionicpwaelements";
+    });
+    var resourcesUrl = scriptElm ? scriptElm.getAttribute('data-resources-url') || scriptElm.src : '';
+    var start = function start() {
+      // if src is not present then origin is "null", and new URL() throws TypeError: Failed to construct 'URL': Invalid base URL
+      var url = new URL('./p-00206cb0.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
+      System.import(url.href);
+    };
+    if (window.__cssshim) {
+      window.__cssshim.i().then(start);
+    } else {
+      start();
+    }
 
-  // Note: using .call(window) here because the self-executing function needs
-  // to be scoped to the window object for the ES6Promise polyfill to work
+    // Note: using .call(window) here because the self-executing function needs
+    // to be scoped to the window object for the ES6Promise polyfill to work
   }
-}).call(window);
+}).call(window);
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-00206cb0.system.js b/src/public/js/pwa-elements/ionicpwaelements/p-00206cb0.system.js
index 35a0739..59aed99 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-00206cb0.system.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-00206cb0.system.js
@@ -1 +1,58 @@
-System.register(["./p-335782c2.system.js"],(function(e,t){"use strict";var n,o;return{setters:[function(t){n=t.p;o=t.b;e("setNonce",t.s)}],execute:function(){var e=function(){var e=t.meta.url;var o={};if(e!==""){o.resourcesUrl=new URL(".",e).href}return n(o)};e().then((function(e){return o([["p-1b81a39d.system",[[1,"pwa-camera-modal",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],present:[64],dismiss:[64]}]]],["p-5b57434a.system",[[1,"pwa-action-sheet",{header:[1],cancelable:[4],options:[16],open:[32]}]]],["p-db3c6183.system",[[1,"pwa-toast",{message:[1],duration:[2],closing:[32]}]]],["p-fab2e7af.system",[[1,"pwa-camera",{facingMode:[1,"facing-mode"],handlePhoto:[16],hidePicker:[4,"hide-picker"],handleNoDeviceError:[16],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"],photo:[32],photoSrc:[32],showShutterOverlay:[32],flashIndex:[32],hasCamera:[32],rotation:[32],deviceError:[32]}]]],["p-550557d3.system",[[1,"pwa-camera-modal-instance",{facingMode:[1,"facing-mode"],hidePicker:[4,"hide-picker"],noDevicesText:[1,"no-devices-text"],noDevicesButtonText:[1,"no-devices-button-text"]},[[16,"keyup","handleBackdropKeyUp"]]]]]],e)}))}}}));
\ No newline at end of file
+System.register(["./p-335782c2.system.js"], function (e, t) {
+  "use strict";
+
+  var n, o;
+  return {
+    setters: [function (t) {
+      n = t.p;
+      o = t.b;
+      e("setNonce", t.s);
+    }],
+    execute: function execute() {
+      var e = function e() {
+        var e = t.meta.url;
+        var o = {};
+        if (e !== "") {
+          o.resourcesUrl = new URL(".", e).href;
+        }
+        return n(o);
+      };
+      e().then(function (e) {
+        return o([["p-1b81a39d.system", [[1, "pwa-camera-modal", {
+          facingMode: [1, "facing-mode"],
+          hidePicker: [4, "hide-picker"],
+          present: [64],
+          dismiss: [64]
+        }]]], ["p-5b57434a.system", [[1, "pwa-action-sheet", {
+          header: [1],
+          cancelable: [4],
+          options: [16],
+          open: [32]
+        }]]], ["p-db3c6183.system", [[1, "pwa-toast", {
+          message: [1],
+          duration: [2],
+          closing: [32]
+        }]]], ["p-fab2e7af.system", [[1, "pwa-camera", {
+          facingMode: [1, "facing-mode"],
+          handlePhoto: [16],
+          hidePicker: [4, "hide-picker"],
+          handleNoDeviceError: [16],
+          noDevicesText: [1, "no-devices-text"],
+          noDevicesButtonText: [1, "no-devices-button-text"],
+          photo: [32],
+          photoSrc: [32],
+          showShutterOverlay: [32],
+          flashIndex: [32],
+          hasCamera: [32],
+          rotation: [32],
+          deviceError: [32]
+        }]]], ["p-550557d3.system", [[1, "pwa-camera-modal-instance", {
+          facingMode: [1, "facing-mode"],
+          hidePicker: [4, "hide-picker"],
+          noDevicesText: [1, "no-devices-text"],
+          noDevicesButtonText: [1, "no-devices-button-text"]
+        }, [[16, "keyup", "handleBackdropKeyUp"]]]]]], e);
+      });
+    }
+  };
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-1b81a39d.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-1b81a39d.system.entry.js
index a4d2cf1..05bb74d 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-1b81a39d.system.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-1b81a39d.system.entry.js
@@ -1 +1,191 @@
-var __awaiter=this&&this.__awaiter||function(t,e,n,r){function i(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,o){function a(t){try{c(r.next(t))}catch(t){o(t)}}function s(t){try{c(r["throw"](t))}catch(t){o(t)}}function c(t){t.done?n(t.value):i(t.value).then(a,s)}c((r=r.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},r,i,o,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(t){return function(e){return c([t,e])}}function c(s){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(n=0)),n)try{if(r=1,i&&(o=s[0]&2?i["return"]:s[0]?i["throw"]||((o=i["return"])&&o.call(i),0):i.next)&&!(o=o.call(i,s[1])).done)return o;if(i=0,o)s=[s[0]&2,o.value];switch(s[0]){case 0:case 1:o=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;i=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(o=n.trys,o=o.length>0&&o[o.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!o||s[1]>o[0]&&s[1]<o[3])){n.label=s[1];break}if(s[0]===6&&n.label<o[1]){n.label=o[1];o=s;break}if(o&&n.label<o[2]){n.label=o[2];n.ops.push(s);break}if(o[2])n.ops.pop();n.trys.pop();continue}s=e.call(t,n)}catch(t){s=[6,t];i=0}finally{r=o=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};System.register(["./p-335782c2.system.js"],(function(t){"use strict";var e,n,r;return{setters:[function(t){e=t.r;n=t.c;r=t.h}],execute:function(){var i=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";var o=t("pwa_camera_modal",function(){function t(t){e(this,t);this.onPhoto=n(this,"onPhoto",7);this.noDeviceError=n(this,"noDeviceError",7);this.facingMode="user";this.hidePicker=false}t.prototype.present=function(){return __awaiter(this,void 0,void 0,(function(){var t;var e=this;return __generator(this,(function(n){t=document.createElement("pwa-camera-modal-instance");t.facingMode=this.facingMode;t.hidePicker=this.hidePicker;t.addEventListener("onPhoto",(function(t){return __awaiter(e,void 0,void 0,(function(){var e;return __generator(this,(function(n){if(!this._modal){return[2]}e=t.detail;this.onPhoto.emit(e);return[2]}))}))}));t.addEventListener("noDeviceError",(function(t){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){this.noDeviceError.emit(t);return[2]}))}))}));document.body.append(t);this._modal=t;return[2]}))}))};t.prototype.dismiss=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){if(!this._modal){return[2]}this._modal&&this._modal.parentNode.removeChild(this._modal);this._modal=null;return[2]}))}))};t.prototype.render=function(){return r("div",null)};return t}());o.style=i}}}));
\ No newline at end of file
+var __awaiter = this && this.__awaiter || function (t, e, n, r) {
+  function i(t) {
+    return t instanceof n ? t : new n(function (e) {
+      e(t);
+    });
+  }
+  return new (n || (n = Promise))(function (n, o) {
+    function a(t) {
+      try {
+        c(r.next(t));
+      } catch (t) {
+        o(t);
+      }
+    }
+    function s(t) {
+      try {
+        c(r["throw"](t));
+      } catch (t) {
+        o(t);
+      }
+    }
+    function c(t) {
+      t.done ? n(t.value) : i(t.value).then(a, s);
+    }
+    c((r = r.apply(t, e || [])).next());
+  });
+};
+var __generator = this && this.__generator || function (t, e) {
+  var n = {
+      label: 0,
+      sent: function sent() {
+        if (o[0] & 1) throw o[1];
+        return o[1];
+      },
+      trys: [],
+      ops: []
+    },
+    r,
+    i,
+    o,
+    a;
+  return a = {
+    next: s(0),
+    throw: s(1),
+    return: s(2)
+  }, typeof Symbol === "function" && (a[Symbol.iterator] = function () {
+    return this;
+  }), a;
+  function s(t) {
+    return function (e) {
+      return c([t, e]);
+    };
+  }
+  function c(s) {
+    if (r) throw new TypeError("Generator is already executing.");
+    while (a && (a = 0, s[0] && (n = 0)), n) try {
+      if (r = 1, i && (o = s[0] & 2 ? i["return"] : s[0] ? i["throw"] || ((o = i["return"]) && o.call(i), 0) : i.next) && !(o = o.call(i, s[1])).done) return o;
+      if (i = 0, o) s = [s[0] & 2, o.value];
+      switch (s[0]) {
+        case 0:
+        case 1:
+          o = s;
+          break;
+        case 4:
+          n.label++;
+          return {
+            value: s[1],
+            done: false
+          };
+        case 5:
+          n.label++;
+          i = s[1];
+          s = [0];
+          continue;
+        case 7:
+          s = n.ops.pop();
+          n.trys.pop();
+          continue;
+        default:
+          if (!(o = n.trys, o = o.length > 0 && o[o.length - 1]) && (s[0] === 6 || s[0] === 2)) {
+            n = 0;
+            continue;
+          }
+          if (s[0] === 3 && (!o || s[1] > o[0] && s[1] < o[3])) {
+            n.label = s[1];
+            break;
+          }
+          if (s[0] === 6 && n.label < o[1]) {
+            n.label = o[1];
+            o = s;
+            break;
+          }
+          if (o && n.label < o[2]) {
+            n.label = o[2];
+            n.ops.push(s);
+            break;
+          }
+          if (o[2]) n.ops.pop();
+          n.trys.pop();
+          continue;
+      }
+      s = e.call(t, n);
+    } catch (t) {
+      s = [6, t];
+      i = 0;
+    } finally {
+      r = o = 0;
+    }
+    if (s[0] & 5) throw s[1];
+    return {
+      value: s[0] ? s[1] : void 0,
+      done: true
+    };
+  }
+};
+System.register(["./p-335782c2.system.js"], function (t) {
+  "use strict";
+
+  var e, n, r;
+  return {
+    setters: [function (t) {
+      e = t.r;
+      n = t.c;
+      r = t.h;
+    }],
+    execute: function execute() {
+      var i = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
+      var o = t("pwa_camera_modal", function () {
+        function t(t) {
+          e(this, t);
+          this.onPhoto = n(this, "onPhoto", 7);
+          this.noDeviceError = n(this, "noDeviceError", 7);
+          this.facingMode = "user";
+          this.hidePicker = false;
+        }
+        t.prototype.present = function () {
+          return __awaiter(this, void 0, void 0, function () {
+            var t;
+            var e = this;
+            return __generator(this, function (n) {
+              t = document.createElement("pwa-camera-modal-instance");
+              t.facingMode = this.facingMode;
+              t.hidePicker = this.hidePicker;
+              t.addEventListener("onPhoto", function (t) {
+                return __awaiter(e, void 0, void 0, function () {
+                  var e;
+                  return __generator(this, function (n) {
+                    if (!this._modal) {
+                      return [2];
+                    }
+                    e = t.detail;
+                    this.onPhoto.emit(e);
+                    return [2];
+                  });
+                });
+              });
+              t.addEventListener("noDeviceError", function (t) {
+                return __awaiter(e, void 0, void 0, function () {
+                  return __generator(this, function (e) {
+                    this.noDeviceError.emit(t);
+                    return [2];
+                  });
+                });
+              });
+              document.body.append(t);
+              this._modal = t;
+              return [2];
+            });
+          });
+        };
+        t.prototype.dismiss = function () {
+          return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (t) {
+              if (!this._modal) {
+                return [2];
+              }
+              this._modal && this._modal.parentNode.removeChild(this._modal);
+              this._modal = null;
+              return [2];
+            });
+          });
+        };
+        t.prototype.render = function () {
+          return r("div", null);
+        };
+        return t;
+      }());
+      o.style = i;
+    }
+  };
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-335782c2.system.js b/src/public/js/pwa-elements/ionicpwaelements/p-335782c2.system.js
index dd4178f..348c1f6 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-335782c2.system.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-335782c2.system.js
@@ -1,2 +1,1284 @@
-var __extends=this&&this.__extends||function(){var e=function(n,t){e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)if(Object.prototype.hasOwnProperty.call(n,t))e[t]=n[t]};return e(n,t)};return function(n,t){if(typeof t!=="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");e(n,t);function r(){this.constructor=n}n.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();var __awaiter=this&&this.__awaiter||function(e,n,t,r){function a(e){return e instanceof t?e:new t((function(n){n(e)}))}return new(t||(t=Promise))((function(t,i){function l(e){try{s(r.next(e))}catch(e){i(e)}}function o(e){try{s(r["throw"](e))}catch(e){i(e)}}function s(e){e.done?t(e.value):a(e.value).then(l,o)}s((r=r.apply(e,n||[])).next())}))};var __generator=this&&this.__generator||function(e,n){var t={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},r,a,i,l;return l={next:o(0),throw:o(1),return:o(2)},typeof Symbol==="function"&&(l[Symbol.iterator]=function(){return this}),l;function o(e){return function(n){return s([e,n])}}function s(o){if(r)throw new TypeError("Generator is already executing.");while(l&&(l=0,o[0]&&(t=0)),t)try{if(r=1,a&&(i=o[0]&2?a["return"]:o[0]?a["throw"]||((i=a["return"])&&i.call(a),0):a.next)&&!(i=i.call(a,o[1])).done)return i;if(a=0,i)o=[o[0]&2,i.value];switch(o[0]){case 0:case 1:i=o;break;case 4:t.label++;return{value:o[1],done:false};case 5:t.label++;a=o[1];o=[0];continue;case 7:o=t.ops.pop();t.trys.pop();continue;default:if(!(i=t.trys,i=i.length>0&&i[i.length-1])&&(o[0]===6||o[0]===2)){t=0;continue}if(o[0]===3&&(!i||o[1]>i[0]&&o[1]<i[3])){t.label=o[1];break}if(o[0]===6&&t.label<i[1]){t.label=i[1];i=o;break}if(i&&t.label<i[2]){t.label=i[2];t.ops.push(o);break}if(i[2])t.ops.pop();t.trys.pop();continue}o=n.call(e,t)}catch(e){o=[6,e];a=0}finally{r=i=0}if(o[0]&5)throw o[1];return{value:o[0]?o[1]:void 0,done:true}}};var __spreadArray=this&&this.__spreadArray||function(e,n,t){if(t||arguments.length===2)for(var r=0,a=n.length,i;r<a;r++){if(i||!(r in n)){if(!i)i=Array.prototype.slice.call(n,0,r);i[r]=n[r]}}return e.concat(i||Array.prototype.slice.call(n))};System.register([],(function(e,n){"use strict";return{execute:function(){var t=this;var r="ionicpwaelements";var a;var i;var l=false;var o=false;var s=function(e,n){if(n===void 0){n=""}{return function(){return}}};var u=function(e,n){{return function(){return}}};var f="{visibility:hidden}.hydrated{visibility:inherit}";var c={};var $="http://www.w3.org/2000/svg";var v="http://www.w3.org/1999/xhtml";var d=function(e){return e!=null};var p=function(e){e=typeof e;return e==="object"||e==="function"};function h(e){var n,t,r;return(r=(t=(n=e.head)===null||n===void 0?void 0:n.querySelector('meta[name="csp-nonce"]'))===null||t===void 0?void 0:t.getAttribute("content"))!==null&&r!==void 0?r:undefined}var m=e("h",(function(e,n){var t=[];for(var r=2;r<arguments.length;r++){t[r-2]=arguments[r]}var a=null;var i=false;var l=false;var o=[];var s=function(n){for(var t=0;t<n.length;t++){a=n[t];if(Array.isArray(a)){s(a)}else if(a!=null&&typeof a!=="boolean"){if(i=typeof e!=="function"&&!p(a)){a=String(a)}if(i&&l){o[o.length-1].$text$+=a}else{o.push(i?g(null,a):a)}l=i}}};s(t);if(n){{var u=n.className||n.class;if(u){n.class=typeof u!=="object"?u:Object.keys(u).filter((function(e){return u[e]})).join(" ")}}}var f=g(e,null);f.$attrs$=n;if(o.length>0){f.$children$=o}return f}));var g=function(e,n){var t={$flags$:0,$tag$:e,$text$:n,$elm$:null,$children$:null};{t.$attrs$=null}return t};var y=e("H",{});var b=function(e){return e&&e.$tag$===y};var w=function(e,n){if(e!=null&&!p(e)){if(n&4){return e==="false"?false:e===""||!!e}if(n&2){return parseFloat(e)}if(n&1){return String(e)}return e}return e};var _=e("g",(function(e){return ve(e).$hostElement$}));var S=e("c",(function(e,n,t){var r=_(e);return{emit:function(e){return N(r,n,{bubbles:!!(t&4),composed:!!(t&2),cancelable:!!(t&1),detail:e})}}}));var N=function(e,n,t){var r=Se.ce(n,t);e.dispatchEvent(r);return r};var R=new WeakMap;var x=function(e,n,t){var r=be.get(e);if(Re&&t){r=r||new CSSStyleSheet;if(typeof r==="string"){r=n}else{r.replaceSync(n)}}else{r=n}be.set(e,r)};var L=function(e,n,t,r){var a;var i=j(n);var l=be.get(i);e=e.nodeType===11?e:_e;if(l){if(typeof l==="string"){e=e.head||e;var o=R.get(e);var s=void 0;if(!o){R.set(e,o=new Set)}if(!o.has(i)){{{s=_e.createElement("style");s.innerHTML=l}var u=(a=Se.$nonce$)!==null&&a!==void 0?a:h(_e);if(u!=null){s.setAttribute("nonce",u)}e.insertBefore(s,e.querySelector("link"))}if(o){o.add(i)}}}else if(!e.adoptedStyleSheets.includes(l)){e.adoptedStyleSheets=__spreadArray(__spreadArray([],e.adoptedStyleSheets,true),[l],false)}}return i};var P=function(e){var n=e.$cmpMeta$;var t=e.$hostElement$;var r=n.$flags$;var a=s("attachStyles",n.$tagName$);var i=L(t.shadowRoot?t.shadowRoot:t.getRootNode(),n);if(r&10){t["s-sc"]=i;t.classList.add(i+"-h")}a()};var j=function(e,n){return"sc-"+e.$tagName$};var C=function(e,n,t,r,a,i){if(t!==r){var l=he(e,n);var o=n.toLowerCase();if(n==="class"){var s=e.classList;var u=A(t);var f=A(r);s.remove.apply(s,u.filter((function(e){return e&&!f.includes(e)})));s.add.apply(s,f.filter((function(e){return e&&!u.includes(e)})))}else if(n==="style"){{for(var c in t){if(!r||r[c]==null){if(c.includes("-")){e.style.removeProperty(c)}else{e.style[c]=""}}}}for(var c in r){if(!t||r[c]!==t[c]){if(c.includes("-")){e.style.setProperty(c,r[c])}else{e.style[c]=r[c]}}}}else if(n==="ref"){if(r){r(e)}}else if(!l&&n[0]==="o"&&n[1]==="n"){if(n[2]==="-"){n=n.slice(3)}else if(he(we,o)){n=o.slice(2)}else{n=o[2]+n.slice(3)}if(t){Se.rel(e,n,t,false)}if(r){Se.ael(e,n,r,false)}}else{var $=p(r);if((l||$&&r!==null)&&!a){try{if(!e.tagName.includes("-")){var v=r==null?"":r;if(n==="list"){l=false}else if(t==null||e[n]!=v){e[n]=v}}else{e[n]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(n)===""){{e.removeAttribute(n)}}}else if((!l||i&4||a)&&!$){r=r===true?"":r;{e.setAttribute(n,r)}}}}};var E=/\s/;var A=function(e){return!e?[]:e.split(E)};var O=function(e,n,t,r){var a=n.$elm$.nodeType===11&&n.$elm$.host?n.$elm$.host:n.$elm$;var i=e&&e.$attrs$||c;var l=n.$attrs$||c;{for(r in i){if(!(r in l)){C(a,r,i[r],undefined,t,n.$flags$)}}}for(r in l){C(a,r,i[r],l[r],t,n.$flags$)}};var M=function(e,n,t,r){var i=n.$children$[t];var o=0;var s;var u;if(i.$text$!==null){s=i.$elm$=_e.createTextNode(i.$text$)}else{if(!l){l=i.$tag$==="svg"}s=i.$elm$=_e.createElementNS(l?$:v,i.$tag$);if(l&&i.$tag$==="foreignObject"){l=false}{O(null,i,l)}if(d(a)&&s["s-si"]!==a){s.classList.add(s["s-si"]=a)}if(i.$children$){for(o=0;o<i.$children$.length;++o){u=M(e,i,o);if(u){s.appendChild(u)}}}{if(i.$tag$==="svg"){l=false}else if(s.tagName==="foreignObject"){l=true}}}return s};var k=function(e,n,t,r,a,l){var o=e;var s;if(o.shadowRoot&&o.tagName===i){o=o.shadowRoot}for(;a<=l;++a){if(r[a]){s=M(null,t,a);if(s){r[a].$elm$=s;o.insertBefore(s,n)}}}};var I=function(e,n,t){for(var r=n;r<=t;++r){var a=e[r];if(a){var i=a.$elm$;B(a);if(i){i.remove()}}}};var T=function(e,n,t,r){var a=0;var i=0;var l=n.length-1;var o=n[0];var s=n[l];var u=r.length-1;var f=r[0];var c=r[u];var $;while(a<=l&&i<=u){if(o==null){o=n[++a]}else if(s==null){s=n[--l]}else if(f==null){f=r[++i]}else if(c==null){c=r[--u]}else if(q(o,f)){z(o,f);o=n[++a];f=r[++i]}else if(q(s,c)){z(s,c);s=n[--l];c=r[--u]}else if(q(o,c)){z(o,c);e.insertBefore(o.$elm$,s.$elm$.nextSibling);o=n[++a];c=r[--u]}else if(q(s,f)){z(s,f);e.insertBefore(s.$elm$,o.$elm$);s=n[--l];f=r[++i]}else{{$=M(n&&n[i],t,i);f=r[++i]}if($){{o.$elm$.parentNode.insertBefore($,o.$elm$)}}}}if(a>l){k(e,r[u+1]==null?null:r[u+1].$elm$,t,r,i,u)}else if(i>u){I(n,a,l)}};var q=function(e,n){if(e.$tag$===n.$tag$){return true}return false};var z=function(e,n){var t=n.$elm$=e.$elm$;var r=e.$children$;var a=n.$children$;var i=n.$tag$;var o=n.$text$;if(o===null){{l=i==="svg"?true:i==="foreignObject"?false:l}{{O(e,n,l)}}if(r!==null&&a!==null){T(t,r,n,a)}else if(a!==null){if(e.$text$!==null){t.textContent=""}k(t,null,n,a,0,a.length-1)}else if(r!==null){I(r,0,r.length-1)}if(l&&i==="svg"){l=false}}else if(e.$text$!==o){t.data=o}};var B=function(e){{e.$attrs$&&e.$attrs$.ref&&e.$attrs$.ref(null);e.$children$&&e.$children$.map(B)}};var U=function(e,n){var t=e.$hostElement$;var r=e.$vnode$||g(null,null);var l=b(n)?n:m(null,null,n);i=t.tagName;l.$tag$=null;l.$flags$|=4;e.$vnode$=l;l.$elm$=r.$elm$=t.shadowRoot||t;{a=t["s-sc"]}z(r,l)};var H=function(e,n){if(n&&!e.$onRenderResolve$&&n["s-p"]){n["s-p"].push(new Promise((function(n){return e.$onRenderResolve$=n})))}};var V=function(e,n){{e.$flags$|=16}if(e.$flags$&4){e.$flags$|=512;return}H(e,e.$ancestorComponent$);var t=function(){return F(e,n)};return Ae(t)};var F=function(e,n){var t=s("scheduleUpdate",e.$cmpMeta$.$tagName$);var r=e.$lazyInstance$;var a;if(n){{e.$flags$|=256;if(e.$queuedListeners$){e.$queuedListeners$.map((function(e){var n=e[0],t=e[1];return Y(r,n,t)}));e.$queuedListeners$=undefined}}}t();return W(a,(function(){return G(e,r,n)}))};var W=function(e,n){return D(e)?e.then(n):n()};var D=function(e){return e instanceof Promise||e&&e.then&&typeof e.then==="function"};var G=function(e,n,r){return __awaiter(t,void 0,void 0,(function(){var t,a,i,l,o,u,f;return __generator(this,(function(c){a=e.$hostElement$;i=s("update",e.$cmpMeta$.$tagName$);l=a["s-rc"];if(r){P(e)}o=s("render",e.$cmpMeta$.$tagName$);{J(e,n)}if(l){l.map((function(e){return e()}));a["s-rc"]=undefined}o();i();{u=(t=a["s-p"])!==null&&t!==void 0?t:[];f=function(){return K(e)};if(u.length===0){f()}else{Promise.all(u).then(f);e.$flags$|=4;u.length=0}}return[2]}))}))};var J=function(e,n,t){try{n=n.render();{e.$flags$&=~16}{e.$flags$|=2}{{{U(e,n)}}}}catch(n){me(n,e.$hostElement$)}return null};var K=function(e){var n=e.$cmpMeta$.$tagName$;var t=e.$hostElement$;var r=s("postUpdate",n);var a=e.$lazyInstance$;var i=e.$ancestorComponent$;if(!(e.$flags$&64)){e.$flags$|=64;{Z(t)}{Y(a,"componentDidLoad")}r();{e.$onReadyResolve$(t);if(!i){X()}}}else{r()}{e.$onInstanceResolve$(t)}{if(e.$onRenderResolve$){e.$onRenderResolve$();e.$onRenderResolve$=undefined}if(e.$flags$&512){Ee((function(){return V(e,false)}))}e.$flags$&=~(4|512)}};var Q=e("f",(function(e){{var n=ve(e);var t=n.$hostElement$.isConnected;if(t&&(n.$flags$&(2|16))===2){V(n,false)}return t}}));var X=function(e){{Z(_e.documentElement)}Ee((function(){return N(we,"appload",{detail:{namespace:r}})}))};var Y=function(e,n,t){if(e&&e[n]){try{return e[n](t)}catch(e){me(e)}}return undefined};var Z=function(e){return e.classList.add("hydrated")};var ee=function(e,n){return ve(e).$instanceValues$.get(n)};var ne=function(e,n,t,r){var a=ve(e);var i=a.$instanceValues$.get(n);var l=a.$flags$;var o=a.$lazyInstance$;t=w(t,r.$members$[n][0]);var s=Number.isNaN(i)&&Number.isNaN(t);var u=t!==i&&!s;if((!(l&8)||i===undefined)&&u){a.$instanceValues$.set(n,t);if(o){if((l&(2|16))===2){V(a,false)}}}};var te=function(e,n,t){if(n.$members$){var r=Object.entries(n.$members$);var a=e.prototype;r.map((function(e){var r=e[0],i=e[1][0];if(i&31||t&2&&i&32){Object.defineProperty(a,r,{get:function(){return ee(this,r)},set:function(e){ne(this,r,e,n)},configurable:true,enumerable:true})}else if(t&1&&i&64){Object.defineProperty(a,r,{value:function(){var e=[];for(var n=0;n<arguments.length;n++){e[n]=arguments[n]}var t=ve(this);return t.$onInstancePromise$.then((function(){var n;return(n=t.$lazyInstance$)[r].apply(n,e)}))}})}}));if(t&1){var i=new Map;a.attributeChangedCallback=function(e,n,t){var r=this;Se.jmp((function(){var n=i.get(e);if(r.hasOwnProperty(n)){t=r[n];delete r[n]}else if(a.hasOwnProperty(n)&&typeof r[n]==="number"&&r[n]==t){return}r[n]=t===null&&typeof r[n]==="boolean"?false:t}))};e.observedAttributes=r.filter((function(e){var n=e[0],t=e[1];return t[0]&15})).map((function(e){var n=e[0],t=e[1];var r=t[1]||n;i.set(r,n);return r}))}}return e};var re=function(e,n,r,a,i){return __awaiter(t,void 0,void 0,(function(){var e,t,a,l,o,f,c;return __generator(this,(function($){switch($.label){case 0:if(!((n.$flags$&32)===0))return[3,3];n.$flags$|=32;i=ye(r);if(!i.then)return[3,2];e=u();return[4,i];case 1:i=$.sent();e();$.label=2;case 2:if(!i.isProxied){te(i,r,2);i.isProxied=true}t=s("createInstance",r.$tagName$);{n.$flags$|=8}try{new i(n)}catch(e){me(e)}{n.$flags$&=~8}t();if(i.style){a=i.style;l=j(r);if(!be.has(l)){o=s("registerStyles",r.$tagName$);x(l,a,!!(r.$flags$&1));o()}}$.label=3;case 3:f=n.$ancestorComponent$;c=function(){return V(n,true)};if(f&&f["s-rc"]){f["s-rc"].push(c)}else{c()}return[2]}}))}))};var ae=function(e){if((Se.$flags$&1)===0){var n=ve(e);var t=n.$cmpMeta$;var r=s("connectedCallback",t.$tagName$);if(!(n.$flags$&1)){n.$flags$|=1;{var a=e;while(a=a.parentNode||a.host){if(a["s-p"]){H(n,n.$ancestorComponent$=a);break}}}if(t.$members$){Object.entries(t.$members$).map((function(n){var t=n[0],r=n[1][0];if(r&31&&e.hasOwnProperty(t)){var a=e[t];delete e[t];e[t]=a}}))}{re(e,n,t)}}else{oe(e,n,t.$listeners$)}r()}};var ie=function(e){if((Se.$flags$&1)===0){var n=ve(e);var t=n.$lazyInstance$;{if(n.$rmListeners$){n.$rmListeners$.map((function(e){return e()}));n.$rmListeners$=undefined}}{Y(t,"disconnectedCallback")}}};var le=e("b",(function(e,n){if(n===void 0){n={}}var t;var r=s();var a=[];var i=n.exclude||[];var l=we.customElements;var o=_e.head;var u=o.querySelector("meta[charset]");var c=_e.createElement("style");var $=[];var v;var d=true;Object.assign(Se,n);Se.$resourcesUrl$=new URL(n.resourcesUrl||"./",_e.baseURI).href;e.map((function(e){e[1].map((function(n){var t={$flags$:n[0],$tagName$:n[1],$members$:n[2],$listeners$:n[3]};{t.$members$=n[2]}{t.$listeners$=n[3]}var r=t.$tagName$;var o=function(e){__extends(n,e);function n(n){var r=e.call(this,n)||this;n=r;pe(n,t);if(t.$flags$&1){{{n.attachShadow({mode:"open"})}}}return r}n.prototype.connectedCallback=function(){var e=this;if(v){clearTimeout(v);v=null}if(d){$.push(this)}else{Se.jmp((function(){return ae(e)}))}};n.prototype.disconnectedCallback=function(){var e=this;Se.jmp((function(){return ie(e)}))};n.prototype.componentOnReady=function(){return ve(this).$onReadyPromise$};return n}(HTMLElement);t.$lazyBundleId$=e[0];if(!i.includes(r)&&!l.get(r)){a.push(r);l.define(r,te(o,t,1))}}))}));{c.innerHTML=a+f;c.setAttribute("data-styles","");var p=(t=Se.$nonce$)!==null&&t!==void 0?t:h(_e);if(p!=null){c.setAttribute("nonce",p)}o.insertBefore(c,u?u.nextSibling:o.firstChild)}d=false;if($.length){$.map((function(e){return e.connectedCallback()}))}else{{Se.jmp((function(){return v=setTimeout(X,30)}))}}r()}));var oe=function(e,n,t,r){if(t){t.map((function(t){var r=t[0],a=t[1],i=t[2];var l=ue(e,r);var o=se(n,i);var s=fe(r);Se.ael(l,a,o,s);(n.$rmListeners$=n.$rmListeners$||[]).push((function(){return Se.rel(l,a,o,s)}))}))}};var se=function(e,n){return function(t){try{{if(e.$flags$&256){e.$lazyInstance$[n](t)}else{(e.$queuedListeners$=e.$queuedListeners$||[]).push([n,t])}}}catch(e){me(e)}}};var ue=function(e,n){if(n&16)return _e.body;return e};var fe=function(e){return(e&2)!==0};var ce=e("s",(function(e){return Se.$nonce$=e}));var $e=new WeakMap;var ve=function(e){return $e.get(e)};var de=e("r",(function(e,n){return $e.set(n.$lazyInstance$=e,n)}));var pe=function(e,n){var t={$flags$:0,$hostElement$:e,$cmpMeta$:n,$instanceValues$:new Map};{t.$onInstancePromise$=new Promise((function(e){return t.$onInstanceResolve$=e}))}{t.$onReadyPromise$=new Promise((function(e){return t.$onReadyResolve$=e}));e["s-p"]=[];e["s-rc"]=[]}oe(e,t,n.$listeners$);return $e.set(e,t)};var he=function(e,n){return n in e};var me=function(e,n){return(0,console.error)(e,n)};var ge=new Map;var ye=function(e,t,r){var a=e.$tagName$.replace(/-/g,"_");var i=e.$lazyBundleId$;var l=ge.get(i);if(l){return l[a]}
-/*!__STENCIL_STATIC_IMPORT_SWITCH__*/return n.import("./".concat(i,".entry.js").concat("")).then((function(e){{ge.set(i,e)}return e[a]}),me)};var be=new Map;var we=typeof window!=="undefined"?window:{};var _e=we.document||{head:{}};var Se={$flags$:0,$resourcesUrl$:"",jmp:function(e){return e()},raf:function(e){return requestAnimationFrame(e)},ael:function(e,n,t,r){return e.addEventListener(n,t,r)},rel:function(e,n,t,r){return e.removeEventListener(n,t,r)},ce:function(e,n){return new CustomEvent(e,n)}};var Ne=e("p",(function(e){return Promise.resolve(e)}));var Re=function(){try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false}();var xe=[];var Le=[];var Pe=function(e,n){return function(t){e.push(t);if(!o){o=true;if(n&&Se.$flags$&4){Ee(Ce)}else{Se.raf(Ce)}}}};var je=function(e){for(var n=0;n<e.length;n++){try{e[n](performance.now())}catch(e){me(e)}}e.length=0};var Ce=function(){je(xe);{je(Le);if(o=xe.length>0){Se.raf(Ce)}}};var Ee=function(e){return Ne().then(e)};var Ae=Pe(Le,true)}}}));
\ No newline at end of file
+var __extends = this && this.__extends || function () {
+  var _e2 = function e(n, t) {
+    _e2 = Object.setPrototypeOf || {
+      __proto__: []
+    } instanceof Array && function (e, n) {
+      e.__proto__ = n;
+    } || function (e, n) {
+      for (var t in n) if (Object.prototype.hasOwnProperty.call(n, t)) e[t] = n[t];
+    };
+    return _e2(n, t);
+  };
+  return function (n, t) {
+    if (typeof t !== "function" && t !== null) throw new TypeError("Class extends value " + String(t) + " is not a constructor or null");
+    _e2(n, t);
+    function r() {
+      this.constructor = n;
+    }
+    n.prototype = t === null ? Object.create(t) : (r.prototype = t.prototype, new r());
+  };
+}();
+var __awaiter = this && this.__awaiter || function (e, n, t, r) {
+  function a(e) {
+    return e instanceof t ? e : new t(function (n) {
+      n(e);
+    });
+  }
+  return new (t || (t = Promise))(function (t, i) {
+    function l(e) {
+      try {
+        s(r.next(e));
+      } catch (e) {
+        i(e);
+      }
+    }
+    function o(e) {
+      try {
+        s(r["throw"](e));
+      } catch (e) {
+        i(e);
+      }
+    }
+    function s(e) {
+      e.done ? t(e.value) : a(e.value).then(l, o);
+    }
+    s((r = r.apply(e, n || [])).next());
+  });
+};
+var __generator = this && this.__generator || function (e, n) {
+  var t = {
+      label: 0,
+      sent: function sent() {
+        if (i[0] & 1) throw i[1];
+        return i[1];
+      },
+      trys: [],
+      ops: []
+    },
+    r,
+    a,
+    i,
+    l;
+  return l = {
+    next: o(0),
+    throw: o(1),
+    return: o(2)
+  }, typeof Symbol === "function" && (l[Symbol.iterator] = function () {
+    return this;
+  }), l;
+  function o(e) {
+    return function (n) {
+      return s([e, n]);
+    };
+  }
+  function s(o) {
+    if (r) throw new TypeError("Generator is already executing.");
+    while (l && (l = 0, o[0] && (t = 0)), t) try {
+      if (r = 1, a && (i = o[0] & 2 ? a["return"] : o[0] ? a["throw"] || ((i = a["return"]) && i.call(a), 0) : a.next) && !(i = i.call(a, o[1])).done) return i;
+      if (a = 0, i) o = [o[0] & 2, i.value];
+      switch (o[0]) {
+        case 0:
+        case 1:
+          i = o;
+          break;
+        case 4:
+          t.label++;
+          return {
+            value: o[1],
+            done: false
+          };
+        case 5:
+          t.label++;
+          a = o[1];
+          o = [0];
+          continue;
+        case 7:
+          o = t.ops.pop();
+          t.trys.pop();
+          continue;
+        default:
+          if (!(i = t.trys, i = i.length > 0 && i[i.length - 1]) && (o[0] === 6 || o[0] === 2)) {
+            t = 0;
+            continue;
+          }
+          if (o[0] === 3 && (!i || o[1] > i[0] && o[1] < i[3])) {
+            t.label = o[1];
+            break;
+          }
+          if (o[0] === 6 && t.label < i[1]) {
+            t.label = i[1];
+            i = o;
+            break;
+          }
+          if (i && t.label < i[2]) {
+            t.label = i[2];
+            t.ops.push(o);
+            break;
+          }
+          if (i[2]) t.ops.pop();
+          t.trys.pop();
+          continue;
+      }
+      o = n.call(e, t);
+    } catch (e) {
+      o = [6, e];
+      a = 0;
+    } finally {
+      r = i = 0;
+    }
+    if (o[0] & 5) throw o[1];
+    return {
+      value: o[0] ? o[1] : void 0,
+      done: true
+    };
+  }
+};
+var __spreadArray = this && this.__spreadArray || function (e, n, t) {
+  if (t || arguments.length === 2) for (var r = 0, a = n.length, i; r < a; r++) {
+    if (i || !(r in n)) {
+      if (!i) i = Array.prototype.slice.call(n, 0, r);
+      i[r] = n[r];
+    }
+  }
+  return e.concat(i || Array.prototype.slice.call(n));
+};
+System.register([], function (e, n) {
+  "use strict";
+
+  return {
+    execute: function execute() {
+      var t = this;
+      var r = "ionicpwaelements";
+      var a;
+      var i;
+      var l = false;
+      var o = false;
+      var s = function s(e, n) {
+        if (n === void 0) {
+          n = "";
+        }
+        {
+          return function () {
+            return;
+          };
+        }
+      };
+      var u = function u(e, n) {
+        {
+          return function () {
+            return;
+          };
+        }
+      };
+      var f = "{visibility:hidden}.hydrated{visibility:inherit}";
+      var c = {};
+      var $ = "http://www.w3.org/2000/svg";
+      var v = "http://www.w3.org/1999/xhtml";
+      var d = function d(e) {
+        return e != null;
+      };
+      var p = function p(e) {
+        e = typeof e;
+        return e === "object" || e === "function";
+      };
+      function h(e) {
+        var n, t, r;
+        return (r = (t = (n = e.head) === null || n === void 0 ? void 0 : n.querySelector('meta[name="csp-nonce"]')) === null || t === void 0 ? void 0 : t.getAttribute("content")) !== null && r !== void 0 ? r : undefined;
+      }
+      var m = e("h", function (e, n) {
+        var t = [];
+        for (var r = 2; r < arguments.length; r++) {
+          t[r - 2] = arguments[r];
+        }
+        var a = null;
+        var i = false;
+        var l = false;
+        var o = [];
+        var _s = function s(n) {
+          for (var t = 0; t < n.length; t++) {
+            a = n[t];
+            if (Array.isArray(a)) {
+              _s(a);
+            } else if (a != null && typeof a !== "boolean") {
+              if (i = typeof e !== "function" && !p(a)) {
+                a = String(a);
+              }
+              if (i && l) {
+                o[o.length - 1].$text$ += a;
+              } else {
+                o.push(i ? g(null, a) : a);
+              }
+              l = i;
+            }
+          }
+        };
+        _s(t);
+        if (n) {
+          {
+            var u = n.className || n.class;
+            if (u) {
+              n.class = typeof u !== "object" ? u : Object.keys(u).filter(function (e) {
+                return u[e];
+              }).join(" ");
+            }
+          }
+        }
+        var f = g(e, null);
+        f.$attrs$ = n;
+        if (o.length > 0) {
+          f.$children$ = o;
+        }
+        return f;
+      });
+      var g = function g(e, n) {
+        var t = {
+          $flags$: 0,
+          $tag$: e,
+          $text$: n,
+          $elm$: null,
+          $children$: null
+        };
+        {
+          t.$attrs$ = null;
+        }
+        return t;
+      };
+      var y = e("H", {});
+      var b = function b(e) {
+        return e && e.$tag$ === y;
+      };
+      var w = function w(e, n) {
+        if (e != null && !p(e)) {
+          if (n & 4) {
+            return e === "false" ? false : e === "" || !!e;
+          }
+          if (n & 2) {
+            return parseFloat(e);
+          }
+          if (n & 1) {
+            return String(e);
+          }
+          return e;
+        }
+        return e;
+      };
+      var _ = e("g", function (e) {
+        return ve(e).$hostElement$;
+      });
+      var S = e("c", function (e, n, t) {
+        var r = _(e);
+        return {
+          emit: function emit(e) {
+            return N(r, n, {
+              bubbles: !!(t & 4),
+              composed: !!(t & 2),
+              cancelable: !!(t & 1),
+              detail: e
+            });
+          }
+        };
+      });
+      var N = function N(e, n, t) {
+        var r = Se.ce(n, t);
+        e.dispatchEvent(r);
+        return r;
+      };
+      var R = new WeakMap();
+      var x = function x(e, n, t) {
+        var r = be.get(e);
+        if (Re && t) {
+          r = r || new CSSStyleSheet();
+          if (typeof r === "string") {
+            r = n;
+          } else {
+            r.replaceSync(n);
+          }
+        } else {
+          r = n;
+        }
+        be.set(e, r);
+      };
+      var L = function L(e, n, t, r) {
+        var a;
+        var i = j(n);
+        var l = be.get(i);
+        e = e.nodeType === 11 ? e : _e;
+        if (l) {
+          if (typeof l === "string") {
+            e = e.head || e;
+            var o = R.get(e);
+            var s = void 0;
+            if (!o) {
+              R.set(e, o = new Set());
+            }
+            if (!o.has(i)) {
+              {
+                {
+                  s = _e.createElement("style");
+                  s.innerHTML = l;
+                }
+                var u = (a = Se.$nonce$) !== null && a !== void 0 ? a : h(_e);
+                if (u != null) {
+                  s.setAttribute("nonce", u);
+                }
+                e.insertBefore(s, e.querySelector("link"));
+              }
+              if (o) {
+                o.add(i);
+              }
+            }
+          } else if (!e.adoptedStyleSheets.includes(l)) {
+            e.adoptedStyleSheets = __spreadArray(__spreadArray([], e.adoptedStyleSheets, true), [l], false);
+          }
+        }
+        return i;
+      };
+      var P = function P(e) {
+        var n = e.$cmpMeta$;
+        var t = e.$hostElement$;
+        var r = n.$flags$;
+        var a = s("attachStyles", n.$tagName$);
+        var i = L(t.shadowRoot ? t.shadowRoot : t.getRootNode(), n);
+        if (r & 10) {
+          t["s-sc"] = i;
+          t.classList.add(i + "-h");
+        }
+        a();
+      };
+      var j = function j(e, n) {
+        return "sc-" + e.$tagName$;
+      };
+      var C = function C(e, n, t, r, a, i) {
+        if (t !== r) {
+          var l = he(e, n);
+          var o = n.toLowerCase();
+          if (n === "class") {
+            var s = e.classList;
+            var u = A(t);
+            var f = A(r);
+            s.remove.apply(s, u.filter(function (e) {
+              return e && !f.includes(e);
+            }));
+            s.add.apply(s, f.filter(function (e) {
+              return e && !u.includes(e);
+            }));
+          } else if (n === "style") {
+            {
+              for (var c in t) {
+                if (!r || r[c] == null) {
+                  if (c.includes("-")) {
+                    e.style.removeProperty(c);
+                  } else {
+                    e.style[c] = "";
+                  }
+                }
+              }
+            }
+            for (var c in r) {
+              if (!t || r[c] !== t[c]) {
+                if (c.includes("-")) {
+                  e.style.setProperty(c, r[c]);
+                } else {
+                  e.style[c] = r[c];
+                }
+              }
+            }
+          } else if (n === "ref") {
+            if (r) {
+              r(e);
+            }
+          } else if (!l && n[0] === "o" && n[1] === "n") {
+            if (n[2] === "-") {
+              n = n.slice(3);
+            } else if (he(we, o)) {
+              n = o.slice(2);
+            } else {
+              n = o[2] + n.slice(3);
+            }
+            if (t) {
+              Se.rel(e, n, t, false);
+            }
+            if (r) {
+              Se.ael(e, n, r, false);
+            }
+          } else {
+            var $ = p(r);
+            if ((l || $ && r !== null) && !a) {
+              try {
+                if (!e.tagName.includes("-")) {
+                  var v = r == null ? "" : r;
+                  if (n === "list") {
+                    l = false;
+                  } else if (t == null || e[n] != v) {
+                    e[n] = v;
+                  }
+                } else {
+                  e[n] = r;
+                }
+              } catch (e) {}
+            }
+            if (r == null || r === false) {
+              if (r !== false || e.getAttribute(n) === "") {
+                {
+                  e.removeAttribute(n);
+                }
+              }
+            } else if ((!l || i & 4 || a) && !$) {
+              r = r === true ? "" : r;
+              {
+                e.setAttribute(n, r);
+              }
+            }
+          }
+        }
+      };
+      var E = /\s/;
+      var A = function A(e) {
+        return !e ? [] : e.split(E);
+      };
+      var O = function O(e, n, t, r) {
+        var a = n.$elm$.nodeType === 11 && n.$elm$.host ? n.$elm$.host : n.$elm$;
+        var i = e && e.$attrs$ || c;
+        var l = n.$attrs$ || c;
+        {
+          for (r in i) {
+            if (!(r in l)) {
+              C(a, r, i[r], undefined, t, n.$flags$);
+            }
+          }
+        }
+        for (r in l) {
+          C(a, r, i[r], l[r], t, n.$flags$);
+        }
+      };
+      var _M = function M(e, n, t, r) {
+        var i = n.$children$[t];
+        var o = 0;
+        var s;
+        var u;
+        if (i.$text$ !== null) {
+          s = i.$elm$ = _e.createTextNode(i.$text$);
+        } else {
+          if (!l) {
+            l = i.$tag$ === "svg";
+          }
+          s = i.$elm$ = _e.createElementNS(l ? $ : v, i.$tag$);
+          if (l && i.$tag$ === "foreignObject") {
+            l = false;
+          }
+          {
+            O(null, i, l);
+          }
+          if (d(a) && s["s-si"] !== a) {
+            s.classList.add(s["s-si"] = a);
+          }
+          if (i.$children$) {
+            for (o = 0; o < i.$children$.length; ++o) {
+              u = _M(e, i, o);
+              if (u) {
+                s.appendChild(u);
+              }
+            }
+          }
+          {
+            if (i.$tag$ === "svg") {
+              l = false;
+            } else if (s.tagName === "foreignObject") {
+              l = true;
+            }
+          }
+        }
+        return s;
+      };
+      var k = function k(e, n, t, r, a, l) {
+        var o = e;
+        var s;
+        if (o.shadowRoot && o.tagName === i) {
+          o = o.shadowRoot;
+        }
+        for (; a <= l; ++a) {
+          if (r[a]) {
+            s = _M(null, t, a);
+            if (s) {
+              r[a].$elm$ = s;
+              o.insertBefore(s, n);
+            }
+          }
+        }
+      };
+      var I = function I(e, n, t) {
+        for (var r = n; r <= t; ++r) {
+          var a = e[r];
+          if (a) {
+            var i = a.$elm$;
+            _B(a);
+            if (i) {
+              i.remove();
+            }
+          }
+        }
+      };
+      var T = function T(e, n, t, r) {
+        var a = 0;
+        var i = 0;
+        var l = n.length - 1;
+        var o = n[0];
+        var s = n[l];
+        var u = r.length - 1;
+        var f = r[0];
+        var c = r[u];
+        var $;
+        while (a <= l && i <= u) {
+          if (o == null) {
+            o = n[++a];
+          } else if (s == null) {
+            s = n[--l];
+          } else if (f == null) {
+            f = r[++i];
+          } else if (c == null) {
+            c = r[--u];
+          } else if (q(o, f)) {
+            z(o, f);
+            o = n[++a];
+            f = r[++i];
+          } else if (q(s, c)) {
+            z(s, c);
+            s = n[--l];
+            c = r[--u];
+          } else if (q(o, c)) {
+            z(o, c);
+            e.insertBefore(o.$elm$, s.$elm$.nextSibling);
+            o = n[++a];
+            c = r[--u];
+          } else if (q(s, f)) {
+            z(s, f);
+            e.insertBefore(s.$elm$, o.$elm$);
+            s = n[--l];
+            f = r[++i];
+          } else {
+            {
+              $ = _M(n && n[i], t, i);
+              f = r[++i];
+            }
+            if ($) {
+              {
+                o.$elm$.parentNode.insertBefore($, o.$elm$);
+              }
+            }
+          }
+        }
+        if (a > l) {
+          k(e, r[u + 1] == null ? null : r[u + 1].$elm$, t, r, i, u);
+        } else if (i > u) {
+          I(n, a, l);
+        }
+      };
+      var q = function q(e, n) {
+        if (e.$tag$ === n.$tag$) {
+          return true;
+        }
+        return false;
+      };
+      var z = function z(e, n) {
+        var t = n.$elm$ = e.$elm$;
+        var r = e.$children$;
+        var a = n.$children$;
+        var i = n.$tag$;
+        var o = n.$text$;
+        if (o === null) {
+          {
+            l = i === "svg" ? true : i === "foreignObject" ? false : l;
+          }
+          {
+            {
+              O(e, n, l);
+            }
+          }
+          if (r !== null && a !== null) {
+            T(t, r, n, a);
+          } else if (a !== null) {
+            if (e.$text$ !== null) {
+              t.textContent = "";
+            }
+            k(t, null, n, a, 0, a.length - 1);
+          } else if (r !== null) {
+            I(r, 0, r.length - 1);
+          }
+          if (l && i === "svg") {
+            l = false;
+          }
+        } else if (e.$text$ !== o) {
+          t.data = o;
+        }
+      };
+      var _B = function B(e) {
+        {
+          e.$attrs$ && e.$attrs$.ref && e.$attrs$.ref(null);
+          e.$children$ && e.$children$.map(_B);
+        }
+      };
+      var U = function U(e, n) {
+        var t = e.$hostElement$;
+        var r = e.$vnode$ || g(null, null);
+        var l = b(n) ? n : m(null, null, n);
+        i = t.tagName;
+        l.$tag$ = null;
+        l.$flags$ |= 4;
+        e.$vnode$ = l;
+        l.$elm$ = r.$elm$ = t.shadowRoot || t;
+        {
+          a = t["s-sc"];
+        }
+        z(r, l);
+      };
+      var H = function H(e, n) {
+        if (n && !e.$onRenderResolve$ && n["s-p"]) {
+          n["s-p"].push(new Promise(function (n) {
+            return e.$onRenderResolve$ = n;
+          }));
+        }
+      };
+      var V = function V(e, n) {
+        {
+          e.$flags$ |= 16;
+        }
+        if (e.$flags$ & 4) {
+          e.$flags$ |= 512;
+          return;
+        }
+        H(e, e.$ancestorComponent$);
+        var t = function t() {
+          return F(e, n);
+        };
+        return Ae(t);
+      };
+      var F = function F(e, n) {
+        var t = s("scheduleUpdate", e.$cmpMeta$.$tagName$);
+        var r = e.$lazyInstance$;
+        var a;
+        if (n) {
+          {
+            e.$flags$ |= 256;
+            if (e.$queuedListeners$) {
+              e.$queuedListeners$.map(function (e) {
+                var n = e[0],
+                  t = e[1];
+                return Y(r, n, t);
+              });
+              e.$queuedListeners$ = undefined;
+            }
+          }
+        }
+        t();
+        return W(a, function () {
+          return G(e, r, n);
+        });
+      };
+      var W = function W(e, n) {
+        return D(e) ? e.then(n) : n();
+      };
+      var D = function D(e) {
+        return e instanceof Promise || e && e.then && typeof e.then === "function";
+      };
+      var G = function G(e, n, r) {
+        return __awaiter(t, void 0, void 0, function () {
+          var t, a, i, l, o, u, f;
+          return __generator(this, function (c) {
+            a = e.$hostElement$;
+            i = s("update", e.$cmpMeta$.$tagName$);
+            l = a["s-rc"];
+            if (r) {
+              P(e);
+            }
+            o = s("render", e.$cmpMeta$.$tagName$);
+            {
+              J(e, n);
+            }
+            if (l) {
+              l.map(function (e) {
+                return e();
+              });
+              a["s-rc"] = undefined;
+            }
+            o();
+            i();
+            {
+              u = (t = a["s-p"]) !== null && t !== void 0 ? t : [];
+              f = function f() {
+                return K(e);
+              };
+              if (u.length === 0) {
+                f();
+              } else {
+                Promise.all(u).then(f);
+                e.$flags$ |= 4;
+                u.length = 0;
+              }
+            }
+            return [2];
+          });
+        });
+      };
+      var J = function J(e, n, t) {
+        try {
+          n = n.render();
+          {
+            e.$flags$ &= ~16;
+          }
+          {
+            e.$flags$ |= 2;
+          }
+          {
+            {
+              {
+                U(e, n);
+              }
+            }
+          }
+        } catch (n) {
+          me(n, e.$hostElement$);
+        }
+        return null;
+      };
+      var K = function K(e) {
+        var n = e.$cmpMeta$.$tagName$;
+        var t = e.$hostElement$;
+        var r = s("postUpdate", n);
+        var a = e.$lazyInstance$;
+        var i = e.$ancestorComponent$;
+        if (!(e.$flags$ & 64)) {
+          e.$flags$ |= 64;
+          {
+            Z(t);
+          }
+          {
+            Y(a, "componentDidLoad");
+          }
+          r();
+          {
+            e.$onReadyResolve$(t);
+            if (!i) {
+              X();
+            }
+          }
+        } else {
+          r();
+        }
+        {
+          e.$onInstanceResolve$(t);
+        }
+        {
+          if (e.$onRenderResolve$) {
+            e.$onRenderResolve$();
+            e.$onRenderResolve$ = undefined;
+          }
+          if (e.$flags$ & 512) {
+            Ee(function () {
+              return V(e, false);
+            });
+          }
+          e.$flags$ &= ~(4 | 512);
+        }
+      };
+      var Q = e("f", function (e) {
+        {
+          var n = ve(e);
+          var t = n.$hostElement$.isConnected;
+          if (t && (n.$flags$ & (2 | 16)) === 2) {
+            V(n, false);
+          }
+          return t;
+        }
+      });
+      var X = function X(e) {
+        {
+          Z(_e.documentElement);
+        }
+        Ee(function () {
+          return N(we, "appload", {
+            detail: {
+              namespace: r
+            }
+          });
+        });
+      };
+      var Y = function Y(e, n, t) {
+        if (e && e[n]) {
+          try {
+            return e[n](t);
+          } catch (e) {
+            me(e);
+          }
+        }
+        return undefined;
+      };
+      var Z = function Z(e) {
+        return e.classList.add("hydrated");
+      };
+      var ee = function ee(e, n) {
+        return ve(e).$instanceValues$.get(n);
+      };
+      var ne = function ne(e, n, t, r) {
+        var a = ve(e);
+        var i = a.$instanceValues$.get(n);
+        var l = a.$flags$;
+        var o = a.$lazyInstance$;
+        t = w(t, r.$members$[n][0]);
+        var s = Number.isNaN(i) && Number.isNaN(t);
+        var u = t !== i && !s;
+        if ((!(l & 8) || i === undefined) && u) {
+          a.$instanceValues$.set(n, t);
+          if (o) {
+            if ((l & (2 | 16)) === 2) {
+              V(a, false);
+            }
+          }
+        }
+      };
+      var te = function te(e, n, t) {
+        if (n.$members$) {
+          var r = Object.entries(n.$members$);
+          var a = e.prototype;
+          r.map(function (e) {
+            var r = e[0],
+              i = e[1][0];
+            if (i & 31 || t & 2 && i & 32) {
+              Object.defineProperty(a, r, {
+                get: function get() {
+                  return ee(this, r);
+                },
+                set: function set(e) {
+                  ne(this, r, e, n);
+                },
+                configurable: true,
+                enumerable: true
+              });
+            } else if (t & 1 && i & 64) {
+              Object.defineProperty(a, r, {
+                value: function value() {
+                  var e = [];
+                  for (var n = 0; n < arguments.length; n++) {
+                    e[n] = arguments[n];
+                  }
+                  var t = ve(this);
+                  return t.$onInstancePromise$.then(function () {
+                    var n;
+                    return (n = t.$lazyInstance$)[r].apply(n, e);
+                  });
+                }
+              });
+            }
+          });
+          if (t & 1) {
+            var i = new Map();
+            a.attributeChangedCallback = function (e, n, t) {
+              var r = this;
+              Se.jmp(function () {
+                var n = i.get(e);
+                if (r.hasOwnProperty(n)) {
+                  t = r[n];
+                  delete r[n];
+                } else if (a.hasOwnProperty(n) && typeof r[n] === "number" && r[n] == t) {
+                  return;
+                }
+                r[n] = t === null && typeof r[n] === "boolean" ? false : t;
+              });
+            };
+            e.observedAttributes = r.filter(function (e) {
+              var n = e[0],
+                t = e[1];
+              return t[0] & 15;
+            }).map(function (e) {
+              var n = e[0],
+                t = e[1];
+              var r = t[1] || n;
+              i.set(r, n);
+              return r;
+            });
+          }
+        }
+        return e;
+      };
+      var re = function re(e, n, r, a, i) {
+        return __awaiter(t, void 0, void 0, function () {
+          var e, t, a, l, o, f, c;
+          return __generator(this, function ($) {
+            switch ($.label) {
+              case 0:
+                if (!((n.$flags$ & 32) === 0)) return [3, 3];
+                n.$flags$ |= 32;
+                i = ye(r);
+                if (!i.then) return [3, 2];
+                e = u();
+                return [4, i];
+              case 1:
+                i = $.sent();
+                e();
+                $.label = 2;
+              case 2:
+                if (!i.isProxied) {
+                  te(i, r, 2);
+                  i.isProxied = true;
+                }
+                t = s("createInstance", r.$tagName$);
+                {
+                  n.$flags$ |= 8;
+                }
+                try {
+                  new i(n);
+                } catch (e) {
+                  me(e);
+                }
+                {
+                  n.$flags$ &= ~8;
+                }
+                t();
+                if (i.style) {
+                  a = i.style;
+                  l = j(r);
+                  if (!be.has(l)) {
+                    o = s("registerStyles", r.$tagName$);
+                    x(l, a, !!(r.$flags$ & 1));
+                    o();
+                  }
+                }
+                $.label = 3;
+              case 3:
+                f = n.$ancestorComponent$;
+                c = function c() {
+                  return V(n, true);
+                };
+                if (f && f["s-rc"]) {
+                  f["s-rc"].push(c);
+                } else {
+                  c();
+                }
+                return [2];
+            }
+          });
+        });
+      };
+      var ae = function ae(e) {
+        if ((Se.$flags$ & 1) === 0) {
+          var n = ve(e);
+          var t = n.$cmpMeta$;
+          var r = s("connectedCallback", t.$tagName$);
+          if (!(n.$flags$ & 1)) {
+            n.$flags$ |= 1;
+            {
+              var a = e;
+              while (a = a.parentNode || a.host) {
+                if (a["s-p"]) {
+                  H(n, n.$ancestorComponent$ = a);
+                  break;
+                }
+              }
+            }
+            if (t.$members$) {
+              Object.entries(t.$members$).map(function (n) {
+                var t = n[0],
+                  r = n[1][0];
+                if (r & 31 && e.hasOwnProperty(t)) {
+                  var a = e[t];
+                  delete e[t];
+                  e[t] = a;
+                }
+              });
+            }
+            {
+              re(e, n, t);
+            }
+          } else {
+            oe(e, n, t.$listeners$);
+          }
+          r();
+        }
+      };
+      var ie = function ie(e) {
+        if ((Se.$flags$ & 1) === 0) {
+          var n = ve(e);
+          var t = n.$lazyInstance$;
+          {
+            if (n.$rmListeners$) {
+              n.$rmListeners$.map(function (e) {
+                return e();
+              });
+              n.$rmListeners$ = undefined;
+            }
+          }
+          {
+            Y(t, "disconnectedCallback");
+          }
+        }
+      };
+      var le = e("b", function (e, n) {
+        if (n === void 0) {
+          n = {};
+        }
+        var t;
+        var r = s();
+        var a = [];
+        var i = n.exclude || [];
+        var l = we.customElements;
+        var o = _e.head;
+        var u = o.querySelector("meta[charset]");
+        var c = _e.createElement("style");
+        var $ = [];
+        var v;
+        var d = true;
+        Object.assign(Se, n);
+        Se.$resourcesUrl$ = new URL(n.resourcesUrl || "./", _e.baseURI).href;
+        e.map(function (e) {
+          e[1].map(function (n) {
+            var t = {
+              $flags$: n[0],
+              $tagName$: n[1],
+              $members$: n[2],
+              $listeners$: n[3]
+            };
+            {
+              t.$members$ = n[2];
+            }
+            {
+              t.$listeners$ = n[3];
+            }
+            var r = t.$tagName$;
+            var o = function (e) {
+              __extends(n, e);
+              function n(n) {
+                var r = e.call(this, n) || this;
+                n = r;
+                pe(n, t);
+                if (t.$flags$ & 1) {
+                  {
+                    {
+                      n.attachShadow({
+                        mode: "open"
+                      });
+                    }
+                  }
+                }
+                return r;
+              }
+              n.prototype.connectedCallback = function () {
+                var e = this;
+                if (v) {
+                  clearTimeout(v);
+                  v = null;
+                }
+                if (d) {
+                  $.push(this);
+                } else {
+                  Se.jmp(function () {
+                    return ae(e);
+                  });
+                }
+              };
+              n.prototype.disconnectedCallback = function () {
+                var e = this;
+                Se.jmp(function () {
+                  return ie(e);
+                });
+              };
+              n.prototype.componentOnReady = function () {
+                return ve(this).$onReadyPromise$;
+              };
+              return n;
+            }(HTMLElement);
+            t.$lazyBundleId$ = e[0];
+            if (!i.includes(r) && !l.get(r)) {
+              a.push(r);
+              l.define(r, te(o, t, 1));
+            }
+          });
+        });
+        {
+          c.innerHTML = a + f;
+          c.setAttribute("data-styles", "");
+          var p = (t = Se.$nonce$) !== null && t !== void 0 ? t : h(_e);
+          if (p != null) {
+            c.setAttribute("nonce", p);
+          }
+          o.insertBefore(c, u ? u.nextSibling : o.firstChild);
+        }
+        d = false;
+        if ($.length) {
+          $.map(function (e) {
+            return e.connectedCallback();
+          });
+        } else {
+          {
+            Se.jmp(function () {
+              return v = setTimeout(X, 30);
+            });
+          }
+        }
+        r();
+      });
+      var oe = function oe(e, n, t, r) {
+        if (t) {
+          t.map(function (t) {
+            var r = t[0],
+              a = t[1],
+              i = t[2];
+            var l = ue(e, r);
+            var o = se(n, i);
+            var s = fe(r);
+            Se.ael(l, a, o, s);
+            (n.$rmListeners$ = n.$rmListeners$ || []).push(function () {
+              return Se.rel(l, a, o, s);
+            });
+          });
+        }
+      };
+      var se = function se(e, n) {
+        return function (t) {
+          try {
+            {
+              if (e.$flags$ & 256) {
+                e.$lazyInstance$[n](t);
+              } else {
+                (e.$queuedListeners$ = e.$queuedListeners$ || []).push([n, t]);
+              }
+            }
+          } catch (e) {
+            me(e);
+          }
+        };
+      };
+      var ue = function ue(e, n) {
+        if (n & 16) return _e.body;
+        return e;
+      };
+      var fe = function fe(e) {
+        return (e & 2) !== 0;
+      };
+      var ce = e("s", function (e) {
+        return Se.$nonce$ = e;
+      });
+      var $e = new WeakMap();
+      var ve = function ve(e) {
+        return $e.get(e);
+      };
+      var de = e("r", function (e, n) {
+        return $e.set(n.$lazyInstance$ = e, n);
+      });
+      var pe = function pe(e, n) {
+        var t = {
+          $flags$: 0,
+          $hostElement$: e,
+          $cmpMeta$: n,
+          $instanceValues$: new Map()
+        };
+        {
+          t.$onInstancePromise$ = new Promise(function (e) {
+            return t.$onInstanceResolve$ = e;
+          });
+        }
+        {
+          t.$onReadyPromise$ = new Promise(function (e) {
+            return t.$onReadyResolve$ = e;
+          });
+          e["s-p"] = [];
+          e["s-rc"] = [];
+        }
+        oe(e, t, n.$listeners$);
+        return $e.set(e, t);
+      };
+      var he = function he(e, n) {
+        return n in e;
+      };
+      var me = function me(e, n) {
+        return (0, console.error)(e, n);
+      };
+      var ge = new Map();
+      var ye = function ye(e, t, r) {
+        var a = e.$tagName$.replace(/-/g, "_");
+        var i = e.$lazyBundleId$;
+        var l = ge.get(i);
+        if (l) {
+          return l[a];
+        }
+        /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
+        return n.import("./".concat(i, ".entry.js").concat("")).then(function (e) {
+          {
+            ge.set(i, e);
+          }
+          return e[a];
+        }, me);
+      };
+      var be = new Map();
+      var we = typeof window !== "undefined" ? window : {};
+      var _e = we.document || {
+        head: {}
+      };
+      var Se = {
+        $flags$: 0,
+        $resourcesUrl$: "",
+        jmp: function jmp(e) {
+          return e();
+        },
+        raf: function raf(e) {
+          return requestAnimationFrame(e);
+        },
+        ael: function ael(e, n, t, r) {
+          return e.addEventListener(n, t, r);
+        },
+        rel: function rel(e, n, t, r) {
+          return e.removeEventListener(n, t, r);
+        },
+        ce: function ce(e, n) {
+          return new CustomEvent(e, n);
+        }
+      };
+      var Ne = e("p", function (e) {
+        return Promise.resolve(e);
+      });
+      var Re = function () {
+        try {
+          new CSSStyleSheet();
+          return typeof new CSSStyleSheet().replaceSync === "function";
+        } catch (e) {}
+        return false;
+      }();
+      var xe = [];
+      var Le = [];
+      var Pe = function Pe(e, n) {
+        return function (t) {
+          e.push(t);
+          if (!o) {
+            o = true;
+            if (n && Se.$flags$ & 4) {
+              Ee(_Ce);
+            } else {
+              Se.raf(_Ce);
+            }
+          }
+        };
+      };
+      var je = function je(e) {
+        for (var n = 0; n < e.length; n++) {
+          try {
+            e[n](performance.now());
+          } catch (e) {
+            me(e);
+          }
+        }
+        e.length = 0;
+      };
+      var _Ce = function Ce() {
+        je(xe);
+        {
+          je(Le);
+          if (o = xe.length > 0) {
+            Se.raf(_Ce);
+          }
+        }
+      };
+      var Ee = function Ee(e) {
+        return Ne().then(e);
+      };
+      var Ae = Pe(Le, true);
+    }
+  };
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-386e91ad.js b/src/public/js/pwa-elements/ionicpwaelements/p-386e91ad.js
index 6c50178..22adfe4 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-386e91ad.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-386e91ad.js
@@ -1,2 +1,660 @@
-let e,t,n=!1,l=!1;const o={},s=e=>"object"==(e=typeof e)||"function"===e;function c(e){var t,n,l;return null!==(l=null===(n=null===(t=e.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===n?void 0:n.getAttribute("content"))&&void 0!==l?l:void 0}const i=(e,t,...n)=>{let l=null,o=!1,c=!1;const i=[],u=t=>{for(let n=0;n<t.length;n++)l=t[n],Array.isArray(l)?u(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof e&&!s(l))&&(l+=""),o&&c?i[i.length-1].t+=l:i.push(o?r(null,l):l),c=o)};if(u(n),t){const e=t.className||t.class;e&&(t.class="object"!=typeof e?e:Object.keys(e).filter((t=>e[t])).join(" "))}const a=r(e,null);return a.l=t,i.length>0&&(a.o=i),a},r=(e,t)=>({i:0,u:e,t,h:null,o:null,l:null}),u={},a=e=>B(e).m,f=(e,t,n)=>{const l=a(e);return{emit:e=>d(l,t,{bubbles:!!(4&n),composed:!!(2&n),cancelable:!!(1&n),detail:e})}},d=(e,t,n)=>{const l=te.ce(t,n);return e.dispatchEvent(l),l},h=new WeakMap,m=e=>"sc-"+e.p,p=(e,t,n,l,o,c)=>{if(n!==l){let i=J(e,t),r=t.toLowerCase();if("class"===t){const t=e.classList,o=$(n),s=$(l);t.remove(...o.filter((e=>e&&!s.includes(e)))),t.add(...s.filter((e=>e&&!o.includes(e))))}else if("style"===t){for(const t in n)l&&null!=l[t]||(t.includes("-")?e.style.removeProperty(t):e.style[t]="");for(const t in l)n&&l[t]===n[t]||(t.includes("-")?e.style.setProperty(t,l[t]):e.style[t]=l[t])}else if("ref"===t)l&&l(e);else if(i||"o"!==t[0]||"n"!==t[1]){const r=s(l);if((i||r&&null!==l)&&!o)try{if(e.tagName.includes("-"))e[t]=l;else{const o=null==l?"":l;"list"===t?i=!1:null!=n&&e[t]==o||(e[t]=o)}}catch(e){}null==l||!1===l?!1===l&&""!==e.getAttribute(t)||e.removeAttribute(t):(!i||4&c||o)&&!r&&e.setAttribute(t,l=!0===l?"":l)}else t="-"===t[2]?t.slice(3):J(Z,r)?r.slice(2):r[2]+t.slice(3),n&&te.rel(e,t,n,!1),l&&te.ael(e,t,l,!1)}},y=/\s/,$=e=>e?e.split(y):[],b=(e,t,n,l)=>{const s=11===t.h.nodeType&&t.h.host?t.h.host:t.h,c=e&&e.l||o,i=t.l||o;for(l in c)l in i||p(s,l,c[l],void 0,n,t.i);for(l in i)p(s,l,c[l],i[l],n,t.i)},w=(t,l,o)=>{const s=l.o[o];let c,i,r=0;if(null!==s.t)c=s.h=ee.createTextNode(s.t);else{if(n||(n="svg"===s.u),c=s.h=ee.createElementNS(n?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",s.u),n&&"foreignObject"===s.u&&(n=!1),b(null,s,n),null!=e&&c["s-si"]!==e&&c.classList.add(c["s-si"]=e),s.o)for(r=0;r<s.o.length;++r)i=w(t,s,r),i&&c.appendChild(i);"svg"===s.u?n=!1:"foreignObject"===c.tagName&&(n=!0)}return c},v=(e,n,l,o,s,c)=>{let i,r=e;for(r.shadowRoot&&r.tagName===t&&(r=r.shadowRoot);s<=c;++s)o[s]&&(i=w(null,l,s),i&&(o[s].h=i,r.insertBefore(i,n)))},g=(e,t,n)=>{for(let l=t;l<=n;++l){const t=e[l];if(t){const e=t.h;O(t),e&&e.remove()}}},j=(e,t)=>e.u===t.u,S=(e,t)=>{const l=t.h=e.h,o=e.o,s=t.o,c=t.u,i=t.t;null===i?(n="svg"===c||"foreignObject"!==c&&n,b(e,t,n),null!==o&&null!==s?((e,t,n,l)=>{let o,s=0,c=0,i=t.length-1,r=t[0],u=t[i],a=l.length-1,f=l[0],d=l[a];for(;s<=i&&c<=a;)null==r?r=t[++s]:null==u?u=t[--i]:null==f?f=l[++c]:null==d?d=l[--a]:j(r,f)?(S(r,f),r=t[++s],f=l[++c]):j(u,d)?(S(u,d),u=t[--i],d=l[--a]):j(r,d)?(S(r,d),e.insertBefore(r.h,u.h.nextSibling),r=t[++s],d=l[--a]):j(u,f)?(S(u,f),e.insertBefore(u.h,r.h),u=t[--i],f=l[++c]):(o=w(t&&t[c],n,c),f=l[++c],o&&r.h.parentNode.insertBefore(o,r.h));s>i?v(e,null==l[a+1]?null:l[a+1].h,n,l,c,a):c>a&&g(t,s,i)})(l,o,t,s):null!==s?(null!==e.t&&(l.textContent=""),v(l,null,t,s,0,s.length-1)):null!==o&&g(o,0,o.length-1),n&&"svg"===c&&(n=!1)):e.t!==i&&(l.data=i)},O=e=>{e.l&&e.l.ref&&e.l.ref(null),e.o&&e.o.map(O)},M=(e,t)=>{t&&!e.$&&t["s-p"]&&t["s-p"].push(new Promise((t=>e.$=t)))},k=(e,t)=>{if(e.i|=16,!(4&e.i))return M(e,e.v),ae((()=>C(e,t)));e.i|=512},C=(e,t)=>{const n=e.g;return t&&(e.i|=256,e.j&&(e.j.map((([e,t])=>F(n,e,t))),e.j=void 0)),P(void 0,(()=>E(e,n,t)))},P=(e,t)=>x(e)?e.then(t):t(),x=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,E=async(e,t,n)=>{var l;const o=e.m,s=o["s-rc"];n&&(e=>{const t=e.S,n=e.m,l=t.i,o=((e,t)=>{var n;let l=m(t);const o=Y.get(l);if(e=11===e.nodeType?e:ee,o)if("string"==typeof o){let t,s=h.get(e=e.head||e);if(s||h.set(e,s=new Set),!s.has(l)){{t=ee.createElement("style"),t.innerHTML=o;const l=null!==(n=te.O)&&void 0!==n?n:c(ee);null!=l&&t.setAttribute("nonce",l),e.insertBefore(t,e.querySelector("link"))}s&&s.add(l)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return l})(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);10&l&&(n["s-sc"]=o,n.classList.add(o+"-h"))})(e);L(e,t),s&&(s.map((e=>e())),o["s-rc"]=void 0);{const t=null!==(l=o["s-p"])&&void 0!==l?l:[],n=()=>N(e);0===t.length?n():(Promise.all(t).then(n),e.i|=4,t.length=0)}},L=(n,l)=>{try{l=l.render(),n.i&=-17,n.i|=2,((n,l)=>{const o=n.m,s=n.M||r(null,null),c=(e=>e&&e.u===u)(l)?l:i(null,null,l);t=o.tagName,c.u=null,c.i|=4,n.M=c,c.h=s.h=o.shadowRoot||o,e=o["s-sc"],S(s,c)})(n,l)}catch(e){K(e,n.m)}return null},N=e=>{const t=e.m,n=e.g,l=e.v;64&e.i||(e.i|=64,H(t),F(n,"componentDidLoad"),e.k(t),l||A()),e.C(t),e.$&&(e.$(),e.$=void 0),512&e.i&&ue((()=>k(e,!1))),e.i&=-517},T=e=>{{const t=B(e),n=t.m.isConnected;return n&&2==(18&t.i)&&k(t,!1),n}},A=()=>{H(ee.documentElement),ue((()=>d(Z,"appload",{detail:{namespace:"ionicpwaelements"}})))},F=(e,t,n)=>{if(e&&e[t])try{return e[t](n)}catch(e){K(e)}},H=e=>e.classList.add("hydrated"),R=(e,t,n)=>{if(t.P){const l=Object.entries(t.P),o=e.prototype;if(l.map((([e,[l]])=>{31&l||2&n&&32&l?Object.defineProperty(o,e,{get(){return((e,t)=>B(this).L.get(t))(0,e)},set(n){((e,t,n,l)=>{const o=B(e),c=o.L.get(t),i=o.i,r=o.g;n=((e,t)=>null==e||s(e)?e:4&t?"false"!==e&&(""===e||!!e):2&t?parseFloat(e):1&t?e+"":e)(n,l.P[t][0]),8&i&&void 0!==c||n===c||Number.isNaN(c)&&Number.isNaN(n)||(o.L.set(t,n),r&&2==(18&i)&&k(o,!1))})(this,e,n,t)},configurable:!0,enumerable:!0}):1&n&&64&l&&Object.defineProperty(o,e,{value(...t){const n=B(this);return n.N.then((()=>n.g[e](...t)))}})})),1&n){const t=new Map;o.attributeChangedCallback=function(e,n,l){te.jmp((()=>{const n=t.get(e);if(this.hasOwnProperty(n))l=this[n],delete this[n];else if(o.hasOwnProperty(n)&&"number"==typeof this[n]&&this[n]==l)return;this[n]=(null!==l||"boolean"!=typeof this[n])&&l}))},e.observedAttributes=l.filter((([e,t])=>15&t[0])).map((([e,n])=>{const l=n[1]||e;return t.set(l,e),l}))}}return e},U=(e,t={})=>{var n;const l=[],o=t.exclude||[],s=Z.customElements,i=ee.head,r=i.querySelector("meta[charset]"),u=ee.createElement("style"),a=[];let f,d=!0;Object.assign(te,t),te.T=new URL(t.resourcesUrl||"./",ee.baseURI).href,e.map((e=>{e[1].map((t=>{const n={i:t[0],p:t[1],P:t[2],A:t[3]};n.P=t[2],n.A=t[3];const c=n.p,i=class extends HTMLElement{constructor(e){super(e),I(e=this,n),1&n.i&&e.attachShadow({mode:"open"})}connectedCallback(){f&&(clearTimeout(f),f=null),d?a.push(this):te.jmp((()=>(e=>{if(0==(1&te.i)){const t=B(e),n=t.S,l=()=>{};if(1&t.i)W(e,t,n.A);else{t.i|=1;{let n=e;for(;n=n.parentNode||n.host;)if(n["s-p"]){M(t,t.v=n);break}}n.P&&Object.entries(n.P).map((([t,[n]])=>{if(31&n&&e.hasOwnProperty(t)){const n=e[t];delete e[t],e[t]=n}})),(async(e,t,n,l,o)=>{if(0==(32&t.i)){t.i|=32;{if((o=X(n)).then){const e=()=>{};o=await o,e()}o.isProxied||(R(o,n,2),o.isProxied=!0);const e=()=>{};t.i|=8;try{new o(t)}catch(e){K(e)}t.i&=-9,e()}if(o.style){let e=o.style;const t=m(n);if(!Y.has(t)){const l=()=>{};((e,t,n)=>{let l=Y.get(e);le&&n?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,Y.set(e,l)})(t,e,!!(1&n.i)),l()}}}const s=t.v,c=()=>k(t,!0);s&&s["s-rc"]?s["s-rc"].push(c):c()})(0,t,n)}l()}})(this)))}disconnectedCallback(){te.jmp((()=>(()=>{if(0==(1&te.i)){const e=B(this),t=e.g;e.F&&(e.F.map((e=>e())),e.F=void 0),F(t,"disconnectedCallback")}})()))}componentOnReady(){return B(this).H}};n.R=e[0],o.includes(c)||s.get(c)||(l.push(c),s.define(c,R(i,n,1)))}))}));{u.innerHTML=l+"{visibility:hidden}.hydrated{visibility:inherit}",u.setAttribute("data-styles","");const e=null!==(n=te.O)&&void 0!==n?n:c(ee);null!=e&&u.setAttribute("nonce",e),i.insertBefore(u,r?r.nextSibling:i.firstChild)}d=!1,a.length?a.map((e=>e.connectedCallback())):te.jmp((()=>f=setTimeout(A,30)))},W=(e,t,n)=>{n&&n.map((([n,l,o])=>{const s=D(e,n),c=q(t,o),i=V(n);te.ael(s,l,c,i),(t.F=t.F||[]).push((()=>te.rel(s,l,c,i)))}))},q=(e,t)=>n=>{try{256&e.i?e.g[t](n):(e.j=e.j||[]).push([t,n])}catch(e){K(e)}},D=(e,t)=>16&t?ee.body:e,V=e=>0!=(2&e),_=e=>te.O=e,z=new WeakMap,B=e=>z.get(e),G=(e,t)=>z.set(t.g=e,t),I=(e,t)=>{const n={i:0,m:e,S:t,L:new Map};return n.N=new Promise((e=>n.C=e)),n.H=new Promise((e=>n.k=e)),e["s-p"]=[],e["s-rc"]=[],W(e,n,t.A),z.set(e,n)},J=(e,t)=>t in e,K=(e,t)=>(0,console.error)(e,t),Q=new Map,X=e=>{const t=e.p.replace(/-/g,"_"),n=e.R,l=Q.get(n);return l?l[t]:import(`./${n}.entry.js`).then((e=>(Q.set(n,e),e[t])),K)
-/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},Y=new Map,Z="undefined"!=typeof window?window:{},ee=Z.document||{head:{}},te={i:0,T:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,l)=>e.addEventListener(t,n,l),rel:(e,t,n,l)=>e.removeEventListener(t,n,l),ce:(e,t)=>new CustomEvent(e,t)},ne=e=>Promise.resolve(e),le=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),oe=[],se=[],ce=(e,t)=>n=>{e.push(n),l||(l=!0,t&&4&te.i?ue(re):te.raf(re))},ie=e=>{for(let t=0;t<e.length;t++)try{e[t](performance.now())}catch(e){K(e)}e.length=0},re=()=>{ie(oe),ie(se),(l=oe.length>0)&&te.raf(re)},ue=e=>ne().then(e),ae=ce(se,!0);export{u as H,U as b,f as c,T as f,a as g,i as h,ne as p,G as r,_ as s}
\ No newline at end of file
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
+function _possibleConstructorReturn(t, e) { if (e && ("object" == typeof e || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
+function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
+function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
+function _wrapNativeSuper(t) { var r = "function" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }
+function _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }
+function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
+function _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf("[native code]"); } catch (n) { return "function" == typeof t; } }
+function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
+function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
+function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
+function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
+function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
+function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
+function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
+function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
+function _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }
+function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
+var e,
+  t,
+  n = !1,
+  l = !1;
+var o = {},
+  s = function s(e) {
+    return "object" == (e = typeof e) || "function" === e;
+  };
+function c(e) {
+  var t, n, l;
+  return null !== (l = null === (n = null === (t = e.head) || void 0 === t ? void 0 : t.querySelector('meta[name="csp-nonce"]')) || void 0 === n ? void 0 : n.getAttribute("content")) && void 0 !== l ? l : void 0;
+}
+var i = function i(e, t) {
+    var l = null,
+      o = !1,
+      c = !1;
+    var i = [],
+      _u = function u(t) {
+        for (var _n = 0; _n < t.length; _n++) l = t[_n], Array.isArray(l) ? _u(l) : null != l && "boolean" != typeof l && ((o = "function" != typeof e && !s(l)) && (l += ""), o && c ? i[i.length - 1].t += l : i.push(o ? r(null, l) : l), c = o);
+      };
+    for (var _len = arguments.length, n = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
+      n[_key - 2] = arguments[_key];
+    }
+    if (_u(n), t) {
+      var _e = t.className || t.class;
+      _e && (t.class = "object" != typeof _e ? _e : Object.keys(_e).filter(function (t) {
+        return _e[t];
+      }).join(" "));
+    }
+    var a = r(e, null);
+    return a.l = t, i.length > 0 && (a.o = i), a;
+  },
+  r = function r(e, t) {
+    return {
+      i: 0,
+      u: e,
+      t: t,
+      h: null,
+      o: null,
+      l: null
+    };
+  },
+  u = {},
+  a = function a(e) {
+    return B(e).m;
+  },
+  f = function f(e, t, n) {
+    var l = a(e);
+    return {
+      emit: function emit(e) {
+        return d(l, t, {
+          bubbles: !!(4 & n),
+          composed: !!(2 & n),
+          cancelable: !!(1 & n),
+          detail: e
+        });
+      }
+    };
+  },
+  d = function d(e, t, n) {
+    var l = te.ce(t, n);
+    return e.dispatchEvent(l), l;
+  },
+  h = new WeakMap(),
+  m = function m(e) {
+    return "sc-" + e.p;
+  },
+  p = function p(e, t, n, l, o, c) {
+    if (n !== l) {
+      var _i = J(e, t),
+        _r = t.toLowerCase();
+      if ("class" === t) {
+        var _t = e.classList,
+          _o = $(n),
+          _s = $(l);
+        _t.remove.apply(_t, _toConsumableArray(_o.filter(function (e) {
+          return e && !_s.includes(e);
+        }))), _t.add.apply(_t, _toConsumableArray(_s.filter(function (e) {
+          return e && !_o.includes(e);
+        })));
+      } else if ("style" === t) {
+        for (var _t2 in n) l && null != l[_t2] || (_t2.includes("-") ? e.style.removeProperty(_t2) : e.style[_t2] = "");
+        for (var _t3 in l) n && l[_t3] === n[_t3] || (_t3.includes("-") ? e.style.setProperty(_t3, l[_t3]) : e.style[_t3] = l[_t3]);
+      } else if ("ref" === t) l && l(e);else if (_i || "o" !== t[0] || "n" !== t[1]) {
+        var _r2 = s(l);
+        if ((_i || _r2 && null !== l) && !o) try {
+          if (e.tagName.includes("-")) e[t] = l;else {
+            var _o2 = null == l ? "" : l;
+            "list" === t ? _i = !1 : null != n && e[t] == _o2 || (e[t] = _o2);
+          }
+        } catch (e) {}
+        null == l || !1 === l ? !1 === l && "" !== e.getAttribute(t) || e.removeAttribute(t) : (!_i || 4 & c || o) && !_r2 && e.setAttribute(t, l = !0 === l ? "" : l);
+      } else t = "-" === t[2] ? t.slice(3) : J(Z, _r) ? _r.slice(2) : _r[2] + t.slice(3), n && te.rel(e, t, n, !1), l && te.ael(e, t, l, !1);
+    }
+  },
+  y = /\s/,
+  $ = function $(e) {
+    return e ? e.split(y) : [];
+  },
+  b = function b(e, t, n, l) {
+    var s = 11 === t.h.nodeType && t.h.host ? t.h.host : t.h,
+      c = e && e.l || o,
+      i = t.l || o;
+    for (l in c) l in i || p(s, l, c[l], void 0, n, t.i);
+    for (l in i) p(s, l, c[l], i[l], n, t.i);
+  },
+  _w = function w(t, l, o) {
+    var s = l.o[o];
+    var c,
+      i,
+      r = 0;
+    if (null !== s.t) c = s.h = ee.createTextNode(s.t);else {
+      if (n || (n = "svg" === s.u), c = s.h = ee.createElementNS(n ? "http://www.w3.org/2000/svg" : "http://www.w3.org/1999/xhtml", s.u), n && "foreignObject" === s.u && (n = !1), b(null, s, n), null != e && c["s-si"] !== e && c.classList.add(c["s-si"] = e), s.o) for (r = 0; r < s.o.length; ++r) i = _w(t, s, r), i && c.appendChild(i);
+      "svg" === s.u ? n = !1 : "foreignObject" === c.tagName && (n = !0);
+    }
+    return c;
+  },
+  v = function v(e, n, l, o, s, c) {
+    var i,
+      r = e;
+    for (r.shadowRoot && r.tagName === t && (r = r.shadowRoot); s <= c; ++s) o[s] && (i = _w(null, l, s), i && (o[s].h = i, r.insertBefore(i, n)));
+  },
+  g = function g(e, t, n) {
+    for (var _l = t; _l <= n; ++_l) {
+      var _t4 = e[_l];
+      if (_t4) {
+        var _e2 = _t4.h;
+        _O(_t4), _e2 && _e2.remove();
+      }
+    }
+  },
+  j = function j(e, t) {
+    return e.u === t.u;
+  },
+  _S = function S(e, t) {
+    var l = t.h = e.h,
+      o = e.o,
+      s = t.o,
+      c = t.u,
+      i = t.t;
+    null === i ? (n = "svg" === c || "foreignObject" !== c && n, b(e, t, n), null !== o && null !== s ? function (e, t, n, l) {
+      var o,
+        s = 0,
+        c = 0,
+        i = t.length - 1,
+        r = t[0],
+        u = t[i],
+        a = l.length - 1,
+        f = l[0],
+        d = l[a];
+      for (; s <= i && c <= a;) null == r ? r = t[++s] : null == u ? u = t[--i] : null == f ? f = l[++c] : null == d ? d = l[--a] : j(r, f) ? (_S(r, f), r = t[++s], f = l[++c]) : j(u, d) ? (_S(u, d), u = t[--i], d = l[--a]) : j(r, d) ? (_S(r, d), e.insertBefore(r.h, u.h.nextSibling), r = t[++s], d = l[--a]) : j(u, f) ? (_S(u, f), e.insertBefore(u.h, r.h), u = t[--i], f = l[++c]) : (o = _w(t && t[c], n, c), f = l[++c], o && r.h.parentNode.insertBefore(o, r.h));
+      s > i ? v(e, null == l[a + 1] ? null : l[a + 1].h, n, l, c, a) : c > a && g(t, s, i);
+    }(l, o, t, s) : null !== s ? (null !== e.t && (l.textContent = ""), v(l, null, t, s, 0, s.length - 1)) : null !== o && g(o, 0, o.length - 1), n && "svg" === c && (n = !1)) : e.t !== i && (l.data = i);
+  },
+  _O = function O(e) {
+    e.l && e.l.ref && e.l.ref(null), e.o && e.o.map(_O);
+  },
+  M = function M(e, t) {
+    t && !e.$ && t["s-p"] && t["s-p"].push(new Promise(function (t) {
+      return e.$ = t;
+    }));
+  },
+  k = function k(e, t) {
+    if (e.i |= 16, !(4 & e.i)) return M(e, e.v), ae(function () {
+      return C(e, t);
+    });
+    e.i |= 512;
+  },
+  C = function C(e, t) {
+    var n = e.g;
+    return t && (e.i |= 256, e.j && (e.j.map(function (_ref) {
+      var _ref2 = _slicedToArray(_ref, 2),
+        e = _ref2[0],
+        t = _ref2[1];
+      return F(n, e, t);
+    }), e.j = void 0)), P(void 0, function () {
+      return E(e, n, t);
+    });
+  },
+  P = function P(e, t) {
+    return x(e) ? e.then(t) : t();
+  },
+  x = function x(e) {
+    return e instanceof Promise || e && e.then && "function" == typeof e.then;
+  },
+  E = /*#__PURE__*/function () {
+    var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e, t, n) {
+      var l, o, s, _t6, _n2;
+      return _regeneratorRuntime().wrap(function _callee$(_context) {
+        while (1) switch (_context.prev = _context.next) {
+          case 0:
+            o = e.m, s = o["s-rc"];
+            n && function (e) {
+              var t = e.S,
+                n = e.m,
+                l = t.i,
+                o = function (e, t) {
+                  var n;
+                  var l = m(t);
+                  var o = Y.get(l);
+                  if (e = 11 === e.nodeType ? e : ee, o) if ("string" == typeof o) {
+                    var _t5,
+                      _s2 = h.get(e = e.head || e);
+                    if (_s2 || h.set(e, _s2 = new Set()), !_s2.has(l)) {
+                      {
+                        _t5 = ee.createElement("style"), _t5.innerHTML = o;
+                        var _l2 = null !== (n = te.O) && void 0 !== n ? n : c(ee);
+                        null != _l2 && _t5.setAttribute("nonce", _l2), e.insertBefore(_t5, e.querySelector("link"));
+                      }
+                      _s2 && _s2.add(l);
+                    }
+                  } else e.adoptedStyleSheets.includes(o) || (e.adoptedStyleSheets = [].concat(_toConsumableArray(e.adoptedStyleSheets), [o]));
+                  return l;
+                }(n.shadowRoot ? n.shadowRoot : n.getRootNode(), t);
+              10 & l && (n["s-sc"] = o, n.classList.add(o + "-h"));
+            }(e);
+            L(e, t), s && (s.map(function (e) {
+              return e();
+            }), o["s-rc"] = void 0);
+            _t6 = null !== (l = o["s-p"]) && void 0 !== l ? l : [], _n2 = function _n2() {
+              return N(e);
+            };
+            0 === _t6.length ? _n2() : (Promise.all(_t6).then(_n2), e.i |= 4, _t6.length = 0);
+          case 5:
+          case "end":
+            return _context.stop();
+        }
+      }, _callee);
+    }));
+    return function E(_x, _x2, _x3) {
+      return _ref3.apply(this, arguments);
+    };
+  }(),
+  L = function L(n, l) {
+    try {
+      l = l.render(), n.i &= -17, n.i |= 2, function (n, l) {
+        var o = n.m,
+          s = n.M || r(null, null),
+          c = function (e) {
+            return e && e.u === u;
+          }(l) ? l : i(null, null, l);
+        t = o.tagName, c.u = null, c.i |= 4, n.M = c, c.h = s.h = o.shadowRoot || o, e = o["s-sc"], _S(s, c);
+      }(n, l);
+    } catch (e) {
+      K(e, n.m);
+    }
+    return null;
+  },
+  N = function N(e) {
+    var t = e.m,
+      n = e.g,
+      l = e.v;
+    64 & e.i || (e.i |= 64, H(t), F(n, "componentDidLoad"), e.k(t), l || A()), e.C(t), e.$ && (e.$(), e.$ = void 0), 512 & e.i && ue(function () {
+      return k(e, !1);
+    }), e.i &= -517;
+  },
+  T = function T(e) {
+    {
+      var _t7 = B(e),
+        _n3 = _t7.m.isConnected;
+      return _n3 && 2 == (18 & _t7.i) && k(_t7, !1), _n3;
+    }
+  },
+  A = function A() {
+    H(ee.documentElement), ue(function () {
+      return d(Z, "appload", {
+        detail: {
+          namespace: "ionicpwaelements"
+        }
+      });
+    });
+  },
+  F = function F(e, t, n) {
+    if (e && e[t]) try {
+      return e[t](n);
+    } catch (e) {
+      K(e);
+    }
+  },
+  H = function H(e) {
+    return e.classList.add("hydrated");
+  },
+  R = function R(e, t, n) {
+    if (t.P) {
+      var l = Object.entries(t.P),
+        _o3 = e.prototype;
+      if (l.map(function (_ref4) {
+        var _ref5 = _slicedToArray(_ref4, 2),
+          e = _ref5[0],
+          _ref5$ = _slicedToArray(_ref5[1], 1),
+          l = _ref5$[0];
+        31 & l || 2 & n && 32 & l ? Object.defineProperty(_o3, e, {
+          get: function get() {
+            var _this = this;
+            return function (e, t) {
+              return B(_this).L.get(t);
+            }(0, e);
+          },
+          set: function set(n) {
+            (function (e, t, n, l) {
+              var o = B(e),
+                c = o.L.get(t),
+                i = o.i,
+                r = o.g;
+              n = function (e, t) {
+                return null == e || s(e) ? e : 4 & t ? "false" !== e && ("" === e || !!e) : 2 & t ? parseFloat(e) : 1 & t ? e + "" : e;
+              }(n, l.P[t][0]), 8 & i && void 0 !== c || n === c || Number.isNaN(c) && Number.isNaN(n) || (o.L.set(t, n), r && 2 == (18 & i) && k(o, !1));
+            })(this, e, n, t);
+          },
+          configurable: !0,
+          enumerable: !0
+        }) : 1 & n && 64 & l && Object.defineProperty(_o3, e, {
+          value: function value() {
+            for (var _len2 = arguments.length, t = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
+              t[_key2] = arguments[_key2];
+            }
+            var n = B(this);
+            return n.N.then(function () {
+              var _n$g;
+              return (_n$g = n.g)[e].apply(_n$g, t);
+            });
+          }
+        });
+      }), 1 & n) {
+        var _t8 = new Map();
+        _o3.attributeChangedCallback = function (e, n, l) {
+          var _this2 = this;
+          te.jmp(function () {
+            var n = _t8.get(e);
+            if (_this2.hasOwnProperty(n)) l = _this2[n], delete _this2[n];else if (_o3.hasOwnProperty(n) && "number" == typeof _this2[n] && _this2[n] == l) return;
+            _this2[n] = (null !== l || "boolean" != typeof _this2[n]) && l;
+          });
+        }, e.observedAttributes = l.filter(function (_ref6) {
+          var _ref7 = _slicedToArray(_ref6, 2),
+            e = _ref7[0],
+            t = _ref7[1];
+          return 15 & t[0];
+        }).map(function (_ref8) {
+          var _ref9 = _slicedToArray(_ref8, 2),
+            e = _ref9[0],
+            n = _ref9[1];
+          var l = n[1] || e;
+          return _t8.set(l, e), l;
+        });
+      }
+    }
+    return e;
+  },
+  U = function U(e) {
+    var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+    var n;
+    var l = [],
+      o = t.exclude || [],
+      s = Z.customElements,
+      i = ee.head,
+      r = i.querySelector("meta[charset]"),
+      u = ee.createElement("style"),
+      a = [];
+    var f,
+      d = !0;
+    Object.assign(te, t), te.T = new URL(t.resourcesUrl || "./", ee.baseURI).href, e.map(function (e) {
+      e[1].map(function (t) {
+        var n = {
+          i: t[0],
+          p: t[1],
+          P: t[2],
+          A: t[3]
+        };
+        n.P = t[2], n.A = t[3];
+        var c = n.p,
+          i = /*#__PURE__*/function (_HTMLElement) {
+            function i(e) {
+              var _this3;
+              _classCallCheck(this, i);
+              _this3 = _callSuper(this, i, [e]), I(e = _assertThisInitialized(_this3), n), 1 & n.i && e.attachShadow({
+                mode: "open"
+              });
+              return _this3;
+            }
+            _inherits(i, _HTMLElement);
+            return _createClass(i, [{
+              key: "connectedCallback",
+              value: function connectedCallback() {
+                var _this4 = this;
+                f && (clearTimeout(f), f = null), d ? a.push(this) : te.jmp(function () {
+                  return function (e) {
+                    if (0 == (1 & te.i)) {
+                      var _t9 = B(e),
+                        _n4 = _t9.S,
+                        _l3 = function _l3() {};
+                      if (1 & _t9.i) W(e, _t9, _n4.A);else {
+                        _t9.i |= 1;
+                        {
+                          var _n5 = e;
+                          for (; _n5 = _n5.parentNode || _n5.host;) if (_n5["s-p"]) {
+                            M(_t9, _t9.v = _n5);
+                            break;
+                          }
+                        }
+                        _n4.P && Object.entries(_n4.P).map(function (_ref10) {
+                          var _ref11 = _slicedToArray(_ref10, 2),
+                            t = _ref11[0],
+                            _ref11$ = _slicedToArray(_ref11[1], 1),
+                            n = _ref11$[0];
+                          if (31 & n && e.hasOwnProperty(t)) {
+                            var _n6 = e[t];
+                            delete e[t], e[t] = _n6;
+                          }
+                        }), function () {
+                          var _ref12 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e, t, n, l, o) {
+                            var _e3, _e4, _e5, _t10, _l4, s, c;
+                            return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+                              while (1) switch (_context2.prev = _context2.next) {
+                                case 0:
+                                  if (!(0 == (32 & t.i))) {
+                                    _context2.next = 14;
+                                    break;
+                                  }
+                                  t.i |= 32;
+                                  if (!(o = X(n)).then) {
+                                    _context2.next = 8;
+                                    break;
+                                  }
+                                  _e3 = function _e3() {};
+                                  _context2.next = 6;
+                                  return o;
+                                case 6:
+                                  o = _context2.sent;
+                                  _e3();
+                                case 8:
+                                  o.isProxied || (R(o, n, 2), o.isProxied = !0);
+                                  _e4 = function _e4() {};
+                                  t.i |= 8;
+                                  try {
+                                    new o(t);
+                                  } catch (e) {
+                                    K(e);
+                                  }
+                                  t.i &= -9, _e4();
+                                  if (o.style) {
+                                    _e5 = o.style;
+                                    _t10 = m(n);
+                                    if (!Y.has(_t10)) {
+                                      _l4 = function _l4() {};
+                                      (function (e, t, n) {
+                                        var l = Y.get(e);
+                                        le && n ? (l = l || new CSSStyleSheet(), "string" == typeof l ? l = t : l.replaceSync(t)) : l = t, Y.set(e, l);
+                                      })(_t10, _e5, !!(1 & n.i)), _l4();
+                                    }
+                                  }
+                                case 14:
+                                  s = t.v, c = function c() {
+                                    return k(t, !0);
+                                  };
+                                  s && s["s-rc"] ? s["s-rc"].push(c) : c();
+                                case 16:
+                                case "end":
+                                  return _context2.stop();
+                              }
+                            }, _callee2);
+                          }));
+                          return function (_x4, _x5, _x6, _x7, _x8) {
+                            return _ref12.apply(this, arguments);
+                          };
+                        }()(0, _t9, _n4);
+                      }
+                      _l3();
+                    }
+                  }(_this4);
+                });
+              }
+            }, {
+              key: "disconnectedCallback",
+              value: function disconnectedCallback() {
+                var _this5 = this;
+                te.jmp(function () {
+                  return function () {
+                    if (0 == (1 & te.i)) {
+                      var _e6 = B(_this5),
+                        _t11 = _e6.g;
+                      _e6.F && (_e6.F.map(function (e) {
+                        return e();
+                      }), _e6.F = void 0), F(_t11, "disconnectedCallback");
+                    }
+                  }();
+                });
+              }
+            }, {
+              key: "componentOnReady",
+              value: function componentOnReady() {
+                return B(this).H;
+              }
+            }]);
+          }(/*#__PURE__*/_wrapNativeSuper(HTMLElement));
+        n.R = e[0], o.includes(c) || s.get(c) || (l.push(c), s.define(c, R(i, n, 1)));
+      });
+    });
+    {
+      u.innerHTML = l + "{visibility:hidden}.hydrated{visibility:inherit}", u.setAttribute("data-styles", "");
+      var _e7 = null !== (n = te.O) && void 0 !== n ? n : c(ee);
+      null != _e7 && u.setAttribute("nonce", _e7), i.insertBefore(u, r ? r.nextSibling : i.firstChild);
+    }
+    d = !1, a.length ? a.map(function (e) {
+      return e.connectedCallback();
+    }) : te.jmp(function () {
+      return f = setTimeout(A, 30);
+    });
+  },
+  W = function W(e, t, n) {
+    n && n.map(function (_ref13) {
+      var _ref14 = _slicedToArray(_ref13, 3),
+        n = _ref14[0],
+        l = _ref14[1],
+        o = _ref14[2];
+      var s = D(e, n),
+        c = q(t, o),
+        i = V(n);
+      te.ael(s, l, c, i), (t.F = t.F || []).push(function () {
+        return te.rel(s, l, c, i);
+      });
+    });
+  },
+  q = function q(e, t) {
+    return function (n) {
+      try {
+        256 & e.i ? e.g[t](n) : (e.j = e.j || []).push([t, n]);
+      } catch (e) {
+        K(e);
+      }
+    };
+  },
+  D = function D(e, t) {
+    return 16 & t ? ee.body : e;
+  },
+  V = function V(e) {
+    return 0 != (2 & e);
+  },
+  _ = function _(e) {
+    return te.O = e;
+  },
+  z = new WeakMap(),
+  B = function B(e) {
+    return z.get(e);
+  },
+  G = function G(e, t) {
+    return z.set(t.g = e, t);
+  },
+  I = function I(e, t) {
+    var n = {
+      i: 0,
+      m: e,
+      S: t,
+      L: new Map()
+    };
+    return n.N = new Promise(function (e) {
+      return n.C = e;
+    }), n.H = new Promise(function (e) {
+      return n.k = e;
+    }), e["s-p"] = [], e["s-rc"] = [], W(e, n, t.A), z.set(e, n);
+  },
+  J = function J(e, t) {
+    return t in e;
+  },
+  K = function K(e, t) {
+    return (0, console.error)(e, t);
+  },
+  Q = new Map(),
+  X = function X(e) {
+    var t = e.p.replace(/-/g, "_"),
+      n = e.R,
+      l = Q.get(n);
+    return l ? l[t] : import("./".concat(n, ".entry.js")).then(function (e) {
+      return Q.set(n, e), e[t];
+    }, K);
+    /*!__STENCIL_STATIC_IMPORT_SWITCH__*/
+  },
+  Y = new Map(),
+  Z = "undefined" != typeof window ? window : {},
+  ee = Z.document || {
+    head: {}
+  },
+  te = {
+    i: 0,
+    T: "",
+    jmp: function jmp(e) {
+      return e();
+    },
+    raf: function raf(e) {
+      return requestAnimationFrame(e);
+    },
+    ael: function ael(e, t, n, l) {
+      return e.addEventListener(t, n, l);
+    },
+    rel: function rel(e, t, n, l) {
+      return e.removeEventListener(t, n, l);
+    },
+    ce: function ce(e, t) {
+      return new CustomEvent(e, t);
+    }
+  },
+  ne = function ne(e) {
+    return Promise.resolve(e);
+  },
+  le = function () {
+    try {
+      return new CSSStyleSheet(), "function" == typeof new CSSStyleSheet().replaceSync;
+    } catch (e) {}
+    return !1;
+  }(),
+  oe = [],
+  se = [],
+  ce = function ce(e, t) {
+    return function (n) {
+      e.push(n), l || (l = !0, t && 4 & te.i ? ue(_re) : te.raf(_re));
+    };
+  },
+  ie = function ie(e) {
+    for (var _t12 = 0; _t12 < e.length; _t12++) try {
+      e[_t12](performance.now());
+    } catch (e) {
+      K(e);
+    }
+    e.length = 0;
+  },
+  _re = function re() {
+    ie(oe), ie(se), (l = oe.length > 0) && te.raf(_re);
+  },
+  ue = function ue(e) {
+    return ne().then(e);
+  },
+  ae = ce(se, !0);
+export { u as H, U as b, f as c, T as f, a as g, i as h, ne as p, G as r, _ as s };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-3bb700a2.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-3bb700a2.entry.js
index 97b5a2d..7f9a165 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-3bb700a2.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-3bb700a2.entry.js
@@ -1 +1,94 @@
-import{r as s,c as t,h as i}from"./p-386e91ad.js";const e=class{constructor(i){s(this,i),this.onPhoto=t(this,"onPhoto",7),this.noDeviceError=t(this,"noDeviceError",7),this.facingMode="user",this.hidePicker=!1}async present(){const s=document.createElement("pwa-camera-modal-instance");s.facingMode=this.facingMode,s.hidePicker=this.hidePicker,s.addEventListener("onPhoto",(async s=>{this._modal&&this.onPhoto.emit(s.detail)})),s.addEventListener("noDeviceError",(async s=>{this.noDeviceError.emit(s)})),document.body.append(s),this._modal=s}async dismiss(){this._modal&&(this._modal&&this._modal.parentNode.removeChild(this._modal),this._modal=null)}render(){return i("div",null)}};e.style=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";export{e as pwa_camera_modal}
\ No newline at end of file
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+import { r as s, c as t, h as i } from "./p-386e91ad.js";
+var e = /*#__PURE__*/function () {
+  function e(i) {
+    _classCallCheck(this, e);
+    s(this, i), this.onPhoto = t(this, "onPhoto", 7), this.noDeviceError = t(this, "noDeviceError", 7), this.facingMode = "user", this.hidePicker = !1;
+  }
+  return _createClass(e, [{
+    key: "present",
+    value: function () {
+      var _present = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
+        var _this = this;
+        var s;
+        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
+          while (1) switch (_context3.prev = _context3.next) {
+            case 0:
+              s = document.createElement("pwa-camera-modal-instance");
+              s.facingMode = this.facingMode, s.hidePicker = this.hidePicker, s.addEventListener("onPhoto", /*#__PURE__*/function () {
+                var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(s) {
+                  return _regeneratorRuntime().wrap(function _callee$(_context) {
+                    while (1) switch (_context.prev = _context.next) {
+                      case 0:
+                        _this._modal && _this.onPhoto.emit(s.detail);
+                      case 1:
+                      case "end":
+                        return _context.stop();
+                    }
+                  }, _callee);
+                }));
+                return function (_x) {
+                  return _ref.apply(this, arguments);
+                };
+              }()), s.addEventListener("noDeviceError", /*#__PURE__*/function () {
+                var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(s) {
+                  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+                    while (1) switch (_context2.prev = _context2.next) {
+                      case 0:
+                        _this.noDeviceError.emit(s);
+                      case 1:
+                      case "end":
+                        return _context2.stop();
+                    }
+                  }, _callee2);
+                }));
+                return function (_x2) {
+                  return _ref2.apply(this, arguments);
+                };
+              }()), document.body.append(s), this._modal = s;
+            case 2:
+            case "end":
+              return _context3.stop();
+          }
+        }, _callee3, this);
+      }));
+      function present() {
+        return _present.apply(this, arguments);
+      }
+      return present;
+    }()
+  }, {
+    key: "dismiss",
+    value: function () {
+      var _dismiss = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
+        return _regeneratorRuntime().wrap(function _callee4$(_context4) {
+          while (1) switch (_context4.prev = _context4.next) {
+            case 0:
+              this._modal && (this._modal && this._modal.parentNode.removeChild(this._modal), this._modal = null);
+            case 1:
+            case "end":
+              return _context4.stop();
+          }
+        }, _callee4, this);
+      }));
+      function dismiss() {
+        return _dismiss.apply(this, arguments);
+      }
+      return dismiss;
+    }()
+  }, {
+    key: "render",
+    value: function render() {
+      return i("div", null);
+    }
+  }]);
+}();
+e.style = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:600px;height:600px}";
+export { e as pwa_camera_modal };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-50ea2036.system.js b/src/public/js/pwa-elements/ionicpwaelements/p-50ea2036.system.js
index 0cc8d13..5c6cc36 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-50ea2036.system.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-50ea2036.system.js
@@ -1 +1,7 @@
-System.register([],(function(){"use strict";return{execute:function(){}}}));
\ No newline at end of file
+System.register([], function () {
+  "use strict";
+
+  return {
+    execute: function execute() {}
+  };
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-550557d3.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-550557d3.system.entry.js
index 6fcd190..c0b55d2 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-550557d3.system.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-550557d3.system.entry.js
@@ -1 +1,202 @@
-var __awaiter=this&&this.__awaiter||function(e,t,n,i){function o(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,r){function a(e){try{s(i.next(e))}catch(e){r(e)}}function c(e){try{s(i["throw"](e))}catch(e){r(e)}}function s(e){e.done?n(e.value):o(e.value).then(a,c)}s((i=i.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(t){return s([e,t])}}function s(c){if(i)throw new TypeError("Generator is already executing.");while(a&&(a=0,c[0]&&(n=0)),n)try{if(i=1,o&&(r=c[0]&2?o["return"]:c[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,c[1])).done)return r;if(o=0,r)c=[c[0]&2,r.value];switch(c[0]){case 0:case 1:r=c;break;case 4:n.label++;return{value:c[1],done:false};case 5:n.label++;o=c[1];c=[0];continue;case 7:c=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!r||c[1]>r[0]&&c[1]<r[3])){n.label=c[1];break}if(c[0]===6&&n.label<r[1]){n.label=r[1];r=c;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(c);break}if(r[2])n.ops.pop();n.trys.pop();continue}c=t.call(e,n)}catch(e){c=[6,e];o=0}finally{i=r=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-335782c2.system.js"],(function(e){"use strict";var t,n,i,o;return{setters:[function(e){t=e.r;n=e.c;i=e.h;o=e.g}],execute:function(){var r=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";var a=e("pwa_camera_modal_instance",function(){function e(e){var i=this;t(this,e);this.onPhoto=n(this,"onPhoto",7);this.noDeviceError=n(this,"noDeviceError",7);this.handlePhoto=function(e){return __awaiter(i,void 0,void 0,(function(){return __generator(this,(function(t){this.onPhoto.emit(e);return[2]}))}))};this.handleNoDeviceError=function(e){return __awaiter(i,void 0,void 0,(function(){return __generator(this,(function(t){this.noDeviceError.emit(e);return[2]}))}))};this.facingMode="user";this.hidePicker=false;this.noDevicesText="No camera found";this.noDevicesButtonText="Choose image"}e.prototype.handleBackdropClick=function(e){if(e.target!==this.el){this.onPhoto.emit(null)}};e.prototype.handleComponentClick=function(e){e.stopPropagation()};e.prototype.handleBackdropKeyUp=function(e){if(e.key==="Escape"){this.onPhoto.emit(null)}};e.prototype.render=function(){var e=this;return i("div",{class:"wrapper",onClick:function(t){return e.handleBackdropClick(t)}},i("div",{class:"content"},i("pwa-camera",{onClick:function(t){return e.handleComponentClick(t)},facingMode:this.facingMode,hidePicker:this.hidePicker,handlePhoto:this.handlePhoto,handleNoDeviceError:this.handleNoDeviceError,noDevicesButtonText:this.noDevicesButtonText,noDevicesText:this.noDevicesText})))};Object.defineProperty(e.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});return e}());a.style=r}}}));
\ No newline at end of file
+var __awaiter = this && this.__awaiter || function (e, t, n, i) {
+  function o(e) {
+    return e instanceof n ? e : new n(function (t) {
+      t(e);
+    });
+  }
+  return new (n || (n = Promise))(function (n, r) {
+    function a(e) {
+      try {
+        s(i.next(e));
+      } catch (e) {
+        r(e);
+      }
+    }
+    function c(e) {
+      try {
+        s(i["throw"](e));
+      } catch (e) {
+        r(e);
+      }
+    }
+    function s(e) {
+      e.done ? n(e.value) : o(e.value).then(a, c);
+    }
+    s((i = i.apply(e, t || [])).next());
+  });
+};
+var __generator = this && this.__generator || function (e, t) {
+  var n = {
+      label: 0,
+      sent: function sent() {
+        if (r[0] & 1) throw r[1];
+        return r[1];
+      },
+      trys: [],
+      ops: []
+    },
+    i,
+    o,
+    r,
+    a;
+  return a = {
+    next: c(0),
+    throw: c(1),
+    return: c(2)
+  }, typeof Symbol === "function" && (a[Symbol.iterator] = function () {
+    return this;
+  }), a;
+  function c(e) {
+    return function (t) {
+      return s([e, t]);
+    };
+  }
+  function s(c) {
+    if (i) throw new TypeError("Generator is already executing.");
+    while (a && (a = 0, c[0] && (n = 0)), n) try {
+      if (i = 1, o && (r = c[0] & 2 ? o["return"] : c[0] ? o["throw"] || ((r = o["return"]) && r.call(o), 0) : o.next) && !(r = r.call(o, c[1])).done) return r;
+      if (o = 0, r) c = [c[0] & 2, r.value];
+      switch (c[0]) {
+        case 0:
+        case 1:
+          r = c;
+          break;
+        case 4:
+          n.label++;
+          return {
+            value: c[1],
+            done: false
+          };
+        case 5:
+          n.label++;
+          o = c[1];
+          c = [0];
+          continue;
+        case 7:
+          c = n.ops.pop();
+          n.trys.pop();
+          continue;
+        default:
+          if (!(r = n.trys, r = r.length > 0 && r[r.length - 1]) && (c[0] === 6 || c[0] === 2)) {
+            n = 0;
+            continue;
+          }
+          if (c[0] === 3 && (!r || c[1] > r[0] && c[1] < r[3])) {
+            n.label = c[1];
+            break;
+          }
+          if (c[0] === 6 && n.label < r[1]) {
+            n.label = r[1];
+            r = c;
+            break;
+          }
+          if (r && n.label < r[2]) {
+            n.label = r[2];
+            n.ops.push(c);
+            break;
+          }
+          if (r[2]) n.ops.pop();
+          n.trys.pop();
+          continue;
+      }
+      c = t.call(e, n);
+    } catch (e) {
+      c = [6, e];
+      o = 0;
+    } finally {
+      i = r = 0;
+    }
+    if (c[0] & 5) throw c[1];
+    return {
+      value: c[0] ? c[1] : void 0,
+      done: true
+    };
+  }
+};
+System.register(["./p-335782c2.system.js"], function (e) {
+  "use strict";
+
+  var t, n, i, o;
+  return {
+    setters: [function (e) {
+      t = e.r;
+      n = e.c;
+      i = e.h;
+      o = e.g;
+    }],
+    execute: function execute() {
+      var r = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
+      var a = e("pwa_camera_modal_instance", function () {
+        function e(e) {
+          var i = this;
+          t(this, e);
+          this.onPhoto = n(this, "onPhoto", 7);
+          this.noDeviceError = n(this, "noDeviceError", 7);
+          this.handlePhoto = function (e) {
+            return __awaiter(i, void 0, void 0, function () {
+              return __generator(this, function (t) {
+                this.onPhoto.emit(e);
+                return [2];
+              });
+            });
+          };
+          this.handleNoDeviceError = function (e) {
+            return __awaiter(i, void 0, void 0, function () {
+              return __generator(this, function (t) {
+                this.noDeviceError.emit(e);
+                return [2];
+              });
+            });
+          };
+          this.facingMode = "user";
+          this.hidePicker = false;
+          this.noDevicesText = "No camera found";
+          this.noDevicesButtonText = "Choose image";
+        }
+        e.prototype.handleBackdropClick = function (e) {
+          if (e.target !== this.el) {
+            this.onPhoto.emit(null);
+          }
+        };
+        e.prototype.handleComponentClick = function (e) {
+          e.stopPropagation();
+        };
+        e.prototype.handleBackdropKeyUp = function (e) {
+          if (e.key === "Escape") {
+            this.onPhoto.emit(null);
+          }
+        };
+        e.prototype.render = function () {
+          var e = this;
+          return i("div", {
+            class: "wrapper",
+            onClick: function onClick(t) {
+              return e.handleBackdropClick(t);
+            }
+          }, i("div", {
+            class: "content"
+          }, i("pwa-camera", {
+            onClick: function onClick(t) {
+              return e.handleComponentClick(t);
+            },
+            facingMode: this.facingMode,
+            hidePicker: this.hidePicker,
+            handlePhoto: this.handlePhoto,
+            handleNoDeviceError: this.handleNoDeviceError,
+            noDevicesButtonText: this.noDevicesButtonText,
+            noDevicesText: this.noDevicesText
+          })));
+        };
+        Object.defineProperty(e.prototype, "el", {
+          get: function get() {
+            return o(this);
+          },
+          enumerable: false,
+          configurable: true
+        });
+        return e;
+      }());
+      a.style = r;
+    }
+  };
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-5b57434a.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-5b57434a.system.entry.js
index 5de690a..6be1853 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-5b57434a.system.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-5b57434a.system.entry.js
@@ -1 +1,80 @@
-System.register(["./p-335782c2.system.js"],(function(t){"use strict";var e,n,i,o;return{setters:[function(t){e=t.r;n=t.c;i=t.h;o=t.g}],execute:function(){var r=':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';var s=t("pwa_action_sheet",function(){function t(t){e(this,t);this.onSelection=n(this,"onSelection",7);this.header=undefined;this.cancelable=true;this.options=[];this.open=false}t.prototype.componentDidLoad=function(){var t=this;requestAnimationFrame((function(){t.open=true}))};t.prototype.dismiss=function(){if(this.cancelable){this.close()}};t.prototype.close=function(){var t=this;this.open=false;setTimeout((function(){t.el.parentNode.removeChild(t.el)}),500)};t.prototype.handleOptionClick=function(t,e){t.stopPropagation();this.onSelection.emit(e);this.close()};t.prototype.render=function(){var t=this;return i("div",{class:"wrapper".concat(this.open?" open":""),onClick:function(){return t.dismiss()}},i("div",{class:"content"},i("div",{class:"title"},this.header),this.options.map((function(e,n){return i("div",{class:"action-sheet-option",onClick:function(e){return t.handleOptionClick(e,n)}},i("div",{class:"action-sheet-button"},e.title))}))))};Object.defineProperty(t.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});return t}());s.style=r}}}));
\ No newline at end of file
+System.register(["./p-335782c2.system.js"], function (t) {
+  "use strict";
+
+  var e, n, i, o;
+  return {
+    setters: [function (t) {
+      e = t.r;
+      n = t.c;
+      i = t.h;
+      o = t.g;
+    }],
+    execute: function execute() {
+      var r = ':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';
+      var s = t("pwa_action_sheet", function () {
+        function t(t) {
+          e(this, t);
+          this.onSelection = n(this, "onSelection", 7);
+          this.header = undefined;
+          this.cancelable = true;
+          this.options = [];
+          this.open = false;
+        }
+        t.prototype.componentDidLoad = function () {
+          var t = this;
+          requestAnimationFrame(function () {
+            t.open = true;
+          });
+        };
+        t.prototype.dismiss = function () {
+          if (this.cancelable) {
+            this.close();
+          }
+        };
+        t.prototype.close = function () {
+          var t = this;
+          this.open = false;
+          setTimeout(function () {
+            t.el.parentNode.removeChild(t.el);
+          }, 500);
+        };
+        t.prototype.handleOptionClick = function (t, e) {
+          t.stopPropagation();
+          this.onSelection.emit(e);
+          this.close();
+        };
+        t.prototype.render = function () {
+          var t = this;
+          return i("div", {
+            class: "wrapper".concat(this.open ? " open" : ""),
+            onClick: function onClick() {
+              return t.dismiss();
+            }
+          }, i("div", {
+            class: "content"
+          }, i("div", {
+            class: "title"
+          }, this.header), this.options.map(function (e, n) {
+            return i("div", {
+              class: "action-sheet-option",
+              onClick: function onClick(e) {
+                return t.handleOptionClick(e, n);
+              }
+            }, i("div", {
+              class: "action-sheet-button"
+            }, e.title));
+          })));
+        };
+        Object.defineProperty(t.prototype, "el", {
+          get: function get() {
+            return o(this);
+          },
+          enumerable: false,
+          configurable: true
+        });
+        return t;
+      }());
+      s.style = r;
+    }
+  };
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-665001c2.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-665001c2.entry.js
index 96921c3..8af8c11 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-665001c2.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-665001c2.entry.js
@@ -1,4 +1,12 @@
-import{r as e,f as t,h as i,g as s}from"./p-386e91ad.js";
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+import { r as e, f as t, h as i, g as s } from "./p-386e91ad.js";
 /**
  * MediaStream ImageCapture polyfill
  *
@@ -16,4 +24,650 @@ import{r as e,f as t,h as i,g as s}from"./p-386e91ad.js";
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */let a=window.ImageCapture;void 0===a&&(a=class{constructor(e){if("video"!==e.kind)throw new DOMException("NotSupportedError");this._videoStreamTrack=e,"readyState"in this._videoStreamTrack||(this._videoStreamTrack.readyState="live"),this._previewStream=new MediaStream([e]),this.videoElement=document.createElement("video"),this.videoElementPlaying=new Promise((e=>{this.videoElement.addEventListener("playing",e)})),HTMLMediaElement?this.videoElement.srcObject=this._previewStream:this.videoElement.src=URL.createObjectURL(this._previewStream),this.videoElement.muted=!0,this.videoElement.setAttribute("playsinline",""),this.videoElement.play(),this.canvasElement=document.createElement("canvas"),this.canvas2dContext=this.canvasElement.getContext("2d")}get videoStreamTrack(){return this._videoStreamTrack}getPhotoCapabilities(){return new Promise((function(e,t){const i={current:0,min:0,max:0};e({exposureCompensation:i,exposureMode:"none",fillLightMode:["none"],focusMode:"none",imageHeight:i,imageWidth:i,iso:i,redEyeReduction:!1,whiteBalanceMode:"none",zoom:i}),t(new DOMException("OperationError"))}))}setOptions(e={}){return new Promise((function(){}))}takePhoto(){const e=this;return new Promise((function(t,i){if("live"!==e._videoStreamTrack.readyState)return i(new DOMException("InvalidStateError"));e.videoElementPlaying.then((()=>{try{e.canvasElement.width=e.videoElement.videoWidth,e.canvasElement.height=e.videoElement.videoHeight,e.canvas2dContext.drawImage(e.videoElement,0,0),e.canvasElement.toBlob(t)}catch(e){i(new DOMException("UnknownError"))}}))}))}grabFrame(){const e=this;return new Promise((function(t,i){if("live"!==e._videoStreamTrack.readyState)return i(new DOMException("InvalidStateError"));e.videoElementPlaying.then((()=>{try{e.canvasElement.width=e.videoElement.videoWidth,e.canvasElement.height=e.videoElement.videoHeight,e.canvas2dContext.drawImage(e.videoElement,0,0),t(window.createImageBitmap(e.canvasElement))}catch(e){i(new DOMException("UnknownError"))}}))}))}}),window.ImageCapture=a;const o=class{constructor(t){e(this,t),this.hasMultipleCameras=!1,this.hasFlash=!1,this.flashModes=[],this.flashMode="off",this.handlePickFile=()=>{},this.handleShutterClick=()=>{console.debug("shutter click"),this.capture()},this.handleRotateClick=()=>{this.rotate()},this.handleClose=()=>{this.handlePhoto&&this.handlePhoto(null)},this.handleFlashClick=()=>{this.cycleFlash()},this.handleCancelPhoto=()=>{const e=this.stream&&this.stream.getTracks()[0];let t=e&&e.getConstraints();this.photo=null,this.photoSrc=null,t?this.initCamera({video:{facingMode:t.facingMode}}):this.initCamera()},this.handleAcceptPhoto=()=>{this.handlePhoto&&this.handlePhoto(this.photo)},this.handleFileInputChange=async e=>{const t=e.target.files[0];try{const e=await this.getOrientation(t);console.debug("Got orientation",e),this.photoOrientation=e}catch(e){}this.handlePhoto&&this.handlePhoto(t)},this.handleVideoMetadata=e=>{console.debug("Video metadata",e)},this.facingMode="user",this.handlePhoto=void 0,this.hidePicker=!1,this.handleNoDeviceError=void 0,this.noDevicesText="No camera found",this.noDevicesButtonText="Choose image",this.photo=void 0,this.photoSrc=void 0,this.showShutterOverlay=!1,this.flashIndex=0,this.hasCamera=null,this.rotation=0,this.deviceError=null}async componentDidLoad(){this.defaultConstraints={video:{facingMode:this.facingMode}},await this.queryDevices(),await this.initCamera()}disconnectedCallback(){this.stopStream(),this.photoSrc&&URL.revokeObjectURL(this.photoSrc)}hasImageCapture(){return"ImageCapture"in window}async queryDevices(){try{const e=(await navigator.mediaDevices.enumerateDevices()).filter((e=>"videoinput"==e.kind));this.hasCamera=!!e.length,this.hasMultipleCameras=e.length>1}catch(e){this.deviceError=e}}async initCamera(e){e||(e=this.defaultConstraints);try{const t=await navigator.mediaDevices.getUserMedia(Object.assign({video:!0,audio:!1},e));this.initStream(t)}catch(e){this.deviceError=e,this.handleNoDeviceError&&this.handleNoDeviceError(e)}}async initStream(e){this.stream=e,this.videoElement.srcObject=e,this.hasImageCapture()?(this.imageCapture=new window.ImageCapture(e.getVideoTracks()[0]),await this.initPhotoCapabilities(this.imageCapture)):(this.deviceError="No image capture",this.handleNoDeviceError&&this.handleNoDeviceError()),t(this.el)}async initPhotoCapabilities(e){const t=await e.getPhotoCapabilities();t.fillLightMode&&t.fillLightMode.length>1&&(this.flashModes=t.fillLightMode.map((e=>e)),this.flashMode?(this.flashMode=this.flashModes[this.flashModes.indexOf(this.flashMode)]||"off",this.flashIndex=this.flashModes.indexOf(this.flashMode)||0):this.flashIndex=0)}stopStream(){this.videoElement&&(this.videoElement.srcObject=null),this.stream&&this.stream.getTracks().forEach((e=>e.stop()))}async capture(){if(this.hasImageCapture())try{const e=await this.imageCapture.takePhoto({fillLightMode:this.flashModes.length>1?this.flashMode:void 0});await this.flashScreen(),this.promptAccept(e)}catch(e){console.error("Unable to take photo!",e)}this.stopStream()}async promptAccept(e){this.photo=e;const t=await this.getOrientation(e);if(console.debug("Got orientation",t),this.photoOrientation=t,t)switch(t){case 1:case 2:this.rotation=0;break;case 3:case 4:this.rotation=180;break;case 5:case 6:this.rotation=90;break;case 7:case 8:this.rotation=270}this.photoSrc=URL.createObjectURL(e)}getOrientation(e){return new Promise((t=>{const i=new FileReader;i.onload=e=>{const i=new DataView(e.target.result);if(65496!==i.getUint16(0,!1))return t(-2);const s=i.byteLength;let a=2;for(;a<s;){const e=i.getUint16(a,!1);if(a+=2,65505===e){if(1165519206!==i.getUint32(a+=2,!1))return t(-1);const e=18761===i.getUint16(a+=6,!1);a+=i.getUint32(a+4,e);const s=i.getUint16(a,e);a+=2;for(let o=0;o<s;o++)if(274===i.getUint16(a+12*o,e))return t(i.getUint16(a+12*o+8,e))}else{if(65280!=(65280&e))break;a+=i.getUint16(a,!1)}}return t(-1)},i.readAsArrayBuffer(e.slice(0,65536))}))}rotate(){this.stopStream();const e=this.stream&&this.stream.getTracks()[0];if(!e)return;let t=e.getConstraints().facingMode;if(!t){let i=e.getCapabilities();i.facingMode&&(t=i.facingMode[0])}this.initCamera("environment"===t?{video:{facingMode:"user"}}:{video:{facingMode:"environment"}})}setFlashMode(e){console.debug("New flash mode: ",e),this.flashMode=e}cycleFlash(){this.flashModes.length>0&&(this.flashIndex=(this.flashIndex+1)%this.flashModes.length,this.setFlashMode(this.flashModes[this.flashIndex]))}async flashScreen(){return new Promise((e=>{this.showShutterOverlay=!0,setTimeout((()=>{this.showShutterOverlay=!1,e()}),100)}))}iconExit(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"}iconPhotos(){return i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"512",height:"512",viewBox:"0 0 512 512"},i("path",{d:"M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"}),i("path",{d:"M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"}))}iconConfirm(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"}iconReverseCamera(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E"}iconRetake(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"}iconFlashOff(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E"}iconFlashOn(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E"}iconFlashAuto(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E"}render(){return i("div",{class:"camera-wrapper"},i("div",{class:"camera-header"},i("section",{class:"items"},i("div",{class:"item close",onClick:e=>this.handleClose(e)},i("img",{src:this.iconExit()})),i("div",{class:"item flash",onClick:e=>this.handleFlashClick(e)},this.flashModes.length>0&&i("div",null,"off"==this.flashMode?i("img",{src:this.iconFlashOff()}):"","auto"==this.flashMode?i("img",{src:this.iconFlashAuto()}):"","flash"==this.flashMode?i("img",{src:this.iconFlashOn()}):"")))),(!1===this.hasCamera||!!this.deviceError)&&i("div",{class:"no-device"},i("h2",null,this.noDevicesText),i("label",{htmlFor:"_pwa-elements-camera-input"},this.noDevicesButtonText),i("input",{type:"file",id:"_pwa-elements-camera-input",onChange:this.handleFileInputChange,accept:"image/*",class:"select-file-button"})),this.photoSrc?i("div",{class:"accept"},i("div",{class:"accept-image",style:Object.assign({backgroundImage:`url(${this.photoSrc})`},{})})):i("div",{class:"camera-video"},this.showShutterOverlay&&i("div",{class:"shutter-overlay"}),this.hasImageCapture()?i("video",{ref:e=>this.videoElement=e,onLoadedMetaData:this.handleVideoMetadata,autoplay:!0,playsinline:!0}):i("canvas",{ref:e=>this.canvasElement=e,width:"100%",height:"100%"}),i("canvas",{class:"offscreen-image-render",ref:e=>this.offscreenCanvas=e,width:"100%",height:"100%"})),this.hasCamera&&i("div",{class:"camera-footer"},this.photo?i("section",{class:"items"},i("div",{class:"item accept-cancel",onClick:e=>this.handleCancelPhoto(e)},i("img",{src:this.iconRetake()})),i("div",{class:"item accept-use",onClick:e=>this.handleAcceptPhoto(e)},i("img",{src:this.iconConfirm()}))):[!this.hidePicker&&i("div",{class:"pick-image",onClick:this.handlePickFile},i("label",{htmlFor:"_pwa-elements-file-pick"},this.iconPhotos()),i("input",{type:"file",id:"_pwa-elements-file-pick",onChange:this.handleFileInputChange,accept:"image/*",class:"pick-image-button"})),i("div",{class:"shutter",onClick:this.handleShutterClick},i("div",{class:"shutter-button"})),i("div",{class:"rotate",onClick:this.handleRotateClick},i("img",{src:this.iconReverseCamera()}))]))}static get assetsDirs(){return["icons"]}get el(){return s(this)}};o.style=":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";export{o as pwa_camera}
\ No newline at end of file
+ */
+var a = window.ImageCapture;
+void 0 === a && (a = /*#__PURE__*/function () {
+  function a(e) {
+    var _this = this;
+    _classCallCheck(this, a);
+    if ("video" !== e.kind) throw new DOMException("NotSupportedError");
+    this._videoStreamTrack = e, "readyState" in this._videoStreamTrack || (this._videoStreamTrack.readyState = "live"), this._previewStream = new MediaStream([e]), this.videoElement = document.createElement("video"), this.videoElementPlaying = new Promise(function (e) {
+      _this.videoElement.addEventListener("playing", e);
+    }), HTMLMediaElement ? this.videoElement.srcObject = this._previewStream : this.videoElement.src = URL.createObjectURL(this._previewStream), this.videoElement.muted = !0, this.videoElement.setAttribute("playsinline", ""), this.videoElement.play(), this.canvasElement = document.createElement("canvas"), this.canvas2dContext = this.canvasElement.getContext("2d");
+  }
+  return _createClass(a, [{
+    key: "videoStreamTrack",
+    get: function get() {
+      return this._videoStreamTrack;
+    }
+  }, {
+    key: "getPhotoCapabilities",
+    value: function getPhotoCapabilities() {
+      return new Promise(function (e, t) {
+        var i = {
+          current: 0,
+          min: 0,
+          max: 0
+        };
+        e({
+          exposureCompensation: i,
+          exposureMode: "none",
+          fillLightMode: ["none"],
+          focusMode: "none",
+          imageHeight: i,
+          imageWidth: i,
+          iso: i,
+          redEyeReduction: !1,
+          whiteBalanceMode: "none",
+          zoom: i
+        }), t(new DOMException("OperationError"));
+      });
+    }
+  }, {
+    key: "setOptions",
+    value: function setOptions() {
+      var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+      return new Promise(function () {});
+    }
+  }, {
+    key: "takePhoto",
+    value: function takePhoto() {
+      var e = this;
+      return new Promise(function (t, i) {
+        if ("live" !== e._videoStreamTrack.readyState) return i(new DOMException("InvalidStateError"));
+        e.videoElementPlaying.then(function () {
+          try {
+            e.canvasElement.width = e.videoElement.videoWidth, e.canvasElement.height = e.videoElement.videoHeight, e.canvas2dContext.drawImage(e.videoElement, 0, 0), e.canvasElement.toBlob(t);
+          } catch (e) {
+            i(new DOMException("UnknownError"));
+          }
+        });
+      });
+    }
+  }, {
+    key: "grabFrame",
+    value: function grabFrame() {
+      var e = this;
+      return new Promise(function (t, i) {
+        if ("live" !== e._videoStreamTrack.readyState) return i(new DOMException("InvalidStateError"));
+        e.videoElementPlaying.then(function () {
+          try {
+            e.canvasElement.width = e.videoElement.videoWidth, e.canvasElement.height = e.videoElement.videoHeight, e.canvas2dContext.drawImage(e.videoElement, 0, 0), t(window.createImageBitmap(e.canvasElement));
+          } catch (e) {
+            i(new DOMException("UnknownError"));
+          }
+        });
+      });
+    }
+  }]);
+}()), window.ImageCapture = a;
+var o = /*#__PURE__*/function () {
+  function o(t) {
+    var _this2 = this;
+    _classCallCheck(this, o);
+    e(this, t), this.hasMultipleCameras = !1, this.hasFlash = !1, this.flashModes = [], this.flashMode = "off", this.handlePickFile = function () {}, this.handleShutterClick = function () {
+      console.debug("shutter click"), _this2.capture();
+    }, this.handleRotateClick = function () {
+      _this2.rotate();
+    }, this.handleClose = function () {
+      _this2.handlePhoto && _this2.handlePhoto(null);
+    }, this.handleFlashClick = function () {
+      _this2.cycleFlash();
+    }, this.handleCancelPhoto = function () {
+      var e = _this2.stream && _this2.stream.getTracks()[0];
+      var t = e && e.getConstraints();
+      _this2.photo = null, _this2.photoSrc = null, t ? _this2.initCamera({
+        video: {
+          facingMode: t.facingMode
+        }
+      }) : _this2.initCamera();
+    }, this.handleAcceptPhoto = function () {
+      _this2.handlePhoto && _this2.handlePhoto(_this2.photo);
+    }, this.handleFileInputChange = /*#__PURE__*/function () {
+      var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(e) {
+        var t, _e;
+        return _regeneratorRuntime().wrap(function _callee$(_context) {
+          while (1) switch (_context.prev = _context.next) {
+            case 0:
+              t = e.target.files[0];
+              _context.prev = 1;
+              _context.next = 4;
+              return _this2.getOrientation(t);
+            case 4:
+              _e = _context.sent;
+              console.debug("Got orientation", _e), _this2.photoOrientation = _e;
+              _context.next = 10;
+              break;
+            case 8:
+              _context.prev = 8;
+              _context.t0 = _context["catch"](1);
+            case 10:
+              _this2.handlePhoto && _this2.handlePhoto(t);
+            case 11:
+            case "end":
+              return _context.stop();
+          }
+        }, _callee, null, [[1, 8]]);
+      }));
+      return function (_x) {
+        return _ref.apply(this, arguments);
+      };
+    }(), this.handleVideoMetadata = function (e) {
+      console.debug("Video metadata", e);
+    }, this.facingMode = "user", this.handlePhoto = void 0, this.hidePicker = !1, this.handleNoDeviceError = void 0, this.noDevicesText = "No camera found", this.noDevicesButtonText = "Choose image", this.photo = void 0, this.photoSrc = void 0, this.showShutterOverlay = !1, this.flashIndex = 0, this.hasCamera = null, this.rotation = 0, this.deviceError = null;
+  }
+  return _createClass(o, [{
+    key: "componentDidLoad",
+    value: function () {
+      var _componentDidLoad = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
+        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+          while (1) switch (_context2.prev = _context2.next) {
+            case 0:
+              this.defaultConstraints = {
+                video: {
+                  facingMode: this.facingMode
+                }
+              };
+              _context2.next = 3;
+              return this.queryDevices();
+            case 3:
+              _context2.next = 5;
+              return this.initCamera();
+            case 5:
+            case "end":
+              return _context2.stop();
+          }
+        }, _callee2, this);
+      }));
+      function componentDidLoad() {
+        return _componentDidLoad.apply(this, arguments);
+      }
+      return componentDidLoad;
+    }()
+  }, {
+    key: "disconnectedCallback",
+    value: function disconnectedCallback() {
+      this.stopStream(), this.photoSrc && URL.revokeObjectURL(this.photoSrc);
+    }
+  }, {
+    key: "hasImageCapture",
+    value: function hasImageCapture() {
+      return "ImageCapture" in window;
+    }
+  }, {
+    key: "queryDevices",
+    value: function () {
+      var _queryDevices = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
+        var _e2;
+        return _regeneratorRuntime().wrap(function _callee3$(_context3) {
+          while (1) switch (_context3.prev = _context3.next) {
+            case 0:
+              _context3.prev = 0;
+              _context3.next = 3;
+              return navigator.mediaDevices.enumerateDevices();
+            case 3:
+              _e2 = _context3.sent.filter(function (e) {
+                return "videoinput" == e.kind;
+              });
+              this.hasCamera = !!_e2.length, this.hasMultipleCameras = _e2.length > 1;
+              _context3.next = 10;
+              break;
+            case 7:
+              _context3.prev = 7;
+              _context3.t0 = _context3["catch"](0);
+              this.deviceError = _context3.t0;
+            case 10:
+            case "end":
+              return _context3.stop();
+          }
+        }, _callee3, this, [[0, 7]]);
+      }));
+      function queryDevices() {
+        return _queryDevices.apply(this, arguments);
+      }
+      return queryDevices;
+    }()
+  }, {
+    key: "initCamera",
+    value: function () {
+      var _initCamera = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(e) {
+        var _t;
+        return _regeneratorRuntime().wrap(function _callee4$(_context4) {
+          while (1) switch (_context4.prev = _context4.next) {
+            case 0:
+              e || (e = this.defaultConstraints);
+              _context4.prev = 1;
+              _context4.next = 4;
+              return navigator.mediaDevices.getUserMedia(Object.assign({
+                video: !0,
+                audio: !1
+              }, e));
+            case 4:
+              _t = _context4.sent;
+              this.initStream(_t);
+              _context4.next = 11;
+              break;
+            case 8:
+              _context4.prev = 8;
+              _context4.t0 = _context4["catch"](1);
+              this.deviceError = _context4.t0, this.handleNoDeviceError && this.handleNoDeviceError(_context4.t0);
+            case 11:
+            case "end":
+              return _context4.stop();
+          }
+        }, _callee4, this, [[1, 8]]);
+      }));
+      function initCamera(_x2) {
+        return _initCamera.apply(this, arguments);
+      }
+      return initCamera;
+    }()
+  }, {
+    key: "initStream",
+    value: function () {
+      var _initStream = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(e) {
+        return _regeneratorRuntime().wrap(function _callee5$(_context5) {
+          while (1) switch (_context5.prev = _context5.next) {
+            case 0:
+              this.stream = e;
+              this.videoElement.srcObject = e;
+              if (!this.hasImageCapture()) {
+                _context5.next = 8;
+                break;
+              }
+              this.imageCapture = new window.ImageCapture(e.getVideoTracks()[0]);
+              _context5.next = 6;
+              return this.initPhotoCapabilities(this.imageCapture);
+            case 6:
+              _context5.next = 9;
+              break;
+            case 8:
+              this.deviceError = "No image capture", this.handleNoDeviceError && this.handleNoDeviceError();
+            case 9:
+              t(this.el);
+            case 10:
+            case "end":
+              return _context5.stop();
+          }
+        }, _callee5, this);
+      }));
+      function initStream(_x3) {
+        return _initStream.apply(this, arguments);
+      }
+      return initStream;
+    }()
+  }, {
+    key: "initPhotoCapabilities",
+    value: function () {
+      var _initPhotoCapabilities = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(e) {
+        var t;
+        return _regeneratorRuntime().wrap(function _callee6$(_context6) {
+          while (1) switch (_context6.prev = _context6.next) {
+            case 0:
+              _context6.next = 2;
+              return e.getPhotoCapabilities();
+            case 2:
+              t = _context6.sent;
+              t.fillLightMode && t.fillLightMode.length > 1 && (this.flashModes = t.fillLightMode.map(function (e) {
+                return e;
+              }), this.flashMode ? (this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || "off", this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0) : this.flashIndex = 0);
+            case 4:
+            case "end":
+              return _context6.stop();
+          }
+        }, _callee6, this);
+      }));
+      function initPhotoCapabilities(_x4) {
+        return _initPhotoCapabilities.apply(this, arguments);
+      }
+      return initPhotoCapabilities;
+    }()
+  }, {
+    key: "stopStream",
+    value: function stopStream() {
+      this.videoElement && (this.videoElement.srcObject = null), this.stream && this.stream.getTracks().forEach(function (e) {
+        return e.stop();
+      });
+    }
+  }, {
+    key: "capture",
+    value: function () {
+      var _capture = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
+        var _e3;
+        return _regeneratorRuntime().wrap(function _callee7$(_context7) {
+          while (1) switch (_context7.prev = _context7.next) {
+            case 0:
+              if (!this.hasImageCapture()) {
+                _context7.next = 13;
+                break;
+              }
+              _context7.prev = 1;
+              _context7.next = 4;
+              return this.imageCapture.takePhoto({
+                fillLightMode: this.flashModes.length > 1 ? this.flashMode : void 0
+              });
+            case 4:
+              _e3 = _context7.sent;
+              _context7.next = 7;
+              return this.flashScreen();
+            case 7:
+              this.promptAccept(_e3);
+              _context7.next = 13;
+              break;
+            case 10:
+              _context7.prev = 10;
+              _context7.t0 = _context7["catch"](1);
+              console.error("Unable to take photo!", _context7.t0);
+            case 13:
+              this.stopStream();
+            case 14:
+            case "end":
+              return _context7.stop();
+          }
+        }, _callee7, this, [[1, 10]]);
+      }));
+      function capture() {
+        return _capture.apply(this, arguments);
+      }
+      return capture;
+    }()
+  }, {
+    key: "promptAccept",
+    value: function () {
+      var _promptAccept = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(e) {
+        var t;
+        return _regeneratorRuntime().wrap(function _callee8$(_context8) {
+          while (1) switch (_context8.prev = _context8.next) {
+            case 0:
+              this.photo = e;
+              _context8.next = 3;
+              return this.getOrientation(e);
+            case 3:
+              t = _context8.sent;
+              if (!(console.debug("Got orientation", t), this.photoOrientation = t, t)) {
+                _context8.next = 15;
+                break;
+              }
+              _context8.t0 = t;
+              _context8.next = _context8.t0 === 1 ? 8 : _context8.t0 === 2 ? 8 : _context8.t0 === 3 ? 10 : _context8.t0 === 4 ? 10 : _context8.t0 === 5 ? 12 : _context8.t0 === 6 ? 12 : _context8.t0 === 7 ? 14 : _context8.t0 === 8 ? 14 : 15;
+              break;
+            case 8:
+              this.rotation = 0;
+              return _context8.abrupt("break", 15);
+            case 10:
+              this.rotation = 180;
+              return _context8.abrupt("break", 15);
+            case 12:
+              this.rotation = 90;
+              return _context8.abrupt("break", 15);
+            case 14:
+              this.rotation = 270;
+            case 15:
+              this.photoSrc = URL.createObjectURL(e);
+            case 16:
+            case "end":
+              return _context8.stop();
+          }
+        }, _callee8, this);
+      }));
+      function promptAccept(_x5) {
+        return _promptAccept.apply(this, arguments);
+      }
+      return promptAccept;
+    }()
+  }, {
+    key: "getOrientation",
+    value: function getOrientation(e) {
+      return new Promise(function (t) {
+        var i = new FileReader();
+        i.onload = function (e) {
+          var i = new DataView(e.target.result);
+          if (65496 !== i.getUint16(0, !1)) return t(-2);
+          var s = i.byteLength;
+          var a = 2;
+          for (; a < s;) {
+            var _e4 = i.getUint16(a, !1);
+            if (a += 2, 65505 === _e4) {
+              if (1165519206 !== i.getUint32(a += 2, !1)) return t(-1);
+              var _e5 = 18761 === i.getUint16(a += 6, !1);
+              a += i.getUint32(a + 4, _e5);
+              var _s = i.getUint16(a, _e5);
+              a += 2;
+              for (var _o2 = 0; _o2 < _s; _o2++) if (274 === i.getUint16(a + 12 * _o2, _e5)) return t(i.getUint16(a + 12 * _o2 + 8, _e5));
+            } else {
+              if (65280 != (65280 & _e4)) break;
+              a += i.getUint16(a, !1);
+            }
+          }
+          return t(-1);
+        }, i.readAsArrayBuffer(e.slice(0, 65536));
+      });
+    }
+  }, {
+    key: "rotate",
+    value: function rotate() {
+      this.stopStream();
+      var e = this.stream && this.stream.getTracks()[0];
+      if (!e) return;
+      var t = e.getConstraints().facingMode;
+      if (!t) {
+        var _i = e.getCapabilities();
+        _i.facingMode && (t = _i.facingMode[0]);
+      }
+      this.initCamera("environment" === t ? {
+        video: {
+          facingMode: "user"
+        }
+      } : {
+        video: {
+          facingMode: "environment"
+        }
+      });
+    }
+  }, {
+    key: "setFlashMode",
+    value: function setFlashMode(e) {
+      console.debug("New flash mode: ", e), this.flashMode = e;
+    }
+  }, {
+    key: "cycleFlash",
+    value: function cycleFlash() {
+      this.flashModes.length > 0 && (this.flashIndex = (this.flashIndex + 1) % this.flashModes.length, this.setFlashMode(this.flashModes[this.flashIndex]));
+    }
+  }, {
+    key: "flashScreen",
+    value: function () {
+      var _flashScreen = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
+        var _this3 = this;
+        return _regeneratorRuntime().wrap(function _callee9$(_context9) {
+          while (1) switch (_context9.prev = _context9.next) {
+            case 0:
+              return _context9.abrupt("return", new Promise(function (e) {
+                _this3.showShutterOverlay = !0, setTimeout(function () {
+                  _this3.showShutterOverlay = !1, e();
+                }, 100);
+              }));
+            case 1:
+            case "end":
+              return _context9.stop();
+          }
+        }, _callee9);
+      }));
+      function flashScreen() {
+        return _flashScreen.apply(this, arguments);
+      }
+      return flashScreen;
+    }()
+  }, {
+    key: "iconExit",
+    value: function iconExit() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconPhotos",
+    value: function iconPhotos() {
+      return i("svg", {
+        xmlns: "http://www.w3.org/2000/svg",
+        width: "512",
+        height: "512",
+        viewBox: "0 0 512 512"
+      }, i("path", {
+        d: "M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"
+      }), i("path", {
+        d: "M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"
+      }));
+    }
+  }, {
+    key: "iconConfirm",
+    value: function iconConfirm() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconReverseCamera",
+    value: function iconReverseCamera() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconRetake",
+    value: function iconRetake() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashOff",
+    value: function iconFlashOff() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashOn",
+    value: function iconFlashOn() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E";
+    }
+  }, {
+    key: "iconFlashAuto",
+    value: function iconFlashAuto() {
+      return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E";
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this4 = this;
+      return i("div", {
+        class: "camera-wrapper"
+      }, i("div", {
+        class: "camera-header"
+      }, i("section", {
+        class: "items"
+      }, i("div", {
+        class: "item close",
+        onClick: function onClick(e) {
+          return _this4.handleClose(e);
+        }
+      }, i("img", {
+        src: this.iconExit()
+      })), i("div", {
+        class: "item flash",
+        onClick: function onClick(e) {
+          return _this4.handleFlashClick(e);
+        }
+      }, this.flashModes.length > 0 && i("div", null, "off" == this.flashMode ? i("img", {
+        src: this.iconFlashOff()
+      }) : "", "auto" == this.flashMode ? i("img", {
+        src: this.iconFlashAuto()
+      }) : "", "flash" == this.flashMode ? i("img", {
+        src: this.iconFlashOn()
+      }) : "")))), (!1 === this.hasCamera || !!this.deviceError) && i("div", {
+        class: "no-device"
+      }, i("h2", null, this.noDevicesText), i("label", {
+        htmlFor: "_pwa-elements-camera-input"
+      }, this.noDevicesButtonText), i("input", {
+        type: "file",
+        id: "_pwa-elements-camera-input",
+        onChange: this.handleFileInputChange,
+        accept: "image/*",
+        class: "select-file-button"
+      })), this.photoSrc ? i("div", {
+        class: "accept"
+      }, i("div", {
+        class: "accept-image",
+        style: Object.assign({
+          backgroundImage: "url(".concat(this.photoSrc, ")")
+        }, {})
+      })) : i("div", {
+        class: "camera-video"
+      }, this.showShutterOverlay && i("div", {
+        class: "shutter-overlay"
+      }), this.hasImageCapture() ? i("video", {
+        ref: function ref(e) {
+          return _this4.videoElement = e;
+        },
+        onLoadedMetaData: this.handleVideoMetadata,
+        autoplay: !0,
+        playsinline: !0
+      }) : i("canvas", {
+        ref: function ref(e) {
+          return _this4.canvasElement = e;
+        },
+        width: "100%",
+        height: "100%"
+      }), i("canvas", {
+        class: "offscreen-image-render",
+        ref: function ref(e) {
+          return _this4.offscreenCanvas = e;
+        },
+        width: "100%",
+        height: "100%"
+      })), this.hasCamera && i("div", {
+        class: "camera-footer"
+      }, this.photo ? i("section", {
+        class: "items"
+      }, i("div", {
+        class: "item accept-cancel",
+        onClick: function onClick(e) {
+          return _this4.handleCancelPhoto(e);
+        }
+      }, i("img", {
+        src: this.iconRetake()
+      })), i("div", {
+        class: "item accept-use",
+        onClick: function onClick(e) {
+          return _this4.handleAcceptPhoto(e);
+        }
+      }, i("img", {
+        src: this.iconConfirm()
+      }))) : [!this.hidePicker && i("div", {
+        class: "pick-image",
+        onClick: this.handlePickFile
+      }, i("label", {
+        htmlFor: "_pwa-elements-file-pick"
+      }, this.iconPhotos()), i("input", {
+        type: "file",
+        id: "_pwa-elements-file-pick",
+        onChange: this.handleFileInputChange,
+        accept: "image/*",
+        class: "pick-image-button"
+      })), i("div", {
+        class: "shutter",
+        onClick: this.handleShutterClick
+      }, i("div", {
+        class: "shutter-button"
+      })), i("div", {
+        class: "rotate",
+        onClick: this.handleRotateClick
+      }, i("img", {
+        src: this.iconReverseCamera()
+      }))]));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return s(this);
+    }
+  }], [{
+    key: "assetsDirs",
+    get: function get() {
+      return ["icons"];
+    }
+  }]);
+}();
+o.style = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
+export { o as pwa_camera };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-b57f4873.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-b57f4873.entry.js
index 62112bf..d00f7b2 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-b57f4873.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-b57f4873.entry.js
@@ -1 +1,62 @@
-import{r as t,h as s,g as i,H as e}from"./p-386e91ad.js";const o=class{constructor(s){t(this,s),this.message=void 0,this.duration=2e3,this.closing=null}hostData(){const t={out:!!this.closing};return null!==this.closing&&(t.in=!this.closing),{class:t}}componentDidLoad(){setTimeout((()=>{this.closing=!1})),setTimeout((()=>{this.close()}),this.duration)}close(){this.closing=!0,setTimeout((()=>{this.el.parentNode.removeChild(this.el)}),1e3)}__stencil_render(){return s("div",{class:"wrapper"},s("div",{class:"toast"},this.message))}get el(){return i(this)}render(){return s(e,this.hostData(),this.__stencil_render())}};o.style=':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';export{o as pwa_toast}
\ No newline at end of file
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+import { r as t, h as s, g as i, H as e } from "./p-386e91ad.js";
+var o = /*#__PURE__*/function () {
+  function o(s) {
+    _classCallCheck(this, o);
+    t(this, s), this.message = void 0, this.duration = 2e3, this.closing = null;
+  }
+  return _createClass(o, [{
+    key: "hostData",
+    value: function hostData() {
+      var t = {
+        out: !!this.closing
+      };
+      return null !== this.closing && (t.in = !this.closing), {
+        class: t
+      };
+    }
+  }, {
+    key: "componentDidLoad",
+    value: function componentDidLoad() {
+      var _this = this;
+      setTimeout(function () {
+        _this.closing = !1;
+      }), setTimeout(function () {
+        _this.close();
+      }, this.duration);
+    }
+  }, {
+    key: "close",
+    value: function close() {
+      var _this2 = this;
+      this.closing = !0, setTimeout(function () {
+        _this2.el.parentNode.removeChild(_this2.el);
+      }, 1e3);
+    }
+  }, {
+    key: "__stencil_render",
+    value: function __stencil_render() {
+      return s("div", {
+        class: "wrapper"
+      }, s("div", {
+        class: "toast"
+      }, this.message));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return i(this);
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      return s(e, this.hostData(), this.__stencil_render());
+    }
+  }]);
+}();
+o.style = ':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';
+export { o as pwa_toast };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-d0cae4dc.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-d0cae4dc.entry.js
index a242bda..e93d499 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-d0cae4dc.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-d0cae4dc.entry.js
@@ -1 +1,70 @@
-import{r as t,c as e,h as i,g as n}from"./p-386e91ad.js";const s=class{constructor(i){t(this,i),this.onSelection=e(this,"onSelection",7),this.header=void 0,this.cancelable=!0,this.options=[],this.open=!1}componentDidLoad(){requestAnimationFrame((()=>{this.open=!0}))}dismiss(){this.cancelable&&this.close()}close(){this.open=!1,setTimeout((()=>{this.el.parentNode.removeChild(this.el)}),500)}handleOptionClick(t,e){t.stopPropagation(),this.onSelection.emit(e),this.close()}render(){return i("div",{class:"wrapper"+(this.open?" open":""),onClick:()=>this.dismiss()},i("div",{class:"content"},i("div",{class:"title"},this.header),this.options.map(((t,e)=>i("div",{class:"action-sheet-option",onClick:t=>this.handleOptionClick(t,e)},i("div",{class:"action-sheet-button"},t.title))))))}get el(){return n(this)}};s.style=':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';export{s as pwa_action_sheet}
\ No newline at end of file
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+import { r as t, c as e, h as i, g as n } from "./p-386e91ad.js";
+var s = /*#__PURE__*/function () {
+  function s(i) {
+    _classCallCheck(this, s);
+    t(this, i), this.onSelection = e(this, "onSelection", 7), this.header = void 0, this.cancelable = !0, this.options = [], this.open = !1;
+  }
+  return _createClass(s, [{
+    key: "componentDidLoad",
+    value: function componentDidLoad() {
+      var _this = this;
+      requestAnimationFrame(function () {
+        _this.open = !0;
+      });
+    }
+  }, {
+    key: "dismiss",
+    value: function dismiss() {
+      this.cancelable && this.close();
+    }
+  }, {
+    key: "close",
+    value: function close() {
+      var _this2 = this;
+      this.open = !1, setTimeout(function () {
+        _this2.el.parentNode.removeChild(_this2.el);
+      }, 500);
+    }
+  }, {
+    key: "handleOptionClick",
+    value: function handleOptionClick(t, e) {
+      t.stopPropagation(), this.onSelection.emit(e), this.close();
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this3 = this;
+      return i("div", {
+        class: "wrapper" + (this.open ? " open" : ""),
+        onClick: function onClick() {
+          return _this3.dismiss();
+        }
+      }, i("div", {
+        class: "content"
+      }, i("div", {
+        class: "title"
+      }, this.header), this.options.map(function (t, e) {
+        return i("div", {
+          class: "action-sheet-option",
+          onClick: function onClick(t) {
+            return _this3.handleOptionClick(t, e);
+          }
+        }, i("div", {
+          class: "action-sheet-button"
+        }, t.title));
+      })));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return n(this);
+    }
+  }]);
+}();
+s.style = ':host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0);-webkit-transition:400ms background-color cubic-bezier(.36,.66,.04,1);transition:400ms background-color cubic-bezier(.36,.66,.04,1)}.wrapper.open{background-color:rgba(0, 0, 0, 0.32)}.title{color:#999;height:23px;line-height:23px;padding-bottom:17px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:20px}.content{width:568px;-ms-flex-item-align:end;align-self:flex-end;background-color:#fff;-webkit-transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms -webkit-transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1);transition:400ms transform cubic-bezier(.36,.66,.04,1), 400ms -webkit-transform cubic-bezier(.36,.66,.04,1);-webkit-transform:translateY(100%);transform:translateY(100%)}.wrapper.open .content{-webkit-transform:translateY(0%);transform:translateY(0%)}@media only screen and (max-width: 568px){.content{width:100%}}.action-sheet-option{cursor:pointer;height:52px;line-height:52px}.action-sheet-button{color:rgb(38, 38, 38);font-size:16px;-webkit-padding-end:16px;padding-inline-end:16px;-webkit-padding-start:16px;padding-inline-start:16px;padding-left:16px;padding-right:16px;padding-top:0px}.action-sheet-button:hover{background-color:#F6F6F6}';
+export { s as pwa_action_sheet };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-d212ae1d.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-d212ae1d.entry.js
index af415b8..0984df0 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-d212ae1d.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-d212ae1d.entry.js
@@ -1 +1,92 @@
-import{r as t,c as e,h as i,g as s}from"./p-386e91ad.js";const h=class{constructor(i){t(this,i),this.onPhoto=e(this,"onPhoto",7),this.noDeviceError=e(this,"noDeviceError",7),this.handlePhoto=async t=>{this.onPhoto.emit(t)},this.handleNoDeviceError=async t=>{this.noDeviceError.emit(t)},this.facingMode="user",this.hidePicker=!1,this.noDevicesText="No camera found",this.noDevicesButtonText="Choose image"}handleBackdropClick(t){t.target!==this.el&&this.onPhoto.emit(null)}handleComponentClick(t){t.stopPropagation()}handleBackdropKeyUp(t){"Escape"===t.key&&this.onPhoto.emit(null)}render(){return i("div",{class:"wrapper",onClick:t=>this.handleBackdropClick(t)},i("div",{class:"content"},i("pwa-camera",{onClick:t=>this.handleComponentClick(t),facingMode:this.facingMode,hidePicker:this.hidePicker,handlePhoto:this.handlePhoto,handleNoDeviceError:this.handleNoDeviceError,noDevicesButtonText:this.noDevicesButtonText,noDevicesText:this.noDevicesText})))}get el(){return s(this)}};h.style=":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";export{h as pwa_camera_modal_instance}
\ No newline at end of file
+function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(typeof e + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
+function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
+function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
+function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
+function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
+function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
+function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
+function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
+import { r as t, c as e, h as i, g as s } from "./p-386e91ad.js";
+var h = /*#__PURE__*/function () {
+  function h(i) {
+    var _this = this;
+    _classCallCheck(this, h);
+    t(this, i), this.onPhoto = e(this, "onPhoto", 7), this.noDeviceError = e(this, "noDeviceError", 7), this.handlePhoto = /*#__PURE__*/function () {
+      var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(t) {
+        return _regeneratorRuntime().wrap(function _callee$(_context) {
+          while (1) switch (_context.prev = _context.next) {
+            case 0:
+              _this.onPhoto.emit(t);
+            case 1:
+            case "end":
+              return _context.stop();
+          }
+        }, _callee);
+      }));
+      return function (_x) {
+        return _ref.apply(this, arguments);
+      };
+    }(), this.handleNoDeviceError = /*#__PURE__*/function () {
+      var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(t) {
+        return _regeneratorRuntime().wrap(function _callee2$(_context2) {
+          while (1) switch (_context2.prev = _context2.next) {
+            case 0:
+              _this.noDeviceError.emit(t);
+            case 1:
+            case "end":
+              return _context2.stop();
+          }
+        }, _callee2);
+      }));
+      return function (_x2) {
+        return _ref2.apply(this, arguments);
+      };
+    }(), this.facingMode = "user", this.hidePicker = !1, this.noDevicesText = "No camera found", this.noDevicesButtonText = "Choose image";
+  }
+  return _createClass(h, [{
+    key: "handleBackdropClick",
+    value: function handleBackdropClick(t) {
+      t.target !== this.el && this.onPhoto.emit(null);
+    }
+  }, {
+    key: "handleComponentClick",
+    value: function handleComponentClick(t) {
+      t.stopPropagation();
+    }
+  }, {
+    key: "handleBackdropKeyUp",
+    value: function handleBackdropKeyUp(t) {
+      "Escape" === t.key && this.onPhoto.emit(null);
+    }
+  }, {
+    key: "render",
+    value: function render() {
+      var _this2 = this;
+      return i("div", {
+        class: "wrapper",
+        onClick: function onClick(t) {
+          return _this2.handleBackdropClick(t);
+        }
+      }, i("div", {
+        class: "content"
+      }, i("pwa-camera", {
+        onClick: function onClick(t) {
+          return _this2.handleComponentClick(t);
+        },
+        facingMode: this.facingMode,
+        hidePicker: this.hidePicker,
+        handlePhoto: this.handlePhoto,
+        handleNoDeviceError: this.handleNoDeviceError,
+        noDevicesButtonText: this.noDevicesButtonText,
+        noDevicesText: this.noDevicesText
+      })));
+    }
+  }, {
+    key: "el",
+    get: function get() {
+      return s(this);
+    }
+  }]);
+}();
+h.style = ":host{z-index:1000;position:fixed;top:0;left:0;width:100%;height:100%;display:-ms-flexbox;display:flex;contain:strict;--inset-width:600px;--inset-height:600px}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-color:rgba(0, 0, 0, 0.15)}.content{-webkit-box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);box-shadow:0px 0px 5px rgba(0, 0, 0, 0.2);width:var(--inset-width);height:var(--inset-height);max-height:100%}@media only screen and (max-width: 600px){.content{width:100%;height:100%}}";
+export { h as pwa_camera_modal_instance };
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-db3c6183.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-db3c6183.system.entry.js
index fb6a089..c858039 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-db3c6183.system.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-db3c6183.system.entry.js
@@ -1 +1,70 @@
-System.register(["./p-335782c2.system.js"],(function(t){"use strict";var e,i,o,s;return{setters:[function(t){e=t.r;i=t.h;o=t.g;s=t.H}],execute:function(){var n=':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';var r=t("pwa_toast",function(){function t(t){e(this,t);this.message=undefined;this.duration=2e3;this.closing=null}t.prototype.hostData=function(){var t={out:!!this.closing};if(this.closing!==null){t["in"]=!this.closing}return{class:t}};t.prototype.componentDidLoad=function(){var t=this;setTimeout((function(){t.closing=false}));setTimeout((function(){t.close()}),this.duration)};t.prototype.close=function(){var t=this;this.closing=true;setTimeout((function(){t.el.parentNode.removeChild(t.el)}),1e3)};t.prototype.__stencil_render=function(){return i("div",{class:"wrapper"},i("div",{class:"toast"},this.message))};Object.defineProperty(t.prototype,"el",{get:function(){return o(this)},enumerable:false,configurable:true});t.prototype.render=function(){return i(s,this.hostData(),this.__stencil_render())};return t}());r.style=n}}}));
\ No newline at end of file
+System.register(["./p-335782c2.system.js"], function (t) {
+  "use strict";
+
+  var e, i, o, s;
+  return {
+    setters: [function (t) {
+      e = t.r;
+      i = t.h;
+      o = t.g;
+      s = t.H;
+    }],
+    execute: function execute() {
+      var n = ':host{position:fixed;bottom:20px;left:0;right:0;display:-ms-flexbox;display:flex;opacity:0}:host(.in){-webkit-transition:opacity 300ms;transition:opacity 300ms;opacity:1}:host(.out){-webkit-transition:opacity 1s;transition:opacity 1s;opacity:0}.wrapper{-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.toast{font-family:-apple-system, system-ui, "Helvetica Neue", Roboto, sans-serif;background-color:#eee;color:black;border-radius:5px;padding:10px 15px;font-size:14px;font-weight:500;-webkit-box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20);box-shadow:0px 1px 2px rgba(0, 0, 0, 0.20)}';
+      var r = t("pwa_toast", function () {
+        function t(t) {
+          e(this, t);
+          this.message = undefined;
+          this.duration = 2e3;
+          this.closing = null;
+        }
+        t.prototype.hostData = function () {
+          var t = {
+            out: !!this.closing
+          };
+          if (this.closing !== null) {
+            t["in"] = !this.closing;
+          }
+          return {
+            class: t
+          };
+        };
+        t.prototype.componentDidLoad = function () {
+          var t = this;
+          setTimeout(function () {
+            t.closing = false;
+          });
+          setTimeout(function () {
+            t.close();
+          }, this.duration);
+        };
+        t.prototype.close = function () {
+          var t = this;
+          this.closing = true;
+          setTimeout(function () {
+            t.el.parentNode.removeChild(t.el);
+          }, 1e3);
+        };
+        t.prototype.__stencil_render = function () {
+          return i("div", {
+            class: "wrapper"
+          }, i("div", {
+            class: "toast"
+          }, this.message));
+        };
+        Object.defineProperty(t.prototype, "el", {
+          get: function get() {
+            return o(this);
+          },
+          enumerable: false,
+          configurable: true
+        });
+        t.prototype.render = function () {
+          return i(s, this.hostData(), this.__stencil_render());
+        };
+        return t;
+      }());
+      r.style = n;
+    }
+  };
+});
\ No newline at end of file
diff --git a/src/public/js/pwa-elements/ionicpwaelements/p-fab2e7af.system.entry.js b/src/public/js/pwa-elements/ionicpwaelements/p-fab2e7af.system.entry.js
index 0232eb1..a09c6f3 100644
--- a/src/public/js/pwa-elements/ionicpwaelements/p-fab2e7af.system.entry.js
+++ b/src/public/js/pwa-elements/ionicpwaelements/p-fab2e7af.system.entry.js
@@ -1,20 +1,793 @@
-var __awaiter=this&&this.__awaiter||function(e,t,i,n){function r(e){return e instanceof i?e:new i((function(t){t(e)}))}return new(i||(i=Promise))((function(i,a){function o(e){try{c(n.next(e))}catch(e){a(e)}}function s(e){try{c(n["throw"](e))}catch(e){a(e)}}function c(e){e.done?i(e.value):r(e.value).then(o,s)}c((n=n.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var i={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},n,r,a,o;return o={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(o[Symbol.iterator]=function(){return this}),o;function s(e){return function(t){return c([e,t])}}function c(s){if(n)throw new TypeError("Generator is already executing.");while(o&&(o=0,s[0]&&(i=0)),i)try{if(n=1,r&&(a=s[0]&2?r["return"]:s[0]?r["throw"]||((a=r["return"])&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;if(r=0,a)s=[s[0]&2,a.value];switch(s[0]){case 0:case 1:a=s;break;case 4:i.label++;return{value:s[1],done:false};case 5:i.label++;r=s[1];s=[0];continue;case 7:s=i.ops.pop();i.trys.pop();continue;default:if(!(a=i.trys,a=a.length>0&&a[a.length-1])&&(s[0]===6||s[0]===2)){i=0;continue}if(s[0]===3&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(s[0]===6&&i.label<a[1]){i.label=a[1];a=s;break}if(a&&i.label<a[2]){i.label=a[2];i.ops.push(s);break}if(a[2])i.ops.pop();i.trys.pop();continue}s=t.call(e,i)}catch(e){s=[6,e];r=0}finally{n=a=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};System.register(["./p-335782c2.system.js"],(function(e){"use strict";var t,i,n,r;return{setters:[function(e){t=e.r;i=e.f;n=e.h;r=e.g}],execute:function(){
-/**
-       * MediaStream ImageCapture polyfill
-       *
-       * @license
-       * Copyright 2018 Google Inc.
-       *
-       * Licensed under the Apache License, Version 2.0 (the "License");
-       * you may not use this file except in compliance with the License.
-       * You may obtain a copy of the License at
-       *
-       *      http://www.apache.org/licenses/LICENSE-2.0
-       *
-       * Unless required by applicable law or agreed to in writing, software
-       * distributed under the License is distributed on an "AS IS" BASIS,
-       * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-       * See the License for the specific language governing permissions and
-       * limitations under the License.
-       */
-var a=window.ImageCapture;if(typeof a==="undefined"){a=function(){function e(e){var t=this;if(e.kind!=="video")throw new DOMException("NotSupportedError");this._videoStreamTrack=e;if(!("readyState"in this._videoStreamTrack)){this._videoStreamTrack.readyState="live"}this._previewStream=new MediaStream([e]);this.videoElement=document.createElement("video");this.videoElementPlaying=new Promise((function(e){t.videoElement.addEventListener("playing",e)}));if(HTMLMediaElement){this.videoElement.srcObject=this._previewStream}else{this.videoElement.src=URL.createObjectURL(this._previewStream)}this.videoElement.muted=true;this.videoElement.setAttribute("playsinline","");this.videoElement.play();this.canvasElement=document.createElement("canvas");this.canvas2dContext=this.canvasElement.getContext("2d")}Object.defineProperty(e.prototype,"videoStreamTrack",{get:function(){return this._videoStreamTrack},enumerable:false,configurable:true});e.prototype.getPhotoCapabilities=function(){return new Promise((function e(t,i){var n={current:0,min:0,max:0};t({exposureCompensation:n,exposureMode:"none",fillLightMode:["none"],focusMode:"none",imageHeight:n,imageWidth:n,iso:n,redEyeReduction:false,whiteBalanceMode:"none",zoom:n});i(new DOMException("OperationError"))}))};e.prototype.setOptions=function(e){if(e===void 0){e={}}return new Promise((function e(t,i){}))};e.prototype.takePhoto=function(){var e=this;return new Promise((function t(i,n){if(e._videoStreamTrack.readyState!=="live"){return n(new DOMException("InvalidStateError"))}e.videoElementPlaying.then((function(){try{e.canvasElement.width=e.videoElement.videoWidth;e.canvasElement.height=e.videoElement.videoHeight;e.canvas2dContext.drawImage(e.videoElement,0,0);e.canvasElement.toBlob(i)}catch(e){n(new DOMException("UnknownError"))}}))}))};e.prototype.grabFrame=function(){var e=this;return new Promise((function t(i,n){if(e._videoStreamTrack.readyState!=="live"){return n(new DOMException("InvalidStateError"))}e.videoElementPlaying.then((function(){try{e.canvasElement.width=e.videoElement.videoWidth;e.canvasElement.height=e.videoElement.videoHeight;e.canvas2dContext.drawImage(e.videoElement,0,0);i(window.createImageBitmap(e.canvasElement))}catch(e){n(new DOMException("UnknownError"))}}))}))};return e}()}window.ImageCapture=a;var o=":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";var s=e("pwa_camera",function(){function e(e){var i=this;t(this,e);this.hasMultipleCameras=false;this.hasFlash=false;this.flashModes=[];this.flashMode="off";this.handlePickFile=function(e){};this.handleShutterClick=function(e){console.debug("shutter click");i.capture()};this.handleRotateClick=function(e){i.rotate()};this.handleClose=function(e){i.handlePhoto&&i.handlePhoto(null)};this.handleFlashClick=function(e){i.cycleFlash()};this.handleCancelPhoto=function(e){var t=i.stream&&i.stream.getTracks()[0];var n=t&&t.getConstraints();i.photo=null;i.photoSrc=null;if(n){i.initCamera({video:{facingMode:n.facingMode}})}else{i.initCamera()}};this.handleAcceptPhoto=function(e){i.handlePhoto&&i.handlePhoto(i.photo)};this.handleFileInputChange=function(e){return __awaiter(i,void 0,void 0,(function(){var t,i,n,r;return __generator(this,(function(a){switch(a.label){case 0:t=e.target;i=t.files[0];a.label=1;case 1:a.trys.push([1,3,,4]);return[4,this.getOrientation(i)];case 2:n=a.sent();console.debug("Got orientation",n);this.photoOrientation=n;return[3,4];case 3:r=a.sent();return[3,4];case 4:this.handlePhoto&&this.handlePhoto(i);return[2]}}))}))};this.handleVideoMetadata=function(e){console.debug("Video metadata",e)};this.facingMode="user";this.handlePhoto=undefined;this.hidePicker=false;this.handleNoDeviceError=undefined;this.noDevicesText="No camera found";this.noDevicesButtonText="Choose image";this.photo=undefined;this.photoSrc=undefined;this.showShutterOverlay=false;this.flashIndex=0;this.hasCamera=null;this.rotation=0;this.deviceError=null}e.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:this.defaultConstraints={video:{facingMode:this.facingMode}};return[4,this.queryDevices()];case 1:e.sent();return[4,this.initCamera()];case 2:e.sent();return[2]}}))}))};e.prototype.disconnectedCallback=function(){this.stopStream();this.photoSrc&&URL.revokeObjectURL(this.photoSrc)};e.prototype.hasImageCapture=function(){return"ImageCapture"in window};e.prototype.queryDevices=function(){return __awaiter(this,void 0,void 0,(function(){var e,t,i;return __generator(this,(function(n){switch(n.label){case 0:n.trys.push([0,2,,3]);return[4,navigator.mediaDevices.enumerateDevices()];case 1:e=n.sent();t=e.filter((function(e){return e.kind=="videoinput"}));this.hasCamera=!!t.length;this.hasMultipleCameras=t.length>1;return[3,3];case 2:i=n.sent();this.deviceError=i;return[3,3];case 3:return[2]}}))}))};e.prototype.initCamera=function(e){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(n){switch(n.label){case 0:if(!e){e=this.defaultConstraints}n.label=1;case 1:n.trys.push([1,3,,4]);return[4,navigator.mediaDevices.getUserMedia(Object.assign({video:true,audio:false},e))];case 2:t=n.sent();this.initStream(t);return[3,4];case 3:i=n.sent();this.deviceError=i;this.handleNoDeviceError&&this.handleNoDeviceError(i);return[3,4];case 4:return[2]}}))}))};e.prototype.initStream=function(e){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){switch(t.label){case 0:this.stream=e;this.videoElement.srcObject=e;if(!this.hasImageCapture())return[3,2];this.imageCapture=new window.ImageCapture(e.getVideoTracks()[0]);return[4,this.initPhotoCapabilities(this.imageCapture)];case 1:t.sent();return[3,3];case 2:this.deviceError="No image capture";this.handleNoDeviceError&&this.handleNoDeviceError();t.label=3;case 3:i(this.el);return[2]}}))}))};e.prototype.initPhotoCapabilities=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:return[4,e.getPhotoCapabilities()];case 1:t=i.sent();if(t.fillLightMode&&t.fillLightMode.length>1){this.flashModes=t.fillLightMode.map((function(e){return e}));if(this.flashMode){this.flashMode=this.flashModes[this.flashModes.indexOf(this.flashMode)]||"off";this.flashIndex=this.flashModes.indexOf(this.flashMode)||0}else{this.flashIndex=0}}return[2]}}))}))};e.prototype.stopStream=function(){if(this.videoElement){this.videoElement.srcObject=null}this.stream&&this.stream.getTracks().forEach((function(e){return e.stop()}))};e.prototype.capture=function(){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(i){switch(i.label){case 0:if(!this.hasImageCapture())return[3,5];i.label=1;case 1:i.trys.push([1,4,,5]);return[4,this.imageCapture.takePhoto({fillLightMode:this.flashModes.length>1?this.flashMode:undefined})];case 2:e=i.sent();return[4,this.flashScreen()];case 3:i.sent();this.promptAccept(e);return[3,5];case 4:t=i.sent();console.error("Unable to take photo!",t);return[3,5];case 5:this.stopStream();return[2]}}))}))};e.prototype.promptAccept=function(e){return __awaiter(this,void 0,void 0,(function(){var t;return __generator(this,(function(i){switch(i.label){case 0:this.photo=e;return[4,this.getOrientation(e)];case 1:t=i.sent();console.debug("Got orientation",t);this.photoOrientation=t;if(t){switch(t){case 1:case 2:this.rotation=0;break;case 3:case 4:this.rotation=180;break;case 5:case 6:this.rotation=90;break;case 7:case 8:this.rotation=270;break}}this.photoSrc=URL.createObjectURL(e);return[2]}}))}))};e.prototype.getOrientation=function(e){return new Promise((function(t){var i=new FileReader;i.onload=function(e){var i=new DataView(e.target.result);if(i.getUint16(0,false)!==65496){return t(-2)}var n=i.byteLength;var r=2;while(r<n){var a=i.getUint16(r,false);r+=2;if(a===65505){if(i.getUint32(r+=2,false)!==1165519206){return t(-1)}var o=i.getUint16(r+=6,false)===18761;r+=i.getUint32(r+4,o);var s=i.getUint16(r,o);r+=2;for(var c=0;c<s;c++){if(i.getUint16(r+c*12,o)===274){return t(i.getUint16(r+c*12+8,o))}}}else if((a&65280)!==65280){break}else{r+=i.getUint16(r,false)}}return t(-1)};i.readAsArrayBuffer(e.slice(0,64*1024))}))};e.prototype.rotate=function(){this.stopStream();var e=this.stream&&this.stream.getTracks()[0];if(!e){return}var t=e.getConstraints();var i=t.facingMode;if(!i){var n=e.getCapabilities();if(n.facingMode){i=n.facingMode[0]}}if(i==="environment"){this.initCamera({video:{facingMode:"user"}})}else{this.initCamera({video:{facingMode:"environment"}})}};e.prototype.setFlashMode=function(e){console.debug("New flash mode: ",e);this.flashMode=e};e.prototype.cycleFlash=function(){if(this.flashModes.length>0){this.flashIndex=(this.flashIndex+1)%this.flashModes.length;this.setFlashMode(this.flashModes[this.flashIndex])}};e.prototype.flashScreen=function(){return __awaiter(this,void 0,void 0,(function(){var e=this;return __generator(this,(function(t){return[2,new Promise((function(t,i){e.showShutterOverlay=true;setTimeout((function(){e.showShutterOverlay=false;t()}),100)}))]}))}))};e.prototype.iconExit=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconPhotos=function(){return n("svg",{xmlns:"http://www.w3.org/2000/svg",width:"512",height:"512",viewBox:"0 0 512 512"},n("path",{d:"M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"}),n("path",{d:"M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"}))};e.prototype.iconConfirm=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconReverseCamera=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconRetake=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconFlashOff=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.iconFlashOn=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E"};e.prototype.iconFlashAuto=function(){return"data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E"};e.prototype.render=function(){var e=this;var t={};return n("div",{class:"camera-wrapper"},n("div",{class:"camera-header"},n("section",{class:"items"},n("div",{class:"item close",onClick:function(t){return e.handleClose(t)}},n("img",{src:this.iconExit()})),n("div",{class:"item flash",onClick:function(t){return e.handleFlashClick(t)}},this.flashModes.length>0&&n("div",null,this.flashMode=="off"?n("img",{src:this.iconFlashOff()}):"",this.flashMode=="auto"?n("img",{src:this.iconFlashAuto()}):"",this.flashMode=="flash"?n("img",{src:this.iconFlashOn()}):"")))),(this.hasCamera===false||!!this.deviceError)&&n("div",{class:"no-device"},n("h2",null,this.noDevicesText),n("label",{htmlFor:"_pwa-elements-camera-input"},this.noDevicesButtonText),n("input",{type:"file",id:"_pwa-elements-camera-input",onChange:this.handleFileInputChange,accept:"image/*",class:"select-file-button"})),this.photoSrc?n("div",{class:"accept"},n("div",{class:"accept-image",style:Object.assign({backgroundImage:"url(".concat(this.photoSrc,")")},t)})):n("div",{class:"camera-video"},this.showShutterOverlay&&n("div",{class:"shutter-overlay"}),this.hasImageCapture()?n("video",{ref:function(t){return e.videoElement=t},onLoadedMetaData:this.handleVideoMetadata,autoplay:true,playsinline:true}):n("canvas",{ref:function(t){return e.canvasElement=t},width:"100%",height:"100%"}),n("canvas",{class:"offscreen-image-render",ref:function(t){return e.offscreenCanvas=t},width:"100%",height:"100%"})),this.hasCamera&&n("div",{class:"camera-footer"},!this.photo?[!this.hidePicker&&n("div",{class:"pick-image",onClick:this.handlePickFile},n("label",{htmlFor:"_pwa-elements-file-pick"},this.iconPhotos()),n("input",{type:"file",id:"_pwa-elements-file-pick",onChange:this.handleFileInputChange,accept:"image/*",class:"pick-image-button"})),n("div",{class:"shutter",onClick:this.handleShutterClick},n("div",{class:"shutter-button"})),n("div",{class:"rotate",onClick:this.handleRotateClick},n("img",{src:this.iconReverseCamera()}))]:n("section",{class:"items"},n("div",{class:"item accept-cancel",onClick:function(t){return e.handleCancelPhoto(t)}},n("img",{src:this.iconRetake()})),n("div",{class:"item accept-use",onClick:function(t){return e.handleAcceptPhoto(t)}},n("img",{src:this.iconConfirm()})))))};Object.defineProperty(e,"assetsDirs",{get:function(){return["icons"]},enumerable:false,configurable:true});Object.defineProperty(e.prototype,"el",{get:function(){return r(this)},enumerable:false,configurable:true});return e}());s.style=o}}}));
\ No newline at end of file
+var __awaiter = this && this.__awaiter || function (e, t, i, n) {
+  function r(e) {
+    return e instanceof i ? e : new i(function (t) {
+      t(e);
+    });
+  }
+  return new (i || (i = Promise))(function (i, a) {
+    function o(e) {
+      try {
+        c(n.next(e));
+      } catch (e) {
+        a(e);
+      }
+    }
+    function s(e) {
+      try {
+        c(n["throw"](e));
+      } catch (e) {
+        a(e);
+      }
+    }
+    function c(e) {
+      e.done ? i(e.value) : r(e.value).then(o, s);
+    }
+    c((n = n.apply(e, t || [])).next());
+  });
+};
+var __generator = this && this.__generator || function (e, t) {
+  var i = {
+      label: 0,
+      sent: function sent() {
+        if (a[0] & 1) throw a[1];
+        return a[1];
+      },
+      trys: [],
+      ops: []
+    },
+    n,
+    r,
+    a,
+    o;
+  return o = {
+    next: s(0),
+    throw: s(1),
+    return: s(2)
+  }, typeof Symbol === "function" && (o[Symbol.iterator] = function () {
+    return this;
+  }), o;
+  function s(e) {
+    return function (t) {
+      return c([e, t]);
+    };
+  }
+  function c(s) {
+    if (n) throw new TypeError("Generator is already executing.");
+    while (o && (o = 0, s[0] && (i = 0)), i) try {
+      if (n = 1, r && (a = s[0] & 2 ? r["return"] : s[0] ? r["throw"] || ((a = r["return"]) && a.call(r), 0) : r.next) && !(a = a.call(r, s[1])).done) return a;
+      if (r = 0, a) s = [s[0] & 2, a.value];
+      switch (s[0]) {
+        case 0:
+        case 1:
+          a = s;
+          break;
+        case 4:
+          i.label++;
+          return {
+            value: s[1],
+            done: false
+          };
+        case 5:
+          i.label++;
+          r = s[1];
+          s = [0];
+          continue;
+        case 7:
+          s = i.ops.pop();
+          i.trys.pop();
+          continue;
+        default:
+          if (!(a = i.trys, a = a.length > 0 && a[a.length - 1]) && (s[0] === 6 || s[0] === 2)) {
+            i = 0;
+            continue;
+          }
+          if (s[0] === 3 && (!a || s[1] > a[0] && s[1] < a[3])) {
+            i.label = s[1];
+            break;
+          }
+          if (s[0] === 6 && i.label < a[1]) {
+            i.label = a[1];
+            a = s;
+            break;
+          }
+          if (a && i.label < a[2]) {
+            i.label = a[2];
+            i.ops.push(s);
+            break;
+          }
+          if (a[2]) i.ops.pop();
+          i.trys.pop();
+          continue;
+      }
+      s = t.call(e, i);
+    } catch (e) {
+      s = [6, e];
+      r = 0;
+    } finally {
+      n = a = 0;
+    }
+    if (s[0] & 5) throw s[1];
+    return {
+      value: s[0] ? s[1] : void 0,
+      done: true
+    };
+  }
+};
+System.register(["./p-335782c2.system.js"], function (e) {
+  "use strict";
+
+  var t, i, n, r;
+  return {
+    setters: [function (e) {
+      t = e.r;
+      i = e.f;
+      n = e.h;
+      r = e.g;
+    }],
+    execute: function execute() {
+      /**
+             * MediaStream ImageCapture polyfill
+             *
+             * @license
+             * Copyright 2018 Google Inc.
+             *
+             * Licensed under the Apache License, Version 2.0 (the "License");
+             * you may not use this file except in compliance with the License.
+             * You may obtain a copy of the License at
+             *
+             *      http://www.apache.org/licenses/LICENSE-2.0
+             *
+             * Unless required by applicable law or agreed to in writing, software
+             * distributed under the License is distributed on an "AS IS" BASIS,
+             * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+             * See the License for the specific language governing permissions and
+             * limitations under the License.
+             */
+      var a = window.ImageCapture;
+      if (typeof a === "undefined") {
+        a = function () {
+          function e(e) {
+            var t = this;
+            if (e.kind !== "video") throw new DOMException("NotSupportedError");
+            this._videoStreamTrack = e;
+            if (!("readyState" in this._videoStreamTrack)) {
+              this._videoStreamTrack.readyState = "live";
+            }
+            this._previewStream = new MediaStream([e]);
+            this.videoElement = document.createElement("video");
+            this.videoElementPlaying = new Promise(function (e) {
+              t.videoElement.addEventListener("playing", e);
+            });
+            if (HTMLMediaElement) {
+              this.videoElement.srcObject = this._previewStream;
+            } else {
+              this.videoElement.src = URL.createObjectURL(this._previewStream);
+            }
+            this.videoElement.muted = true;
+            this.videoElement.setAttribute("playsinline", "");
+            this.videoElement.play();
+            this.canvasElement = document.createElement("canvas");
+            this.canvas2dContext = this.canvasElement.getContext("2d");
+          }
+          Object.defineProperty(e.prototype, "videoStreamTrack", {
+            get: function get() {
+              return this._videoStreamTrack;
+            },
+            enumerable: false,
+            configurable: true
+          });
+          e.prototype.getPhotoCapabilities = function () {
+            return new Promise(function e(t, i) {
+              var n = {
+                current: 0,
+                min: 0,
+                max: 0
+              };
+              t({
+                exposureCompensation: n,
+                exposureMode: "none",
+                fillLightMode: ["none"],
+                focusMode: "none",
+                imageHeight: n,
+                imageWidth: n,
+                iso: n,
+                redEyeReduction: false,
+                whiteBalanceMode: "none",
+                zoom: n
+              });
+              i(new DOMException("OperationError"));
+            });
+          };
+          e.prototype.setOptions = function (e) {
+            if (e === void 0) {
+              e = {};
+            }
+            return new Promise(function e(t, i) {});
+          };
+          e.prototype.takePhoto = function () {
+            var e = this;
+            return new Promise(function t(i, n) {
+              if (e._videoStreamTrack.readyState !== "live") {
+                return n(new DOMException("InvalidStateError"));
+              }
+              e.videoElementPlaying.then(function () {
+                try {
+                  e.canvasElement.width = e.videoElement.videoWidth;
+                  e.canvasElement.height = e.videoElement.videoHeight;
+                  e.canvas2dContext.drawImage(e.videoElement, 0, 0);
+                  e.canvasElement.toBlob(i);
+                } catch (e) {
+                  n(new DOMException("UnknownError"));
+                }
+              });
+            });
+          };
+          e.prototype.grabFrame = function () {
+            var e = this;
+            return new Promise(function t(i, n) {
+              if (e._videoStreamTrack.readyState !== "live") {
+                return n(new DOMException("InvalidStateError"));
+              }
+              e.videoElementPlaying.then(function () {
+                try {
+                  e.canvasElement.width = e.videoElement.videoWidth;
+                  e.canvasElement.height = e.videoElement.videoHeight;
+                  e.canvas2dContext.drawImage(e.videoElement, 0, 0);
+                  i(window.createImageBitmap(e.canvasElement));
+                } catch (e) {
+                  n(new DOMException("UnknownError"));
+                }
+              });
+            });
+          };
+          return e;
+        }();
+      }
+      window.ImageCapture = a;
+      var o = ":host{--header-height:4em;--footer-height:9em;--header-height-landscape:3em;--footer-height-landscape:6em;--shutter-size:6em;--icon-size-header:1.5em;--icon-size-footer:2.5em;--margin-size-header:1.5em;--margin-size-footer:2.0em;font-family:-apple-system, BlinkMacSystemFont,\n    “Segoe UI”, “Roboto”, “Droid Sans”, “Helvetica Neue”, sans-serif;display:block;width:100%;height:100%}.items{-webkit-box-sizing:border-box;box-sizing:border-box;display:-ms-flexbox;display:flex;width:100%;height:100%;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.items .item{-ms-flex:1;flex:1;text-align:center}.items .item:first-child{text-align:left}.items .item:last-child{text-align:right}.camera-wrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%}.camera-header{color:white;background-color:black;height:var(--header-height)}.camera-header .items{padding:var(--margin-size-header)}.camera-footer{position:relative;color:white;background-color:black;height:var(--footer-height)}.camera-footer .items{padding:var(--margin-size-footer)}@media (max-height: 375px){.camera-header{--header-height:var(--header-height-landscape)}.camera-footer{--footer-height:var(--footer-height-landscape)}.camera-footer .shutter{--shutter-size:4em}}.camera-video{position:relative;-ms-flex:1;flex:1;overflow:hidden;background-color:black}video{width:100%;height:100%;max-height:100%;min-height:100%;-o-object-fit:cover;object-fit:cover;background-color:black}.pick-image{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;left:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.pick-image input{visibility:hidden}.pick-image svg{cursor:pointer;fill:white;width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter{position:absolute;left:50%;top:50%;width:var(--shutter-size);height:var(--shutter-size);margin-top:calc(var(--shutter-size) / -2);margin-left:calc(var(--shutter-size) / -2);border-radius:100%;background-color:#c6cdd8;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.shutter:active .shutter-button{background-color:#9da9bb}.shutter-button{background-color:white;border-radius:100%;width:100%;height:100%}.rotate{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:absolute;right:var(--margin-size-footer);top:0;height:100%;width:var(--icon-size-footer);color:white}.rotate img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.shutter-overlay{z-index:5;position:absolute;width:100%;height:100%;background-color:black}.error{width:100%;height:100%;color:white;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.no-device{background-color:black;-ms-flex:1;flex:1;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;color:white}.no-device label{cursor:pointer;background:#fff;border-radius:6px;padding:6px 8px;color:black}.no-device input{visibility:hidden;height:0;margin-top:16px}.accept{background-color:black;-ms-flex:1;flex:1;overflow:hidden}.accept .accept-image{width:100%;height:100%;max-height:100%;background-position:center center;background-size:cover;background-repeat:no-repeat}.close img{cursor:pointer;width:var(--icon-size-header);height:var(--icon-size-header)}.flash img{width:var(--icon-size-header);height:var(--icon-size-header)}.accept-use img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.accept-cancel img{width:var(--icon-size-footer);height:var(--icon-size-footer)}.offscreen-image-render{top:0;left:0;visibility:hidden;pointer-events:none;width:100%;height:100%}";
+      var s = e("pwa_camera", function () {
+        function e(e) {
+          var i = this;
+          t(this, e);
+          this.hasMultipleCameras = false;
+          this.hasFlash = false;
+          this.flashModes = [];
+          this.flashMode = "off";
+          this.handlePickFile = function (e) {};
+          this.handleShutterClick = function (e) {
+            console.debug("shutter click");
+            i.capture();
+          };
+          this.handleRotateClick = function (e) {
+            i.rotate();
+          };
+          this.handleClose = function (e) {
+            i.handlePhoto && i.handlePhoto(null);
+          };
+          this.handleFlashClick = function (e) {
+            i.cycleFlash();
+          };
+          this.handleCancelPhoto = function (e) {
+            var t = i.stream && i.stream.getTracks()[0];
+            var n = t && t.getConstraints();
+            i.photo = null;
+            i.photoSrc = null;
+            if (n) {
+              i.initCamera({
+                video: {
+                  facingMode: n.facingMode
+                }
+              });
+            } else {
+              i.initCamera();
+            }
+          };
+          this.handleAcceptPhoto = function (e) {
+            i.handlePhoto && i.handlePhoto(i.photo);
+          };
+          this.handleFileInputChange = function (e) {
+            return __awaiter(i, void 0, void 0, function () {
+              var t, i, n, r;
+              return __generator(this, function (a) {
+                switch (a.label) {
+                  case 0:
+                    t = e.target;
+                    i = t.files[0];
+                    a.label = 1;
+                  case 1:
+                    a.trys.push([1, 3,, 4]);
+                    return [4, this.getOrientation(i)];
+                  case 2:
+                    n = a.sent();
+                    console.debug("Got orientation", n);
+                    this.photoOrientation = n;
+                    return [3, 4];
+                  case 3:
+                    r = a.sent();
+                    return [3, 4];
+                  case 4:
+                    this.handlePhoto && this.handlePhoto(i);
+                    return [2];
+                }
+              });
+            });
+          };
+          this.handleVideoMetadata = function (e) {
+            console.debug("Video metadata", e);
+          };
+          this.facingMode = "user";
+          this.handlePhoto = undefined;
+          this.hidePicker = false;
+          this.handleNoDeviceError = undefined;
+          this.noDevicesText = "No camera found";
+          this.noDevicesButtonText = "Choose image";
+          this.photo = undefined;
+          this.photoSrc = undefined;
+          this.showShutterOverlay = false;
+          this.flashIndex = 0;
+          this.hasCamera = null;
+          this.rotation = 0;
+          this.deviceError = null;
+        }
+        e.prototype.componentDidLoad = function () {
+          return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (e) {
+              switch (e.label) {
+                case 0:
+                  this.defaultConstraints = {
+                    video: {
+                      facingMode: this.facingMode
+                    }
+                  };
+                  return [4, this.queryDevices()];
+                case 1:
+                  e.sent();
+                  return [4, this.initCamera()];
+                case 2:
+                  e.sent();
+                  return [2];
+              }
+            });
+          });
+        };
+        e.prototype.disconnectedCallback = function () {
+          this.stopStream();
+          this.photoSrc && URL.revokeObjectURL(this.photoSrc);
+        };
+        e.prototype.hasImageCapture = function () {
+          return "ImageCapture" in window;
+        };
+        e.prototype.queryDevices = function () {
+          return __awaiter(this, void 0, void 0, function () {
+            var e, t, i;
+            return __generator(this, function (n) {
+              switch (n.label) {
+                case 0:
+                  n.trys.push([0, 2,, 3]);
+                  return [4, navigator.mediaDevices.enumerateDevices()];
+                case 1:
+                  e = n.sent();
+                  t = e.filter(function (e) {
+                    return e.kind == "videoinput";
+                  });
+                  this.hasCamera = !!t.length;
+                  this.hasMultipleCameras = t.length > 1;
+                  return [3, 3];
+                case 2:
+                  i = n.sent();
+                  this.deviceError = i;
+                  return [3, 3];
+                case 3:
+                  return [2];
+              }
+            });
+          });
+        };
+        e.prototype.initCamera = function (e) {
+          return __awaiter(this, void 0, void 0, function () {
+            var t, i;
+            return __generator(this, function (n) {
+              switch (n.label) {
+                case 0:
+                  if (!e) {
+                    e = this.defaultConstraints;
+                  }
+                  n.label = 1;
+                case 1:
+                  n.trys.push([1, 3,, 4]);
+                  return [4, navigator.mediaDevices.getUserMedia(Object.assign({
+                    video: true,
+                    audio: false
+                  }, e))];
+                case 2:
+                  t = n.sent();
+                  this.initStream(t);
+                  return [3, 4];
+                case 3:
+                  i = n.sent();
+                  this.deviceError = i;
+                  this.handleNoDeviceError && this.handleNoDeviceError(i);
+                  return [3, 4];
+                case 4:
+                  return [2];
+              }
+            });
+          });
+        };
+        e.prototype.initStream = function (e) {
+          return __awaiter(this, void 0, void 0, function () {
+            return __generator(this, function (t) {
+              switch (t.label) {
+                case 0:
+                  this.stream = e;
+                  this.videoElement.srcObject = e;
+                  if (!this.hasImageCapture()) return [3, 2];
+                  this.imageCapture = new window.ImageCapture(e.getVideoTracks()[0]);
+                  return [4, this.initPhotoCapabilities(this.imageCapture)];
+                case 1:
+                  t.sent();
+                  return [3, 3];
+                case 2:
+                  this.deviceError = "No image capture";
+                  this.handleNoDeviceError && this.handleNoDeviceError();
+                  t.label = 3;
+                case 3:
+                  i(this.el);
+                  return [2];
+              }
+            });
+          });
+        };
+        e.prototype.initPhotoCapabilities = function (e) {
+          return __awaiter(this, void 0, void 0, function () {
+            var t;
+            return __generator(this, function (i) {
+              switch (i.label) {
+                case 0:
+                  return [4, e.getPhotoCapabilities()];
+                case 1:
+                  t = i.sent();
+                  if (t.fillLightMode && t.fillLightMode.length > 1) {
+                    this.flashModes = t.fillLightMode.map(function (e) {
+                      return e;
+                    });
+                    if (this.flashMode) {
+                      this.flashMode = this.flashModes[this.flashModes.indexOf(this.flashMode)] || "off";
+                      this.flashIndex = this.flashModes.indexOf(this.flashMode) || 0;
+                    } else {
+                      this.flashIndex = 0;
+                    }
+                  }
+                  return [2];
+              }
+            });
+          });
+        };
+        e.prototype.stopStream = function () {
+          if (this.videoElement) {
+            this.videoElement.srcObject = null;
+          }
+          this.stream && this.stream.getTracks().forEach(function (e) {
+            return e.stop();
+          });
+        };
+        e.prototype.capture = function () {
+          return __awaiter(this, void 0, void 0, function () {
+            var e, t;
+            return __generator(this, function (i) {
+              switch (i.label) {
+                case 0:
+                  if (!this.hasImageCapture()) return [3, 5];
+                  i.label = 1;
+                case 1:
+                  i.trys.push([1, 4,, 5]);
+                  return [4, this.imageCapture.takePhoto({
+                    fillLightMode: this.flashModes.length > 1 ? this.flashMode : undefined
+                  })];
+                case 2:
+                  e = i.sent();
+                  return [4, this.flashScreen()];
+                case 3:
+                  i.sent();
+                  this.promptAccept(e);
+                  return [3, 5];
+                case 4:
+                  t = i.sent();
+                  console.error("Unable to take photo!", t);
+                  return [3, 5];
+                case 5:
+                  this.stopStream();
+                  return [2];
+              }
+            });
+          });
+        };
+        e.prototype.promptAccept = function (e) {
+          return __awaiter(this, void 0, void 0, function () {
+            var t;
+            return __generator(this, function (i) {
+              switch (i.label) {
+                case 0:
+                  this.photo = e;
+                  return [4, this.getOrientation(e)];
+                case 1:
+                  t = i.sent();
+                  console.debug("Got orientation", t);
+                  this.photoOrientation = t;
+                  if (t) {
+                    switch (t) {
+                      case 1:
+                      case 2:
+                        this.rotation = 0;
+                        break;
+                      case 3:
+                      case 4:
+                        this.rotation = 180;
+                        break;
+                      case 5:
+                      case 6:
+                        this.rotation = 90;
+                        break;
+                      case 7:
+                      case 8:
+                        this.rotation = 270;
+                        break;
+                    }
+                  }
+                  this.photoSrc = URL.createObjectURL(e);
+                  return [2];
+              }
+            });
+          });
+        };
+        e.prototype.getOrientation = function (e) {
+          return new Promise(function (t) {
+            var i = new FileReader();
+            i.onload = function (e) {
+              var i = new DataView(e.target.result);
+              if (i.getUint16(0, false) !== 65496) {
+                return t(-2);
+              }
+              var n = i.byteLength;
+              var r = 2;
+              while (r < n) {
+                var a = i.getUint16(r, false);
+                r += 2;
+                if (a === 65505) {
+                  if (i.getUint32(r += 2, false) !== 1165519206) {
+                    return t(-1);
+                  }
+                  var o = i.getUint16(r += 6, false) === 18761;
+                  r += i.getUint32(r + 4, o);
+                  var s = i.getUint16(r, o);
+                  r += 2;
+                  for (var c = 0; c < s; c++) {
+                    if (i.getUint16(r + c * 12, o) === 274) {
+                      return t(i.getUint16(r + c * 12 + 8, o));
+                    }
+                  }
+                } else if ((a & 65280) !== 65280) {
+                  break;
+                } else {
+                  r += i.getUint16(r, false);
+                }
+              }
+              return t(-1);
+            };
+            i.readAsArrayBuffer(e.slice(0, 64 * 1024));
+          });
+        };
+        e.prototype.rotate = function () {
+          this.stopStream();
+          var e = this.stream && this.stream.getTracks()[0];
+          if (!e) {
+            return;
+          }
+          var t = e.getConstraints();
+          var i = t.facingMode;
+          if (!i) {
+            var n = e.getCapabilities();
+            if (n.facingMode) {
+              i = n.facingMode[0];
+            }
+          }
+          if (i === "environment") {
+            this.initCamera({
+              video: {
+                facingMode: "user"
+              }
+            });
+          } else {
+            this.initCamera({
+              video: {
+                facingMode: "environment"
+              }
+            });
+          }
+        };
+        e.prototype.setFlashMode = function (e) {
+          console.debug("New flash mode: ", e);
+          this.flashMode = e;
+        };
+        e.prototype.cycleFlash = function () {
+          if (this.flashModes.length > 0) {
+            this.flashIndex = (this.flashIndex + 1) % this.flashModes.length;
+            this.setFlashMode(this.flashModes[this.flashIndex]);
+          }
+        };
+        e.prototype.flashScreen = function () {
+          return __awaiter(this, void 0, void 0, function () {
+            var e = this;
+            return __generator(this, function (t) {
+              return [2, new Promise(function (t, i) {
+                e.showShutterOverlay = true;
+                setTimeout(function () {
+                  e.showShutterOverlay = false;
+                  t();
+                }, 100);
+              })];
+            });
+          });
+        };
+        e.prototype.iconExit = function () {
+          return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M402.2,134L378,109.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L139.6,109.8 c-1.6-1.6-4.1-1.6-5.7,0L109.8,134c-1.6,1.6-1.6,4.1,0,5.7l113.5,113.5c1.6,1.6,1.6,4.1,0,5.7L109.8,372.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l113.5-113.5c1.6-1.6,4.1-1.6,5.7,0l113.5,113.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l113.5-113.5C403.7,138.1,403.7,135.5,402.2,134z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+        };
+        e.prototype.iconPhotos = function () {
+          return n("svg", {
+            xmlns: "http://www.w3.org/2000/svg",
+            width: "512",
+            height: "512",
+            viewBox: "0 0 512 512"
+          }, n("path", {
+            d: "M450.29,112H142c-34,0-62,27.51-62,61.33V418.67C80,452.49,108,480,142,480H450c34,0,62-26.18,62-60V173.33C512,139.51,484.32,112,450.29,112Zm-77.15,61.34a46,46,0,1,1-46.28,46A46.19,46.19,0,0,1,373.14,173.33Zm-231.55,276c-17,0-29.86-13.75-29.86-30.66V353.85l90.46-80.79a46.54,46.54,0,0,1,63.44,1.83L328.27,337l-113,112.33ZM480,418.67a30.67,30.67,0,0,1-30.71,30.66H259L376.08,333a46.24,46.24,0,0,1,59.44-.16L480,370.59Z"
+          }), n("path", {
+            d: "M384,32H64A64,64,0,0,0,0,96V352a64.11,64.11,0,0,0,48,62V152a72,72,0,0,1,72-72H446A64.11,64.11,0,0,0,384,32Z"
+          }));
+        };
+        e.prototype.iconConfirm = function () {
+          return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%232CD865' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_1_'%3E%3Cg%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M208,301.4l-55.4-55.5c-1.5-1.5-4-1.6-5.6-0.1l-23.4,22.3c-1.6,1.6-1.7,4.1-0.1,5.7l81.6,81.4 c3.1,3.1,8.2,3.1,11.3,0l171.8-171.7c1.6-1.6,1.6-4.2-0.1-5.7l-23.4-22.3c-1.6-1.5-4.1-1.5-5.6,0.1L213.7,301.4 C212.1,303,209.6,303,208,301.4z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+        };
+        e.prototype.iconReverseCamera = function () {
+          return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M352,0H160C72,0,0,72,0,160v192c0,88,72,160,160,160h192c88,0,160-72,160-160V160C512,72,440,0,352,0z M356.7,365.8l-3.7,3.3c-27,23.2-61.4,35.9-96.8,35.9c-72.4,0-135.8-54.7-147-125.6c-0.3-1.9-2-3.3-3.9-3.3H64 c-3.3,0-5.2-3.8-3.2-6.4l61.1-81.4c1.6-2.1,4.7-2.1,6.4-0.1l63.3,81.4c2,2.6,0.2,6.5-3.2,6.5h-40.6c-2.5,0-4.5,2.4-3.9,4.8 c11.5,51.5,59.2,90.6,112.4,90.6c26.4,0,51.8-9.7,73.7-27.9l3.1-2.5c1.6-1.3,3.9-1.1,5.3,0.3l18.5,18.6 C358.5,361.6,358.4,364.3,356.7,365.8z M451.4,245.6l-61,83.5c-1.6,2.2-4.8,2.2-6.4,0.1l-63.3-83.3c-2-2.6-0.1-6.4,3.2-6.4h40.8 c2.5,0,4.4-2.3,3.9-4.8c-5.1-24.2-17.8-46.5-36.5-63.7c-21.2-19.4-48.2-30.1-76-30.1c-26.5,0-52.6,9.7-73.7,27.3l-3.1,2.5 c-1.6,1.3-3.9,1.2-5.4-0.3l-18.5-18.5c-1.6-1.6-1.5-4.3,0.2-5.9l3.5-3.1c27-23.2,61.4-35.9,96.8-35.9c38,0,73.9,13.7,101.2,38.7 c23.2,21.1,40.3,55.2,45.7,90.1c0.3,1.9,1.9,3.4,3.9,3.4h41.3C451.4,239.2,453.3,243,451.4,245.6z'/%3E%3C/g%3E%3C/svg%3E";
+        };
+        e.prototype.iconRetake = function () {
+          return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'%3E%3Ccircle fill='%23727A87' cx='256' cy='256' r='256'/%3E%3Cg id='Icon_5_'%3E%3Cg%3E%3Cpath fill='%23FFFFFF' d='M394.2,142L370,117.8c-1.6-1.6-4.1-1.6-5.7,0L258.8,223.4c-1.6,1.6-4.1,1.6-5.7,0L147.6,117.8 c-1.6-1.6-4.1-1.6-5.7,0L117.8,142c-1.6,1.6-1.6,4.1,0,5.7l105.5,105.5c1.6,1.6,1.6,4.1,0,5.7L117.8,364.4c-1.6,1.6-1.6,4.1,0,5.7 l24.1,24.1c1.6,1.6,4.1,1.6,5.7,0l105.5-105.5c1.6-1.6,4.1-1.6,5.7,0l105.5,105.5c1.6,1.6,4.1,1.6,5.7,0l24.1-24.1 c1.6-1.6,1.6-4.1,0-5.7L288.6,258.8c-1.6-1.6-1.6-4.1,0-5.7l105.5-105.5C395.7,146.1,395.7,143.5,394.2,142z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E";
+        };
+        e.prototype.iconFlashOff = function () {
+          return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cg%3E%3Cpath class='st0' d='M498,483.7L42.3,28L14,56.4l149.8,149.8L91,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9c1.6,0,2.7,1.3,2.4,2.7 L197.6,507c-1,4.4,5.8,6.9,8.9,3.2l118.6-142.8L469.6,512L498,483.7z'/%3E%3Cpath class='st0' d='M449,218.2c2.5-3,0.1-7.2-3.9-7.2H301.2c-1.6,0-2.7-1.3-2.4-2.7L342.4,5c1-4.4-5.8-6.9-8.9-3.2L214.9,144.6 l161.3,161.3L449,218.2z'/%3E%3C/g%3E%3C/svg%3E";
+        };
+        e.prototype.iconFlashOn = function () {
+          return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3C/svg%3E";
+        };
+        e.prototype.iconFlashAuto = function () {
+          return "data:image/svg+xml,%3Csvg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' style='enable-background:new 0 0 512 512;' xml:space='preserve'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23FFFFFF;%7D%0A%3C/style%3E%3Cpath class='st0' d='M287.2,211c-1.6,0-2.7-1.3-2.4-2.7L328.4,5c1-4.4-5.8-6.9-8.9-3.2L77,293.8c-2.5,3-0.1,7.2,3.9,7.2h143.9 c1.6,0,2.7,1.3,2.4,2.7L183.6,507c-1,4.4,5.8,6.9,8.9,3.2l242.5-292c2.5-3,0.1-7.2-3.9-7.2L287.2,211L287.2,211z'/%3E%3Cg%3E%3Cpath class='st0' d='M321.3,186l74-186H438l74,186h-43.5l-11.9-32.5h-80.9l-12,32.5H321.3z M415.8,47.9l-27.2,70.7h54.9l-27.2-70.7 H415.8z'/%3E%3C/g%3E%3C/svg%3E";
+        };
+        e.prototype.render = function () {
+          var e = this;
+          var t = {};
+          return n("div", {
+            class: "camera-wrapper"
+          }, n("div", {
+            class: "camera-header"
+          }, n("section", {
+            class: "items"
+          }, n("div", {
+            class: "item close",
+            onClick: function onClick(t) {
+              return e.handleClose(t);
+            }
+          }, n("img", {
+            src: this.iconExit()
+          })), n("div", {
+            class: "item flash",
+            onClick: function onClick(t) {
+              return e.handleFlashClick(t);
+            }
+          }, this.flashModes.length > 0 && n("div", null, this.flashMode == "off" ? n("img", {
+            src: this.iconFlashOff()
+          }) : "", this.flashMode == "auto" ? n("img", {
+            src: this.iconFlashAuto()
+          }) : "", this.flashMode == "flash" ? n("img", {
+            src: this.iconFlashOn()
+          }) : "")))), (this.hasCamera === false || !!this.deviceError) && n("div", {
+            class: "no-device"
+          }, n("h2", null, this.noDevicesText), n("label", {
+            htmlFor: "_pwa-elements-camera-input"
+          }, this.noDevicesButtonText), n("input", {
+            type: "file",
+            id: "_pwa-elements-camera-input",
+            onChange: this.handleFileInputChange,
+            accept: "image/*",
+            class: "select-file-button"
+          })), this.photoSrc ? n("div", {
+            class: "accept"
+          }, n("div", {
+            class: "accept-image",
+            style: Object.assign({
+              backgroundImage: "url(".concat(this.photoSrc, ")")
+            }, t)
+          })) : n("div", {
+            class: "camera-video"
+          }, this.showShutterOverlay && n("div", {
+            class: "shutter-overlay"
+          }), this.hasImageCapture() ? n("video", {
+            ref: function ref(t) {
+              return e.videoElement = t;
+            },
+            onLoadedMetaData: this.handleVideoMetadata,
+            autoplay: true,
+            playsinline: true
+          }) : n("canvas", {
+            ref: function ref(t) {
+              return e.canvasElement = t;
+            },
+            width: "100%",
+            height: "100%"
+          }), n("canvas", {
+            class: "offscreen-image-render",
+            ref: function ref(t) {
+              return e.offscreenCanvas = t;
+            },
+            width: "100%",
+            height: "100%"
+          })), this.hasCamera && n("div", {
+            class: "camera-footer"
+          }, !this.photo ? [!this.hidePicker && n("div", {
+            class: "pick-image",
+            onClick: this.handlePickFile
+          }, n("label", {
+            htmlFor: "_pwa-elements-file-pick"
+          }, this.iconPhotos()), n("input", {
+            type: "file",
+            id: "_pwa-elements-file-pick",
+            onChange: this.handleFileInputChange,
+            accept: "image/*",
+            class: "pick-image-button"
+          })), n("div", {
+            class: "shutter",
+            onClick: this.handleShutterClick
+          }, n("div", {
+            class: "shutter-button"
+          })), n("div", {
+            class: "rotate",
+            onClick: this.handleRotateClick
+          }, n("img", {
+            src: this.iconReverseCamera()
+          }))] : n("section", {
+            class: "items"
+          }, n("div", {
+            class: "item accept-cancel",
+            onClick: function onClick(t) {
+              return e.handleCancelPhoto(t);
+            }
+          }, n("img", {
+            src: this.iconRetake()
+          })), n("div", {
+            class: "item accept-use",
+            onClick: function onClick(t) {
+              return e.handleAcceptPhoto(t);
+            }
+          }, n("img", {
+            src: this.iconConfirm()
+          })))));
+        };
+        Object.defineProperty(e, "assetsDirs", {
+          get: function get() {
+            return ["icons"];
+          },
+          enumerable: false,
+          configurable: true
+        });
+        Object.defineProperty(e.prototype, "el", {
+          get: function get() {
+            return r(this);
+          },
+          enumerable: false,
+          configurable: true
+        });
+        return e;
+      }());
+      s.style = o;
+    }
+  };
+});
\ No newline at end of file
diff --git a/vite.config.ts b/vite.config.ts
index d1e03e1..296848f 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -1,9 +1,13 @@
 import vue from '@vitejs/plugin-vue';
+import legacy from '@vitejs/plugin-legacy';
+
 import { resolve } from 'path';
 import { defineConfig } from 'vite';
 
 export default defineConfig({
   build: {
+    target: 'es2015',
+    cssTarget: 'chrome39',
     emptyOutDir: true,
     minify: false,
     outDir: '../dist',
@@ -13,7 +17,15 @@ export default defineConfig({
       ]
     }
   },
-  plugins: [vue()],
+  plugins: [
+    vue(),
+    legacy({
+        targets: ['chrome 39'],
+        modernTargets: ['chrome 58'],
+        polyfills: false,
+        modernPolyfills: false,
+    })
+  ],
   resolve: { alias: { '@': resolve(__dirname, './src') } },
   root: './src',
   publicDir: "./public"
-- 
GitLab


From 7b2ec4c69d1652086507d81240448e2ca6fbfbac Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 18:07:08 +0800
Subject: [PATCH 08/10] Implemented Exit

---
 src/era/engine.js        | 5 +++++
 src/era/model/era-api.js | 6 ++++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/era/engine.js b/src/era/engine.js
index f878488..9c88803 100644
--- a/src/era/engine.js
+++ b/src/era/engine.js
@@ -1,9 +1,11 @@
+import { App } from '@capacitor/app';
 import { Capacitor } from '@capacitor/core';
 import { Directory, Encoding, Filesystem } from '@capacitor/filesystem';
 import { Preferences } from '@capacitor/preferences';
 import { FilePicker } from '@capawesome/capacitor-file-picker';
 
 import EraApi from '@/era/model/era-api';
+import { QuitException } from '@/era/model/era-api';
 import connector from '@/js/utils/connector';
 import { getEmptyConfigForm, getGameVersion } from '@/js/utils/value-utils';
 
@@ -426,6 +428,9 @@ era
   .start()
   .then(() => era.api.print('\n[!ENGINE WARNING!] game ends!'))
   .catch((e) => {
+    if (e instanceof QuitException) {
+      App.exitApp();
+    }
     if (e.message !== 'quit') {
       era.error(e.message, e.stack);
     }
diff --git a/src/era/model/era-api.js b/src/era/model/era-api.js
index 492436c..3adab2a 100644
--- a/src/era/model/era-api.js
+++ b/src/era/model/era-api.js
@@ -10,6 +10,8 @@ import {
   toLowerCase,
 } from '@/js/utils/value-utils';
 
+export class QuitException extends Error {}
+
 export default class EraApi extends EraApiBase {
   add(k, v) {
     if (!v) {
@@ -362,7 +364,7 @@ export default class EraApi extends EraApiBase {
         await this.resetGlobal();
       }
       if (invalid_code) {
-        throw new Error('quit');
+        throw new QuitException();
       }
     } else {
       await this.resetGlobal();
@@ -544,7 +546,7 @@ export default class EraApi extends EraApiBase {
 
   quit() {
     // this.era.quit();
-    throw new Error('quit');
+    throw new QuitException();
   }
 
   replaceInColRows(...objects) {
-- 
GitLab


From 466827472fda780631a2fdf7f3d87871d755a0fd Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 10:23:41 +0000
Subject: [PATCH 09/10] Update engine.js

---
 src/era/engine.js | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/era/engine.js b/src/era/engine.js
index a15ebfe..9f83af6 100644
--- a/src/era/engine.js
+++ b/src/era/engine.js
@@ -437,6 +437,7 @@ era
   .catch((e) => {
     if (e instanceof QuitException) {
       App.exitApp();
+      // mild solution: window.location.refresh();
     }
     if (e.message !== 'quit') {
       era.error(e.message, e.stack);
-- 
GitLab


From 2803a61ef2485f6844d930a0c3eece525fdf31df Mon Sep 17 00:00:00 2001
From: yl12053 <qq18929261343@gmail.com>
Date: Fri, 20 Dec 2024 10:25:10 +0000
Subject: [PATCH 10/10] Update .gitignore

---
 .gitignore | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/.gitignore b/.gitignore
index 5e86f58..d954a2d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,5 +3,4 @@
 /dist
 .DS_Store
 /test/ere.config.json
-/test/sav
-/android
\ No newline at end of file
+/test/sav
\ No newline at end of file
-- 
GitLab